본문 바로가기

카테고리 없음

[Centos7/Openstack]Openstack 구축(9)-Glance

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'    IDENTIFIED BY 'dkagh1.';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>
MariaDB [(none)]>
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
    ->   IDENTIFIED BY 'dkagh1.';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye

2023.09.28

 

[root@controller ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 25
Server version: 10.1.20-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

MariaDB [(none)]> CREATE DATABASE glance;
Query OK, 1 row affected (0.00 sec)

 

 

[root@controller ~]# . admin-openrc

 

[root@controller ~]# openstack user create --domain default --password-prompt glance
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 9f1d8510843c4ab999fc06ca71c1e580 |
| name                | glance                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

 

[root@controller ~]# openstack role add --project service --user glance admin
No project with a name or ID of 'service' exists.

 

 

[root@controller ~]# openstack service create --name glance \
>   --description "OpenStack Image" image
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Image                  |
| enabled     | True                             |
| id          | ebc69ff85fe74ca09e50bbeb1132ea84 |
| name        | glance                           |
| type        | image                            |
+-------------+----------------------------------+

 

 

openstack endpoint create --region RegionOne \
  image public http://controller:9292

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 340be3625e9b4239a6415d034e98aace |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+

$ openstack endpoint create --region RegionOne \
  image internal http://controller:9292

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+

$ openstack endpoint create --region RegionOne \
  image admin http://controller:9292

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 0c37ed58103f4300a84ff125a539032d |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
[root@controller ~]# yum install openstack-glance -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.navercorp.com
 * centos-qemu-ev: mirror.navercorp.com
 * extras: mirror.navercorp.com
 * updates: mirror.navercorp.com
Package 1:openstack-glance-16.0.1-1.el7.noarch already installed and latest version
Nothing to do

 

 

 

 

[root@controller ~]# vi /etc/glance/glance-api.conf

[database]
# ...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
# ...
flavor = keystone
[database]
# ...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

 

[root@controller ~]# [root@controller ~]# vi /etc/glance/glance-registry.conf

[database]
# ...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
# ...
flavor = keystone

 

[root@controller ~]# [root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1336: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade
  expire_on_commit=expire_on_commit, _conf=conf)
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> liberty, liberty initial
INFO  [alembic.runtime.migration] Running upgrade liberty -> mitaka01, add index on created_at and updated_at columns of 'images' table
INFO  [alembic.runtime.migration] Running upgrade mitaka01 -> mitaka02, update metadef os_nova_server
INFO  [alembic.runtime.migration] Running upgrade mitaka02 -> ocata_expand01, add visibility to images
INFO  [alembic.runtime.migration] Running upgrade ocata_expand01 -> pike_expand01, empty expand for symmetry with pike_contract01
INFO  [alembic.runtime.migration] Running upgrade pike_expand01 -> queens_expand01
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Upgraded database to: queens_expand01, current revision(s): queens_expand01
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Database migration is up to date. No migration needed.
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade mitaka02 -> ocata_contract01, remove is_public from images
INFO  [alembic.runtime.migration] Running upgrade ocata_contract01 -> pike_contract01, drop glare artifacts tables
INFO  [alembic.runtime.migration] Running upgrade pike_contract01 -> queens_contract01
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Upgraded database to: queens_contract01, current revision(s): queens_contract01
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Database is synced successfully.
[root@controller ~]# [root@controller ~]# systemctl enable openstack-glance-api.service \
>   openstack-glance-registry.service
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-registry.service to /usr/lib/systemd/system/openstack-glance-registry.service.
[root@controller ~]# systemctl start openstack-glance-api.service \
>   openstack-glance-registry.service
[root@controller ~]# systemctl status openstack-glance-api.service   openstack-glance-registr
y.service
● openstack-glance-api.service - OpenStack Image Service (code-named Glance) API server
   Loaded: loaded (/usr/lib/systemd/system/openstack-glance-api.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-09-28 20:09:24 KST; 7s ago
 Main PID: 5024 (glance-api)
   CGroup: /system.slice/openstack-glance-api.service
           ├─5024 /usr/bin/python2 /usr/bin/glance-api
           ├─5049 /usr/bin/python2 /usr/bin/glance-api
           ├─5050 /usr/bin/python2 /usr/bin/glance-api
           └─5051 /usr/bin/python2 /usr/bin/glance-api

Sep 28 20:09:27 controller glance-api[5024]: /usr/lib/python2.7/site-packages/paste/depl...y.
Sep 28 20:09:27 controller glance-api[5024]: return pkg_resources.EntryPoint.parse("x=" ...e)
Sep 28 20:09:27 controller glance-api[5024]: /usr/lib/python2.7/site-packages/paste/depl...y.
Sep 28 20:09:27 controller glance-api[5024]: return pkg_resources.EntryPoint.parse("x=" ...e)
Sep 28 20:09:28 controller glance-api[5024]: /usr/lib/python2.7/site-packages/paste/depl...y.
Sep 28 20:09:28 controller glance-api[5024]: return pkg_resources.EntryPoint.parse("x=" ...e)
Sep 28 20:09:28 controller glance-api[5024]: /usr/lib/python2.7/site-packages/paste/depl...y.
Sep 28 20:09:28 controller glance-api[5024]: return pkg_resources.EntryPoint.parse("x=" ...e)
Sep 28 20:09:28 controller glance-api[5024]: /usr/lib/python2.7/site-packages/paste/depl...er
Sep 28 20:09:28 controller glance-api[5024]: val = callable(*args, **kw)

● openstack-glance-registry.service - OpenStack Image Service (code-named Glance) Registry server
   Loaded: loaded (/usr/lib/systemd/system/openstack-glance-registry.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-09-28 20:09:24 KST; 7s ago
 Main PID: 5025 (glance-registry)
   CGroup: /system.slice/openstack-glance-registry.service
           ├─5025 /usr/bin/python2 /usr/bin/glance-registry
           ├─5046 /usr/bin/python2 /usr/bin/glance-registry
           ├─5047 /usr/bin/python2 /usr/bin/glance-registry
           └─5048 /usr/bin/python2 /usr/bin/glance-registry

Sep 28 20:09:27 controller glance-registry[5025]: /usr/lib/python2.7/site-packages/paste...y.
Sep 28 20:09:27 controller glance-registry[5025]: return pkg_resources.EntryPoint.parse(...e)
Sep 28 20:09:27 controller glance-registry[5025]: /usr/lib/python2.7/site-packages/paste...y.
Sep 28 20:09:27 controller glance-registry[5025]: return pkg_resources.EntryPoint.parse(...e)
Sep 28 20:09:27 controller glance-registry[5025]: /usr/lib/python2.7/site-packages/paste...y.
Sep 28 20:09:27 controller glance-registry[5025]: return pkg_resources.EntryPoint.parse(...e)
Sep 28 20:09:28 controller glance-registry[5025]: /usr/lib/python2.7/site-packages/glanc...l.
Sep 28 20:09:28 controller glance-registry[5025]: debtcollector.deprecate("Glance Regist... "
Sep 28 20:09:28 controller glance-registry[5025]: /usr/lib/python2.7/site-packages/paste...er
Sep 28 20:09:28 controller glance-registry[5025]: val = callable(*args, **kw)
Hint: Some lines were ellipsized, use -l to show in full.

 

 

검증

[root@controller ~]# wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
--2023-09-28 20:13:40--  http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
Resolving download.cirros-cloud.net (download.cirros-cloud.net)... 64.90.42.85, 2607:f298:6:a036::bd6:a72a
Connecting to download.cirros-cloud.net (download.cirros-cloud.net)|64.90.42.85|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img [following]
--2023-09-28 20:13:40--  https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img
Resolving github.com (github.com)... 20.200.245.247
Connecting to github.com (github.com)|20.200.245.247|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/219785102/b2074f00-411a-11ea-9620-afb551cf9af3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230928%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230928T111340Z&X-Amz-Expires=300&X-Amz-Signature=38cd1144081e593deea43c92fb9df6a5f1029c2493a6e71c12537cab215bcfd7&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=219785102&response-content-disposition=attachment%3B%20filename%3Dcirros-0.4.0-x86_64-disk.img&response-content-type=application%2Foctet-stream [following]
--2023-09-28 20:13:40--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/219785102/b2074f00-411a-11ea-9620-afb551cf9af3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230928%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230928T111340Z&X-Amz-Expires=300&X-Amz-Signature=38cd1144081e593deea43c92fb9df6a5f1029c2493a6e71c12537cab215bcfd7&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=219785102&response-content-disposition=attachment%3B%20filename%3Dcirros-0.4.0-x86_64-disk.img&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12716032 (12M) [application/octet-stream]
Saving to: ‘cirros-0.4.0-x86_64-disk.img’

100%[===================================================>] 12,716,032  18.0MB/s   in 0.7s

2023-09-28 20:13:42 (18.0 MB/s) - ‘cirros-0.4.0-x86_64-disk.img’ saved [12716032/12716032]
[root@controller ~]# openstack image create "cirros" --file cirros-0.4.0-x86_64-disk.img --di
sk-format qcow2 --container-format bare --public
503 Service Unavailable: The server is currently unavailable. Please try again at a later time. (HTTP 503)
[root@controller ~]# . admin-openrc
[root@controller ~]# openstack user create --domain default --password-prompt nova
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 283a3ad65adb4a8cb53ca94d5846ef03 |
| name                | nova                             |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
[root@controller ~]# openstack role add --project default --user nova admin
[root@controller ~]# openstack service create --name nova \
>   --description "OpenStack Compute" compute
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Compute                |
| enabled     | True                             |
| id          | e9f9929837de4ee5b414668703bbaf90 |
| name        | nova                             |
| type        | compute                          |
+-------------+----------------------------------+

 

[root@controller ~]# openstack endpoint create --region RegionOne \
>   compute public http://controller:8774/v2.1
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 6e755164bb9244bc929792c9399ad054 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | e9f9929837de4ee5b414668703bbaf90 |
| service_name | nova                             |
| service_type | compute                          |
| url          | http://controller:8774/v2.1      |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne \
>   compute internal http://controller:8774/v2.1
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 255dd9af7e714dce9b550f2107bb293d |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | e9f9929837de4ee5b414668703bbaf90 |
| service_name | nova                             |
| service_type | compute                          |
| url          | http://controller:8774/v2.1      |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne \
>   compute admin http://controller:8774/v2.1
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 097c246f12cd453bbc676a05cae36e61 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | e9f9929837de4ee5b414668703bbaf90 |
| service_name | nova                             |
| service_type | compute                          |
| url          | http://controller:8774/v2.1      |
+--------------+----------------------------------+
[root@controller ~]# openstack user create --domain default --password-prompt placement
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 7dcdc14562e34e94a405963cd056daa1 |
| name                | placement                        |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
[root@controller ~]# openstack role add --project default --user placement admin
[root@controller ~]# penstack service create --name placement --description "Placement API" placement
-bash: penstack: command not found
[root@controller ~]# openstack service create --name placement --description "Placement API"
placement
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Placement API                    |
| enabled     | True                             |
| id          | 4c12abf073304f59ab0cfdecffd21c9d |
| name        | placement                        |
| type        | placement                        |
+-------------+----------------------------------+

 

[root@controller ~]# openstack endpoint create --region RegionOne placement public http://controller:8778
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | d1e7009e18f34c5780f35eb07f78d8dc |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 4c12abf073304f59ab0cfdecffd21c9d |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://controller:8778           |
+--------------+----------------------------------+
[root@controller ~]# $ openstack endpoint create --region RegionOne placement internal http://controller:8778
-bash: $: command not found
[root@controller ~]# openstack endpoint create --region RegionOne placement internal http://c
ontroller:8778
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | ff6766d1ec524d7dbb6926527e542cb1 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 4c12abf073304f59ab0cfdecffd21c9d |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://controller:8778           |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne placement admin http://controller:8778
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | cb894830739847ad9081faa135053cf0 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 4c12abf073304f59ab0cfdecffd21c9d |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://controller:8778           |
+--------------+----------------------------------+

 

 

root@controller ~]# yum install openstack-nova-api openstack-nova-conductor \
>   openstack-nova-console openstack-nova-novncproxy \
>   openstack-nova-scheduler openstack-nova-placement-api

 

[root@controller ~]# [root@controller ~]# systemctl restart httpd
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
d4b-536a-40d0-83c6-5f121b82b650
65b5bce9-eb0c-4955-9dc2-238b26940cf2
[root@controller ~]# 109e1d4b-536a-40d0-83c6-5f121b82b650
-bash: 109e1d4b-536a-40d0-83c6-5f121b82b650: command not found
[root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
The specified transport_url and/or database_connection combination already exists for another cell with uuid 65b5bce9-eb0c-4955-9dc2-238b26940cf2.
[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
/usr/lib/python2.7/site-packages/pymysql/cursors.py:166: Warning: (1831, u'Duplicate index `block_device_mapping_instance_uuid_virtual_name_device_name_idx`. This is deprecated and will be disallowed in a future release.')
  result = self._query(query)
/usr/lib/python2.7/site-packages/pymysql/cursors.py:166: Warning: (1831, u'Duplicate index `uniq_instances0uuid`. This is deprecated and will be disallowed in a future release.')
  result = self._query(query)
[root@controller ~]# nova-manage cell_v2 list_cells
+-------+--------------------------------------+------------------------------------+-------------------------------------------------+
|  Name |                 UUID                 |           Transport URL            |               Database Connection               |
+-------+--------------------------------------+------------------------------------+-------------------------------------------------+
| cell0 | 00000000-0000-0000-0000-000000000000 |               none:/               | mysql+pymysql://nova:****@controller/nova_cell0 |
| cell1 | 65b5bce9-eb0c-4955-9dc2-238b26940cf2 | rabbit://openstack:****@controller |    mysql+pymysql://nova:****@controller/nova    |
+-------+--------------------------------------+------------------------------------+-------------------------------------------------+
[root@controller ~]# systemctl enable openstack-nova-api.service \
>   openstack-nova-consoleauth.service openstack-nova-scheduler.service \
>   openstack-nova-conductor.service openstack-nova-novncproxy.service
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-api.service to /usr/lib/systemd/system/openstack-nova-api.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-consoleauth.service to /usr/lib/systemd/system/openstack-nova-consoleauth.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-scheduler.service to /usr/lib/systemd/system/openstack-nova-scheduler.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-conductor.service to /usr/lib/systemd/system/openstack-nova-conductor.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-novncproxy.service to /usr/lib/systemd/system/openstack-nova-novncproxy.service.
[root@controller ~]# systemctl start openstack-nova-api.service \
>   openstack-nova-consoleauth.service openstack-nova-scheduler.service \
>   openstack-nova-conductor.service openstack-nova-novncproxy.service
Job for openstack-nova-api.service failed because the control process exited with error code. See "systemctl status openstack-nova-api.service" and "journalctl -xe" for details.
[root@controller ~]# systemctl status openstack-nova-api.service   openstack-nova-consoleauth
.service openstack-nova-scheduler.service   openstack-nova-conductor.service openstack-nova-n
ovncproxy.service
● openstack-nova-api.service - OpenStack Nova API Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-api.service; enabled; vendor preset: disabled)
   Active: activating (start) since Thu 2023-09-28 21:08:23 KST; 494ms ago
 Main PID: 8069 (nova-api)
   CGroup: /system.slice/openstack-nova-api.service
           └─8069 /usr/bin/python2 /usr/bin/nova-api

Sep 28 21:08:23 controller systemd[1]: Starting OpenStack Nova API Server...

● openstack-nova-consoleauth.service - OpenStack Nova VNC console auth Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-consoleauth.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-09-28 21:08:06 KST; 17s ago
 Main PID: 7930 (nova-consoleaut)
   CGroup: /system.slice/openstack-nova-consoleauth.service
           └─7930 /usr/bin/python2 /usr/bin/nova-consoleauth

Sep 28 21:08:02 controller systemd[1]: Starting OpenStack Nova VNC console auth Server...
Sep 28 21:08:06 controller systemd[1]: Started OpenStack Nova VNC console auth Server.

● openstack-nova-scheduler.service - OpenStack Nova Scheduler Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-scheduler.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-09-28 21:08:05 KST; 17s ago
 Main PID: 7931 (nova-scheduler)
   CGroup: /system.slice/openstack-nova-scheduler.service
           └─7931 /usr/bin/python2 /usr/bin/nova-scheduler

Sep 28 21:08:02 controller systemd[1]: Starting OpenStack Nova Scheduler Server...
Sep 28 21:08:05 controller systemd[1]: Started OpenStack Nova Scheduler Server.

● openstack-nova-conductor.service - OpenStack Nova Conductor Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-conductor.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-09-28 21:08:06 KST; 17s ago
 Main PID: 7932 (nova-conductor)
   CGroup: /system.slice/openstack-nova-conductor.service
           ├─7932 /usr/bin/python2 /usr/bin/nova-conductor
           ├─7988 /usr/bin/python2 /usr/bin/nova-conductor
           ├─7989 /usr/bin/python2 /usr/bin/nova-conductor
           └─7990 /usr/bin/python2 /usr/bin/nova-conductor

Sep 28 21:08:02 controller systemd[1]: Starting OpenStack Nova Conductor Server...
Sep 28 21:08:06 controller systemd[1]: Started OpenStack Nova Conductor Server.

● openstack-nova-novncproxy.service - OpenStack Nova NoVNC Proxy Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-novncproxy.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-09-28 21:08:02 KST; 21s ago
 Main PID: 7933 (nova-novncproxy)
   CGroup: /system.slice/openstack-nova-novncproxy.service
           └─7933 /usr/bin/python2 /usr/bin/nova-novncproxy --web /usr/share/novnc/

Sep 28 21:08:02 controller systemd[1]: Started OpenStack Nova NoVNC Proxy Server.
[root@controller ~]# openstack image create "cirros" \
>   --file cirros-0.4.0-x86_64-disk.img \
>   --disk-format qcow2 --container-format bare \
>   --public

+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field            | Value                                                                                                                                                                                      |
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| checksum         | 443b7623e27ecf03dc9e01ee93f67afe                                                                                                                                                           |
| container_format | bare                                                                                                                                                                                       |
| created_at       | 2023-09-29T12:24:18Z                                                                                                                                                                       |
| disk_format      | qcow2                                                                                                                                                                                      |
| file             | /v2/images/a6299471-d40e-43cc-b420-b1025181b968/file                                                                                                                                       |
| id               | a6299471-d40e-43cc-b420-b1025181b968                                                                                                                                                       |
| min_disk         | 0                                                                                                                                                                                          |
| min_ram          | 0                                                                                                                                                                                          |
| name             | cirros                                                                                                                                                                                     |
| owner            | 5cea55fdd51e4181bdec84bb5e219af7                                                                                                                                                           |
| properties       | os_hash_algo='sha512', os_hash_value='6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e2161b5b5186106570c17a9e58b64dd39390617cd5a350f78', os_hidden='False' |
| protected        | False                                                                                                                                                                                      |
| schema           | /v2/schemas/image                                                                                                                                                                          |
| size             | 12716032                                                                                                                                                                                   |
| status           | active                                                                                                                                                                                     |
| tags             |                                                                                                                                                                                            |
| updated_at       | 2023-09-29T12:24:18Z                                                                                                                                                                       |
| virtual_size     | None                                                                                                                                                                                       |
| visibility       | public                                                                                                                                                                                     |
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
[root@controller ~]# openstack image list
+--------------------------------------+--------+--------+
| ID                                   | Name   | Status |
+--------------------------------------+--------+--------+
| a6299471-d40e-43cc-b420-b1025181b968 | cirros | active |
+--------------------------------------+--------+--------+