[openstack-dev] [ironic] [nova] [tripleo] Deprecation of Nova's integration with Ironic Capabilities and ComputeCapabilitiesFilter

Matt Riedemann mriedemos at gmail.com
Thu Sep 20 15:00:54 UTC 2018


On 9/20/2018 4:16 AM, John Garbutt wrote:
> Following on from the PTG discussions, I wanted to bring everyone's 
> attention to Nova's plans to deprecate ComputeCapabilitiesFilter, 
> including most of the the integration with Ironic Capabilities.
> 
> To be specific, this is my proposal in code form:
> https://review.openstack.org/#/c/603102/
> 
> Once the code we propose to deprecate is removed we will stop using 
> capabilities pushed up from Ironic for 'scheduling', but we would still 
> pass capabilities request in the flavor down to Ironic (until we get 
> some standard traits and/or deploy templates sorted for things like UEFI).
> 
> Functionally, we believe all use cases can be replaced by using the 
> simpler placement traits (this is more efficient than post placement 
> filtering done using capabilities):
> https://specs.openstack.org/openstack/nova-specs/specs/queens/implemented/ironic-driver-traits.html
> 
> Please note the recent addition of forbidden traits that helps improve 
> the usefulness of the above approach:
> https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/placement-forbidden-traits.html
> 
> For example, a flavor request for GPUs >= 2 could be replaced by a 
> custom trait trait that reports if a given Ironic node has 
> CUSTOM_MORE_THAN_2_GPUS. That is a bad example (longer term we don't 
> want to use traits for this, but that is a discussion for another day) 
> but it is the example that keeps being raised in discussions on this topic.
> 
> The main reason for reaching out in this email is to ask if anyone has 
> needs that the ResourceClass and Traits scheme does not currently 
> address, or can think of a problem with a transition to the newer approach.

I left a few comments in the change, but I'm assuming as part of the 
deprecation we'd remove the filter from the default enabled_filters list 
so new installs don't automatically get warnings during scheduling?

Another thing is about existing flavors configured for these 
capabilities-scoped specs. Are you saying during the deprecation we'd 
continue to use those even if the filter is disabled? In the review I 
had suggested that we add a pre-upgrade check which inspects the flavors 
and if any of these are found, we report a warning meaning those flavors 
need to be updated to use traits rather than capabilities. Would that be 
reasonable?

-- 

Thanks,

Matt



More information about the OpenStack-dev mailing list