Ticket #349 (closed defect: duplicate)

Opened 4 years ago

Last modified 3 years ago

pressing the ping button on the web interface causes the slave to be unavailable

Reported by: xenotron Owned by: warner
Priority: minor Milestone: 0.7.10
Version: 0.7.7 Keywords: ping
Cc:

Description

After pressing the Ping button on the web interface, no more builds are willing to start. The master side SlaveBuilder? instance does not change its state attribute back to IDLE after PINGING and isAvailable() returns False.

Change History

comment:1 Changed 4 years ago by xenotron

  • Owner set to xenotron

One possible solution is eliminating the PINGING state from buildbot.process.builder.SlaveBuilder?. This causes the problem, and this state can interfere with the BUILDING state. A quick fix for the problem is commenting out 1 line in the buildbot.process.builder.SlaveBuilder? class:

    def ping(self, timeout, status=None):
        """Ping the slave to make sure it is still there. Returns a Deferred
        that fires with True if it is.

        @param status: if you point this at a BuilderStatus, a 'pinging'
                       event will be pushed.
        """

        #self.state = PINGING    # commenting out this line solves the problem.
        newping = not self.ping_watchers
        d = defer.Deferred()
        self.ping_watchers.append(d)
        if newping:
            if status:

Ticket #85 and #155 cover probably the same problem.

comment:2 Changed 4 years ago by xenotron

  • Owner changed from xenotron to warner

comment:3 Changed 3 years ago by dustin

  • Status changed from new to closed
  • Resolution set to duplicate

yep, dupe of #85, but this one has a fix!

comment:4 Changed 3 years ago by dustin

  • Milestone changed from undecided to 0.7.10
Note: See TracTickets for help on using tickets.