glanceのインストールになります。

イメージ管理のコンポーネントです。
作業するホストはラズパイのcontrollerになります。

glanceの参考サイトのURLです。

https://aton-kish.github.io/blog/post/2020/09/14/openstack-ussuri-glance/

https://www.server-world.info/query?os=Ubuntu_20.04&p=openstack_victoria&f=5

OpenStack公式サイト

https://docs.openstack.org/glance/victoria/install/install-ubuntu.html

公式サイトを見るとglanceのinstall前に前提条件(Prerequisites)があります。

Prerequisites(前提条件) openstack公式サイトより抜粋

ですので、前提条件から作業していきます。(rootユーザ)

mysql 
create database glance; 
grant all privileges on glance.* to glance@'localhost' identified by 'password'; 
grant all privileges on glance.* to glance@'%' identified by 'password'; 
exit 

passwordは後で使用しますので、メモしておきます。
これがGLANCE_DBPASSになります。

openstackの管理者コマンドを実行するので下記のコマンドを実行します。
(keystoneのインストール時にadmin-openrcスクリプトは作成済み)

openstack公式サイトより抜粋
source admin-openrc

glanceユーザとserviceプロジェクトに管理者を割り当てする

openstack公式サイトより抜粋
openstack user create --domain default --password-prompt glance 
パスワードを入力する

openstack role add --project service --user glance admin 

passwordは後で使用しますので、メモしておきます。
これがGLANCE_PASSになります。

glanceサービスのエンティティを作成する

openstack公式サイトより抜粋
openstack service create --name glance --description "OpenStack Image" image

APIエンドポイントの作成

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

ここからがglanceのインストールになります。
まずopenstack公式サイトに注意事項が書かれています。
デフォルトのconfファイルにオプションを変更したり追加したりする時の注意事項が書かれています。

openstack公式サイトより抜粋

glanceパッケージのインストール

openstack公式サイトより抜粋
apt install glance

glance-api.confを編集します。

vi /etc/glance/glance-api.conf
openstack公式サイトより抜粋

(・・・)は注意事項にあったデフォルトの構成があるということ

[database]セクション

connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance 

GLANCE_DBPASSは、前提条件のDB作成時に指定したパスワード

keystone_authtoken]セクション
[paste_deploy]セクション

openstack公式サイトより抜粋
[keystone_authtoken]
# ...
www_authenticate_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

GLANCE_PASSは、前提条件のときにglanceユーザを作成したときに入力したパスワード
keystone_authtokenセクション内の他のオプションは削除かコメントアウトするよう注意書きがある

[glance_store]セクション

openstack公式サイトより抜粋
[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

glanceのデータベースと同期する。

openstack公式サイトより抜粋
su -s /bin/sh -c "glance-manage db_sync" glance

glanceサービスを再起動する

openstack公式サイトより抜粋
systemctl restart glance-api

ゲストosのイメージを入手する。

下記のサイトでダウンロードしたいイメージについての説明があります。

https://docs.openstack.org/image-guide/obtain-images.html

openstack公式サイトより抜粋

cirrosとDebianのarm64のものをダウンロードする

wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-aarch64-disk.img
wget http://cdimage.debian.org/cdimage/openstack/current-10/debian-10-openstack-arm64.qcow2

ダウンロードしたイメージをglanceに登録する

source admin-openrc
openstack image create "cirros-0.5.1-aarch64-disk" \
--file cirros-0.5.1-aarch64-disk.img \
--disk-format qcow2 \
--container-format bare \
--public
openstack image create "debian-10-openstack-arm64" \
--file debian-10-openstack-arm64.qcow2 \
--disk-format qcow2 \
--container-format bare \
--public

glanceに登録されたイメージを確認する

source admin-openrc
openstack image list

以上