Se si verifica un errore durante un aggiornamento a Edge 4.52.01, puoi eseguire il rollback del componente che ha causato l'errore e provare a eseguire nuovamente l'aggiornamento.
Puoi eseguire il rollback di Edge 4.52.01 alle seguenti versioni di release principali:
- Versione 4.52.00
- Versione 4.51.00
Esistono due scenari in cui potresti voler eseguire un rollback:
- Esegui il rollback a una release principale o secondaria precedente. Ad esempio da 4.52.01 a 4.52.00.
- 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 procedura di rilascio di Apigee Edge.
Chi può eseguire un rollback
L'utente che esegue un rollback deve essere lo stesso dell'utente che ha aggiornato in origine Edge o un utente in esecuzione come root.
Per impostazione predefinita, i componenti Edge vengono eseguiti come utente "apigee". In alcuni casi, potresti eseguire i componenti Edge come utenti diversi. Ad esempio, se il router deve accedere alle porte privilegiate, 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 codice comune. Pertanto, per eseguire il rollback di uno qualsiasi di questi componenti su un nodo, devi eseguirne il rollback di tutti i componenti che si trovano su quel nodo.
edge-management-server
(server di gestione)edge-message-processor
(Processore 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 eseguire il rollback di uno qualsiasi di questi devi eseguire il rollback di tutti e tre.
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 ciascun nodo che ospita il componente:
-
Scarica il file
bootstrap.sh
per la versione a 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
- Per eseguire il rollback alla versione 4.51.00, scarica
- Interrompi il componente per eseguire il rollback:
- 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
- Per eseguire il rollback di qualsiasi altro componente sul nodo, interrompi solo quel componente:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Per eseguire il rollback di uno qualsiasi dei componenti con codice comune sul nodo, devi arrestarli tutti, come illustrato nell'esempio seguente:
- 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
- Disinstalla il componente per eseguire il rollback sul nodo:
- Per eseguire il rollback di uno qualsiasi 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
- 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.
- Per eseguire il rollback del router Edge, devi eliminare i contenuti del file
/opt/nginx/conf.d
oltre a disinstallare il gruppo di componentiedge-gateway
:cd /opt/nginx/conf.d
rm -rf *
- Per eseguire il rollback di uno qualsiasi dei componenti con codice comune sul nodo, devi disinstallarli tutti disinstallando il gruppo di componenti
- Disinstalla la versione 4.52.01 di
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Installa la versione 4.51.00 dell'utilità
apigee-service
e delle sue dipendenze. Nell'esempio seguente viene installata la versione 4.51.00 diapigee-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 visualizzi un messaggio di errore, assicurati di aver scaricato il file
bootstrap.sh
nel passaggio 1. - Installa
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- 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.
- Se stai eseguendo il rollback di Qpid, svuota iptables:
sudo iptables -F
- 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 ciascun nodo che ospita il componente:
- Scarica la versione specifica del componente:
/opt/apigee/apigee-service/bin/apigee-service component_version install
Dove component_version è la release del componente e 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 di Apigee, puoi determinare le versioni disponibili dei componenti utilizzando il seguente comando:
yum --showduplicates list comp
Ad esempio:
yum --showduplicates list edge-ui
- 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 al momento dell'installazione devi specificare solo il nome del componente, non la versione.
- Ripeti questa procedura per ciascun nodo che ospita il componente di cui stai eseguendo il rollback.
Rollback dell'aggiornamento di Postgres 10.17
Se hai eseguito l'upgrade alla versione 4.52.01 dalla versione 4.50.00 o 4.51.00, devi eseguire il rollback dell'aggiornamento di Postgres oltre ai componenti Edge.
Per eseguire il rollback dell'aggiornamento di Postgres durante l'aggiornamento di Postgres in una configurazione di standby principale:
- Promuovi il nuovo nodo standby in modo che diventi il master Postgres. Il nuovo master Postgres sarà la stessa versione dell'installazione di Edge precedente.
- Configura il nodo in 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.
Una volta completato il rollback, il vecchio nodo master non sarà più necessario. Puoi quindi ritirare il vecchio nodo master.
- 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
- Assicurati che Postgres sia arrestato sul nodo master precedente e sul nodo in 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
- Se installato, avvia Qpid sul nodo in standby precedente:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Promuovi il nuovo nodo standby come master Postgres:
- Promuovi il nuovo nodo in 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 ad apigee, che per impostazione predefinita è "postgres".
- 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
- Configura il nuovo master:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Promuovi il nuovo nodo in standby in modo che diventi il nuovo master:
- Se hai già eseguito l'upgrade del nodo in standby precedente alla versione più recente, devi prima eseguire il downgrade del software Apigee sul nodo in standby precedente. Se utilizzi ancora la versione precedente sul nodo in standby precedente, puoi saltare questo passaggio e continuare con il passaggio 6.
- Arresta Postgres sul nodo standby precedente:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- Disinstalla Postgres dal nodo standby precedente:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- Elimina la directory dei dati Postgres dal nodo in standby precedente:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Scarica ed esegui il bootstrap della versione precedente (per la versione Apigee a cui stai eseguendo il rollback) sul nodo in standby precedente. I passaggi esatti possono variare a seconda che tu stia utilizzando l'installazione basata su internet o offline. L'esecuzione del bootstrap di Apigee della versione precedente configurerà i repository yum con i dati Apigee della versione precedente.
- Configura i componenti Postgres sul nodo standby precedente:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- Controlla e verifica che sia stato eseguito il rollback alla versione precedente dei componenti Postgres sul nodo standby precedente:
apigee-service apigee-postgresql version apigee-service edge-postgres-server version
- Arresta Postgres sul nodo standby precedente:
- Ricrea il nodo in standby precedente:
- 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
- Rimuovi la directory dei dati sul nodo in standby precedente:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Riconfigura il nodo in 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
- Assicurati che Postgres sia in esecuzione sul nodo in standby precedente:
/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
- Modifica il file di configurazione che hai utilizzato per installare la versione attuale di Edge per specificare quanto segue:
- Verifica che il nuovo nodo in standby sia stato aggiunto visualizzando il file
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
sul nuovo master. - Visualizza le informazioni correnti relative ad analisi e gruppi di consumer 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 consumer nel camponame
inconsumer-groups
. Restituisce inoltre gli UUID dei vecchi nodi master e standby di Postgres nel campopostgres-server
e nel campodatastores
. Dovresti vedere l'output nel modulo:{ "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" : { } }
- Recupera l'indirizzo UUID del master precedente 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 formato:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Ripeti il passaggio precedente per ottenere gli indirizzi IP del nodo in standby precedente e del nuovo master.
- 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 analisi e consumer. masterUUID,standbyUUID sono nello stesso ordine in cui sono visualizzati sopra quando hai visualizzato le attuali informazioni su dati e analisi e gruppi di consumatori sopra. Potrebbe essere necessario specificarli come standbyUUID,masterUUID.
La proprietà
datastores
perconsumer-groups
ora dovrebbe essere vuota. - 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
inuuids
ora dovrebbe essere vuota. - Registra nuovi nodi master e standby 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
- Convalida il gruppo di dati e 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 nel gruppo consumer.
- Riavvia Edge Management Server:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Riavvia tutti i server Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Riavvia tutti i server Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Verifica lo stato della replica inviando gli script seguenti su entrambi i server. Il sistema dovrebbe visualizzare risultati identici su entrambi i server per garantire una replica corretta:
Nel nuovo principale, esegui:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Verifica che si tratti dell'elemento principale. Sul vecchio nodo in standby:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Verifica che si tratti di standby.
- Ripeti il passaggio precedente dopo aver effettuato diverse richieste API per assicurarti che i nodi siano sincronizzati.
- Dismetti il master Postgres precedente utilizzando la procedura descritta in
Decommissione di un
nodo Postgres.
In alternativa, puoi disinstallare Qpid dal master precedente e installare Qpid sul nuovo nodo master. Dopo aver disinstallato Qpid, puoi dismettere il nodo master precedente.
Esegui il rollback di mTLS
Per eseguire il rollback dell'aggiornamento di mTLS, segui questi passaggi su tutti gli host:
- Interrompi Apigee:
apigee-all stop
- Interrompi mTLS:
apigee-service apigee-mtls uninstall
- Reinstalla mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf