Log in to the Horizon interface.
Select the appropriate region from the drop down menu at the top left.
On the Project tab, open the Compute tab and click Instances category.
Click on Launch Instance.

In the Launch Instance dialog box, enter the information requested. Refer to the guide Create an instance from the Horizon interface for more details.
In the Source tab, choose "Volume" in the Select Boot Source field.

A new field for volume selection appears. You can select the previously created volume from the list.

Click on Launch Instance.
The instance will be in a build state then Block Device Mapping state before being available.
The instance will eventually have the volume attached.

Create an instance, specifying the bootable volume volume_ubuntu as the boot device.
openstack server create --volume volume_ubuntu --flavor d2-2 --key-name publickey --nic net-id=Ext-Net InstanceTest
List the volumes to ensure the status has changed to in-use and the volume is correctly reporting the attachment:
$ openstack volume list
+--------------------------------------+---------------+--------+------+--------------------------------------+
| ID | Name | Status | Size | Attached to |
+--------------------------------------+---------------+--------+------+--------------------------------------+
| d7611318-fd7b-4b6a-8a7a-8d368049f747 | volume_ubuntu | in-use | 10 | Attached to InstanceTest on /dev/sda |
+--------------------------------------+---------------+--------+------+--------------------------------------+
List the volumes attached to the InstanceTest Instance:
$ openstack server volume list InstanceTest
+--------------------------------------+----------+--------------------------------------+--------------------------------------+------+
| ID | Device | Server ID | Volume ID | Tag |
+--------------------------------------+----------+--------------------------------------+--------------------------------------+------+
| d7611318-fd7b-4b6a-8a7a-8d368049f747 | /dev/sda | 5d97c190-f2e3-4af4-a010-6fa7bffbf88b | d7611318-fd7b-4b6a-8a7a-8d368049f747 | None |
+--------------------------------------+----------+--------------------------------------+--------------------------------------+------+
Info
You can also create an instance, using the chosen image and requesting "boot from volume" behavior.
$ openstack server create --flavor d2-2 --key-name publickey --nic net-id=Ext-Net --image b680f0aa-8eb8-4ac8-b008-2a90bb71af4f --boot-from-volume 10 InstanceTest2
+-----------------------------+---------------------------------------------+
| Field | Value |
+-----------------------------+---------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-STS:power_state | NOSTATE |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | None |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | |
| adminPass | dP4e4iY3eWWC |
| config_drive | |
| created | 2025-02-06T17:20:06Z |
| flavor | d2-2 (dc3fe9e7-e374-4ad8-b200-fa3bdf45069f) |
| hostId | |
| id | a4632249-e1b4-4047-be1c-87f8b0328f7c |
| image | N/A (booted from volume) |
| key_name | publickey |
| name | InstanceTest2 |
| progress | 0 |
| project_id | d7fb756ae2c24b1cb8630ec7f56ee4a8 |
| properties | |
| security_groups | name='default' |
| status | BUILD |
| updated | 2025-02-06T17:20:06Z |
| user_id | 1a67934f87ef481d9cb617a913bfa8bb |
| volumes_attached | |
+-----------------------------+---------------------------------------------+
In the command above, b680f0aa-8eb8-4ac8-b008-2a90bb71af4f is the Debian 12 image ID.
List the volumes to ensure the status has changed to in-use and the volume is correctly reporting the attachment.
$ openstack volume list
+--------------------------------------+---------------+--------+------+----------------------------------------+
| ID | Name | Status | Size | Attached to |
+--------------------------------------+---------------+--------+------+----------------------------------------+
| 27f8332d-8bfd-4515-b0a8-18667ae50ff8 | | in-use | 10 | Attached to InstanceTest2 on /dev/sda |
| d7611318-fd7b-4b6a-8a7a-8d368049f747 | volume_ubuntu | in-use | 10 | Attached to InstanceTest on /dev/sda |
+--------------------------------------+---------------+--------+------+----------------------------------------+
List the volume on the server to make sure it's properly attached.
$ openstack server volume list InstanceTest2
+--------------------------------------+----------+--------------------------------------+--------------------------------------+------+
| ID | Device | Server ID | Volume ID | Tag |
+--------------------------------------+----------+--------------------------------------+--------------------------------------+------+
| d7611318-fd7b-4b6a-8a7a-8d368049f747 | /dev/sda | 5d97c190-f2e3-4af4-a010-6fa7bffbf88b | d7611318-fd7b-4b6a-8a7a-8d368049f747 | None |
+--------------------------------------+----------+--------------------------------------+--------------------------------------+------+