Si vous rencontrez une erreur lors de la mise à jour vers Edge 4.51.00, vous pouvez annuler le composant à l'origine de l'erreur, puis réessayer la mise à jour.
Vous pouvez revenir à la version de version de fonctionnalités suivante d'Edge 4.51.00:
- Version 4.50.00
- Version 4.19.06
Vous pouvez effectuer un rollback dans deux cas:
- Effectuer un rollback vers une version de fonctionnalité précédente Par exemple, de 4.51.00 à 4.50.00.
- Effectuez un rollback vers une version de mise à jour précédente de la même version. Par exemple, de 4.50.00.02 à 4.50.00.01.
Pour en savoir plus, consultez le processus de publication d'Apigee Edge.
Qui peut effectuer un rollback ?
L'utilisateur effectuant un rollback doit être le même que celui qui a initialement mis à jour Edge ou un utilisateur exécuté en tant que root.
Par défaut, les composants Edge s'exécutent en tant qu'utilisateur "apigee". Dans certains cas, vous pouvez exécuter des composants Edge en tant qu'utilisateurs différents. Par exemple, si le routeur doit accéder à des ports privilégiés, tels que ceux inférieurs à 1 000, vous devez exécuter le routeur en tant qu'utilisateur racine ou en tant qu'utilisateur disposant d'un accès à ces ports. Vous pouvez également exécuter un composant en tant qu'utilisateur et un autre en tant qu'utilisateur différent.
Composants avec code commun
Les composants Edge suivants partagent un code commun. Par conséquent, pour effectuer le rollback de l'un de ces composants sur un nœud, vous devez effectuer le rollback de tous ces composants sur ce nœud.
edge-management-server
(serveur de gestion)edge-message-processor
(processeur de messages)edge-router
(routeur)edge-postgres-server
(Postgres Server)edge-qpid-server
(serveur Qpid)
Par exemple, si le serveur de gestion, le routeur et le processeur de messages sont installés sur le nœud, vous devez les désinstaller tous les trois pour annuler l'un d'entre eux.
Effectuer un rollback vers une version précédente
Pour effectuer un rollback vers une version de fonctionnalité précédente, procédez comme suit sur chaque nœud qui héberge le composant:
-
Téléchargez le fichier
bootstrap.sh
de la version à laquelle vous souhaitez effectuer un rollback:- Pour revenir à la version 4.50.00, téléchargez
bootstrap_4.50.00.sh
:curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
- Pour revenir à la version 4.19.06, téléchargez
bootstrap_4.19.06.sh
:curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- Pour revenir à la version 4.50.00, téléchargez
- Arrêtez le composant pour effectuer un rollback :
- Pour annuler l'un des composants avec du code commun sur le nœud, vous devez tous les arrêter, comme illustré dans l'exemple suivant :
/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
- Pour annuler l'état de tout autre composant du nœud, arrêtez uniquement ce composant :
/opt/apigee/apigee-service/bin/apigee-service component stop
- Pour annuler l'un des composants avec du code commun sur le nœud, vous devez tous les arrêter, comme illustré dans l'exemple suivant :
- Si vous annulez la monétisation, désinstallez-la de tous les nœuds du serveur de gestion et du processeur de messages :
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Désinstallez le composant à annuler sur le nœud :
- Pour annuler l'installation de l'un des composants avec code commun sur le nœud, vous devez tous les désinstaller en désinstallant le groupe de composants
edge-gateway
, comme illustré dans l'exemple suivant :/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- Pour annuler l'installation de tout autre composant sur le nœud, désinstallez uniquement ce composant, comme illustré dans l'exemple suivant :
/opt/apigee/apigee-service/bin/apigee-service component uninstall
où component est le nom du composant.
- Pour annuler le déploiement du routeur Edge, vous devez supprimer le contenu du fichier
/opt/nginx/conf.d
en plus de désinstaller le groupe de composantsedge-gateway
:cd /opt/nginx/conf.d
rm -rf *
- Pour annuler l'installation de l'un des composants avec code commun sur le nœud, vous devez tous les désinstaller en désinstallant le groupe de composants
- Désinstallez la version 4.51.00 de
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Installez la version 4.19.06 ou 4.50.00 de l'utilitaire
apigee-service
et ses dépendances. L'exemple suivant installe la version 4.50.00 deapigee-service
:sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord
Où uName et pWord sont le nom d'utilisateur et le mot de passe que vous avez reçus d'Apigee. Si vous omettez pWord, vous serez invité à le saisir.
Si un message d'erreur s'affiche, assurez-vous d'avoir téléchargé le fichier
bootstrap.sh
à l'étape 1. - Installez
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Installez l'ancienne version du composant :
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
où component est le composant à installer et configFile est votre fichier de configuration pour l'ancienne version.
- Si vous effectuez un rollback de Qpid, videz iptables :
sudo iptables -F
- Répétez cette procédure pour chaque nœud qui héberge le composant que vous annulez.
Effectuer un rollback vers une version de mise à jour précédente
Pour rétablir un composant vers une version spécifique d'une version, procédez comme suit sur chaque nœud qui héberge le composant:
- Téléchargez la version spécifique du composant :
/opt/apigee/apigee-service/bin/apigee-service component_version install
où component_version est le composant et la version de mise à jour à installer. Par exemple :
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.18.05-0.0.3749 install
Si vous utilisez le dépôt en ligne d'Apigee, vous pouvez déterminer les versions de composant disponibles à l'aide de la commande suivante :
yum --showduplicates list comp
Exemple :
yum --showduplicates list edge-ui
- Installez le composant à l'aide de
apigee-setup
:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
Exemple :
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
Notez que vous ne devez spécifier que le nom du composant lors de son installation, et non sa version.
- Répétez cette procédure pour chaque nœud qui héberge le composant que vous annulez.
Restaurer la mise à jour de Postgres 10.17
Si vous êtes passé à la version 4.51.00 à partir de la version 4.19.06 ou 4.50.00, vous devez annuler la mise à jour de Postgres en plus des composants Edge.
Pour annuler la mise à jour de Postgres lors de la mise à jour de Postgres dans une configuration maître-slave:
- Faites passer le nouveau nœud de secours au statut de maître Postgres. Le nouveau maître Postgres sera de la même version que votre précédente installation Edge.
- Configurez l'ancien nœud de secours en tant que nœud de secours du nouveau maître. L'ancien nœud de veille aura la même version que votre précédente installation d'Edge.
- Enregistrez les nouveaux nœuds maître et de secours auprès des groupes d'analyse et de consommateurs.
Une fois le rollback terminé, l'ancien nœud maître n'est plus nécessaire. Vous pouvez ensuite mettre hors service l'ancien nœud maître.
- Assurez-vous que le nouveau nœud Postgres de secours est en cours d'exécution :
/opt/apigee/apigee-service/bin/apigee-all status
Si Postgres n'est pas en cours d'exécution, démarrez-le:
/opt/apigee/apigee-service/bin/apigee-all start
- Assurez-vous que Postgres est arrêté sur l'ancien nœud maître et l'ancien nœud de secours :
/opt/apigee/apigee-service/bin/apigee-all status
Si Postgres est en cours d'exécution, arrêtez-le :
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Si installé, démarrez Qpid sur l'ancien nœud de secours :
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Définissez le nouveau nœud de secours comme maître Postgres :
- Définissez le nouveau nœud de secours comme nouveau maître :
apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
Si vous y êtes invité, saisissez le mot de passe Postgres de l'utilisateur "apigee", qui est par défaut "postgres".
- Modifiez le fichier de configuration que vous avez utilisé pour installer votre version actuelle d'Edge afin de spécifier les éléments suivants :
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Configurez le nouveau maître:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Définissez le nouveau nœud de secours comme nouveau maître :
- Si vous avez déjà mis à niveau l'ancien nœud de secours vers la nouvelle version, vous devez d'abord rétrograder le logiciel Apigee sur l'ancien nœud de secours. Si vous disposez toujours de l'ancienne version sur l'ancien nœud de veille, vous pouvez ignorer cette étape et passer à l'étape 6.
- Arrêtez Postgres sur l'ancien nœud de veille :
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- Désinstallez Postgres de l'ancien nœud de secours :
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- Supprimez le répertoire de données Postgres de l'ancien nœud de secours :
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Téléchargez et exécutez le bootstrap de l'ancienne version (pour la version d'Apigee à laquelle vous effectuez le rollback) sur l'ancien nœud de secours. La procédure exacte peut varier selon que vous utilisez une installation en ligne ou hors connexion. L'exécution de l'ancienne version du bootstrap Apigee configure les dépôts yum avec les données de l'ancienne version d'Apigee.
- Configurez les composants Postgres sur l'ancien nœud de secours :
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- Vérifiez que les composants Postgres de l'ancien nœud de secours ont été rétablis à l'ancienne version :
apigee-service apigee-postgresql version apigee-service edge-postgres-server version
- Arrêtez Postgres sur l'ancien nœud de veille :
- Recréez l'ancien nœud de secours :
- Modifiez le fichier de configuration que vous avez utilisé pour installer votre version actuelle d'Edge afin de spécifier les éléments suivants :
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Supprimez le répertoire de données sur l'ancien nœud de secours :
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Reconfigurez l'ancien nœud de secours en tant que nœud de secours du nouveau maître :
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Assurez-vous que Postgres s'exécute sur l'ancien nœud de secours :
/opt/apigee/apigee-service/bin/apigee-all status
Si Postgres n'est pas en cours d'exécution, démarrez-le:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- Modifiez le fichier de configuration que vous avez utilisé pour installer votre version actuelle d'Edge afin de spécifier les éléments suivants :
- Vérifiez que le nouveau nœud de veille a été ajouté en consultant le fichier
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
sur le nouveau maître. - Affichez les informations analytiques et sur les groupes de consommateurs actuels en exécutant la commande suivante sur le serveur de gestion :
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Cette commande renvoie le nom du groupe d'analyse dans le champ
name
et le nom du groupe de consommateurs dans le champname
sousconsumer-groups
. Il renvoie également les UUID des anciens nœuds maître et de secours PostgreSQL dans le champpostgres-server
et dans le champdatastores
. Le résultat doit s'afficher au format suivant :{ "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" : { } }
- Obtenez l'adresse UUID de l'ancien maître en exécutant la commande
curl
suivante sur l'ancien nœud maître :curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
Vous devriez voir l'UUID du nœud à la fin de la sortie, sous la forme suivante:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Répétez l'étape précédente pour obtenir les adresses IP de l'ancien nœud de secours et du nouveau maître.
- Supprimez l'ancien nœud maître et les nœuds de secours du groupe de consommateurs :
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
Où axgroup-001 et consumer-group-001 sont les noms par défaut des groupes d'analyse et de consommateurs. masterUUID,standbyUUID sont dans le même ordre que celui dans lequel ils sont apparus ci-dessus lorsque vous avez consulté les informations analytiques et sur les groupes de consommateurs actuelles. Vous devrez peut-être les spécifier en tant que standbyUUID,masterUUID.
La propriété
datastores
pourconsumer-groups
doit maintenant être vide. - Supprimez l'ancien nœud maître et les nœuds de secours du groupe d'analyse :
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 propriété
postgres-server
sousuuids
devrait maintenant être vide. - Enregistrez les nouveaux nœuds maître et de secours de PG auprès des groupes d'analyse et de consommateurs:
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
- Validez le groupe d'analyse :
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Les UUID des nouveaux nœuds maître et de secours devraient s'afficher dans le groupe d'analyse et le groupe de consommateurs.
- Redémarrez le serveur de gestion Edge :
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Redémarrez tous les serveurs Qpid :
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Redémarrez tous les serveurs Postgres :
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Vérifiez l'état de la réplication en exécutant les scripts suivants sur les deux serveurs. Le système doit afficher des résultats identiques sur les deux serveurs pour garantir la réussite de la réplication:
Sur le nouveau maître, exécutez:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Vérifiez qu'il s'agit du maître. Sur l'ancien nœud de secours :
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Vérifiez qu'il s'agit bien du mode veille.
- Répétez l'étape précédente après avoir envoyé plusieurs requêtes API pour vous assurer que les nœuds sont synchronisés.
- Décommissionnez l'ancien maître Postgres en suivant la procédure décrite dans Mettre à jour Apigee Edge 4.16.01/4.16.05 vers la version 4.17.09.
Vous pouvez également désinstaller Qpid de l'ancien nœud maître et installer Qpid sur le nouveau nœud maître. Après avoir désinstallé Qpid, vous pouvez mettre hors service l'ancien nœud maître.
Rétablir mTLS
Pour annuler la mise à jour du mTLS, procédez comme suit sur tous les hôtes:
- Arrêtez Apigee :
apigee-all stop
- Arrêter mTLS :
apigee-service apigee-mtls uninstall
- Réinstallez mTLS :
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf