Public bug reported: Description =========== Not sure if this is a bug or by design. But in any case, we need to clarify how to the volume connectors are created when boot from volume. According the doc (https://docs.openstack.org/ironic/pike/admin/boot-from-volume.html), we need to create an iSCSI Qualifying Name (IQN) connector that is unique to the SAN. It didn't mention anything else so its gives reader the impression that nothing else is required. But the problem is, depending on the Cinder backend driver, we also need the 'host' property in the connector. Otherwise, BFV will fail and you'll see something similar to this appearing in the Cinder Volume logs.
cinder-volume.log:2018-04-20 21:20:28.543 20455 ERROR cinder.volume.manager hostname = common._safe_hostname(connector['host']) cinder-volume.log:2018-04-20 21:20:28.543 20455 ERROR cinder.volume.manager KeyError: 'host' cinder-volume.log:2018-04-20 21:20:28.543 20455 ERROR cinder.volume.manager Looking at the code where the volume connector is created, seems like the only workaround would be to also create another volume connection of type 'ip'. See https://github.com/openstack/nova/blob/stable/pike/nova/virt/ironic/driver.py#L1773 So we ended up creating two connectors, iqn and ip, in order to make the error go away. Steps to reproduce ================== 1. Configure Ironic to Boot From Volume according to the doc (https://docs.openstack.org/ironic/pike/admin/boot-from-volume.html) 2. Configure a Cinder backend (i.e. 3par_iscsi) which requires the 'host' property. 3. Attempt to BFV and it will fail. Check the Cinder Volume logs for the "KeyError: 'host'" entry. Expected result =============== BFV should work. Actual result ============= BFV failed with the "KeyError: 'host'" entry in Cinder Volume log. Environment =========== 1. Install DevStack with Ironic BFV enabled. See https://docs.openstack.org/ironic/pike/contributor/ironic-boot-from-volume.html 2. Configure Cinder to use VSA or some backend which request a 'host'. 3. Do BFV ** Affects: nova Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1766661 Title: 'host' property is missing for Cinder volume connector when boot from volume Status in OpenStack Compute (nova): New Bug description: Description =========== Not sure if this is a bug or by design. But in any case, we need to clarify how to the volume connectors are created when boot from volume. According the doc (https://docs.openstack.org/ironic/pike/admin/boot-from-volume.html), we need to create an iSCSI Qualifying Name (IQN) connector that is unique to the SAN. It didn't mention anything else so its gives reader the impression that nothing else is required. But the problem is, depending on the Cinder backend driver, we also need the 'host' property in the connector. Otherwise, BFV will fail and you'll see something similar to this appearing in the Cinder Volume logs. cinder-volume.log:2018-04-20 21:20:28.543 20455 ERROR cinder.volume.manager hostname = common._safe_hostname(connector['host']) cinder-volume.log:2018-04-20 21:20:28.543 20455 ERROR cinder.volume.manager KeyError: 'host' cinder-volume.log:2018-04-20 21:20:28.543 20455 ERROR cinder.volume.manager Looking at the code where the volume connector is created, seems like the only workaround would be to also create another volume connection of type 'ip'. See https://github.com/openstack/nova/blob/stable/pike/nova/virt/ironic/driver.py#L1773 So we ended up creating two connectors, iqn and ip, in order to make the error go away. Steps to reproduce ================== 1. Configure Ironic to Boot From Volume according to the doc (https://docs.openstack.org/ironic/pike/admin/boot-from-volume.html) 2. Configure a Cinder backend (i.e. 3par_iscsi) which requires the 'host' property. 3. Attempt to BFV and it will fail. Check the Cinder Volume logs for the "KeyError: 'host'" entry. Expected result =============== BFV should work. Actual result ============= BFV failed with the "KeyError: 'host'" entry in Cinder Volume log. Environment =========== 1. Install DevStack with Ironic BFV enabled. See https://docs.openstack.org/ironic/pike/contributor/ironic-boot-from-volume.html 2. Configure Cinder to use VSA or some backend which request a 'host'. 3. Do BFV To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1766661/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp