How to add Glance Cloud image to OpenStack

You can download this article in PDF format via the link below to support us.Download the guide in PDF formatClose

In this tutorial, we will study how to add a VM image to the Openstack Glance image service. I assume you already have a running Openstack setup and the glance service is running on the controller node.

What is Openstack Image Service?

The Openstack overview enables users to discover, register and retrieve virtual machine images.The default storage location for these images is /var/lib/glance/images/ The back end is a file.

Openstack Image Service also provides a REST API, which allows you to query the virtual machine image metadata and retrieve the actual image. You can store virtual machine images provided through the Image service in various locations from simple file systems to object storage systems (such as OpenStack Object Storage).

Get Glance pictures?

The easiest way to obtain a virtual machine image compatible with OpenStack is to download an image that someone else has created. Most images include the cloud-init package to support SSH key pair and user data injection.

I will show you how to add images to various operating systems by downloading work that others have already done. Of course, you can create your own images, but it is faster to get ready-made images.

Default login credentials

The following is the default login user name for the instance created from the image added soon.

Debian: debian
Fedora: fedora
Ubuntu: ubuntu
RHEL: cloud-user
CentOS: centos
coreos: core
Arch Linux: arch
Gentoo: gentoo
OpenSUSE: root
Fedora CoreOS: core
Cirros:
    username: cirros
    Password: cubswin:)

example:

1. Add Cirros Cloud image to Glance

wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img

openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file cirros-0.5.1-x86_64-disk.img 
    Cirros-0.5.1

2. Add Fedora cloud image to Openstack

wget http://fedora.mirror.liquidtelecom.com/fedora/linux/releases/32/Cloud/x86_64/images/Fedora-Cloud-Base-32-1.6.x86_64.qcow2
openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file  Fedora-Cloud-Base-32-1.6.x86_64.qcow2 
    Fedora-32

3. Add CentOS cloud image to Openstack

CentOS 8:

wget https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.3.2011-20201204.2.x86_64.qcow2
openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file  CentOS-8-GenericCloud-8.3.2011-20201204.2.x86_64.qcow2 
    CentOS-8

CentOS 7:

$ wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2

$ openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file CentOS-7-x86_64-GenericCloud.qcow2 
    CentOS-7

3. Add Ubuntu cloud image to Openstack

Ubuntu 20.04

wget http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img

openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file focal-server-cloudimg-amd64.img 
    Ubuntu-20.04

Ubuntu 18.04:

$ wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img

$ openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file bionic-server-cloudimg-amd64.img 
    Ubuntu-18.04

4. Add Debian Cloud Image to Openstack

Debian 10:

wget http://cdimage.debian.org/cdimage/openstack/current-10/debian-10-openstack-amd64.qcow2

openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file debian-10-openstack-amd64.qcow2 
    Debian-10

Debian 9:

$ wget http://cdimage.debian.org/cdimage/openstack/current-9/debian-9-openstack-amd64.qcow2
$ openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file debian-9-openstack-amd64.qcow2 
    Debian-9

5. Add CoreOS cloud image to Openstack

$ wget https://stable.release.core-os.net/amd64-usr/current/coreos_production_openstack_image.img.bz2
$ bunzip2 coreos_production_openstack_image.img.bz2
$ openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file coreos_production_openstack_image.img 
    CoreOS

6. Add Arch Linux cloud image to Openstack

$ wget https://linuximages.de/openstack/arch/arch-openstack-LATEST-image-bootstrap.qcow2
$ openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file arch-openstack-LATEST-image-bootstrap.qcow2 
    Arch-Linux

7. Add Gentoo Cloud image to Openstack

$ wget https://linuximages.de/openstack/gentoo/gentoo-openstack-LATEST-image-bootstrap.qcow2
$ openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file gentoo-openstack-LATEST-image-bootstrap.qcow2 
    Gentoo-Linux

8. Add Fedora CoreOS image to OpenStack

Download image

wget https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/33.20201201.3.0/x86_64/fedora-coreos-33.20201201.3.0-openstack.x86_64.qcow2.xz -O fedora-coreos-qemu.qcow2.xz

Extract image:

unxz fedora-coreos-qemu.qcow2.xz

Upload the extracted picture:

openstack image create 
  --container-format bare 
  --disk-format qcow2 
  --file fedora-coreos-qemu.qcow2 
  fcos

9. Add Windows Server 2012 image

Download the image from https://cloudbase.it/windows-cloud-images/#download

$ gunzip -cd windows_server_2012_r2_standard_eval_kvm_20170321.qcow2.gz
$ openstack image create 
    --container-format bare 
    --disk-format qcow2 
    --file windows_server_2012_r2_standard_eval_kvm_20170321.qcow2 
    Windows-Server-2012-R2-Std

View the list of images available in Glance.

$ openstack image list
+--------------------------------------+---------------------+--------+
| ID                                   | Name                | Status |
+--------------------------------------+---------------------+--------+
| 0850ee38-1bdf-4379-9c69-0cf73e8b7c65 | Arch-Linux-x86_64   | active |
| e98445b6-f14f-488c-a18a-1f66c6de15c7 | CentOS-7-x86_64     | active |
| 7b4b616e-71f3-4419-9777-7aee66fad62c | Cirros-0.4.0-x86_64 | active |
| 98bbd9e6-abbc-45fa-ac95-b91b7b18ba0a | Debian-9-amd64      | active |
| 113b90b6-4e1e-4715-b9ab-456c191a82b3 | Fedora-30-x86_64    | active |
| 06c17e8a-0d4c-428a-89b5-b0eb2489f403 | Ubuntu-16.04-x86_64 | active |
+--------------------------------------+---------------------+--------+

Set image options

Now, set all images to Publicly visible And protect them fromDeleted accidentally.

IMAGE_IDS=`openstack image list | egrep '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' -o`
for i in ${IMAGE_IDS[@]}; do
    openstack image set --public $i
    openstack image set --protected $i
done

Confirm by going to Horizon Dashboard Project>Calculation>Image. You should note that the “Protected” flag for all images is set to “Yes” and the “Visibility” is also set to “Public”.

reference:

OpenStack documentation

Also check:

You can download this article in PDF format via the link below to support us.Download the guide in PDF formatClose

Sidebar