← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1248022] Re: Nova scheduler not updated immediately when a baremetal node is added or removed

 

This is a much bigger architecture issue to address.

** Changed in: nova
       Status: Triaged => Invalid

** Changed in: nova
       Status: Invalid => Opinion

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1248022

Title:
  Nova scheduler not updated immediately when a baremetal node is added
  or removed

Status in OpenStack Bare Metal Provisioning Service (Ironic):
  Triaged
Status in OpenStack Compute (Nova):
  Opinion

Bug description:
  With the Ironic driver, if a baremetal node is added/deleted, it is
  not removed from pool of available resources until the next run of
  update_available_resource(). During this window, the scheduler may
  continue to attempt to schedule instances on it (when deleted), or
  report NoValidHosts (when added) leading to unnecessary failures and
  scheduling retries.

  In compute manager, the update_available_resource() periodic task is
  responsible for updating the scheduler's knowledge of baremetal nodes:

      @periodic_task.periodic_task
      def update_available_resource(self, context):
          ...
          nodenames = set(self.driver.get_available_nodes())
          for nodename in nodenames:
              rt = self._get_resource_tracker(nodename)
              rt.update_available_resource(context)

  update_available_resource() is also called at service startup

  This means that you have to wait up to 60 seconds for a node to become
  available/no longer available.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ironic/+bug/1248022/+subscriptions