[openstack-dev] [nova][ironic] Rocky PTG summary - nova/ironic

melanie witt melwittt at gmail.com
Mon Mar 19 20:31:32 UTC 2018


Hello everyone,

Here's the summary etherpad [0] for the nova/ironic session from the PTG 
in the Croke Park Hotel breakfast area, also included as a plain text 
export on this email. Please feel freed to edit or reply to this thread 
to add/correct anything I've missed.

Cheers,
-melanie

[0] https://etherpad.openstack.org/p/nova-ptg-rocky-ironic-summary

*Nova/Ironic: Rocky PTG Summary

https://etherpad.openstack.org/p/nova-ptg-rocky L245

*Key topics

   * Disk partitioning, want to be able to pass a hardware config for 
the hypervisor
   * Virt driver interaction issues
     * nova-compute crashing on startup
     * maintenance-state of Ironic nodes
   * Ironic API version negotiation
     * Currently, ironicclient does not have the ability to send a 
specific microversion per request and the Ironic driver needs to be able 
to behave differently depending on Ironic version
   * Ironic + Traits update
     * Where we are and what's coming next
     * Flavor decomposition status (ability to specify desired traits of 
the allowed traits for a given flavor)

*Agreements and decisions
*
   * On disk partitioning and passing a hardware config, we could use an 
artifact repository such as Glare to store configs and then on the Nova 
side, we could enhance the existing disk_config parameter for server 
create to also support a profile ((AUTO/MANUAL/PROFILE). Profile 
templates would be operator-defined like flavors
     * jroll to write a spec on this
   * For the issue of nova-compute crashing on startup, we could add a 
try-except around the call site at startup and ignore a "NotReadyYet" or 
similar exception from the Ironic driver
   * For the issue of maintenance-state Ironic nodes, the Ironic virt 
driver shall set reserved=1 for the custom resource class inventory 
record instead of returning no inventory records
   * On Ironic API version negotiation, the ironicclient already has 
some version negotiation built-in, so there are some options. 1) update 
Ironic driver to handle return/error codes from ironicclient 
version-negotiated calls, 2) add per-call microversion support to 
ironicclient and use it in the Ironic driver, 3) convert all Ironic 
driver calls to use raw REST
     * Option 1) would be the most expedient, but it's up to the Ironic 
team how they will want to proceed. Option 3 is the desired ideal 
solution but will take a rewrite of the related Ironic driver unit tests 
as they currently all mock ironicclient
     * TheJulia will follow up on this
   * On Ironic + Traits, the ability to specify traits for a given 
flavor is available starting in Queens
     * 
https://specs.openstack.org/openstack/nova-specs/specs/queens/implemented/ironic-driver-traits.html
     * 
https://specs.openstack.org/openstack/nova-specs/specs/queens/implemented/request-traits-in-nova.html
     * Ironic CI work is in progress: 
https://review.openstack.org/#/c/545370
     * Resource classes allows us to drop IronicHostManager and exact 
filters and the deprecation landed on 20171205, so we can remove them now



More information about the OpenStack-dev mailing list