Bobcares

Add Glance Cloud images to OpenStack – How to do it

by | Jan 24, 2021

Wondering how to add Glance Cloud images to OpenStack? We can help you.

Since cloud operators assign roles to users, only cloud administrators or operators can upload and manage the images. Even though the procedure is quite simple, not everyone is familiar with it.

As part of our Server Management Services, we assist our customers with several OpenStack queries.

Today, let us see how to add VM images to the OpenStack Glance image service.

 

What is the OpenStack image service?

A free open standard cloud computing platform, OpenStack is deployed as infrastructure-as-a-service in both public and private clouds where virtual servers and other resources are made available to users.

OpenStack glance enables users to discover, register, and retrieve virtual machine images. Its default location is /var/lib/glance/images/ with its backend being a file.

To query virtual machine image metadata and to retrieve an actual image, the OpenStack image service offers a REST API. The location of virtual machine images can be a variety, from simple file systems to object-storage systems like OpenStack Object Storage.

Furthermore, our Support Engineers suggest us to have a running OpenStack setup and glance service runs on the controller node.

 

Add Glance Cloud images to OpenStack

The easy way to obtain a virtual machine image that works with OpenStack is to download an already existing image.

It is also possible to create our own images. However, it is faster to obtain ready-made images.

Generally, most of the images contain the cloud-init package to support the SSH key pair and user data injection.

Meanwhile, let us see an effective way our Support Techs employ to add VM images to the OpenStack Glance image service.

 

  • Add CentOS Cloud Image to OpenStack

The CentOS project maintains official images for direct download.

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

The default login username for instances from this image: centos

 

  • Add Ubuntu Cloud Image to OpenStack

Furthermore, let us see how to perform it in Ubuntu.

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

Default login username for instances created from this image: ubuntu

 

  • Add Debian Cloud Image to OpenStack

Similarly, to perform it in Debian 10, run:

$ 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

Then in 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

Default login username for instances created from this image: debian

 

  • Add Cirros Cloud image to Glance

Next, we will see how to 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

Default login username for instances created from this image: cirros
Password: cubswin:)

 

  • Add CoreOS Cloud Image to OpenStack

Then, let us see how to 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

Default login username for instances created from this image: core

 

  • Add Arch Linux Cloud Image to OpenStack

later, let us see how to add 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

Default login username for instances created from this image: arch

 

  • 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

Default login username for instances created from this image: gentoo

 

  • Add Fedora CoreOS Image to OpenStack

Initially, we download the 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

Then, we extract it:

$ unxz fedora-coreos-qemu.qcow2.xz

Finally, we upload the extracted image:

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

The default login username for instances created from this image: core

 

  • Add Windows Server 2012 image

Subsequently, let us focus on adding Windows Server 2012 image.

We download 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

Checklist 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 |
+————————————–+———————+——–+

 

  • Setting image options

It is a good practice to protect the images from accidental deletion. If an image is specified as Public, anyone else on the cluster can see it.

In order to set all images publicly visible and protect them from accidental deletion, we run:

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

Finally, we confirm from Horizon Dashboard by going to Project >> Compute >> Images.

We should notice Protected flag is set to yes for all images and Visibility set to Public as well.

[Need help with adding Glance Cloud images to OpenStack? We can help you]

 

Conclusion

To conclude, adding Glance Cloud images to OpenStack enables users to discover, register, and retrieve virtual machine images. Today, we saw how our Support Techs perform it in different Linux distributions.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF