Esegui il rollback di Apigee Edge 4.51.00

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

Puoi eseguire il rollback di Edge 4.51.00 alle seguenti versioni delle release con funzionalità:

  • Versione 4.50.00
  • Versione 4.19.06

Esistono due scenari in cui potresti voler eseguire un rollback:

  1. Esegui il rollback a una release di funzionalità precedente. Ad esempio da 4.51.00 a 4.50.00.
  2. Esegui il rollback a una versione dell'aggiornamento precedente nella stessa release. Ad esempio, da 4.50.00.02 a 4.50.00.01.

Per ulteriori informazioni, consulta la procedura di rilascio di Apigee Edge.

Chi può eseguire un rollback

L'utente che esegue il rollback deve essere lo stesso che ha aggiornato Edge inizialmente o un utente eseguito come utente root.

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

Componenti con codice comune

I seguenti componenti Edge condividono un codice comune. Pertanto, per eseguire il rollback di uno di questi componenti su un nodo, devi eseguire il rollback di tutti i componenti presenti sul nodo.

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

Ad esempio, se sul nodo sono installati il server di gestione, il router e l'elaboratore di messaggi, per eseguire il rollback di uno di questi componenti devi eseguire il rollback di tutti e tre.

Esegui il rollback a una release di funzionalità precedente

Per eseguire il rollback a una release di funzionalità precedente, svolgi i seguenti passaggi su ogni nodo che ospita il componente:

  1. Scarica il file bootstrap.sh per la versione a cui vuoi eseguire il rollback:

    • Per eseguire il rollback alla versione 4.50.00, scarica bootstrap_4.50.00.sh:
      curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh 
    • Per eseguire il rollback alla versione 4.19.06, scarica bootstrap_4.19.06.sh:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh 
  2. Interrompi il componente di cui vuoi eseguire il rollback:
    1. Per eseguire il rollback di uno dei componenti con codice comune sul nodo, devi fermarli 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, interrompi solo quel componente:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Se esegui il rollback della monetizzazione, disinstallala da tutti i server di gestione e i nodi di elaborazione dei messaggi:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Disinstalla il componente da ripristinare 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 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 mostrato nell'esempio seguente:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Dove component è il nome del componente.

    3. Per eseguire il rollback dell'Edge Router, 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.51.00 di apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installa la versione 4.19.06 o 4.50.00 dell'utilità apigee-service e le relative dipendenze. Nell'esempio riportato di seguito viene installata la versione 4.50.00 del apigee-service:
    sudo bash /tmp/bootstrap_4.50.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 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 esegui il rollback di Qpid, svuota iptables:
    sudo iptables -F
  10. Ripeti questa procedura per ogni nodo che ospita il componente di cui vuoi eseguire il rollback.

Eseguire il rollback a una versione di aggiornamento precedente

Per eseguire il rollback di un componente a una versione specifica di una release, svolgi i seguenti passaggi 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 versione dell'aggiornamento da installare. Ad esempio:

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

    Se utilizzi il repository online di 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 devi specificare solo il nome del componente quando lo installi, non la versione.

  3. Ripeti questa procedura per ogni nodo che ospita il componente di cui vuoi eseguire il rollback.

Esegui il rollback dell'aggiornamento di Postgres 10.17

Se hai eseguito l'upgrade alla versione 4.51.00 dalla versione 4.19.06 o 4.50.00, devi eseguire il rollback dell'aggiornamento di Postgres oltre ai componenti Edge.

Per eseguire il rollback dell'aggiornamento di Postgres quando lo aggiorni in una configurazione master-standby:

  • Esegui la promozione del nuovo nodo di standby in modo che diventi il master Postgres. Il nuovo master Postgres sarà della stessa versione dell'installazione Edge precedente.
  • Configura il vecchio nodo di standby come nodo di standby del nuovo nodo principale. Il vecchio nodo di riserva avrà la stessa versione dell'installazione Edge precedente.
  • Registra i nuovi nodi master e di riserva con i gruppi di analisi e di consumatori.

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

  1. Assicurati che il nuovo nodo Postgres di riserva 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 interrotto sul vecchio nodo master e sul vecchio nodo di 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. Esegui la promozione del nuovo nodo di standby come master Postgres:
    1. Esegui la promozione del nuovo nodo di standby come 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 utilizzato per installare la versione corrente 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. Se hai già eseguito l'upgrade del vecchio nodo di riserva alla versione più recente, devi prima eseguire il downgrade del software Apigee sul vecchio nodo di riserva. Se hai ancora la versione precedente sul vecchio nodo di standby, puoi saltare questo passaggio e continuare con il passaggio 6.
    1. Interrompi Postgres sul vecchio nodo di standby:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. Disinstalla Postgres dal vecchio nodo di standby:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. Elimina la directory dei dati Postgres dal vecchio nodo di standby:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. Scarica ed esegui il bootstrap della versione precedente (per la versione di Apigee a cui stai tornando) sul vecchio nodo di standby. I passaggi esatti possono variare a seconda che tu stia utilizzando un'installazione basata su internet o offline. L'esecuzione del bootstrap di Apigee della versione precedente configurerà i repository yum con i dati della versione precedente di Apigee.
    5. Configura i componenti Postgres sul vecchio nodo di standby:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. Controlla e verifica che per i componenti Postgres sul vecchio nodo di standby sia stato eseguito il rollback alla versione precedente:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. Ricostruisci il vecchio nodo di standby:
    1. Modifica il file di configurazione utilizzato per installare la versione corrente 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 di standby:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Riconfigura il vecchio nodo di standby come nodo di standby del nuovo nodo principale:
      /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 di standby:
      /opt/apigee/apigee-service/bin/apigee-all status

      Se Postgres non è in esecuzione, avvialo:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. Verifica che il nuovo nodo di standby sia stato aggiunto visualizzando il file /opt/apigee/apigee-postgresql/conf/pg_hba.conf sul nuovo master.
  8. Visualizza le informazioni attuali su analisi e gruppi di consumatori eseguendo il seguente 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 il nome del gruppo di consumatori nel campo name in consumer-groups. Inoltre, restituisce gli UUID dei vecchi nodi master e standby Postgres nel campo postgres-server e nel campo datastores. Dovresti vedere l'output nel seguente 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" : {
      }
    }

  9. Recupera 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"
  10. Ripeti il passaggio precedente per ottenere gli indirizzi IP del vecchio nodo di standby e del nuovo master.
  11. Rimuovi i vecchi nodi master e di riserva 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 gruppi di analisi e dei gruppi di consumatori. masterUUID,standbyUUID sono nell'ordine in cui sono apparse sopra quando hai visualizzato le informazioni attuali su analisi e gruppi di consumatori. Potresti doverli specificare come standbyUUID,masterUUID.

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

  12. Rimuovi i vecchi nodi master e di standby 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 dovrebbe ora essere vuota.

  13. Registra i nuovi nodi master e di riserva del PG con i gruppi di analisi e di 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=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
  14. 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 di standby elencati nel gruppo di analisi e nel gruppo di consumatori.

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

    Sul nuovo schema principale, esegui:

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

    Verifica che sia il master. Sul vecchio nodo di standby:

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

    Verifica che sia in modalità standby.

  19. Ripeti il passaggio precedente dopo aver effettuato diverse richieste API per assicurarti che i nodi siano in sincronizzazione.
  20. Esegui il ritiro del vecchio master Postgres utilizzando la procedura descritta in Aggiornamento di Apigee Edge 4.16.01/4.16.05 a 4.17.09.

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

Esegui il rollback di mTLS

Per eseguire il rollback dell'aggiornamento mTLS, svolgi i seguenti passaggi su tutti gli host:

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