Attaching Volumes¶
The following sequence diagram outlines the current flow when attaching a
volume to an instance using the os-volume_attachments API. This diagram
uses the libvirt driver as an example virt driver to additionally document
the optional interactions with the os-brick library on the compute hosts
during the request.
Note
os-brick is not always used to connect volumes to the host, most
notably when connecting an instance natively to ceph rbd volumes
The diagram also outlines the various locks taken on the compute during the
attach volume flow. In this example these include locks against the
instance.uuid, cinder_backend.uuid orchestrated for nova-compute by
os-brick and the generic connect_volume lock taken within os-brick
itself. This final connect_volume lock also being held when detaching and
disconnecting a volume from the host by os-brick.