GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Liste der häufigsten Fehler (und Lösungen) bei der Installation von OpenStack Image Service BLICK

Ich habe kürzlich OpenStack Icehouse für eines meiner Projekte installiert, indem ich der offiziellen Dokumentation von openstack.org gefolgt bin. Während der Installation des Image-Dienstes (Glance) auf dem Controller-Knoten wurde ich mit einigen Fehlern abgehört. Nachdem ich einige Minuten lang gegoogelt hatte, konnte ich diese beheben.

Die meisten dieser Fehler traten beim Einrichten der Glance-Datenbank (normalerweise als Glance-Datenbanksynchronisierung bezeichnet), bei der Registrierung des Glance-Dienstes bei Keystone und beim Starten der glance-api auf Service und Glance-Registry Service. Es gab auch einige Abhängigkeitsfehler, die ich in diesem Artikel nicht schreiben werde. Hoffentlich werde ich versuchen, diese in einem anderen Artikel zu behandeln.

Hier ist vorerst die Liste der Fehler, die mir während der Installation und Konfiguration von Glance begegnet sind.

Fehler bei der Ausführung von „glance-manage db_sync-glance“

Hier ist die Momentaufnahme des Fehlers:

$ look-manage db_sync look/usr/lib/python2.6/site-packages/glance/cmd/manage.py:41:DeprecationWarning:Das oslo-Namespace-Paket ist veraltet. Bitte verwenden Sie stattdessen oslo_config. aus oslo.config import cfg/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57:PowmInsecureWarning:Keine Verwendung von mpz_powm_sec. Sie sollten mit libgmp>
=5 neu erstellen, um die Schwachstelle bei Timing-Angriffen zu vermeiden. _warn("Nicht mit mpz_powm_sec. Sie sollten mit libgmp>
=5 neu erstellen, um die Schwachstelle bei Timing-Angriffen zu vermeiden.", PowmInsecureWarning)2015-02-03 22:00:02.848 8671 CRITICAL look [-] DbMigrationError:version should be an integer 

Lösung:
Das hat etwas mit der installierten Version von GMP zu tun. Wie Sie dem obigen Fehler entnehmen können, benötigt PyCrypto libgmp-Version>=5 . Führen Sie die folgenden Schritte aus, um dies zu beheben:

Laden Sie gmp-6.0.0.a herunter und installieren Sie es

 $ 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

Jetzt haben Sie die richtige Version von GMP installiert und mit diesen Bibliotheken können Sie PyCrypto installieren. Führen Sie dazu den folgenden Befehl aus.

$ pip install --ignore-installed PyCrypto

Sobald PyCrpto installiert ist, können Sie die Glance-Datenbanksynchronisierung erneut versuchen.

ImportError:/usr/lib64/python2.6/site-packages /Crypto/Cipher/_AES.so:undefiniertes Symbol:rpl_malloc

Wenn „glance-manage db_syncLook“ ‘ ausgeführt, wurde ich mit der folgenden Fehlermeldung getroffen:

$ look-manage db_sync shinesu -s /bin/sh -c "glance-manage db_sync" lookTraceback (letzter Aufruf zuletzt):Datei "/usr/bin/glance-manage", Zeile 6, in von look. cmd.manage import main File "/usr/lib/python2.6/site-packages/glance/cmd/manage.py", line 45, in fromLook.db import migration as db_migration File "/usr/lib/python2. 6/site-packages/glance/db/__init__.py“, Zeile 21, in aus der glance.common-Import-Crypt-Datei „/usr/lib/python2.6/site-packages/glance/common/crypt.py“, Zeile 23, in von Crypto.Cipher import AES File „/usr/lib64/python2.6/site-packages/Crypto/Cipher/AES.py“, Zeile 50, in von Crypto.Cipher import _AESImportError:/usr/lib64/python2 .6/site-packages/Crypto/Cipher/_AES.so:undefiniertes Symbol:rpl_malloc

Lösung:

Zuvor haben wir den libgmp-, PyCrypto-Fehler behoben, indem wir GMP-Version 6.0.0.a installiert und PyCrypto per Pip installiert haben. Aber das hat nicht wie erwartet funktioniert. Es scheint, als sollte PyCrypto aus den Quellen neu kompiliert und nicht über pip installiert werden.

Neueste Version von PyCrypto herunterladen und neu kompilieren

Entpacken Sie PyCrypto und legen Sie die Umgebungsvariable unten fest.

$ export ac_cv_func_malloc_0_nonnull=yes

Konfigurieren, erstellen und installieren

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

Sobald PyCrypto installiert ist, versuchen Sie es mit „glance-manage db_syncLook ‘ nochmal.

Error: ValueError:Tables „migrate_version“ have non-utf8 collation , stellen Sie bitte sicher, dass alle Tabellen CHARSET=utf8

sind

# su -s /bin/sh -c „glance-manage db_sync“-Blick

Hinweis:Wenn Sie die Datenbank für einen Dienst synchronisieren, stellen Sie sicher, dass die entsprechenden Tabellen erstellt werden. Als ich beispielsweise die Datenbank „glance“ mit dem obigen Befehl synchronisierte, wurden keine Tabellen außer „migrate_version“ erstellt und das Fehlerprotokoll wie im Titel dieses Absatzes gezeigt gemeldet.

mysql> Tabellen anzeigen;+-----------------+| Tabellen_im_Überblick |+------------------+| Migrationsversion |+------------------+1 Zeile im Satz (0,00 Sek.)

Lösung:

Melden Sie sich wie folgt bei der MySQL-Datenbank an:

$ mysql -u root -pmysql> use lookmysql> alter table translate_version convert to character set utf8 collate utf8_unicode_ci;

Versuchen Sie nun „db_sync“ erneut.

mysql> Tabellen anzeigen;+-----------------+| Tabellen_im_Überblick |+------------------+| image_locations || image_members || Bildeigenschaften || image_tags || Bilder || Migrationsversion || task_info || Aufgaben |+------------------+8 Zeilen im Satz (0,00 Sek.)

Fehler:KRITISCHER Blick [-] DbMigrationError:Version sollte eine Ganzzahl sein

Ich hatte immer noch einige Fehler beim Synchronisieren der Glance-Datenbank.

$ look-manage db_sync look/usr/lib/python2.6/site-packages/glance/cmd/manage.py:41:DeprecationWarning:Das oslo-Namespace-Paket ist veraltet. Bitte verwenden Sie stattdessen oslo_config. from oslo.config import cfg2015-02-04 09:46:14.847 13116 KRITISCHER Blick [-] DbMigrationError:Version sollte eine Ganzzahl sein

Lösung:

Statt „glance-manage“ auszuführen ' mit zwei Argumenten versuchen Sie es mit einem Argument 'db_sync ‘ allein.

# look-manage db_sync

Bei mir hat es funktioniert.

Fehler :Es wird eine Authentifizierungs-URL über entweder –os-auth-url oder env erwartet [OS_AUTH_URL

$ keystone user-create --name=glance --pass= --email=Erwartet eine Authentifizierungs-URL über entweder --os-auth-url oder env[OS_AUTH_URL

Lösung: Wahrscheinlich sind die OpenStack-Authentifizierungs-URLs nicht gesetzt. Versuchen Sie, die folgenden Umgebungsvariablen festzulegen.

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

Sobald die oben genannten Variablen in Ihrer Shell festgelegt sind, versuchen Sie erneut, den Glanzdienst beim Keystone zu registrieren. Bei mir hat es funktioniert.

$ keystone user-create --name=glance --pass=glance_password --email=admin_emailErwartet eine Authentifizierungs-URL entweder über --os-auth-url oder env[OS_AUTH_URLSie sollten eine Tabelle wie die folgende sehen+---- ------+---------------------------------+| Eigentum | Wert |+----------+-----------------------------------------------+| E-Mail | admin_email || aktiviert | Wahr || ID | c8c0212a16084a65469609c857914f8c || Name | Blick || Benutzername | Blick |+----------+---------------------------------+

Fehler beim Starten des Glance-api-Dienstes

$ service openstack-glance-api start [FEHLGESCHLAGEN]

Das Fehlerprotokoll /var/log/glance/openstack-glance-api-startup.log ergab die folgende Nachricht:

Speicher konnte nicht richtig konfiguriert werden:Das Dateisystem des Speichers konnte nicht richtig konfiguriert werden. Grund:Geben Sie mindestens die Option „filesystem_store_datadir“ oder „filesystem_store_datadirs“ an. Add-Methode deaktivieren.

Lösung:

  • Öffnen Sie glance-api.conf Datei. Sie sollte sich unter /etc/glance/glance-api.conf befinden
  • Achten Sie auf „filesystem_store_datadir ‘ und setze ‘/var/lib/glance/images/ ‘ als Wert. Wenn bereits festgelegt und kommentiert, kommentieren Sie es einfach aus.
  • Versuchen Sie, den Dienst zu starten.

Fehler: Einfüge-Konfigurationsdatei für Glance-API konnte nicht gefunden werden

$ service openstack-glance-api start [FEHLGESCHLAGEN]

Lösung:

  • Öffnen Sie glance-api.conf Datei. Sie sollte sich unter /etc/glance/glance-api.conf befinden
  • Suchen Sie nach der Zeile mit dem Text „Konfigurationsdatei einfügen“ und kommentieren Sie die folgende Zeile ausconfig_file=/usr/share/glance/glance-api-dist-paste.ini
  • Versuchen Sie, den Dienst erneut zu starten.

KRITISCHER Blick [-] UnicodeError:Nachrichtenobjekte unterstützen str() nicht, da sie Nicht-ASCII-Zeichen enthalten können. Bitte verwenden Sie stattdessen unicode() oder translate().

$ service openstack-glance-registry start [FAILED]

Die Protokolldatei ‘/var/log/glance/openstack-glance-registry-startup.log ‘ ergab die folgende Nachricht:

Lösung:

Der Fehler trat in der Datei „/usr/lib/python2.6/site-packages/glance/openstack/common/gettextutils.py auf “, was „UnicodeError“ auslöste ‘. Weitere Informationen zum Fehler finden Sie hier.

Um das Problem zu beheben.

1. Gehen Sie zu diesem Link und kopieren Sie die modifizierte Datei „gettextutils.py“.
2. Erstellen Sie eine Sicherungskopie der vorhandenen Datei gettextutils.py Datei wie unten

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. Ersetzen Sie die Datei „gettextutils.py ‘ mit dem aus Schritt 1 kopierten.
4. Starten Sie den Blickregistrierungsdienst wie folgt:

$ service openstack-glance-registry start

Hinweis:Wenn der obige Befehl mit einem Syntaxfehler fehlschlägt, haben Sie wahrscheinlich einige unerwünschte Zeichen kopiert, während Sie das geänderte gettextutils.py-Skript in Schritt 1 kopiert haben. Beispielsweise enthielt die kopierte Datei einige Zeichen wie "[docs] ‘. Um das Problem zu beheben, öffnen Sie "gettextutils.py". ‘, suchen und entfernen Sie diese unerwünschten Zeichen. Speichern Sie die Datei und starten Sie den Glick-Registrierungsdienst erneut.

Falls der Dienst nicht gestartet werden konnte, suchen Sie in der Protokolldatei nach der neuen Fehlermeldung.

# tailf /var/log/glance/openstack-glance-registry-startup.logTraceback (letzter Aufruf zuletzt):  Datei „/usr/bin/glance-registry“, Zeile 6, in     von Glance. cmd.registry import main  File "/usr/lib/python2.6/site-packages/glance/cmd/__init__.py", Zeile 17, in     gettextutils.install('glance', lazy=True)TypeError:install() hat ein unerwartetes Schlüsselwortargument 'lazy'
erhalten

So beheben Sie den obigen Fehler:

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

und suchen Sie nach der Funktion ‘ gettextutils.install(‘glance’, lazy=True) ‘ und ersetzen Sie es durch das folgende:

 gettextutils.install('glance')

Speichern Sie die Datei und versuchen Sie, den Glick-Registrierungsdienst zu starten.

FEHLER:Die Konfigurationsdatei zum Einfügen für die Glance-Registrierung konnte nicht gefunden werden.

# service openstack-glance-registry start Openstack-glance-registry wird gestartet:                       [FAILED]

Die Protokolldatei ergab den folgenden Fehler:

# tailf /var/log/glance/openstack-glance-registry-startup.log
FEHLER:Einfüge-Konfigurationsdatei für Glow-Registry konnte nicht gefunden werden.

Lösung:

  • Öffnen Sie 'vim /etc/glance/glance-registry.conf ‘ und suchen Sie nach der Zeile mit dem Text ‚Konfigurationsdatei einfügen‘.
  • Entkommentieren Sie ‚config_file‘. Zum Beispiel:„config_file=/usr/share/glance/glance-registry-dist-paste.ini ‘ und versuchen Sie, den Dienst erneut zu starten. Bei mir hat es funktioniert.

Warnung wegen Verfall:Das oslo-Namespace-Paket ist veraltet. Bitte verwenden Sie stattdessen oslo_config. aus oslo.config import cfg

Lösung: Öffnen Sie nacheinander die folgenden Dateien und ersetzen Sie „oslo.config ‘ mit ‘oslo_config ‘ und speichern Sie es. (Hinweis Punkt wird durch Unterstrich ersetzt)

/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/ look/common/config.py:26/usr/lib/python2.6/site-packages/paste/deploy/loadwsgi.py:22

Versuchen Sie, den Dienst zu starten, und prüfen Sie, ob Sie diese Warnungen erhalten.

Ich hoffe, diese Ergebnisse könnten jemandem da draußen helfen. Hast du irgendwelche Vorschläge? Bitte teilen Sie mir im Kommentarfeld unten mit.

Das könnte Sie auch interessieren:Lösungen für Keystone-Installationsfehler von OpenStack

Und der Bonus ist da...

    Kostenloses E-Book zur Installation von OpenStack Icehouse herunterladen! OpenStack Command Line Interface Cheat Sheet herunterladen! – Am häufigsten verwendete Befehle

Linux
  1. Installieren und Einrichten von Grafana unter Linux

  2. OpenStack Icehouse Installationsfehler und Lösungen – CentOS

  3. Liste häufiger Fehler (und Lösungen) beim Installieren und Konfigurieren von OpenStack Nova Service

  4. Status und Abhängigkeiten des Solaris-Dienstes?

  5. Einen Ordner durchlaufen und Dateien auflisten?

So laden Sie Cloud-Images in OpenStack hoch und herunter

Raspberry Pi Basics:Raspbian installieren und zum Laufen bringen

Installieren und Konfigurieren von Jenkins unter Linux

Die Geschichte von OpenStack, die Community und 7 seiner Kernprojekte

Häufige Serverprobleme und Lösungen

Häufige Fehler bei Yum unter CentOS, RHEL oder Fedora