Comment 0 for bug 1753394

Revision history for this message
yafeng (yafeng) wrote : block_device_mapping_v2 cannot work with Pike

Yaml:
 vol_omu:
    type: OS::Heat::ResourceGroup
    properties:
      count: 2
      resource_def:
        type: OS::Cinder::Volume
        properties:
          name: OMU-Volume
          source_volid: { get_param: omu_volume_id }
          size: 22

  OMU-0:
    type: OS::Nova::Server
    properties:
      name: OMU-0
      image: { get_param: ipxe_image_id }
      flavor: { get_param: flavor_omu }
      key_name: { get_param: key_name }
      networks: { get_attr: [OMU_0_ports, port-map] }
      block_device_mapping_v2:
        - { "boot_index": -1, "disk_bus": "scsi", "volume_id": { get_attr: [vol_omu, resource.0] } }
        - { "boot_index": -1, "disk_bus": "scsi", "volume_id": { get_attr: [vol_omu, resource.1] } }

Related xml content for OpenStack Newton:
<disk type='network' device='disk'>
  <driver name='qemu' type='raw' cache='none'/>
  <source protocol='rbd' name='cinder-volumes/volume-20807bd7-d1e7-4f87-a94d-f8234945b433'>
    <host name='172.168.42.3' port='6789'/>
    <host name='172.168.42.4' port='6789'/>
    <host name='172.168.42.5' port='6789'/>
  </source>
  <target dev='sda' bus='scsi'/>
  <serial>20807bd7-d1e7-4f87-a94d-f8234945b433</serial>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='network' device='disk'>
  <driver name='qemu' type='raw' cache='none'/>
  <source protocol='rbd' name='cinder-volumes/volume-cd63e6f9-87f9-4c6b-ba87-bd4ff3c113c4'>
    <host name='172.168.42.3' port='6789'/>
    <host name='172.168.42.4' port='6789'/>
    <host name='172.168.42.5' port='6789'/>
  </source>
  <target dev='sdb' bus='scsi'/>
  <serial>cd63e6f9-87f9-4c6b-ba87-bd4ff3c113c4</serial>
  <address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>

Related xml content for OpenStack Pike:
 <disk type='network' device='disk'>
  <driver name='qemu' type='raw' cache='none' discard='unmap'/>
  <auth username='cinder'>
    <secret type='ceph' uuid='6c373d85-665f-4fbf-8bb5-880181870709'/>
  </auth>
  <source protocol='rbd' name='volumes/volume-029d943d-60ad-4f90-87b7-a2e7a20394f9'>
    <host name='192.168.1.29' port='6789'/>
    <host name='192.168.1.30' port='6789'/>
    <host name='192.168.1.31' port='6789'/>
  </source>
  <target dev='sda' bus='scsi'/>
  <serial>029d943d-60ad-4f90-87b7-a2e7a20394f9</serial>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='network' device='disk'>
  <driver name='qemu' type='raw' cache='none' discard='unmap'/>
  <auth username='cinder'>
    <secret type='ceph' uuid='6c373d85-665f-4fbf-8bb5-880181870709'/>
  </auth>
  <source protocol='rbd' name='volumes/volume-0dc8e3a2-6fa9-4530-bd5b-db6cef83b9f3'>
    <host name='192.168.1.29' port='6789'/>
    <host name='192.168.1.30' port='6789'/>
    <host name='192.168.1.31' port='6789'/>
  </source>
  <target dev='sdb' bus='scsi'/>
  <serial>0dc8e3a2-6fa9-4530-bd5b-db6cef83b9f3</serial>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

The problem happened on Pike.
Two disks have the same unit ID:
<address type='drive' controller='0' bus='0' target='0' unit='0'/>

And error log:
qemu-kvm: -object secret,id=scsi0-0-0-0-secret0,data=flYlAwpFVjBHcQ/NI3UUe+bahMmauiudlUbN3KW3RIk=,keyid=masterKey0,iv=7FE+TU876kfSu2Yrrm3uBQ==,format=base64:
Duplicate ID 'scsi0-0-0-0-secret0' for object