GNU/Linux >> Linux Esercitazione >  >> Linux

Elenco degli errori (e soluzioni) più comuni durante l'installazione di OpenStack Image Service GLANCE

Di recente stavo installando OpenStack Icehouse per uno dei miei progetti seguendo la documentazione ufficiale di openstack.org. Durante l'installazione del servizio immagine (Glance) sul nodo del controller, sono stato buggato con pochi errori. Dopo aver cercato su Google per alcuni minuti, sono stato in grado di risolverli.

La maggior parte di questi errori si è verificata durante l'impostazione del database di colpo d'occhio (normalmente è chiamato sincronizzazione del database di colpo d'occhio), la registrazione del servizio di colpo d'occhio con Keystone e durante l'avvio di glance-api servizio e registro-sguardo servizio. C'erano anche alcuni errori di dipendenza, che non scriverò in questo articolo. Se tutto va bene, cercherò di trattarli in un altro articolo.

Per ora, ecco l'elenco degli errori che ho riscontrato durante l'installazione e la configurazione di Glance.

Errore durante l'esecuzione di 'glance-manage db_sync look'

Ecco l'istantanea dell'errore:

$ glance-manage db_sync glance
/usr/lib/python2.6/site-packages/glance/cmd/manage.py:41: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.
  from oslo.config import cfg
/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
2015-02-03 22:00:02.848 8671 CRITICAL glance [-] DbMigrationError: version should be an integer

Soluzione:
Questo ha qualcosa a che fare con la versione di GMP installata. Come puoi vedere dall'errore precedente, PyCrypto ha bisogno della versione libgmp> =5 . Per risolvere questo problema, segui i passaggi seguenti:

Scarica e installa gmp-6.0.0.a

 $ bunzip2 gmp-6.0.0a.tar.bz2
 $ tar xvf gmp-6.0.0a.tar
 $ cd gmp-6.0.0a.tar
 $ ./configure
 $ make
 $ make check
 $ make install

Ora hai installato la versione corretta di GMP e con queste librerie puoi installare PyCrypto. Per farlo, esegui il comando seguente.

$ pip install --ignore-installed PyCrypto

Una volta installato PyCrpto, puoi provare di nuovo a sincronizzare il database Glance.

ImportError:/usr/lib64/python2.6/site-packages /Crypto/Cipher/_AES.so:simbolo non definito:rpl_malloc

Quando 'glance-manage db_sync sguardo ' eseguito, sono stato colpito dal seguente messaggio di errore:

$ glance-manage db_sync glance
su -s /bin/sh -c "glance-manage db_sync" glance
Traceback (most recent call last):
  File "/usr/bin/glance-manage", line 6, in 
    from glance.cmd.manage import main
  File "/usr/lib/python2.6/site-packages/glance/cmd/manage.py", line 45, in 
    from glance.db import migration as db_migration
  File "/usr/lib/python2.6/site-packages/glance/db/__init__.py", line 21, in 
    from glance.common import crypt
  File "/usr/lib/python2.6/site-packages/glance/common/crypt.py", line 23, in 
    from Crypto.Cipher import AES
  File "/usr/lib64/python2.6/site-packages/Crypto/Cipher/AES.py", line 50, in 
    from Crypto.Cipher import _AES
ImportError: /usr/lib64/python2.6/site-packages/Crypto/Cipher/_AES.so: undefined symbol: rpl_malloc

Soluzione:

In precedenza, abbiamo corretto libgmp, errore PyCrypto installando GMP versione 6.0.0.a e pip install PyCrypto. Ma non ha funzionato come previsto. Sembra che PyCrypto debba essere ricompilato dal sorgente e non debba essere installato tramite pip.

Scarica l'ultima versione di PyCrypto e ricompila

Deselezionare PyCrypto e impostare la variabile di ambiente seguente.

$ export ac_cv_func_malloc_0_nonnull=yes

Configura, crea e installa

$ ./configure
$ python setup.py build
$ python setup.py install

Una volta installato PyCrypto, prova 'glance-manage db_sync sguardo ' di nuovo.

Errore: ValueError:le tabelle "migrate_version" non hanno regole di confronto utf8 , assicurati che tutte le tabelle siano CHARSET=utf8

# su -s /bin/sh -c sguardo "glance-manage db_sync"

Nota:ogni volta che sincronizzi il database per qualsiasi servizio, assicurati che vengano create le tabelle corrispondenti. Ad esempio, quando ho sincronizzato il database "glance" utilizzando il comando precedente, non sono state create tabelle eccetto "migrate_version" e il registro degli errori riportato come mostrato nel titolo di questo paragrafo.

mysql> show tables;
+------------------+
| Tables_in_glance |
+------------------+
| migrate_version  |
+------------------+
1 row in set (0.00 sec)

Soluzione:

Accedi al database mysql come di seguito:

$ mysql -u root -p
mysql > use glance
mysql > alter table migrate_version convert to character set utf8 collate utf8_unicode_ci;

Ora, prova di nuovo "db_sync".

mysql> show tables;
+------------------+
| Tables_in_glance |
+------------------+
| image_locations  |
| image_members    |
| image_properties |
| image_tags       |
| images           |
| migrate_version  |
| task_info        |
| tasks            |
+------------------+
8 rows in set (0.00 sec)

Errore:sguardo CRITICO [-] DbMigrationError:la versione dovrebbe essere un numero intero

Sono rimasti ancora pochi errori durante la sincronizzazione del database Glance.

$ glance-manage db_sync glance
/usr/lib/python2.6/site-packages/glance/cmd/manage.py:41: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.
  from oslo.config import cfg
2015-02-04 09:46:14.847 13116 CRITICAL glance [-] DbMigrationError: version should be an integer

Soluzione:

Invece di eseguire "glance-manage ' con due argomenti, prova con un argomento 'db_sync ' da solo.

# glance-manage db_sync

Ha funzionato per me.

Errore:in attesa di un URL di autenticazione tramite –os-auth-url o env [OS_AUTH_URL

$ keystone user-create --name=glance --pass=<glance_password> --email=<admin_email>
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL

Soluzione : Probabilmente gli URL di autenticazione OpenStack non sono impostati. Prova a impostare le seguenti variabili d'ambiente.

export OS_USERNAME=admin
export OS_PASSWORD=keystone_password
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://controller.node.in:35357/v2.0

Una volta che le variabili di cui sopra sono state impostate nella tua shell, prova a registrare di nuovo il servizio di colpo d'occhio sulla chiave di volta. Ha funzionato per me.

$ keystone user-create --name=glance --pass=glance_password --email=admin_email
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL

You should see table like the one below
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |          admin_email             |
| enabled  |               True               |
|    id    | c8c0212a16084a65469609c857914f8c |
|   name   |              glance              |
| username |              glance              |
+----------+----------------------------------+

Errore durante l'avvio del servizio look-api

$ service openstack-glance-api start [FAILED]

Il registro degli errori /var/log/glance/openstack-glance-api-startup.log ha rivelato il seguente messaggio:

Impossibile configurare correttamente lo store:il file system dello store non può essere configurato correttamente. Motivo:specificare almeno l'opzione "filesystem_store_datadir" o "filesystem_store_datadirs" Disabilitare il metodo di aggiunta.

Soluzione:

  • Apri glance-api.conf file. Dovrebbe trovarsi in /etc/glance/glance-api.conf
  • Cerca 'filesystem_store_datadir ' e imposta '/var/lib/glance/images/ ' come valore. Se già impostato e commentato, decommentalo.
  • Prova ad avviare il servizio.

Errore: Impossibile individuare incolla il file di configurazione per colpo d'occhio-api

$ service openstack-glance-api start [FAILED]

Soluzione:

  • Apri glance-api.conf file. Dovrebbe trovarsi in /etc/glance/glance-api.conf
  • Cerca la riga con il testo "incolla file di configurazione" e decommenta la riga sottostanteconfig_file=/usr/share/glance/glance-api-dist-paste.ini
  • Riprova ad avviare il servizio.

CRITICO sguardo [-] UnicodeError:gli oggetti messaggio non supportano str() perché possono contenere caratteri non ascii. Usa invece unicode() o translate().

$ service openstack-glance-registry start [FAILED]

Il file di registro '/var/log/glance/openstack-glance-registry-startup.log ' ha rivelato il seguente messaggio:

Soluzione:

L'errore si è verificato nel file "/usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py ' che stava sollevando 'UnicodeError '. Troverai maggiori informazioni sull'errore qui.

Per risolvere il problema.

1. Vai a questo link e copia il file "gettextutils.py" modificato.
2. Fai un backup del gettextutils.py esistente file come di seguito

cp /usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py /usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py.bak

3. Sostituisci il file "gettextutils.py ' con quello copiato dal passaggio 1.
4. Avvia il servizio di registro di colpo d'occhio come di seguito:

$ service openstack-glance-registry start

Nota:se il comando precedente non riesce a causa di un errore di sintassi, probabilmente hai copiato alcuni caratteri indesiderati durante la copia dello script gettextutils.py modificato nel passaggio 1. Ad esempio, il file copiato conteneva alcuni caratteri come '[docs] '. Per risolvere il problema, apri "gettextutils.py ', cerca e rimuovi quei caratteri indesiderati. Salva il file e riavvia il servizio di registro di colpo d'occhio.

Nel caso, se il servizio non si avvia, cerca il nuovo messaggio di errore nel file di registro.

# tailf /var/log/glance/openstack-glance-registry-startup.log
Traceback (most recent call last):
  File "/usr/bin/glance-registry", line 6, in <module>
    from glance.cmd.registry import main
  File "/usr/lib/python2.6/site-packages/glance/cmd/__init__.py", line 17, in <module>
    gettextutils.install('glance', lazy=True)
TypeError: install() got an unexpected keyword argument 'lazy'

Per correggere l'errore precedente:

$vim /usr/lib/python2.6/site-packages/glance/cmd/__init__.py

e cerca la funzione ' gettextutils.install('glance', lazy=True) ' e sostituirlo con quello sottostante:

 gettextutils.install('glance')

salva il file e prova ad avviare il servizio di registro di colpo d'occhio.

ERRORE:impossibile individuare incolla il file di configurazione per il registro di colpo d'occhio.

# service openstack-glance-registry start
 Starting openstack-glance-registry:                        [FAILED]

Il file di registro ha rivelato l'errore seguente:

# tailf /var/log/glance/openstack-glance-registry-startup.log
ERROR: Unable to locate paste config file for glance-registry.

Soluzione:

  • Apri 'vim /etc/glance/glance-registry.conf ' e cerca la riga con il testo 'incolla file di configurazione'.
  • Decommenta 'config_file'. Ad esempio:'config_file=/usr/share/glance/glance-registry-dist-paste.ini ' e prova a riavviare il servizio. Ha funzionato per me.

DeprecationWarning:il pacchetto oslo namespace è deprecato. Si prega di utilizzare oslo_config invece. da oslo.config import cfg

Soluzione: Apri uno per uno i file seguenti e sostituisci "oslo.config ' con 'oslo_config ' e salvalo. (Il punto nota è sostituito da un trattino basso)

/usr/lib/python2.6/site-packages/glance/openstack/common/log.py
/usr/lib/python2.6/site-packages/glance/common/wsgi.py:37
/usr/lib/python2.6/site-packages/oslo_config/cfg.py:333
/usr/lib/python2.6/site-packages/oslo_config/cfg.py:333
/usr/lib/python2.6/site-packages/glance/common/config.py:26
/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py:22

Prova ad avviare il servizio e vedi se ricevi quegli avvisi.

Spero che questi risultati possano aiutare qualcuno là fuori. Hai qualche suggerimento? Per favore condividi con me nella casella dei commenti qui sotto.

Potrebbe interessarti anche :Soluzioni per Errori di installazione Keystone di OpenStack

E il Bonus è qui...

    Scarica l'ebook gratuito sull'installazione di OpenStack Icehouse! Scarica il cheat sheet dell'interfaccia a riga di comando di OpenStack! – Comandi più comunemente usati

Linux
  1. Come gestire ed elencare i servizi in Linux

  2. Come installare e configurare Dovecot

  3. Installazione e configurazione di Grafana in Linux

  4. Installazione e configurazione di vsFTPD

  5. Esempi di Bash For Loop e While Loop

Come caricare e scaricare l'immagine cloud in OpenStack

Nozioni di base su Raspberry Pi:installazione di Raspbian e installazione e funzionamento

Installazione e configurazione di Jenkins in Linux

La storia, la community e 7 dei suoi progetti principali di OpenStack

Problemi e soluzioni comuni del server

Errori comuni su Yum su CentOS, RHEL o Fedora