Questo post ti guida a configurare il servizio immagine OpenStack, nome in codice Glance, sul nodo controller. Configureremo il look per memorizzare le immagini localmente sul nodo del controller. Prima di procedere assicurati di aver configurato il servizio KeyStone.
Se non hai ancora configurato KeyStone, puoi leggere i due post seguenti.
OpenStack Kilo su Ubuntu 14.04.2- Configura KeyStone #1
OpenStack Kilo su Ubuntu 14.04.2- Configura KeyStone #2
Crea uno script dell'ambiente client per l'amministratore e l'utente demo, questi script ci aiuteranno a caricare le credenziali appropriate per le operazioni del client.
Crea il file admin-openrc.sh.
# nano admin-openrc.sh
Incolla il seguente contenuto nel file.
export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export OS_PROJECT_NAME=admin export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=password export OS_AUTH_URL=http://controller:35357/v3
Sostituisci la password con la password che hai creato per l'utente amministratore in KeyStone #2
Crea il file demo-openrc.sh.
# nano demo-openrc.sh
Incolla il contenuto seguente nel file.
export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export OS_PROJECT_NAME=demo export OS_TENANT_NAME=demo export OS_USERNAME=demo export OS_PASSWORD=password export OS_AUTH_URL=http://controller:5000/v3
Sostituisci la password con la password che hai creato per l'utente demo in KeyStone #2.
Prerequisiti:
Accedi come root al server di database MySQL.
# mysql -u root -p
Crea il database per uno sguardo.
CREATE DATABASE glance;
Imposta l'accesso corretto al database di colpo d'occhio.
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'password';
Sostituisci la password con una password adatta.
Carica le credenziali di amministratore.
# source admin-openrc.sh
Crea l'utente sguardo.
# openstack user create --password-prompt glance User Password: Repeat User Password: +----------+----------------------------------+ | Field | Value | +----------+----------------------------------+ | email | None | | enabled | True | | id | f4bed648d59f44bfa31d9bb670fa7bc2 | | name | glance | | username | glance | +----------+----------------------------------+
Aggiungi il ruolo di amministratore all'utente e al progetto di servizio di colpo d'occhio.
# openstack role add --project service --user glance admin +-------+----------------------------------+ | Field | Value | +-------+----------------------------------+ | id | 33af4f957aa34cc79451c23bf014af6f | | name | admin | +-------+----------------------------------+
Crea l'entità del servizio di colpo d'occhio.
# openstack service create --name glance --description "OpenStack Image service" image +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Image service | | enabled | True | | id | f75a73447c504fceb4cdf898a9033d81 | | name | glance | | type | image | +-------------+----------------------------------+
Crea l'endpoint API per uno sguardo.
# openstack endpoint create \ --publicurl http://controller:9292 \ --internalurl http://controller:9292 \ --adminurl http://controller:9292 \ --region RegionOne \ image +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | adminurl | http://controller:9292 | | id | e38a6ecf4f9347a29026706719ef2988 | | internalurl | http://controller:9292 | | publicurl | http://controller:9292 | | region | RegionOne | | service_id | f75a73447c504fceb4cdf898a9033d81 | | service_name | glance | | service_type | image | +--------------+----------------------------------+
Installa e configura uno sguardo:
Installa i pacchetti.
# apt-get install glance python-glanceclient
Modifica /etc/glance/glance-api.conf, modifica le impostazioni seguenti e assicurati di inserire le voci nelle sezioni appropriate.
[DEFAULT] ... notification_driver = noop verbose = True [database] ... connection = mysql://glance:password@controller/glance ## Replace with the password you chose for glance database [keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = glance password = password ## Replace this with the password you chose for glance user in the identity service. [paste_deploy] ... flavor = keystone [glance_store] ... default_store = file filesystem_store_datadir = /var/lib/glance/images/
Modifica il file /etc/glance/glance-registry.conf, modifica le impostazioni seguenti e assicurati di inserire le voci nelle sezioni appropriate.
[DEFAULT] ... notification_driver = noop verbose = True [database] ... connection = mysql://glance:password@controller/glance ## Replace with the password you chose for glance database [keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = glance password = password ## Repalce this with the password you chose for glance user in the identity service [paste_deploy] ... flavor = keystone
Popolare il database di colpo d'occhio.
# su -s /bin/sh -c "glance-manage db_sync" glance
Riavvia i servizi.
# service glance-registry restart # service glance-api restart
Elimina il file del database SQLite.
# rm -f /var/lib/glance/glance.sqlite
Verifica operazione:
In questo, verificheremo il servizio di immagine caricando l'immagine cloud di Fedora 22 nel nostro ambiente OpenStack.
Nello script dell'ambiente client, configureremo il client del servizio di immagine per l'utilizzo dell'API versione 2.0:
# echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
Carica le credenziali di amministratore.
# source admin-openrc.sh
Scarica l'immagine cloud di Fedora 22 nella directory /tmp.
# cd /tmp # wget https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-22-20150521.x86_64.qcow2
Carica l'immagine.
# glance image-create --name "Fedora-Cloud-Base-22-20150521.x86_64" --file /tmp/Fedora-Cloud-Base-22-20150521.x86_64.qcow2 --disk-format qcow2 --container-format bare --visibility public --progress
Otterrai un output di seguito.
[=============================>] 100% +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | 18abc933d17f69d55ecea0d19f8f5c71 | | container_format | bare | | created_at | 2015-06-28T17:42:59Z | | disk_format | qcow2 | | id | a1533d87-d6fa-4d9d-bf85-6b2ab8400712 | | min_disk | 0 | | min_ram | 0 | | name | Fedora-Cloud-Base-22-20150521.x86_64 | | owner | 9b05e6bffdb94c8081d665561d05e31e | | protected | False | | size | 228599296 | | status | active | | tags | [] | | updated_at | 2015-06-28T17:43:27Z | | virtual_size | None | | visibility | public | +------------------+--------------------------------------+
Elenca le immagini caricate.
# glance image-list +--------------------------------------+--------------------------------------+ | ID | Name | +--------------------------------------+--------------------------------------+ | a1533d87-d6fa-4d9d-bf85-6b2ab8400712 | Fedora-Cloud-Base-22-20150521.x86_64 | +--------------------------------------+--------------------------------------+
Questo è tutto!!!, hai confutato con successo Glance. Il prossimo passo è configurare Nova (Compute).