Verifying the Image Service Installation To test the Image Service installation, download at least one virtual machine image that is known to work with OpenStack. For example, CirrOS is a small test image that is often used for testing OpenStack deployments (CirrOS downloads). The 64-bit CirrOS QCOW2 image is the image we'll use for this walkthrough. For more information about: Downloading and building images, refer to the OpenStack Virtual Machine Image Guide. How to manage images, refer to the "Image Management" chapter in the OpenStack User Guide. Upload and View an Image in the Image Service Download the image into a dedicated directory: $ mkdir images $ cd images/ $ curl -O http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img Use the glance image-create command to upload the image to the Image Service, as follows: # glance image-create --name=imageLabel --disk-format=fileFormat \ --container-format=containerFormat --is-public=accessValue < imageFile Where: imageLabel Arbitrary label. This is the name by which users will refer to the image. fileFormat Specifies the format of the image file. Valid formats include qcow2, raw, vhd, vmdk, vdi, iso, aki, ari, and ami. You can verify the format using the file command: $ file cirros-0.3.1-x86_64-disk.img cirros-0.3.1-x86_64-disk.img: QEMU QCOW Image (v2), 41126400 bytes containerFormat Specifies the container format. Valid formats include: bare, ovf, aki, ari and ami. Specify bare to indicate that the image file is not in a file format that contains metadata about the virtual machine. Although this field is currently required, it is not actually used by any of the OpenStack services and has no effect on system behavior. Because the value is not used anywhere, it safe to always specify bare as the container format. accessValue Specifies image access: true - All users will be able to view and use the image. false - Only administrators will be able to view and use the image. imageFile Specifies the name of your downloaded image file. For example: # glance image-create --name="CirrOS 0.3.1" --disk-format=qcow2 \ --container-format=bare --is-public=true < cirros-0.3.1-x86_64-disk.img +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | d972013792949d0d3ba628fbe8685bce | | container_format | bare | | created_at | 2013-10-08T18:59:18 | | deleted | False | | deleted_at | None | | disk_format | qcow2 | | id | acafc7c0-40aa-4026-9673-b879898e1fc2 | | is_public | True | | min_disk | 0 | | min_ram | 0 | | name | CirrOS 0.3.1 | | owner | efa984b0a914450e9a47788ad330699d | | protected | False | | size | 13147648 | | status | active | | updated_at | 2013-05-08T18:59:18 | +------------------+--------------------------------------+ The returned image ID is generated dynamically, and therefore will be different on your deployment than in this example. Use the glance image-list command to confirm that the image has been uploaded and to display its attributes: # glance image-list +--------------------------------------+-----------------+-------------+------------------+----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+-----------------+-------------+------------------+----------+--------+ | acafc7c0-40aa-4026-9673-b879898e1fc2 | CirrOS 0.3.1 | qcow2 | bare | 13147648 | active | +--------------------------------------+-----------------+-------------+------------------+----------+--------+