← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1766661] [NEW] 'host' property is missing for Cinder volume connector when boot from volume

 

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