tree 743cc84956153dce4ccb8199d51951d59e04e062
parent 181ae6521649bd865c2ee7c4e87690aab29567e8
author Paras Babbar <PBabbar@redhat.com> 1603127216 -0400
committer Paras Babbar <PBabbar@redhat.com> 1603384551 -0400

Test attach scsi disk with config drive enabled

There were recently issues discovered in nova as it
used to consider only an instance's existing volumes
when finding the next available SCSI address when
attaching the volume, so for example if the instance
has config drive in the shape of a SCSI CDROM, it's
SCSI address gets ignored in the new address calculation
and thus there will be address collision in the xml and
libvirt will complain and hence the attachment to volume
failed with the error that the doamin already contains
the disk with that address.

This test will actually covers the same scenario by
enabling the config drive and attach/detach the volume
to the instance that is boot up using the custom image
meta property hw_cdrom_bus and hw_disk_bus as scsi
with virtio-scsi mode.

There is an additional create_image_with custom prop.
method created that will copy the default image used
in the conf. and then updating it with the custom
property mentioned in the attach scsi volume test.

Also to create an image with the custom property needs
admin priviliges for image_client so hence adding the
test here in admin tests with updating the image_client
with admin privilege in compute admin test class.

Related-Bug: #1867075

Change-Id: I9c7be55aaa363860a78d2efe2a4685433777625b
