[Buildbot-devel] interrupting a sudo job...

Vitali Lovich vlovich at gmail.com
Tue Apr 14 11:45:41 UTC 2015

From process/buildstep.py

551     @defer.inlineCallbacks                                                                                                                                                                                                                                 
552     def runCommand(self, command):                                                                                                                                                                                                                         
553         self.cmd = command                                                                                                                                                                                                                                 
554         command.buildslave = self.buildslave                                                                                                                                                                                                               
555         try:                                                                                                                                                                                                                                               
556             res = yield command.run(self, self.remote)                                                                                                                                                                                                     
557         finally:                                                                                                                                                                                                                                           
558             self.cmd = None                                                                                                                                                                                                                                
559         defer.returnValue(res)                                                                                                                                                                                                                             

This is part of the BuildStep.  I think it depends on if you have a new-style or old-style step.
You are correct that for old-style steps this used to be part of LoggingBuildStep.

I’m primarily using ShellMixin but I also have RemoteCommand instances that I invoke via self.runCommand.


> On Apr 13, 2015, at 9:46 PM, Jared Grubb <jared.grubb at gmail.com> wrote:
> Hm, that doesnt sound right. 
> BuildStep is the base-class and really wouldnt understand anything about remote-slave commands (the “self.cmd” property is added by LoggingBuildStep).
> Based on your description, you are inheriting from BuildStep but not LoggingBuildStep .. but running remote commands. Are you manually invoking RemoteShellCommand yourself? Are you using ShellMixin?
> Jared
>> On Apr 13, 2015, at 21:19, Vitali Lovich <vlovich at gmail.com <mailto:vlovich at gmail.com>> wrote:
>> Figured it out.  Turns out that BuildStep isn’t interruptible by default even though it should be:
>> http://trac.buildbot.net/ticket/3248 <http://trac.buildbot.net/ticket/3248>
>> Either inherit from LoggingBuildStep, monkey-patch BuildStep or write your own version that implements interruption.
>> -Vitali
>>> On Apr 4, 2015, at 2:04 AM, Vitali Lovich <vlovich at gmail.com <mailto:vlovich at gmail.com>> wrote:
>>> I have also tried usePTY=True to no avail.
>>>> On Apr 4, 2015, at 12:10 AM, Vitali Lovich <vlovich at gmail.com <mailto:vlovich at gmail.com>> wrote:
>>>> Hi,
>>>> It seems like buildbot can’t kill a long-running job that was invoked via sudo.
>>>> Is there any kind of workaround?  Am I doing something wrong?
>>>> The command I’m invoking is something like:
>>>> sudo -E wrapper_exe sudo -E -u <username> <real command>
>>>> The reason is that wrapper_exe needs sudo permissions to setup the environment.
>>>> Then it drops back into the real permissions to invoke the real command.
>>>> Thanks,
>>>> Vitali
>> ------------------------------------------------------------------------------
>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
>> Develop your own process in accordance with the BPMN 2 standard
>> Learn Process modeling best practices with Bonita BPM through live exercises
>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- <http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-> event?utm_
>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF_______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net <mailto:Buildbot-devel at lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel <https://lists.sourceforge.net/lists/listinfo/buildbot-devel>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20150414/f40bb0b9/attachment.html>

More information about the devel mailing list