<div dir="ltr">Hi--<div><br></div><div>We've made some progress over the last week or so toward more thorough Ironic CI:</div><div><br></div><div>* Initial devstack support has been merged enabling an all-in-one Ironic environment that uses libvirt+VMs+OVS to support baremetal deployments [1]</div>
<div><br></div><div>* Devananda and myself have been getting patches pushed into infra. that add an experimental devstack gate check using the new support</div><div><br></div><div>While we continue to work out the kinks in the devstack gate, I've started thinking about what functional Ironic tests in Tempest would look like.  I've been capturing my thoughts in an etherpad [2] and invite anyone interested to add theirs.   </div>
<div><br></div><div>I've put together a Tempest scenario test that validates instance spawn and corresponding Ironic orchestration  [3].  This initial test assumes its being tested against the pxe_ssh driver (which devstack enrolls nodes with) and verifies assumptions accordingly.  A longer term goal would be for this same test to be run against other non-devstack environments (ie, TripleO undercloud) and verify other things specific to the drivers in use there.</div>
<div><br></div><div>I'm curious to know what others think should be, or even can be, stressed and tested from the outside by Tempest.  Since Tempest cannot assume it has access to poke at management resources like libvirt, IPMI, etc. it can really only inspect what is provided by the APIs.  Validating that nova/neutron/etc injects the correct data into Ironic node/port/etc objects seems like the most that can happen beyond simply spawning an instance and waiting for it to show up on the network. </div>
<div><br></div><div>On a related note, running Tempest in the gate against Ironic presents some interesting challenges that we'll need to work with the Tempest team to solve.  The API and smoke tests that are run assume many things about the supported features of the running compute driver. Many of these are not supported in Ironic (eg,, boot from volume).  This not specific to Ironic (eg, lxc) but will require some discussion and work before Tempest is just point-and-shoot against Ironic.   I'm wondering if it would make sense to lean on the soon-to-be-deprecated devstack exercises for verification in the short-term, while we work through the larger issues in Tempest.</div>
<div><br></div><div>-Adam</div><div><br></div><div><br></div><div>[1] <a href="https://review.openstack.org/#/c/70348/">https://review.openstack.org/#/c/70348/</a><br></div><div>[2] <a href="https://etherpad.openstack.org/p/IronicCI">https://etherpad.openstack.org/p/IronicCI</a></div>
<div>[2] <a href="https://review.openstack.org/#/c/81958/">https://review.openstack.org/#/c/81958/</a></div>
</div>