Changes between Version 4 and Version 5 of MasterSlaveCommunication
- Timestamp:
- 05/31/12 10:16:32 (12 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MasterSlaveCommunication
v4 v5 16 16 > style of the rest of the current protocol. As it happens, the login mechanism is also used to allow the same port to be used for other PB communications. 17 17 18 After that the master requests information about the slave, via the remote methods {{{ remote_getSlaveInfo}}}, {{{ remote_getVersion}}}, and {{{ remote_getCommands}}}.18 After that the master requests information about the slave, via the remote methods {{{ getSlaveInfo}}}, {{{ getVersion}}}, and {{{ getCommands}}}. 19 19 20 20 The SlaveInfo currently consists of the contents of the slave's info/ directory.[[BR}} … … 25 25 26 26 27 {{{ remote_getVersion}}} returns the version of slave.28 {{{ remote_getCommands}}} returns the list of (name, version) for all commands the slave recognizes.27 {{{getVersion}}} returns the version of slave. 28 {{{getCommands}}} returns the list of (name, version) for all commands the slave recognizes. 29 29 These methods do not take any arguments. 30 30 31 Next the master sets the builder list via {{{ remote_setBuilderList}}}. This method, given a list of builders and their build directories, ensures that those builders, and only those builders, are running. It returns a set of {{{SlaveBuilder}}} objects.31 Next the master sets the builder list via {{{setBuilderList}}}. This method, given a list of builders and their build directories, ensures that those builders, and only those builders, are running. It returns a set of {{{SlaveBuilder}}} objects. 32 32 This method can be called later as well. 33 33 34 Then the master sets itself as master for each {{{SlaveBuilder}}} via remote_setMaster. This returns a reference to the master-side {{{SlaveBuilder}}}.34 Then the master sets itself as master for each {{{SlaveBuilder}}} via {{{setMaster}}}. This returns a reference to the master-side {{{SlaveBuilder}}}. 35 35 36 36 '''Reactor Loop''': … … 41 41 For documentation on commands see : [http://buildbot.net/buildbot/docs/latest/developer/cls-remotecommands.html#remotecommands Remote Commands][[BR]] 42 42 For each of the commands, [[BR]] 43 The command is started with {{{ remote_startCommand}}}. This takes {{{stepref}}}, {{{stepId}}}, {{{command}}}, {{{args}}} as arguments.[[BR]]44 The command can be interrupted via an external trigger, which calls {{{ remote_interruptCommand}}}. This method takes {{{stepID}}} and a reason {{{why}}} as arguments.43 The command is started with {{{startCommand}}}. This takes {{{stepref}}}, {{{stepId}}}, {{{command}}}, {{{args}}} as arguments.[[BR]] 44 The command can be interrupted via an external trigger, which calls {{{interruptCommand}}}. This method takes {{{stepID}}} and a reason {{{why}}} as arguments. 45 45 46 The running command provides [http://buildbot.net/buildbot/docs/latest/developer/master-slave.html#updates Updates], sent as arguments to {{{ remote_update}}} from the {{{SlaveBuilder}}} to the master, during execution.46 The running command provides [http://buildbot.net/buildbot/docs/latest/developer/master-slave.html#updates Updates], sent as arguments to {{{update}}} from the {{{SlaveBuilder}}} to the master, during execution. 47 47 48 At the end of a command, the completion of the command is indicated by calling {{{ remote_complete}}}, with failures as optional arguments.48 At the end of a command, the completion of the command is indicated by calling {{{complete}}}, with failures as optional arguments. 49 49 50 The master and slave(in versions greater than 0.8.3) can initiate the shutdown of a slave. The master can call {{{ remote_shutdown}}} to shut down the slave, while the slave can also request for a graceful shutdown.50 The master and slave(in versions greater than 0.8.3) can initiate the shutdown of a slave. The master can call {{{shutdown}}} to shut down the slave, while the slave can also request for a graceful shutdown. 51 51 > Which it does by calling {{{shutdown}}} on the master. 52 52
![[Buildbot Logo]](/chrome/site/header-text-transparent.png)