Due to the nature of this bug, at least 2 better 3 VM needs to be launched.
1. Add image to glance, could be ubuntu or centos (these two were tested)
2. Create 3 volumes and make them bootable, these volumes will be used as VMs hard disks.
3. Launched 3 instances one right after another. Since the issue is between cinder and glance it is very important to use exact command structure, 1st disk is cinder volume which will be created automatically based on glance image, 2nd disk, the disk prepared during step 2.
Here are the steps to reproduce it:
Due to the nature of this bug, at least 2 better 3 VM needs to be launched.
1. Add image to glance, could be ubuntu or centos (these two were tested)
2. Create 3 volumes and make them bootable, these volumes will be used as VMs hard disks.
cinder create --name centos7-1-disk 10
cinder create --name ubuntu-1-disk 10
cinder create --name ubuntu-2-disk 10
cinder set-bootable $(cinder list | grep centos7-1-disk | awk {'print $2'}) true
cinder set-bootable $(cinder list | grep ubuntu-1-disk | awk {'print $2'}) true
cinder set-bootable $(cinder list | grep ubuntu-2-disk | awk {'print $2'}) true
3. Launched 3 instances one right after another. Since the issue is between cinder and glance it is very important to use exact command structure, 1st disk is cinder volume which will be created automatically based on glance image, 2nd disk, the disk prepared during step 2.
nova boot --flavor m1.small-10g \ image,dest= volume, bus=ide, device= /dev/hdc, size=5, type=cdrom, bootindex= 1 \ volume, id=$(cinder list | grep centos7-1-disk | awk '{print $2}'),dest= volume, size=10, bootindex= 0 centos-1
--nic net-id=$(neutron net-list | grep net-1710 | awk '{print $2}') \
--block-device id=$(glance image-list | grep CentOS-7-x86_64 | awk '{print $2}'),source=
--block-device source=
nova boot --flavor m1.small-10g \ image,dest= volume, bus=ide, device= /dev/hdc, size=1, type=cdrom, bootindex= 1 \ volume, id=$(cinder list | grep ubuntu-1-disk | awk '{print $2}'),dest= volume, size=10, bootindex= 0 ubuntu-1
--nic net-id=$(neutron net-list | grep net-1710 | awk '{print $2}') \
--block-device id=$(glance image-list | grep ubuntu | awk '{print $2}'),source=
--block-device source=
nova boot --flavor m1.small-10g \ image,dest= volume, bus=ide, device= /dev/hdc, size=1, type=cdrom, bootindex= 1 \ volume, id=$(cinder list | grep ubuntu-2-disk | awk '{print $2}'),dest= volume, size=10, bootindex= 0 ubuntu-2
--nic net-id=$(neutron net-list | grep net-1710 | awk '{print $2}') \
--block-device id=$(glance image-list | grep ubuntu | awk '{print $2}'),source=
--block-device source=
When the bug is triggered, 1st and 3rd instance will be in active state, but 2nd instance will be in error state.
[root@deployment-1 tools]# nova list ------- ------- ------- ------- ----+-- ------- -+----- ---+--- ------- --+---- ------- --+---- ------- ------- ----+ ------- ------- ------- ------- ----+-- ------- -+----- ---+--- ------- --+---- ------- --+---- ------- ------- ----+ 2a24-4641- 8c75-dee091ed01 8c | centos-1 | ACTIVE | - | Running | net-1710= 10.57.10. 11 | 7232-4aae- 8175-6ea9cc6b66 1e | ubuntu-1 | ERROR | - | NOSTATE | | 578d-45f0- 9404-0e7bb6e439 33 | ubuntu-2 | ACTIVE | - | Running | net-1710= 10.57.10. 13 | ------- ------- ------- ------- ----+-- ------- -+----- ---+--- ------- --+---- ------- --+---- ------- ------- ----+
+------
| ID | Name | Status | Task State | Power State | Networks |
+------
| 334f41d6-
| e1c57483-
| 5dd944ad-
+------