We will make use of the nova
snapshot feature in order to create an image from our running instance. We
start by retrieving the instance ID :
$ nova list
+--------------------------------------+------------+--------+---------------------+
| ID | Name | Status | Networks |
+--------------------------------------+------------+--------+---------------------+
| 739079ab-0f8e-404a-ae6e-a91f4fe99c94 | cloud-pipe | ACTIVE | vlan1=192.168.22.43 |
+--------------------------------------+------------+--------+---------------------+
We create an image with, using the instance ID :
$ nova image-create 739079a-b-0f8e-404a-ae6e-a91f4fe99c94
Make sure the instance has been upload to the Glance repository :
$ nova image-list
+--------------------------------------+---------------+--------+--------------------------------------+
| ID | Name | Status | Server |
+--------------------------------------+---------------+--------+--------------------------------------+
| 0bfc8fd3-1590-463b-b178-bce30be5ef7b | cloud-pipance | ACTIVE | fb93eda8-4eb8-42f7-b53c-91c6d83cface |
+--------------------------------------+---------------+--------+--------------------------------------+
Make that image public (snapshot-based images are private by default):
$ glance image-update 0bfc8fd3-1590-463b-b178-bce30be5ef7b is_public=true
You can ensure the image is now public, running
$ glance show 0bfc8fd3-1590-463b-b178-bce30be5ef7b | grep Public
Public : Yes

