Esegui il rollback di Apigee Edge 4.52.02

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

Puoi eseguire il rollback di Edge 4.52.02 alle seguenti versioni di release principali:

  • Versione 4.52.01
  • Versione 4.52.00
  • Versione 4.51.00

Il rollback di una versione comporta il rollback di ogni componente di cui hai eseguito l'upgrade. Inoltre, a seconda della versione da cui hai avviato l'operazione, potrebbe essere necessario fare alcune considerazioni particolari prima di eseguire il rollback di determinati componenti software. La tabella seguente elenca i vari software per i quali potrebbero essere necessari passaggi speciali durante il rollback:

Rollback alla versione Considerazione speciale per il software
4.52.01 Cassandra
4.52.00 Cassandra, Zookeeper, Qpid
4.51.00 Cassandra, Zookeeper, Qpid, Postgres

Esistono due scenari in cui potresti voler eseguire un rollback:

  1. Esegui il rollback a una release principale o secondaria precedente. Ad esempio da 4.52.02 a 4.52.00.
  2. Esegui il rollback a una release patch precedente nella stessa release. Ad esempio, da 4.52.00.02 a 4.52.00.01.

Per ulteriori informazioni, consulta la pagina relativa al processo di rilascio di Apigee Edge.

Ordine di rollback

Il rollback dei componenti deve essere eseguito nell'ordine inverso in cui è stato eseguito l'upgrade, ad eccezione del fatto che il rollback dei server di gestione deve essere eseguito dopo Cassandra.

Di seguito è riportato un ordine generale di rollback tipico per Private Cloud 4.52.02:

  1. Esegui il rollback di Postgres, Qpid e altri componenti correlati all'analisi
  2. Esegui il rollback dei router e dei processori di messaggi
  3. Esegui il rollback di Cassandra, Zookeeper
  4. Server di gestione del rollback

Ad esempio, supponiamo che tu abbia eseguito l'upgrade dell'intero cluster Cassandra, di tutti i tuoi server di gestione e di alcuni RMP alla versione 4.52.02 dalla versione 4.52.01 e che desideri eseguire il rollback. In questo caso, devi:

  1. Esegui il rollback di tutti i RMP uno alla volta
  2. Esegui il rollback dell'intero cluster Cassandra utilizzando i backup
  3. Esegui il rollback dei nodi del server di gestione perimetrale uno alla volta

Chi può eseguire un rollback

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

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

Componenti con codice comune

I seguenti componenti 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 tale 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 server di gestione, router e processore di messaggi, per eseguire il rollback di uno di questi devi eseguire il rollback di tutti e tre.

Rollback di Cassandra

Quando viene eseguito un upgrade principale di Cassandra su un determinato nodo, Cassandra modifica lo schema dei dati archiviati nel nodo, rendendo impossibile il rollback diretto. Esistono due metodi per eseguire il rollback. Utilizzerai una di queste metodologie in base allo stato dell'upgrade da cui stai eseguendo il rollback.

Metodologie per il rollback

Cancella e utilizza i nodi esistenti nel cluster per ricreare il nodo

Questa procedura può essere eseguita se nel cluster disponi di almeno un data center completamente funzionale che si trova ancora nella versione precedente di Cassandra (Cassandra 2.1.22). Se hai eseguito l'upgrade dell'intero cluster Cassandra e vuoi eseguire il rollback, devi seguire i passaggi descritti in Cancellare e ripristinare backup o snapshot delle VM.

Passaggi per il rollback

  1. Inizia dal nodo di cui vuoi eseguire il rollback:
    • Arresta Cassandra sul nodo:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Disinstalla il software Cassandra dal nodo:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Rimuovi la directory dei dati dal nodo:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Scarica ed esegui il bootstrap della versione precedente di Edge per il cloud privato di cui vuoi eseguire il rollback.

    Esempio: per eseguire il rollback alla versione 4.52.01,

    • Scarica il bootstrap della versione 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Esegui il bootstrap 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Configura Cassandra sul nodo:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Esegui la ricreazione sul nodo specificando il nome del data center funzionale:
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • Ripeti i passaggi precedenti su ciascun nodo di cui vuoi eseguire il rollback, uno alla volta.
  2. Una volta eseguito il rollback e ricreato di tutti i nodi:
    • Esegui la configurazione di qualsiasi nodo del server di gestione. Assicurati che il server di gestione provenga dalla versione con rollback. In caso contrario, esegui il rollback anche del server di gestione.
    • Arresta il server di gestione:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Se utilizzi la monetizzazione, disinstalla anche la monetizzazione:
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • Disinstalla management-server:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • Scarica ed esegui il bootstrap della versione precedente. Ad esempio, esegui questi passaggi per scaricare ed eseguire il bootstrap della versione 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
    • Esegui la configurazione di un nodo del server di gestione:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Ottimizzazione dopo la ricreazione

Nei passaggi precedenti, durante la ricreazione tutti i dati nel nodo vengono trasmessi in flusso dal data center remoto. Puoi ottimizzare questo processo utilizzando una riparazione dopo che tutte le repliche sono state trasmesse in streaming al data center locale. In questo modo si evita che i flussi di dati tra DC siano più rapidi e che dovrebbe essere più veloce rispetto alla creazione di tutti i nodi da un controller remoto.

Esempio:supponiamo che tu abbia sei nodi Cassandra nel data center locale. Per impostazione predefinita, il fattore di replica di Apigee è tre, quindi ogni nodo possiede il 50% dei dati. In questo caso, puoi ricreare i nodi 1 e 4 seguendo la procedura descritta sopra. Per i nodi 2, 3, 5 e 6, segui questi passaggi per ripristinare il backup ed eseguire una riparazione.

  1. Segui la procedura fino al passaggio 6 come documentato per ricreare le repliche nel data center locale.
  2. Per i nodi rimanenti, segui i passaggi riportati di seguito su ciascun nodo rimanente uno alla volta.
    • Ripristina il backup acquisito su questo nodo (nota: è probabile che questo backup contenga dati inattivi poiché questo backup è stato eseguito prima di iniziare l'upgrade di Cassandra):
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Se disponi di uno snapshot della VM del nodo, puoi ripristinare lo snapshot anziché ripristinare il backup di Cassandra.
    • Dopo il ripristino del backup, avvia il servizio Cassandra sul nodo:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Esegui una riparazione sul nodo in modo che sia possibile trasmettere in flusso i dati più recenti da un data center esistente:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • Ripeti i passaggi da 3 a 6 su ciascun nodo da riparare.

Cancella e ripristina lo snapshot di backup/VM

Questa procedura è l'unica disponibile se hai eseguito l'upgrade dell'intero cluster Cassandra e vuoi eseguire il rollback.

Inoltre, i backup di Apigee sono specifici per i nodi. Non è possibile ripristinare un backup eseguito da un nodo a un altro. I backup di Cassandra includono informazioni sui metadati dei nodi (come indirizzo IP, posizione dell'anello e così via).

  1. Inizia con 1 nodo Cassandra nel cluster:
    • Arresta il servizio Cassandra sul nodo:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Disinstalla il software Cassandra dal nodo:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Rimuovi la directory dei dati dal nodo:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Scarica ed esegui il bootstrap della versione precedente di Edge per il cloud privato di cui vuoi eseguire il rollback.

    Esempio: eseguire il rollback alla versione 4.52.01

    • Scarica il bootstrap della versione 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Esegui il bootstrap 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Configura Cassandra sul nodo:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Ripristina il backup sul nodo utilizzando la procedura descritta in Ripristinare da un backup.
    • Arresta Cassandra sul nodo:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Elimina la directory dei dati:
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • Ripristina backup:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Avvia il servizio Cassandra sul nodo:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Ripeti i passaggi su ogni nodo Cassandra uno alla volta.
    • Esegui la riparazione sui nodi uno alla volta:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Esegui il rollback dell'aggiornamento di Zookeeper 3.8.3

Se stai eseguendo il rollback alle versioni 4.52.00 o 4.51.00, dovrai fare riferimento ad alcuni passaggi speciali prima di eseguire il rollback di Zookeeper. Questi passaggi sono elencati in Rollback.

Se esegui il rollback alla versione 4.52.01, esegui il rollback di Zookeeper come faresti con qualsiasi software, come indicato nella sezione Esegui il rollback a una release principale o secondaria precedente di seguito.

Esegui il rollback di Qpid

Se si esegue il rollback alle versioni 4.52.00 o 4.51.00, è necessario fare riferimento ad alcuni passaggi speciali prima di eseguire il rollback di Qpid. Questi passaggi sono elencati in Rollback.

Se stai eseguendo il rollback alla versione 4.52.01, esegui il rollback di Qpid come faresti con qualsiasi software, come indicato nella sezione Eseguire il rollback a una release principale o secondaria precedente.

Esegui il rollback dell'aggiornamento di Postgres 10.17

Se si esegue il rollback alla versione 4.51.00, è necessario fare riferimento ad alcuni passaggi speciali prima di eseguire il rollback di Postgres. Questi passaggi sono elencati in Rollback.

Se esegui il rollback alla versione 4.52.01 o 4.52.00, esegui il rollback di Postgres come faresti con qualsiasi software, come indicato nella sezione Eseguire il rollback a una release principale o secondaria precedente di seguito.

Esegui il rollback a una release principale o secondaria precedente

Per eseguire il rollback a una release principale o secondaria precedente, procedi nel seguente modo su ogni nodo che ospita il componente:

  1. Scarica il file bootstrap.sh relativo alla versione di cui vuoi eseguire il rollback:

    • Per eseguire il rollback alla versione 4.51.00, scarica bootstrap_4.51.00.sh:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. Arresta il componente per eseguire il rollback:
    1. Per eseguire il rollback di qualsiasi componente con codice comune sul nodo, devi arrestarli tutti, come mostrato 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 altro componente sul nodo, arresta solo 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 dei componenti con codice comune sul nodo, devi disinstallarli tutti disinstallando il gruppo di componenti edge-gateway, come mostrato 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 perimetrale, 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.52.02 di apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installa la versione 4.51.00 dell'utilità apigee-service e le rispettive dipendenze. L'esempio seguente installa la versione 4.51.00 di apigee-service:
    sudo bash /tmp/bootstrap_4.51.00.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 ricevi un messaggio di errore, assicurati di aver scaricato il file bootstrap.sh durante il 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, esegui il flush di iptables:
    sudo iptables -F
  10. Ripeti questa procedura per ciascun nodo che ospita il componente di cui stai eseguendo il rollback.

Esegui il rollback a una release patch precedente

Per eseguire il rollback di un componente a una release patch specifica, procedi nel seguente modo su ogni 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 release della patch da installare. Ad esempio:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-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 quando lo installi devi specificare solo il nome del componente, non la versione.

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

Esegui il rollback di mTLS

Per eseguire il rollback dell'aggiornamento mTLS, segui questi passaggi su tutti gli host:

  1. Arresta Apigee:
    apigee-all stop
  2. Arresta mTLS:
    apigee-service apigee-mtls uninstall
  3. Reinstalla mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf