Common OpenStack image tasks

This section outlines a number of steps, intended as a quick overview only, when operating against the OpenStack Image service (known as Glance). For more detailed information and explanation of each task, refer to Chapter 6, Glance – OpenStack Image Service.

Getting ready

Ensure that you have the OpenStack clients installed, as described in the first recipes in this chapter.

How to do it…

Carry out the following steps to create and modify images in OpenStack:

Uploading an image to Glance

Uploading an image to OpenStack is achieved with the following. To upload, a QCOW2 image such as one provided by CirrOS for testing, carry out the following command:

openstack image create
    --container-type bare
    --disk-format qcow2
    --public
    --file
 /path/to/cirros-0.3.5-x86_64-disk.img

Downloading an image or snapshot from Glance as a file

To download an image from Glance, perhaps for copying to another environment or to store as an offsite backup, carry out the following command:

openstack image save
    --file myImage.qcow2 myImage

Sharing images between projects

In most situations, an image is either public (available to all projects), or private (only available to the project that the image was uploaded onto). However, you are able to share a private image to isolated projects of your choosing. To do this, you will need the following:

  • The image UUID of the image you will be sharing
  • The UUID of the project that you will be sharing the image with

Carry out the following steps to share an image with another project. In the following example, we will share the cirros-image, currently only available in admin project with the anotherProject project:

  1. First, query the project list:
    openstack project list
    

    This will bring back output like the following:

    Sharing images between projects
  2. We will set the image to be shared:
    openstack image set cirros-image --shared
    
  3. We will then tell OpenStack which project we want this sharing using the following command:
    openstack image add project anotherProject
    

    This will bring back output like the following – we will use the image_id in the next step:

    Sharing images between projects
  4. Important: as a user in the receiving (anotherProject) project, execute the following:
    openstack image set --accept f6578a80-5f6f-4f2d-9a8a-9d84cec8a60d
    
  5. Now, as that same user, you can confirm that you can see this shared image by executing an image listing:
    openstack image list
    

    This will bring back output like the following, showing the available image:

    Sharing images between projects
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.89.123