4.18.01 Rollback-Prozess

Edge for Private Cloud Version 4.18.01

Im Falle eines Fehlers während einer Aktualisierung auf Edge 4.18.01 können Sie ein Rollback der Komponente durchführen, die den Fehler verursacht hat, und dann die Aktualisierung erneut versuchen. Wenn beispielsweise die Aktualisierung auf Postgres 9.6 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.18.01 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, die gemeinsam den Code haben, 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. Belassen Sie für Cassandra bei einem Rollback von Komponenten die Version 4.18.01.

Rollback auf 4.18.01

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

  • Rollback des Postgres-Updates durchführen
    Der letzte Teil jedes Updatevorgangs besteht darin, Postgres-Knoten auf Version 9.6 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 für das Postgres 9.6-Update 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 Stand-by-Postgres-Knoten ausgeführt wird:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Wenn Postgres nicht ausgeführt wird, starten Sie es:

    > /opt/apigee/apigee-service/bin/apigee-all start
  2. Achten Sie darauf, dass Postgres auf dem alten Masterknoten und dem alten Stand-by-Knoten angehalten wurde:
    > /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/bin/apigee-service apigee-postgresql stop

  3. Wenn dies installiert ist, starten Sie Qpid auf dem alten Standby-Knoten:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  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

      Wenn Sie dazu aufgefordert werden, geben Sie das Postgres-Passwort für den Benutzer „apigee“ ein, der standardmäßig „postgres“ lautet.

    2. Bearbeiten Sie die Konfigurationsdatei, mit der Sie Ihre aktuelle Version von Edge installiert haben, um Folgendes anzugeben:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      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. Bearbeiten Sie die Konfigurationsdatei, mit der Sie Ihre aktuelle Version von Edge installiert haben, um Folgendes anzugeben:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      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 neu als Standby-Knoten des neuen Masters:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Prüfen Sie, ob Postgres auf dem alten Standby-Knoten ausgeführt wird:
      > /opt/apigee/apigee-service/bin/apigee-all status

      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. Sehen Sie sich dazu die Datei /opt/apigee/apigee-postgresql/conf/pg_hba.conf auf dem neuen Master an.
  7. Rufen Sie die aktuellen Analyse- und Verbrauchergruppeninformationen auf. Führen Sie dazu den folgenden Befehl auf dem Verwaltungsserver aus:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Dieser Befehl gibt den Analysegruppennamen im Feld name und den Namen der Verbrauchergruppe im Feld name unter consumer-groups zurück. Außerdem werden die UUIDs der alten Postgres-Master- und Standby-Knoten im Feld postgres-server und im Feld datastores zurückgegeben. Sie sollten die Ausgabe im folgenden Format sehen:

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }

  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 in folgendem Format angezeigt werden:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"

  9. Wiederholen Sie den vorherigen Schritt, um die IP-Adressen des alten Standby-Knotens und des neuen Masters abzurufen.
  10. Entfernen Sie den alten Master- und Standby-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/datastores/masterUUID,standbyUUID" -v

    Dabei sind axgroup-001 und consumer-group-001 die Standardnamen der Analyse- und Nutzergruppen. masterUUID,standbyUUID befinden sich in der gleichen Reihenfolge wie oben beim Anzeigen der aktuellen Analyse- und Verbrauchergruppeninformationen oben. Möglicherweise müssen Sie sie als standbyUUID,masterUUID angeben.

    Das Attribut datastores für consumer-groups sollte jetzt leer sein.

  11. Entfernen Sie den alten Master- und Standby-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=postgres-server" -v

    Die Eigenschaft postgres-server unter uuids sollte jetzt leer sein.

  12. Registrieren Sie neue PG-Master- und Standby-Knoten bei den Analyse- und Nutzergruppen:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  13. Prüfen Sie die Analysegruppe:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Die UUIDs der neuen Master- und Standby-Knoten sollten in der Analysegruppe und der Nutzergruppe aufgeführt sein.

  14. Starten Sie den Edge-Verwaltungsserver neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Starten Sie alle Qpid-Server neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Starten Sie alle Postgres-Server neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  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 den folgenden Befehl 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-Modus 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

    Alternativ können Sie Qpid wie unten beschrieben vom alten Master deinstallieren und Qpid 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 des alten Masters für den Zugriff von Message Processorn, indem Sie den folgenden Befehl auf allen 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 einer Anzahl für msg, msgIn, and msgOut an. Alle Nachrichten wurden verarbeitet, wenn msg=0 und msgIn=msgOut.

  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 folgende Informationen für später:
    > curl -u sysAdminEmail:password http://node_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. Qpid-Server deinstallieren:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Entfernen Sie den alten Qpid-Server aus den Analyse- und Nutzergruppen:
    > curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  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 folgende Informationen für später:
    > curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Registrieren Sie den neuen Qpid-Server bei den Analyse- und Nutzergruppen:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
  11. Starten Sie alle Nachrichtenprozessoren neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Führen Sie den folgenden Befehl auf dem neuen Qpid-Server aus, um zu prüfen, ob Warteschlangen erstellt wurden:
    > qpid-stat -q

    Achten Sie darauf, dass msg, msgIn und msgOut aktualisiert wird, während der Qpid-Server Nachrichten verarbeitet.

Für das Rollback einzelner Komponenten von 4.18.01

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.09 laden Sie bootstrap_4.17.09.sh herunter.
  • Für ein Rollback auf 4.17.05 laden Sie bootstrap_4.17.05.sh herunter.
  • 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 alle diese Komponenten beenden: Management Server, Router, Message Processor, Qpid Server oder Postgres Server:
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. Wenn Sie ein Rollback einer anderen Komponente auf dem Knoten durchführen, beenden Sie nur diese Komponente:
      • > apigee-service comp stop
  2. Wenn Sie die Monetarisierung zurücksetzen möchten, deinstallieren Sie sie auf allen Verwaltungsserver- und Nachrichtenprozessor-Knoten:
    > apigee-service edge-mint-gateway uninstall
  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 sie alle: Management Server, Router, Message Processor, Qpid Server oder Postgres Server:
      > apigee-service edge-gateway uninstall
    2. Wenn Sie ein Rollback einer anderen Komponente auf dem Knoten durchführen, deinstallieren Sie nur diese Komponente:
      > apigee-service comp uninstall
    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 Version 4.18.01 von apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. Laden Sie bootstrap.sh für den gewünschten Release herunter: Beispiel für 4.16.09:
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. Installieren Sie das apigee-service-Dienstprogramm 4.16.01, 4.16.05 oder 4.16.09 sowie 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 weglassen, werden Sie aufgefordert, ihn einzugeben.

    4. apigee-setup installieren:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Installieren Sie die gewünschte Version der Komponente:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      Dabei ist comp die zu installierende Komponente und configFile die Konfigurationsdatei für die gewünschte Version.

    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.18.01 durch:
    1. Laden Sie die spezifische Komponentenversion herunter:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      Dabei ist comp-version die zu installierende Komponente und Version. Beispiel:

      > /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-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 comp

      Beispiel:

      > yum --showduplicates list edge-ui
    2. Verwende 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 configFile

      Beachten Sie, dass Sie den Namen der Komponente nur während der Installation angeben.

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