Public bug reported: When booting an instance it's possible to force it to be placed on a specific host using the "--availability-zone nova:host" syntax.
If you do this, the code at https://github.com/openstack/nova/blob/master/nova/scheduler/host_manager.py#L581 will return early rather than call self.filter_handler.get_filtered_objects() Based on discussions at the PTG with Dan Smith, the simplest solution would be to create a flag similar to RUN_ON_REBUILD which would be applied to the various scheduler filters in a manner analogous to how rebuild is handled now. Presumably we'd want to call something like this during the instance boot code to ensure we hit the existing "if not check_type" at L581: request_spec.scheduler_hints['_nova_check_type'] = ['build'] Then in the various critical filers (NUMATopologyFilter for example, and PciPassthroughFilter, and maybe some others like ComputeFilter) we could define something like "RUN_ON_BUILD = True" to ensure that they run even when forcing a host. ** Affects: nova Importance: Undecided Status: New ** Tags: compute scheduler -- 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/1754782 Title: we skip critical scheduler filters when forcing the host on instance boot Status in OpenStack Compute (nova): New Bug description: When booting an instance it's possible to force it to be placed on a specific host using the "--availability-zone nova:host" syntax. If you do this, the code at https://github.com/openstack/nova/blob/master/nova/scheduler/host_manager.py#L581 will return early rather than call self.filter_handler.get_filtered_objects() Based on discussions at the PTG with Dan Smith, the simplest solution would be to create a flag similar to RUN_ON_REBUILD which would be applied to the various scheduler filters in a manner analogous to how rebuild is handled now. Presumably we'd want to call something like this during the instance boot code to ensure we hit the existing "if not check_type" at L581: request_spec.scheduler_hints['_nova_check_type'] = ['build'] Then in the various critical filers (NUMATopologyFilter for example, and PciPassthroughFilter, and maybe some others like ComputeFilter) we could define something like "RUN_ON_BUILD = True" to ensure that they run even when forcing a host. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1754782/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

