<div dir="ltr"><br><div>Hi All,</div><div><br></div><div><b>What this mail is about ?</b></div><div><br></div><div>As part of the below blueprint, we are planning for a boot deploy interface separation in Ironic. </div><div><a href="https://blueprints.launchpad.net/ironic/+spec/new-boot-interface">https://blueprints.launchpad.net/ironic/+spec/new-boot-interface</a> </div><div><br></div><div><div><b>Whom does this concern ?</b></div><div><br></div><div>* If you have an out of the tree driver for Ironic</div><div>* If you are in the process of writing a new implementation of DeployInterface for a driver in Ironic</div><div>* If you have a fully working implementation of DeployInterface that you are planning to upstream</div></div><div><br></div><div>If you don't belong to any of the above, this mail shouldn't concern you as such, and you may skip reading this.  But it might be worth reading.</div><div><br></div><div><b>What is boot/deploy interface ?</b></div><div><br></div><div>The reasoning for boot/deploy interfaces is explained in the spec:</div><div><a href="http://specs.openstack.org/openstack/ironic-specs/specs/liberty/new-boot-interface.html">http://specs.openstack.org/openstack/ironic-specs/specs/liberty/new-boot-interface.html</a><br></div><div><br></div><div>This is mainly to make it easy to add new drivers by abstracting the boot and deploy functions separately.  The specification should explain problem and proposed change in detail.</div><div><br></div><div><b>How does this concern you ?</b></div><div><b><br></b></div><div><div>* <u>If you have an out of the tree driver for Ironic</u></div><div><br></div><div>We <b>are not </b>breaking/changing any of the existing interfaces in Ironic.  A completely out of the tree implementation of DeployInterface should still work fine (by complete, I mean an implementation that is not dependent on any of the upstream implementations).  However, if you had created your own out of the tree implementation of DeployInterface by extending from one of the upstream implementations of it (for example, extending from ironic.driver.modules.pxe.PXEDeploy), then your code might break.  Please follow-up with the patches for the blueprint that are being/will be proposed.  </div><div><br></div><div>* <u>If you are in the process of writing a new implementation of DeployInterface for a driver in Ironic</u></div><div><u><br></u></div><div>You might want to check if your implementation of DeployInterface can be broken down into a separate boot and deploy interfaces.  This is not <b>mandated </b>but will be the recommended way going forward.</div><div><br></div><div>* <u>If you have a fully working implementation of DeployInterface that you are planning to upstream</u><br></div></div><div><u><br></u></div><div>Again just like above, it is recommended to separate boot and deploy interfaces if it's applicable to your deploy mechanism.  All upstream drivers will be changed to this model soon.</div><div><br></div><div>If you have any questions, feel free to reply back to this mail or follow up with the Ironic community on this in the IRC channel #openstack-ironic.</div><div><br></div><div>Thanks.</div><div><br></div><div>Regards,</div><div>Ramesh</div><div><br></div></div>