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