<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div><div id="magicdomid2" class=""><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">Hi Ironicers.</span></div><div id="magicdomid3" class=""><br></div><div id="magicdomid730" class="ace-line"><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">Recently we have added one-time boot feature to OneView drivers. However, now for be able to activate the onetime-boot feature</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">, </span><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">that make oneview driver's to save some time during the deployment</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">, we need to find a common place to turn the onetime-boot  On and not-persistent.</span></div><div id="magicdomid66" class="ace-line"><br></div><div id="magicdomid716" class="ace-line"><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">The PXEBoot interface uses the method try_set_boot_device</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj"> [1]</span><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8"> from deploy_utils without using the parameter "persistent"</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj"> [2][3]</span><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">, the try_set_boot_device has that parameter set as True by default.</span></div><div id="magicdomid596" class="ace-line"><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">The problem is, the method node_set_boot_device</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj"> [4]</span><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8"> in the Conductor has persistent set as False by default.</span></div><div id="magicdomid9" class=""><br></div><div id="magicdomid728" class="ace-line"><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">We use PXEBoot as our boot option, we have implemented the on</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">e</span><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">time</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">-</span><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">boot option to allow us to skip Server Profile applications when PXE is needed</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj"> [5]</span><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">. However, PXEBoot uses try_set_boot_device that has persistent True as default, so onetime</span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">-</span><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">boot is always disabled to PXE boot_device in PXEBoot.</span></div><div id="magicdomid12" class=""><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">Since we use PXEBoot, we rely in how it changes the boot_device to PXE.</span></div><div id="magicdomid628" class="ace-line"><br></div><div id="magicdomid696" class="ace-line"><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">We have proposed a change [6] as a initial solution to be evolved.</span></div><div id="magicdomid656" class="ace-line"><br></div><div id="magicdomid622" class="ace-line"><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">What would you suggest?</span></div><div id="magicdomid15" class=""><br></div><div id="magicdomid85" class="ace-line"><span class="author-a-z77zez70zz76zz67zz89z8rz82zz75zz81zf0rz74z8">Thank you.</span></div><div id="magicdomid697" class="ace-line"><br></div><div id="magicdomid701" class="ace-line"><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">[1] </span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj url"><a href="https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/deploy_utils.py#L672" data-mce-href="https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/deploy_utils.py#L672">https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/deploy_utils.py#L672</a></span><br data-mce-bogus="1"></div><div id="magicdomid707" class="ace-line"><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">[2] </span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj url"><a href="https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/pxe.py#L424" data-mce-href="https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/pxe.py#L424">https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/pxe.py#L424</a></span><br data-mce-bogus="1"></div><div id="magicdomid709" class="ace-line"><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">[3] </span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj url"><a href="https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/pxe.py#L515" data-mce-href="https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/pxe.py#L515">https://github.com/openstack/ironic/blob/0cacd14c6e574a6acb7c6716b09b0779a35e71c9/ironic/drivers/modules/pxe.py#L515</a></span><br data-mce-bogus="1"></div><div id="magicdomid721" class="ace-line"><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">[4] </span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj url"><a href="https://github.com/openstack/ironic/blob/2427c7b59463e53b8f0257b604371587ecc47966/ironic/conductor/utils.py#L43" data-mce-href="https://github.com/openstack/ironic/blob/2427c7b59463e53b8f0257b604371587ecc47966/ironic/conductor/utils.py#L43">https://github.com/openstack/ironic/blob/2427c7b59463e53b8f0257b604371587ecc47966/ironic/conductor/utils.py#L43</a></span><br data-mce-bogus="1"></div><div id="magicdomid603" class="ace-line"><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">[5] </span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj url"><a href="https://github.com/openstack/ironic/blob/fec55f4a113591a6ff725f66d8ec36b89a033e61/ironic/drivers/modules/oneview/management.py#L101" data-mce-href="https://github.com/openstack/ironic/blob/fec55f4a113591a6ff725f66d8ec36b89a033e61/ironic/drivers/modules/oneview/management.py#L101">https://github.com/openstack/ironic/blob/fec55f4a113591a6ff725f66d8ec36b89a033e61/ironic/drivers/modules/oneview/management.py#L101</a></span><br data-mce-bogus="1"></div><div id="magicdomid621" class="ace-line"><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj">[6] </span><span class="author-a-z90zz75z1z77zvz70zjgnz65zte2oz87zj url"><a href="https://review.openstack.org/#/c/436469/" data-mce-href="https://review.openstack.org/#/c/436469/">https://review.openstack.org/#/c/436469/</a></span><br data-mce-bogus="1"></div><div id="magicdomid383" class="ace-line"><br></div></div></div></body></html>