OpenStack Epoxy : Add VM Images2025/05/21 |
|
Add Virtual Machine images in Glance. |
|
| [1] |
Install KVM HyperVisor, refer to here. |
| [2] | Create a CentOS Stream 9 image on Glance service Host. Download the ISO image of CentOS Stream 9 first into a directory before it. |
|
# create a disk image [root@dlp ~(keystone)]# qemu-img create -f qcow2 /var/kvm/images/centos9.img 10G
# install [root@dlp ~(keystone)]# virt-install \
--name centos9 \ --ram 4096 \ --disk path=/var/kvm/images/centos9.img,format=qcow2 \ --vcpus 2 \ --os-variant centos-stream9 \ --network network=default \ --graphics none \ --console pty,target_type=serial \ --location /home/CentOS-Stream-9-latest-x86_64-dvd1.iso \ --extra-args 'console=ttyS0,115200n8'
Starting install...
# after installing OS, login to the VM and configure necessary settings
CentOS Stream 9
Kernel 5.14.0-516.el9.x86_64 on an x86_64
Activate the web console with: systemctl enable --now cockpit.socket
localhost login: root
[root@localhost ~]# dnf -y install cloud-init openssh-server
[root@localhost ~]#
vi /etc/cloud/cloud.cfg # line 15 : if you like to allow SSH password auth, change to [1] ssh_pwauth: true # line 93, 94 : change to [centos] as default user # if you'd like to allow SSH password auth to the user, chage like follows system_info: default_user: name: centos lock_passwd: false # remove existing interface [root@localhost ~]# nmcli device ]DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected enp1s0 lo loopback unmanaged --
[root@localhost ~]#
nmcli connection del enp1s0 Connection 'enp1s0' (9f46f8e5-6a0e-3ea0-bbc5-838a48355a38) successfully deleted. # finally, undefine the VM [root@dlp ~(keystone)]# virsh undefine centos9 |
| [3] | Add the virtual image to Glance. |
|
[root@dlp ~(keystone)]# openstack image create "CentOS-Stream9" --file /var/kvm/images/centos9.img --disk-format qcow2 --container-format bare --public +------------------+----------------------------------------------------------------------------+ | Field | Value | +------------------+----------------------------------------------------------------------------+ | checksum | 14f22f09c3a917436d95eb799d522a97 | | container_format | bare | | created_at | 2025-05-21T00:31:36Z | | disk_format | qcow2 | | file | /v2/images/8bbf2495-d1b0-4c12-89d3-bf6ca71b2a2d/file | | id | 8bbf2495-d1b0-4c12-89d3-bf6ca71b2a2d | | min_disk | 0 | | min_ram | 0 | | name | CentOS-Stream9 | | owner | 8f6f2ea0aec84c6f919d15236063d7c0 | | properties | os_hash_algo='sha512', os_hash_value='3476d5978bce4bc3f9273740704c6ad40... | | protected | False | | schema | /v2/schemas/image | | size | 2759000064 | | status | active | | tags | | | updated_at | 2025-05-21T00:31:47Z | | virtual_size | 10737418240 | | visibility | public | +------------------+----------------------------------------------------------------------------+[root@dlp ~(keystone)]# openstack image list +--------------------------------------+----------------+--------+ | ID | Name | Status | +--------------------------------------+----------------+--------+ | 8bbf2495-d1b0-4c12-89d3-bf6ca71b2a2d | CentOS-Stream9 | active | +--------------------------------------+----------------+--------+ |
| [4] | By the way, if you got an image from internet, it's OK to simply add it like follows. |
|
[root@dlp ~(keystone)]#
[root@dlp ~(keystone)]# wget http://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img
openstack image create "Ubuntu2404-Official" --file ubuntu-24.04-server-cloudimg-amd64.img --disk-format qcow2 --container-format bare --public +------------------+-----------------------------------------------------------------------------+ | Field | Value | +------------------+-----------------------------------------------------------------------------+ | checksum | 45d8e9033f08b2afe71b0c745959e098 | | container_format | bare | | created_at | 2025-05-21T00:34:10Z | | disk_format | qcow2 | | file | /v2/images/1a7a317d-0ab1-4683-8799-8533414227a6/file | | id | 1a7a317d-0ab1-4683-8799-8533414227a6 | | min_disk | 0 | | min_ram | 0 | | name | Ubuntu2404-Official | | owner | 8f6f2ea0aec84c6f919d15236063d7c0 | | properties | os_hash_algo='sha512', os_hash_value='fa1ce64afbed1ec6b9bc10653aa08fdb44... | | protected | False | | schema | /v2/schemas/image | | size | 613540352 | | status | active | | tags | | | updated_at | 2025-05-21T00:34:13Z | | virtual_size | 3758096384 | | visibility | public | +------------------+-----------------------------------------------------------------------------+ |
| Sponsored Link |
|
|