"Name of the device such as, /dev/vdb. Omit or set this parameter to null for auto-assignment, if supported. If you specify this parameter, the device must not exist in the guest operating system. Note that as of the 12.0.0 Liberty release, the Nova libvirt driver no longer honors a user-supplied device name. This is the same behavior as if the device name parameter is not supplied on the request."
Are you waiting for each volume to show up as "in-use" before attaching another one?
Are you passing in the device_name field and expecting that to be honored when attaching the volume? Because with the libvirt driver it won't be:
https:/ /developer. openstack. org/api- ref/compute/ ?expanded= attach- a-volume- to-an-instance- detail# attach- a-volume- to-an-instance
"Name of the device such as, /dev/vdb. Omit or set this parameter to null for auto-assignment, if supported. If you specify this parameter, the device must not exist in the guest operating system. Note that as of the 12.0.0 Liberty release, the Nova libvirt driver no longer honors a user-supplied device name. This is the same behavior as if the device name parameter is not supplied on the request."
Also see: https:/ /review. openstack. org/#/c/ 452546/