4.17.05 Rollback-Prozess

Edge for Private Cloud Version 4.17.05

Im Falle eines Fehlers während einer Aktualisierung von Edge 4.17.05 können Sie ein Rollback der Komponente, die den Fehler verursacht hat, durchführen und dann die Aktualisierung erneut versuchen. Wenn beispielsweise die Aktualisierung auf Postgres 9.4 fehlschlägt, können Sie nur für die Postgres-Knoten ein Rollback durchführen und das Update noch einmal versuchen.

Es gibt zwei Szenarien, in denen Sie möglicherweise ein Rollback durchführen möchten:

  1. Rollback zu einem älteren Release. Beispiel: von 4.17.05 bis 4.17.01.
  2. Rollback zu einer älteren Version im selben Release.

Führen Sie mit dem folgenden Verfahren ein Rollback für beide Szenarien durch.

Wer kann das Rollback durchführen?

Der Nutzer, der das Rollback durchführt, sollte der Nutzer sein, der Edge ursprünglich aktualisiert hat, oder ein Nutzer, der als Root ausgeführt wird.

Standardmäßig werden Edge-Komponenten als Nutzer „apigee“ ausgeführt. In einigen Fällen führen Sie Edge-Komponenten möglicherweise als unterschiedliche Benutzer aus. Wenn der Router beispielsweise auf privilegierte Ports zugreifen muss, z. B. auf Ports unter 1.000, muss er als Root oder als Nutzer mit Zugriff auf diese Ports ausgeführt werden. Oder Sie führen eine Komponente als ein Nutzer und eine andere als einen anderen Nutzer aus.

Komponenten, für die ein Rollback durchgeführt werden kann

Beachten Sie beim Ausführen eines Rollbacks die folgenden Bedingungen:

  • Die fünf unten aufgeführten Edge-Komponenten haben denselben Code. Wenn Sie also für eine der fünf Komponenten auf einem Knoten ein Rollback durchführen möchten, müssen Sie für jede der fünf auf dem Knoten installierten Komponenten ein Rollback durchführen. Wenn beispielsweise der Verwaltungsserver, der Router und der Message Processor auf dem Knoten installiert sind, müssen Sie für alle drei Elemente ein Rollback durchführen, um ein Rollback durchzuführen.
    Die fünf Komponenten, für die Code verwendet wird, sind:
    • Verwaltungsserver
    • Router
    • Message Processor
    • Qpid-Server
    • Postgres-Server
  • Wenn Sie ein Update von Edge 4.16.01 durchführen, führen Sie kein Rollback für Cassandra durch. Dieser Release von Edge enthält eine aktualisierte Version von Cassandra. Für das Rollback von Komponenten belassen Sie Cassandra auf der Version 4.17.05.

Rollback auf 4.17.05

In diesem Abschnitt wird das Rollback für Edge 4.17.05 auf eine frühere Version beschrieben. Dieser Abschnitt ist in zwei Teile gegliedert:

  • Wenn Sie nur von 4.16.01 oder 4.16.05 aktualisieren – Rollback des Postgres-Updates auf Version 9.4 durchführen
    Der letzte Teil jedes Aktualisierungsvorgangs von 4.16.01 oder 4.16.05 besteht darin, Postgres-Knoten auf Version 9.4 zu aktualisieren. Wenn diese Aktualisierung fehlschlägt, können Sie mit diesem Verfahren ein Rollback der Aktualisierung durchführen.
  • Rollback aller anderen Edge-Komponenten durchführen
    Mit diesem Verfahren können Sie für alle anderen Edge-Komponenten ein Rollback durchführen.

Rollback des Postgres 9.4-Updates durchführen

So führen Sie ein Rollback des Postgres-Updates beim Aktualisieren von Postgres in einer Master-Standby-Konfiguration durch:

  • Stufen Sie den neuen Standby-Knoten zum Postgres-Master hoch. Der neue Postgres-Master ist die gleiche Version wie Ihre vorherige Edge-Installation.
  • Konfigurieren Sie den alten Standby-Knoten als Standby-Knoten des neuen Masters. Der alte Standby-Knoten hat die gleiche Version wie Ihre vorherige Edge-Installation.
  • Registrieren Sie die neuen Master- und Standby-Knoten bei den Analyse- und Nutzergruppen.

Wenn Sie das Rollback abgeschlossen haben, ist der alte Masterknoten nicht mehr erforderlich. Anschließend können Sie den alten Masterknoten außer Betrieb nehmen.

  1. Achten Sie darauf, dass der neue Standgres-Knoten ausgeführt wird:
    > /opt/apigee/apigee-service/bin/apigee-all-Status

    Wenn Postgres nicht ausgeführt wird, starten Sie ihn:
    > /opt/apigee/apigee-service/bin/apigee-all start
  2. Achten Sie darauf, dass Postgres auf dem alten Masterknoten und dem alten Standby-Knoten beendet ist:
    > /opt/apigee/apigee-service/bin/apigee-all-Status

    Wenn Postgres ausgeführt wird, beenden Sie es:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-postgres-server stop
    > /opt/apigee/apigee-service stoppen, bin/opt/apigee-apigee-server, stopp
    > /opt/apigee/apigee-service, stopp
  3. Wenn installiert, starten Sie Qpid auf dem alten Standby-Knoten:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server start

    Hinweis: In vielen Konfigurationen hostet der alte Standby-Knoten nur Postgres, aber nicht Qpid.
  4. Stufen Sie den neuen Standby-Knoten als Postgres-Master hoch:
    1. Stufen Sie den neuen Standby-Knoten zum neuen Master hoch:
      > apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Geben Sie bei entsprechender Aufforderung das Postgres-Passwort für den Apigee-Nutzer ein. Der Standardwert ist „postgres“.
    2. Geben Sie in der Konfigurationsdatei, mit der Sie Ihre aktuelle Version von Edge installiert haben, Folgendes an:
      # IP-Adresse des neuen Masters:
      PG_MASTER=new_standby_IP
      # IP-Adresse des alten Standby-Knotens
      PG_STANDBY=old_standby_IP
    3. Konfigurieren Sie den neuen Master:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Erstellen Sie den alten Standby-Knoten neu:
    1. Geben Sie in der Konfigurationsdatei, mit der Sie Ihre aktuelle Version von Edge installiert haben, Folgendes an:
      # IP-Adresse des neuen Masters:
      PG_MASTER=new_standby_IP
      # IP-Adresse des alten Standby-Knotens
      PG_STANDBY=old_standby_IP
    2. Entfernen Sie das Datenverzeichnis auf dem alten Standby-Knoten:
      > cd /opt/apigee/data/apigee-postgresql/pgdata
      > rm -rf *
    3. Konfigurieren Sie den alten Standby-Knoten als Standby-Knoten des neuen Masters neu:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql-setup-replication-on-standby -f configFile
    4. Achten Sie darauf, dass Postgres auf dem alten Standby-Knoten ausgeführt wird:
      > Status /opt/apigee/apigee-service/bin/apigee-all

      Wenn er nicht ausgeführt wird, starten Sie ihn:
      > /opt/apigee/apigee-service/bin/apigee-service Edge-Postgres-server start
  6. Prüfen Sie, ob der neue Standby-Knoten hinzugefügt wurde. Rufen Sie dazu die Datei /opt/apigee/apigee-postgresql/conf/pg_hba.conf auf dem neuen Master auf.
  7. Rufen Sie die aktuellen Analyse- und Nutzergruppeninformationen auf, indem Sie den folgenden Befehl auf dem Management Server ausführen:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax

    Mit diesem Befehl wird der Name der Analysegruppe im Feld name und der Name der Verbrauchergruppe im Feld name unter zurückgegeben. Außerdem werden die UUIDs der alten Postgres-Master- und Standby-Knoten im Feld postgres-server und im Feld datastores zurückgegeben. Die Ausgabe sollte folgendes Format haben:

    {
    "name" : "axgroup-001",
    "properties" : {
    },
    "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
    "uuids" 3ef-8, 2b2-5-5-8-5-5"











  8. Rufen Sie die UUID-Adresse des alten Masters ab. Führen Sie dazu den folgenden cURL-Befehl auf dem alten Masterknoten aus:
    > curl -u sysAdminEmail:password http://<node_IP>:8084/v1/servers/self

    Die UUID des Knotens sollte am Ende der Ausgabe angezeigt werden:
    "


    Wenn der Postgres-Server nicht ausgeführt wird, können Sie den folgenden Befehl auf dem Management Server ausführen, um die UUID zu ermitteln:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/servers?pod=analytics

    Die Ausgabe dieses Befehls listet die UUID für die IP-Adresse jedes Postres-Knotens auf.
  9. Wiederholen Sie den vorherigen Schritt, um die IP-Adressen des alten Standby-Knotens und des neuen Masters abzurufen.
  10. Entfernen Sie die alten Master- und Stand-by-Knoten aus der Nutzergruppe:
    > curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/die Standard-UID-001.0-Gruppe: consumer-group-001/die Standard-UID-001.

    Die Werte für masterUUID,standbyUUID haben die gleiche Reihenfolge wie oben beim Anzeigen der aktuellen Analyse- und Verbrauchergruppeninformationen oben. Möglicherweise müssen Sie diese als standbyUUID,masterUUID angeben.

    Die Property datastores für consumer-groups sollte jetzt leer sein.
  11. Entfernen Sie die alten Master- und Stand-by-Knoten aus der Analysegruppe:
    > curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=
    masterUUID,standbyUUID&type masterUUID,standbyUUID&type masteruUID,standbyUUID&type
  12. Registrieren Sie neue PG-Master- und Standby-Knoten mit den Analytics- und Consumer-Gruppen:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d " "http://<ms_IP>:8080/v1/analytics/groups/ax/Uuxgroup-001/ax/Uuxgroup-001uxgroup-001Uuxgroup-001

  13. Prüfen Sie die Analysegruppe:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax

    Sie sollten die UUIDs der neuen Master- und Standby-Knoten in der Analysegruppe und der Verbrauchergruppe sehen.
  14. Starten Sie den Edge-Management-Server neu:
    > /opt/apigee/apigee-service/bin/apigee-service-Edge-management-server-Neustart
  15. Starten Sie alle Qpid-Server neu:
    > /opt/apigee/apigee-service/bin/apigee-service-Edge-qpid-server-Neustart
  16. Starten Sie alle Postgres-Server neu:
    > /opt/apigee/apigee-service/bin/apigee-service-Edge-postgres-server-Neustart
  17. Überprüfen Sie den Replikationsstatus, indem Sie die folgenden Skripts auf beiden Servern ausführen. Das System sollte auf beiden Servern identische Ergebnisse anzeigen, um eine erfolgreiche Replikation zu gewährleisten:

    Führen Sie auf dem neuen Master Folgendes aus:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Prüfen Sie, ob es sich um den Master handelt.

    Auf dem alten Standby-Knoten:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Prüfen Sie, ob es sich um den Standby-Knoten handelt.
  18. Wiederholen Sie den vorherigen Schritt nach mehreren API-Anfragen, um zu prüfen, ob die Knoten synchron sind.
  19. außer Betrieb nehmen

    Hinweis: Wenn auf dem alten Masterknoten Qpid ausgeführt wurde, können Sie Qpid auf diesem Server weiterhin ausführen. Prüfen Sie, ob er ausgeführt wird. Wenn nicht, starten Sie es:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server start

    Alternativ können Sie Qpid auf dem alten Master deinstallieren und Qpid wie unten beschrieben auf dem neuen Masterknoten installieren. Nach der Deinstallation von Qpid können Sie den alten Masterknoten außer Betrieb nehmen.

Installieren Sie Qpid vom alten Master und installieren Sie Qpid auf dem neuen Master.

So deinstallieren Sie Qpid vom alten Master und installieren es auf dem neuen Master:

  1. Blockieren Sie den Zugriff auf Qpid-Port 5672 auf dem alten Master für den Zugriff von Message Processorn, indem Sie den folgenden Befehl für alle Message Processorn ausführen:
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Stellen Sie sicher, dass die Qpid-Nachrichtenwarteschlange leer ist, indem Sie den folgenden Befehl ausführen. Sie können Qpid erst deinstallieren, wenn alle ausstehenden Nachrichten verarbeitet wurden:
    > qpid-stat -q

    Dieser Befehl zeigt eine Tabelle mit der Anzahl für msg, msgIn und msgOut an. Alle Nachrichten wurden verarbeitet, wenn msg=0 und msgIn=msgOut verarbeitet wird.
  3. Ermitteln Sie die UUID des Qpid-Servers auf dem alten Master, indem Sie den folgenden Befehl auf dem alten Master ausführen. Speichern Sie diese Informationen für später im Verfahren:
    > curl -u sysAdminEmail:password http://<Knoten-IP>::8083/v1/servers/self
  4. Beenden Sie Qpid auf dem alten Master:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Deinstallieren Sie den Qpid-Server:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server deinstallieren
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd Deinstallation
  6. Entfernen Sie den alten Qpid-Server aus den Analytics- und Consumer-Gruppen:
    > curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d " "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/axgroup-001/axgroup-001/axgroup-001/axgroup-001

  7. Entfernen Sie den alten Qpid-Server aus Zookeeper:
    > curl -u sysAdminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/qpid_UUID
  8. Installieren Sie Qpid auf dem neuen Master:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Ermitteln Sie die UUID des Qpid-Servers auf dem neuen Master, indem Sie den folgenden Befehl auf dem neuen Master ausführen. Speichern Sie diese Informationen für später im Verfahren:
    > curl -u sysAdminEmail:password http://<Knoten-IP>::8083/v1/servers/self
  10. Registrieren Sie den neuen Qpid-Server mit den Analytics- und Consumer-Gruppen:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d " "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/axgroup-001/axgroup-001/axgroup-001/axgroup-001

  11. Starten Sie alle Meldungsprozessoren neu:
    > /opt/apigee/apigee-service/bin/apigee-service-Edge-Message-processor-Neustart
  12. Führen Sie den folgenden Befehl auf dem neuen Qpid-Server aus, um zu prüfen, ob Warteschlangen erstellt wurden:
    > qpid-stat -q

    Prüfen Sie, ob msg, msgIn und msgOut aktualisiert wird, während der Qpid-Server Nachrichten verarbeitet.

Für das Rollback einzelner Komponenten von 4.17.05

Im Rahmen des Rollbacks müssen Sie die Datei bootstrap.sh für Ihre aktuelle Edge-Version herunterladen:

  • Für ein Rollback auf 4.17.01 laden Sie bootstrap_4.17.01.sh herunter.
  • Für ein Rollback auf 4.16.09 laden Sie bootstrap_4.16.09.sh herunter.
  • Für ein Rollback auf 4.16.05 laden Sie bootstrap_4.16.05.sh herunter.
  • Für ein Rollback auf 4.16.01 laden Sie bootstrap.sh herunter.

Führen Sie für jeden Knoten, der eine Komponente für das Rollback hostet, folgende Schritte aus:

  1. Beenden Sie die Komponente für das Rollback:
    1. Wenn Sie für eine der folgenden Komponenten auf dem Knoten ein Rollback durchführen, müssen Sie sie alle beenden: Management Server, Router, Message Processor, Qpid Server oder Postgres Server:
      • > Stopp von Apigee-Service Edge-Management-Server
      • > Stopp des Edge-Routers Apigee-Service
      • > Stopp von Apigee-Service Edge-Nachrichtenprozessor
      • > apigee-service Edge-QPID-Server beenden
      • > Apigee-Dienst-Edge-Postgres-Server-Stopp
    2. Wenn Sie ein Rollback einer anderen Komponente auf dem Knoten ausführen, beenden Sie nur diese Komponente:
      • > apigee-service comp stop
  2. Wenn Sie die Monetarisierung rückgängig machen, deinstallieren Sie sie auf allen Management Server- und Message Processor-Knoten:
    > Apigee-Service Edge-Mint-Gateway deinstallieren
  3. Deinstallieren Sie die Komponente, um ein Rollback auf den Knoten durchzuführen:
    1. Wenn Sie für eine der folgenden Komponenten auf dem Knoten ein Rollback durchführen, deinstallieren Sie alle diese Komponenten: Management Server, Router, Message Processor, Qpid Server oder Postgres Server:
      > Apigee-Service Edge-Gateway deinstallieren
    2. Wenn Sie eine andere Komponente auf dem Knoten zurücksetzen, deinstallieren Sie nur diese Komponente:
      > apigee-service comp deinstallieren
    3. Wenn Sie ein Rollback des Routers ausführen, müssen Sie den Inhalt von /opt/nginx/conf.d löschen:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. So führen Sie ein Rollback der Komponente durch:
    1. Deinstallieren Sie die Version 4.17.05 von apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup Deinstallation
    2. Laden Sie bootstrap.sh für die Versionen 4.16.01, 4.16.05, 4.16.09 oder 4.17.01 herunter:

      Zum Beispiel für 4.16.09:
      > curl https://software.apigee.com/bootstrap_4.16.shstra.sh -o
    3. Installieren Sie das Dienstprogramm 4.16.01, 4.16.05 oder 4.16.09 apigee-service und deren Abhängigkeiten.

      Beispiel für 4.16.09:
      > sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord

      Dabei sind uName und pWord der Nutzername und das Passwort, die Sie von Apigee erhalten haben. Wenn Sie pWord auslassen, werden Sie aufgefordert, ihn einzugeben.
    4. Installieren Sie die Version 4.16.01, 4.16.05 oder 4.16.09 von apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Installieren Sie die Version 4.16.01, 4.16.05, 4.16.09 oder 4.17.01 der Komponente:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      , wobei comp für die Komponente comp steht:
    6. Wenn Sie ein Rollback von Qpid durchführen, leeren Sie iptables:
      > sudo iptables -F
  5. So führen Sie ein Rollback der Komponente auf eine bestimmte Version der Version 4.17.05 durch:
    1. Laden Sie die spezifische Komponentenversion herunter:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version installieren

      , wobei comp-version die zu installierende Komponente und Version ist. Beispiel:
      > /opt/apigee/apigee-service/bin/apigee-service Edge-ui-4.17.05-0.0.3749 install

      Wenn Sie das Apigee-Online-Repository verwenden, können Sie die verfügbaren Komponentenversionen mit dem folgenden Befehl ermitteln:
      > yum --showduplicates list yum --showDuplicates list Beispiel-Beispiel


    2. Verwenden Sie apigee-setup, um die Komponente zu installieren:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      Beispiel:
      > /opt/apigee/apigee-setup/bin/setup.sh -p ui -f Beachten Sie, wie Sie nur die Komponente configFile installieren.

Wenden Sie sich an den Apigee-Support, wenn beim Rollback Probleme auftreten.