4.18.01 Processo di rollback

Edge per Private Cloud v4.18.01

In caso di errore durante un aggiornamento a Edge 4.18.01, puoi eseguire il rollback del componente che ha causato l'errore e riprova a eseguire l'aggiornamento. Ad esempio, se l'aggiornamento a Postgres 9.6 un errore, puoi eseguire il rollback solo dei nodi Postgres e riprovare a eseguire l'aggiornamento.

Esistono due scenari in cui potresti voler eseguire un rollback:

  1. Esegui il rollback a una release precedente. Ad esempio da 4.18.01 a 4.17.01.
  2. Esegui il rollback a una versione precedente nella stessa release.

Utilizza la procedura riportata di seguito per eseguire un rollback per entrambi gli scenari.

Chi può eseguire il rollback

L'utente che esegue il rollback deve essere lo stesso dell'utente che ha aggiornato originariamente Edge, o un utente che esegue la migrazione come root.

Per impostazione predefinita, i componenti Edge vengono eseguiti come utente "apigee". In alcuni casi, è possibile che tu stia eseguendo Edge componenti come utenti diversi. Ad esempio, se il router deve accedere a porte con privilegi, come quelli inferiori a 1000, occorre eseguire il router come root o come utente con accesso a quelli porte. In alternativa, potresti eseguire un componente come un utente e un altro come un altro utente.

Componenti di cui è possibile eseguire il rollback

Quando esegui un rollback, devi tenere presente le seguenti condizioni:

  • I cinque componenti Edge elencati di seguito condividono un codice comune. Di conseguenza, il rollback di uno qualsiasi devi eseguire il rollback dei cinque componenti installati sul nodo. Per Ad esempio, se sul server di gestione, sul router e sul processore di messaggi sono installati al nodo, per eseguire il rollback di uno di questi devi eseguire il rollback di tutti e tre.

    I cinque componenti che condividono il codice sono:

    • Server di gestione
    • Router
    • processore di messaggi
    • Server Qpid
    • Server Postgres
  • Se esegui l'aggiornamento da Edge 4.16.01, non eseguire il rollback di Cassandra. Questo di Edge contiene una versione aggiornata di Cassandra. Se esegui il rollback di un componente, lascia Cassandra alla versione 4.18.01.

Rollback della versione 4.18.01 in corso

Questa sezione contiene la procedura per eseguire il rollback di Edge 4.18.01 a una versione precedente. Questo è divisa in due parti:

  • Rollback dell'aggiornamento di Postgres
    La parte finale di ogni procedura di aggiornamento è l'aggiornamento dei nodi Postgres alla versione 9.6. Se questo non va a buon fine, puoi utilizzare questa procedura per eseguirne il rollback.
  • Rollback di tutti gli altri componenti Edge
    Utilizza questa procedura per eseguire il rollback di qualsiasi altro componente Edge.

Come eseguire il rollback dell'aggiornamento di Postgres 9.6

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

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

Al termine del rollback, il vecchio nodo master non sarà più necessario. Puoi e poi dismettere 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 vecchio nodo master e sul vecchio nodo standby:
    > /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 di standby:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Promuovi il nuovo nodo di standby come master Postgres:
    1. Promuovi il nuovo nodo in standby a nuovo master:
      > apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

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

    2. Modifica il file di configurazione che hai utilizzato per installare la versione corrente di Edge per specificare le seguenti:
      # 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 vecchio nodo in standby:
    1. Modifica il file di configurazione che hai utilizzato per installare la versione corrente di Edge per specificare le seguenti:
      # 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 vecchio nodo in standby in modo che sia un nodo di 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 vecchio nodo in standby:
      > /opt/apigee/apigee-service/bin/apigee-all status

      Se non è in esecuzione, avviala:

      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Verifica che il nuovo nodo in standby sia stato aggiunto visualizzando la /opt/apigee/apigee-postgresql/conf/pg_hba.conf nel nuovo master.
  7. Visualizza le analisi attuali e le informazioni sul gruppo di consumatori eseguendo questo comando 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 la nome del gruppo di consumatori nel campo name in consumer-groups. Inoltre, restituisce gli UUID del master Postgres precedente e dei nodi di standby nella postgres-server e nel campo datastores. Dovresti vedere in questo 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. Ottieni l'indirizzo UUID del vecchio master eseguendo il seguente comando cURL sul vecchio nodo master:
    > curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

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

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. Ripeti il passaggio precedente per ottenere gli indirizzi IP del vecchio nodo in standby e del nuovo principale.
  10. Rimuovi i nodi master e standby precedenti dal gruppo di 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 analisi dei dati e gruppi di consumatori. masterUUID,standbyUUID sono nello stesso ordine apparso sopra quando hai visualizzato le analisi attuali e le informazioni sul gruppo di consumatori riportate sopra. Tu potrebbe essere necessario specificarli come standbyUUID,masterUUID.

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

  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 nuovi nodi master e standby della PG con i gruppi di dati 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

    Dovresti vedere gli UUID dei nuovi nodi master e standby elencati nel gruppo di analisi e il gruppo di consumatori.

  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 una replica corretta:

    Nel nuovo master, esegui:

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

    Verifica che sia l'istanza principale. Sul vecchio nodo in standby:

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

    Verifica che dica che è in standby.

  18. Ripeti il passaggio precedente dopo aver effettuato diverse richieste API per assicurarti che i nodi siano in sincronizzazione.
  19. Dismissione del vecchio master Postgres utilizzando la procedura in Aggiorna Apigee Edge Da 4.16.01/4.16.05 a 4.17.09.

    In alternativa, è possibile disinstallare Qpid dal master precedente e installare Qpid in quello nuovo come descritto di seguito. Dopo aver disinstallato Qpid, puoi ritirare il file master precedente nodo.

Ripristina Qpid dal master precedente e installa Qpid nel nuovo master

Utilizza la seguente procedura per disinstallare Qpid dal precedente master e installarlo sul nuovo principale:

  1. Blocca l'accesso alla porta Qpid 5672 sul master precedente per l'accesso da parte dei processori di messaggi 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 disinstalla Qpid finché non avrà elaborato tutti i messaggi in sospeso:
    > qpid-stat -q

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

  3. Determina l'UUID del server Qpid sul master precedente eseguendo il comando seguente il vecchio maestro. Salva queste informazioni per un secondo momento della procedura:
    > curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Interrompi Qpid nel 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 consumer:
    > 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 nel 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 il nuovo schema. Salva queste informazioni per un secondo momento della procedura:
    > curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Registra il nuovo server Qpid con i gruppi di dati 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=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 venga aggiornato come server Qpid elabora i messaggi.

Per eseguire il rollback di singoli componenti 4.18.01

Come parte dell'esecuzione del rollback, devi scaricare il file bootstrap.sh per attuale di Edge:

  • Per il rollback alla versione 4.17.09, scarica bootstrap_4.17.09.sh
  • Per eseguire il rollback alla versione 4.17.05, scarica bootstrap_4.17.05.sh
  • Per eseguire il rollback alla versione 4.17.01, scarica bootstrap_4.17.01.sh
  • Per il rollback alla versione 4.16.09, scarica bootstrap_4.16.09.sh
  • Per eseguire il rollback alla versione 4.16.05, scarica bootstrap_4.16.05.sh
  • Per eseguire il rollback alla versione 4.16.01, scarica bootstrap.sh

Per ogni nodo che ospita un componente di cui eseguire il rollback:

  1. Interrompi il componente per eseguire il rollback:
    1. Se esegui il rollback di uno dei seguenti componenti sul nodo, devi arrestali tutti: server di gestione, router, processore di messaggi, server Qpid o 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. Se stai eseguendo il rollback di qualsiasi altro componente sul nodo, interrompilo componente:
        .
      • > apigee-service comp stop
  2. Se esegui il rollback della monetizzazione, disinstallala da tutti i server di gestione e da tutti i messaggi. Nodi processore:
    > apigee-service edge-mint-gateway uninstall
  3. Disinstalla il componente per eseguire il rollback sul nodo:
    1. Se esegui il rollback di uno dei seguenti componenti sul nodo, disinstallali tutti: server di gestione, router, processore di messaggi, server Qpid o Postgres Server:
      > apigee-service edge-gateway uninstall
    2. Se stai eseguendo il rollback di qualsiasi altro componente sul nodo, disinstalla solo quello componente:
      > apigee-service comp uninstall
    3. Se stai eseguendo il rollback del router, devi eliminare contenuti di /opt/nginx/conf.d:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. Per eseguire il rollback del componente:
      .
    1. Disinstalla la versione 4.18.01 di apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. Scarica bootstrap.sh per la release desiderata. Ad esempio, per la versione 4.16.09:
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. Installa l'utilità 4.16.01, 4.16.05 o 4.16.09 apigee-service e delle dipendenze. Ad esempio, per 4.16.09:
      > sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord

      dove uName e pWord sono il nome utente e la password che hai ricevuto di Apigee. Se ometti pWord, ti verrà chiesto di inserire li annotino.

    4. Installa apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Installa la versione desiderata del componente:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      dove comp è il componente da installare e configFile è il tuo di configurazione del deployment per la versione desiderata.

    6. Se stai eseguendo il rollback di Qpid, esegui il flush di iptables:
      > sudo iptables -F
  5. Per eseguire il rollback del componente a una versione specifica della release 4.18.01:
      .
    1. Scarica la versione specifica del componente:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      dove comp-version è il componente e la versione 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 dei componenti disponibili 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 specifichi il nome del componente solo quando esegui l'installazione.

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