Esegui il rollback di Apigee Edge 4.19.01

Edge per Private Cloud v4.19.01

Se si verifica un errore durante un aggiornamento a Edge 4.19.01, puoi eseguire il rollback del componente che ha causato l'errore e quindi riprovare a eseguire l'aggiornamento.

Puoi eseguire il rollback di Edge 4.19.01 alle seguenti versioni di Feature Release:

  • Versione 4.18.05
  • Versione 4.18.01
  • Versione 4.17.09*

* Per eseguire il rollback da 4.19.01 a 4.17.09, devi eseguire il rollback di Postgres oltre a eseguire il rollback dei componenti su ciascun nodo. Se esegui il rollback alla versione 4.18.01 o 4.18.05, non è necessario eseguire il rollback di Postgres perché il processo di upgrade non includeva un aggiornamento di Postgres.

Esistono due scenari in cui potresti voler eseguire un rollback:

  1. Esegui il rollback a una release di funzionalità precedente. Ad esempio dal 4.19.01 al 4.18.05.
  2. Esegui il rollback a una versione di aggiornamento precedente nella stessa release. Ad esempio, da 4.19.01.02 a 4.19.01.01.

Per ulteriori informazioni, consulta il processo di rilascio di Apigee Edge.

Chi può eseguire un rollback

L'utente che esegue un rollback dovrebbe essere lo stesso dell'utente che ha originariamente aggiornato Edge o di un utente in esecuzione come root.

Per impostazione predefinita, i componenti Edge vengono eseguiti con l'utente "apigee". In alcuni casi, potresti eseguire i componenti Edge come utenti diversi. Ad esempio, se il router deve accedere alle porte con privilegi, come quelle inferiori a 1000, devi eseguirlo come utente root o come utente con accesso a queste porte. In alternativa, puoi eseguire un componente come un utente e un altro come un altro utente.

Componenti con codice comune

I seguenti componenti di Edge condividono il codice comune. Pertanto, per eseguire il rollback di uno qualsiasi di questi componenti su un nodo, devi eseguire il rollback di tutti i componenti che si trovano su quel nodo.

  • edge-management-server (server di gestione)
  • edge-message-processor (elaboratore di messaggi)
  • edge-router (router)
  • edge-postgres-server (server Postgres)
  • edge-qpid-server (server Qpid)

Ad esempio, se sul nodo sono installati il server di gestione, il router e il processore di messaggi, per eseguirne il rollback devi eseguire il rollback di tutti e tre.

Rollback a una release di funzionalità precedente

Per eseguire il rollback da 4.19.01 a 4.17.09, devi eseguire il rollback di Postgres oltre a eseguire il rollback dei componenti su ciascun nodo. Se esegui il rollback da 4.18.01 o 4.18.05, non è necessario eseguire il rollback di Postgres perché il processo di upgrade non includeva un aggiornamento di Postgres.

Per eseguire il rollback a una release di funzionalità precedente, procedi nel seguente modo su ciascun nodo che ospita il componente:

  1. Scarica il file bootstrap.sh della versione in cui vuoi eseguire il rollback:

    • Per eseguire il rollback alla versione 4.18.05, scarica bootstrap_4.18.05.sh:
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh 
    • Per eseguire il rollback alla versione 4.18.01, scarica bootstrap_4.18.01.sh:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • Per eseguire il rollback alla versione 4.17.09, scarica bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
  2. Interrompi il componente per eseguire il rollback:
    1. Per eseguire il rollback di uno qualsiasi dei componenti con codice comune sul nodo, devi arrestarli tutti, come illustrato nell'esempio seguente:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. Per eseguire il rollback di qualsiasi componente di altro sul nodo, interrompi soltanto quel componente:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Se stai eseguendo il rollback della monetizzazione, disinstallala da tutti i nodi del server di gestione e del processore di messaggi:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Disinstalla il componente per eseguire il rollback sul nodo:
    1. Per eseguire il rollback di uno dei componenti con codice comune sul nodo, devi disinstallarli tutti disinstallando il gruppo di componenti edge-gateway, come illustrato nell'esempio seguente:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Per eseguire il rollback di qualsiasi altro componente sul nodo, disinstalla solo quel componente, come illustrato nell'esempio seguente:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Dove component è il nome del componente.

    3. Per eseguire il rollback del router Edge, devi eliminare i contenuti del file /opt/nginx/conf.d oltre a disinstallare il gruppo di componenti edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Disinstalla la versione 4.19.01 di apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installa la versione 4.18.05, 4.18.01 o 4.17.09 dell'utilità apigee-service e le sue dipendenze. Nell'esempio seguente viene installata la versione 4.17.09 di apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord

    Dove uName e pWord sono il nome utente e la password che hai ricevuto da Apigee. Se ometti pWord, ti verrà chiesto di inserirlo.

    Se visualizzi un messaggio di errore, assicurati di aver scaricato il file bootstrap.sh nel passaggio 1.

  7. Installa apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Installa la versione precedente del componente:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    Dove component è il componente da installare e configFile è il file di configurazione per la versione precedente.

  9. Se stai eseguendo il rollback di Qpid, svuota iptables:
    sudo iptables -F
  10. Ripeti la procedura per ciascun nodo che ospita il componente di cui stai eseguendo il rollback.

Per eseguire il rollback da 4.19.01 a 4.17.09, devi eseguire il rollback di Postgres oltre a eseguire il rollback dei componenti su ciascun nodo. Se esegui il rollback da 4.18.01 o 4.18.05, non è necessario eseguire il rollback di Postgres perché il processo di upgrade non includeva un aggiornamento di Postgres.

Esegui il rollback a una versione di aggiornamento precedente

Per eseguire il rollback di un componente a una versione specifica di una release, procedi nel seguente modo su ciascun nodo che ospita il componente:

  1. Scarica la versione specifica del componente:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    Dove component_version è il componente e la versione dell'aggiornamento da installare. Ad esempio:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install

    Se utilizzi il repository online Apigee, puoi determinare le versioni disponibili dei componenti utilizzando il seguente comando:

    yum --showduplicates list comp

    Ad esempio:

    yum --showduplicates list edge-ui
  2. Utilizza apigee-setup per installare il componente:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    Ad esempio:

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    Tieni presente che devi specificare solo il nome del componente, non la versione, al momento dell'installazione.

  3. Ripeti la procedura per ciascun nodo che ospita il componente di cui stai eseguendo il rollback.

Per eseguire il rollback da 4.19.01 a 4.17.09, devi eseguire il rollback di Postgres oltre a eseguire il rollback dei componenti su ciascun nodo. Se esegui il rollback da 4.18.01 o 4.18.05, non è necessario eseguire il rollback di Postgres perché il processo di upgrade non includeva un aggiornamento di Postgres.

Esegui il rollback dell'aggiornamento di Postgres 9.6

Se hai eseguito l'upgrade alla versione 4.19.01 dalla versione 4.17.09, devi eseguire il rollback dell'aggiornamento di Postgres oltre che dei componenti Edge.

Per eseguire il rollback dell'aggiornamento Postgres durante l'aggiornamento di Postgres in una configurazione di standby master:

  • Promuovi il nuovo nodo standby in modo che diventi il master Postgres. Il nuovo master Postgres sarà la stessa versione della precedente installazione di Edge.
  • Configura il nodo standby precedente in modo che sia un nodo standby del nuovo master. Il nodo in standby precedente sarà la stessa versione dell'installazione Edge precedente.
  • Registra i nuovi nodi master e standby con i gruppi di analisi e consumer.

Al termine del rollback, il nodo master precedente non sarà più necessario. Puoi quindi ritirare il vecchio nodo master.

  1. Assicurati che il nuovo nodo Postgres in standby sia in esecuzione:
    /opt/apigee/apigee-service/bin/apigee-all status

    Se Postgres non è in esecuzione, avvialo:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. Assicurati che Postgres sia arrestato sul nodo master e sul nodo standby precedente:
    /opt/apigee/apigee-service/bin/apigee-all status

    Se Postgres è in esecuzione, interrompilo:

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop

  3. Se installato, avvia Qpid sul vecchio nodo in standby:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Promuovi il nuovo nodo standby come master Postgres:
    1. Promuovi il nuovo nodo standby in modo che diventi il nuovo master:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Se richiesto, inserisci la password Postgres per l 'utente apigee', che per impostazione predefinita è "postgres".

    2. Modifica il file di configurazione che hai utilizzato per installare la versione attuale di Edge per specificare quanto segue:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. Configura il nuovo master:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Ricrea il nodo standby precedente:
    1. Modifica il file di configurazione che hai utilizzato per installare la versione attuale di Edge per specificare quanto segue:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. Rimuovi la directory dei dati sul vecchio nodo in standby:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Riconfigura il nodo standby precedente in modo che sia un nodo standby del nuovo master:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Assicurati che Postgres sia in esecuzione sul nodo standby precedente:
      /opt/apigee/apigee-service/bin/apigee-all status

      Se non è in esecuzione, avvialo:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Verifica che il nuovo nodo standby sia stato aggiunto visualizzando il file /opt/apigee/apigee-postgresql/conf/pg_hba.conf sul nuovo master.
  7. Visualizza le informazioni di analisi e sui gruppi di consumatori attuali eseguendo il comando seguente sul server di gestione:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Questo comando restituisce il nome del gruppo di analisi nel campo name e il nome del gruppo di consumatori nel campo name in consumer-groups. Inoltre, restituisce gli UUID dei vecchi nodi master e standby Postgres nei campi postgres-server e datastores. Dovresti vedere l'output nel formato:

    {
      "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. Recupera l'indirizzo UUID del vecchio master eseguendo il comando curl seguente sul nodo master precedente:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    Dovresti vedere l'UUID del nodo alla fine dell'output, nel seguente formato:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. Ripeti il passaggio precedente per ottenere gli indirizzi IP del nodo in standby precedente e del nuovo master.
  10. Rimuovi i nodi master e standby precedenti dal gruppo consumer:
    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

    Dove axgroup-001 e consumer-group-001 sono i nomi predefiniti dei gruppi di dati e analisi e consumatori. masterUUID,standbyUUID sono nello stesso ordine in cui sono comparsi sopra quando hai visualizzato le analisi attuali e le informazioni sui gruppi di consumatori sopra riportate. Potresti dover specificare i valori standbyUUID,masterUUID.

    La proprietà datastores per consumer-groups ora dovrebbe essere vuota.

  11. Rimuovi i nodi master e standby precedenti dal gruppo di analisi:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    La proprietà postgres-server in uuids ora dovrebbe essere vuota.

  12. Registra i nuovi nodi master e standby di PG con i gruppi di analisi e consumer:
    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. Convalida il gruppo di analisi:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Gli UUID dei nuovi nodi master e standby dovrebbero essere elencati nel gruppo di analisi e nel gruppo consumer.

  14. Riavvia Edge Management Server:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Riavvia tutti i server Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Riavvia tutti i server Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Verifica lo stato della replica inviando i seguenti script su entrambi i server. Il sistema dovrebbe mostrare risultati identici su entrambi i server per garantire il successo della replica:

    Nel nuovo schema, esegui:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Verifica che sia indicato come principale. Sul vecchio nodo in standby:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Verifica che si tratti di standby.

  18. Ripeti il passaggio precedente dopo aver effettuato diverse richieste API per assicurarti che i nodi siano sincronizzati.
  19. Ritira il master Postgres precedente utilizzando la procedura descritta in Aggiornare Apigee Edge 4.16.01/4.16.05 alla versione 4.17.09.

    In alternativa, puoi disinstallare Qpid dal vecchio master e installare Qpid sul nuovo nodo master. Dopo aver disinstallato Qpid, puoi ritirare il vecchio nodo master.

Disinstalla Qpid dal master precedente e installa Qpid in quello nuovo

Per disinstallare Qpid dal precedente master e installarlo su quello nuovo:

  1. Impedisci ai processori di messaggi di accedere alla porta Qpid 5672 sul vecchio master eseguendo questo comando su tutti i processori di messaggi:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Assicurati che la coda di messaggi Qpid sia vuota eseguendo questo comando. Non puoi disinstallare Qpid finché non ha elaborato tutti i messaggi in attesa:
    qpid-stat -q

    Questo comando visualizza una tabella contenente un conteggio per msg, msgIn, and msgOut. Tutti i messaggi saranno stati elaborati quando msg=0 e msgIn=msgOut.

  3. Determina l'UUID del server Qpid sul vecchio master eseguendo il comando seguente sul master precedente. Salva queste informazioni per un utilizzo successivo della procedura:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Interrompi Qpid sul precedente master:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Disinstalla il server Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Rimuovi il vecchio server Qpid dai gruppi di analisi e consumatori:
    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. Rimuovi il vecchio server Qpid da Zookeeper:
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Installa Qpid sul nuovo master:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Determina l'UUID del server Qpid sul nuovo master eseguendo il comando seguente sul nuovo master. Salva queste informazioni per un utilizzo successivo della procedura:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Registra il nuovo server Qpid con i gruppi di analisi e consumatori:
    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. Riavvia tutti i processori di messaggi:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Esegui questo comando sul nuovo server Qpid per verificare che le code siano state create:
    qpid-stat -q

    Assicurati che msg, msgIn e msgOut vengano aggiornati mentre il server Qpid elabora i messaggi.

Contatta l'assistenza Apigee Edge se riscontri problemi durante il rollback.