Rollback d'Apigee Edge 4.52.02

Si vous rencontrez une erreur lors d'une mise à jour vers Edge 4.52.02, vous pouvez effectuer un rollback du composant à l'origine de l'erreur, puis relancer la mise à jour.

Vous pouvez effectuer un rollback d'Edge 4.52.02 vers les versions majeures suivantes:

  • Version
  • Version 4.52.00
  • Version 4.51.00

Effectuer le rollback d'une version implique le rollback de tous les composants que vous avez mis à niveau. De plus, selon la version à partir de laquelle vous avez démarré, vous devrez peut-être tenir compte de considérations particulières avant d'effectuer un rollback de certains composants logiciels. Le tableau ci-dessous liste les différents logiciels pour lesquels une procédure spéciale peut être nécessaire lors du rollback:

Rétablir la version Attention particulière aux logiciels
4.52.01 Cassandra
4.52.00 Cassandra, ZooKeeper, Qpid
4.51.00 Cassandra, Zookeeper, Qpid, Postgres

Il existe deux scénarios dans lesquels vous pouvez effectuer un rollback:

  1. Effectuer un rollback vers une version majeure ou mineure précédente (par exemple, de 4.52.02 à 4.52.00).
  2. Effectuez un rollback vers une version de correctif précédente de la même version. Par exemple, de 4.52.00.02 à 4.52.00.01.

Pour plus d'informations, voir Processus de publication Apigee Edge.

Ordre du rollback

Le rollback doit être effectué dans l'ordre inverse de la mise à niveau des composants, à l'exception des serveurs de gestion qui doivent être annulés après Cassandra.

L'ordre général de rollback pour le cloud privé 4.52.02 se présente comme suit:

  1. Effectuer un rollback de Postgres, de Qpid et d'autres composants d'analyse
  2. Routeurs de rollback et processeurs de messages
  3. Effectuer un rollback de Cassandra, ZooKeeper
  4. Serveur de gestion du rollback

Par exemple, disons que vous avez mis à niveau l'ensemble du cluster Cassandra, tous vos serveurs de gestion et quelques RMP vers la version 4.52.02 à partir de la version 4.52.01 et que vous souhaitez effectuer un rollback. Dans ce cas, procédez comme suit:

  1. Effectuer un rollback de tous les RMP un par un
  2. Effectuer un rollback de l'ensemble du cluster Cassandra à l'aide de sauvegardes
  3. Rollback Edge Management les nœuds de serveur un par un

Qui peut effectuer un rollback

L'utilisateur effectuant un rollback doit être l'utilisateur qui a initialement mis à jour Edge, ou un utilisateur exécuté en tant que racine.

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 l'exécuter en tant qu'utilisateur racine ou en tant qu'utilisateur ayant accès à ces ports. Vous pouvez également exécuter un composant en tant qu'utilisateur et un autre composant en tant qu'autre utilisateur.

Composants avec du 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 les composants qui se trouvent sur ce nœud.

  • edge-management-server (serveur de gestion)
  • edge-message-processor (processeur de messages)
  • edge-router (routeur)
  • edge-postgres-server (serveur Postgres)
  • 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 effectuer le rollback de l'un d'entre eux pour les trois.

Rollback de Cassandra

Lorsqu'une mise à niveau majeure de Cassandra est effectuée sur un nœud Cassandra particulier, il modifie le schéma des données stockées sur le nœud, rendant ainsi impossible un rollback direct. Il existe deux méthodes pour effectuer un rollback. Vous utiliserez l'une de ces méthodes en fonction de l'état de la mise à niveau à partir de laquelle vous effectuez le rollback.

Méthodologies de rollback

Effacer les nœuds existants du cluster et les reconstruire à l'aide de ceux-ci

Vous pouvez suivre cette procédure si le cluster comporte au moins un centre de données entièrement fonctionnel qui utilise toujours l'ancienne version de Cassandra (Cassandra 2.1.22). Si vous avez mis à niveau l'ensemble du cluster Cassandra et que vous souhaitez effectuer un rollback, vous devez suivre la procédure décrite dans Effacer et restaurer une sauvegarde ou un instantané de VM.

Procédure de rollback

  1. Commencez par le nœud sur lequel vous souhaitez effectuer un rollback:
    • Arrêtez Cassandra sur le nœud :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Désinstallez le logiciel Cassandra du nœud :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Supprimez le répertoire de données du nœud :
      rm -rf /opt/apigee/data/apigee-cassandra
    • Téléchargez et exécutez le démarrage de l'ancienne version d'Edge pour le cloud privé vers laquelle vous souhaitez effectuer un rollback.

    Exemple:Pour effectuer un rollback vers la version 4.52.01,

    • Télécharger l'amorçage de la version 4.52.01 :
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Exécuter l'amorçage de la version 4.52.01 :
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Configurez Cassandra sur le nœud :
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Exécutez la recompilation sur le nœud en indiquant le nom du centre de données fonctionnel :
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • Répétez les étapes ci-dessus sur chaque nœud que vous souhaitez restaurer, un par un.
  2. Une fois que tous les nœuds ont été annulés et recréés:
    • Exécutez la configuration de n'importe quel nœud du serveur de gestion. Assurez-vous que la version du serveur de gestion a bien été annulée. Si ce n'est pas le cas, effectuez également un rollback du serveur de gestion.
    • Arrêtez le serveur de gestion :
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Si vous utilisez la monétisation, désinstallez également cette fonctionnalité :
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • Désinstallez le serveur management-server :
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • Téléchargez et exécutez l'amorçage de l'ancienne version. Par exemple, procédez comme suit pour télécharger et exécuter l'amorçage de la version 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
    • Exécutez la configuration d'un nœud de serveur de gestion :
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Optimisation après recompilation

Dans les étapes ci-dessus, toutes les données du nœud sont diffusées depuis le centre de données distant pendant la recompilation. Vous pouvez optimiser ce processus en effectuant une réparation une fois que toutes les instances répliquées ont été transmises au centre de données local. Cela évite le streaming entre centres de données et devrait être plus rapide que de recréer tous les nœuds à partir d'un contrôleur de domaine distant.

Exemple:Supposons que vous avez six nœuds Cassandra dans le centre de données local. Par défaut, le facteur de réplication d'Apigee est de trois, de sorte que chaque nœud possède 50% des données. Dans ce cas, vous pouvez recompiler les nœuds 1 et 4 en suivant la procédure ci-dessus. Pour les nœuds n° 2, 3, 5 et 6, suivez les étapes ci-dessous afin de restaurer la sauvegarde et d'exécuter une réparation.

  1. Suivez la procédure jusqu'à l'étape 6 indiquée pour recréer des instances répliquées dans le centre de données local.
  2. Pour les nœuds restants, suivez les étapes ci-dessous pour chaque nœud restant, un par un.
    • Restaurez la sauvegarde que vous avez capturée sur ce nœud (remarque: cette sauvegarde contiendra probablement des données obsolètes, car elle a été effectuée avant le lancement de la mise à niveau Cassandra) :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Si vous disposez d'un instantané de VM du nœud, vous pouvez le restaurer au lieu de restaurer la sauvegarde Cassandra.
    • Une fois la sauvegarde restaurée, démarrez le service Cassandra sur le nœud :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Exécutez une réparation sur le nœud afin que les données les plus récentes puissent être diffusées depuis un centre de données existant :
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • Répétez les étapes trois à six sur chaque nœud que vous souhaitez réparer.

Effacer et restaurer l'instantané de sauvegarde/de VM

Cette procédure est la seule disponible si vous avez mis à niveau l'ensemble du cluster Cassandra et que vous souhaitez effectuer un rollback.

De plus, les sauvegardes Apigee sont spécifiques aux nœuds. Il est impossible de restaurer une sauvegarde effectuée d'un nœud à un autre. Les sauvegardes Cassandra incluent des informations sur les métadonnées des nœuds (comme l'adresse IP, la position de l'anneau, etc.).

  1. Commencez avec un seul nœud Cassandra dans le cluster:
    • Arrêtez le service Cassandra sur le nœud :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Désinstallez le logiciel Cassandra du nœud :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Supprimez le répertoire de données du nœud :
      rm -rf /opt/apigee/data/apigee-cassandra
    • Téléchargez et exécutez l'amorçage de l'ancienne version d'Edge pour Private Cloud vers laquelle vous souhaitez effectuer un rollback.

    Exemple: Pour effectuer un rollback vers la version 4.52.01

    • Télécharger l'amorçage de la version 4.52.01 :
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Exécuter l'amorçage de la version 4.52.01 :
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Configurez Cassandra sur le nœud :
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Restaurez une sauvegarde sur le nœud en suivant la procédure décrite dans Restaurer à partir d'une sauvegarde.
    • Arrêtez Cassandra sur le nœud :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Supprimez le répertoire de données :
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • Restaurer la sauvegarde :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Démarrez le service Cassandra sur le nœud :
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Répétez ces étapes sur chaque nœud Cassandra un par un.
    • Exécutez la réparation sur les nœuds un par un :
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Effectuer un rollback de la mise à jour de Zookeeper 3.8.3

Si vous effectuez un rollback vers la version 4.52.00 ou 4.51.00, vous devrez vous reporter à une procédure spéciale avant d'effectuer le rollback de Zookeeper. Ces étapes sont décrites dans la section Effectuer un rollback.

Si vous effectuez un rollback vers la version 4.52.01, effectuez un rollback de Zookeeper comme vous le feriez pour n'importe quel logiciel, comme indiqué dans la section Effectuer un rollback vers une version majeure ou mineure précédente ci-dessous.

Effectuer un rollback Qpid

Si vous effectuez un rollback vers les versions 4.52.00 ou 4.51.00, vous devrez vous reporter à des étapes particulières avant de procéder au rollback de Qpid. Ces étapes sont décrites dans la section Effectuer un rollback.

Si vous effectuez un rollback vers la version 4.52.01, effectuez un rollback Qpid comme vous le feriez pour n'importe quel logiciel comme indiqué dans la section Effectuer un rollback vers une version majeure ou mineure précédente.

Effectuer un rollback de la mise à jour de Postgres 10.17

Si vous effectuez un rollback vers la version 4.51.00, vous devrez vous référer à des étapes particulières avant de procéder au rollback de Postgres. Ces étapes sont décrites dans la section Effectuer un rollback.

Si vous effectuez un rollback vers la version 4.52.01 ou 4.52.00, effectuez un rollback de Postgres comme vous le feriez pour n'importe quel logiciel, comme indiqué dans la section Effectuer un rollback vers une version majeure ou mineure précédente ci-dessous.

Effectuer un rollback vers une version majeure ou mineure précédente

Pour effectuer un rollback vers une version majeure ou mineure précédente, procédez comme suit sur chaque nœud qui héberge le composant:

  1. Téléchargez le fichier bootstrap.sh correspondant à la version à restaurer:

    • Pour revenir à la version 4.51.00, téléchargez bootstrap_4.51.00.sh :
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. Arrêtez le composant pour lequel le rollback doit être effectué :
    1. Pour effectuer un rollback de l'un des composants avec du code commun sur le nœud, vous devez tous les arrêter, comme le montre 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
    2. Pour effectuer un rollback vers un autre composant du nœud, arrêtez uniquement ce composant :
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Si vous effectuez un rollback de 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
  4. Désinstallez le composant pour effectuer un rollback sur le nœud :
    1. Pour effectuer un rollback de l'un des composants avec du code commun sur le nœud, vous devez tous les désinstaller en désinstallant le groupe de composants edge-gateway, comme indiqué dans l'exemple suivant :
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Pour effectuer un rollback de n'importe quel autre composant sur le nœud, désinstallez uniquement ce composant, comme indiqué dans l'exemple suivant :
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      component est le nom du composant.

    3. Pour effectuer un rollback du routeur Edge, vous devez supprimer le contenu du fichier /opt/nginx/conf.d et désinstaller le groupe de composants edge-gateway :
      cd /opt/nginx/conf.d
       rm -rf *
  5. Désinstallez la version 4.52.02 de apigee-setup :
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installez la version 4.51.00 de l'utilitaire apigee-service et de ses dépendances. L'exemple suivant installe la version 4.51.00 de apigee-service :
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    uName et pWord correspondent au nom d'utilisateur et au mot de passe que vous avez reçus d'Apigee. Si vous omettez pWord, vous serez invité à le faire.

    Si un message d'erreur s'affiche, vérifiez que vous avez téléchargé le fichier bootstrap.sh à l'étape 1.

  7. Installer apigee-setup :
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Installez l'ancienne version du composant :
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    component est le composant à installer et configFile est le fichier de configuration pour l'ancienne version.

  9. Si vous effectuez un rollback de Qpid, videz iptables :
    sudo iptables -F
  10. Répétez cette procédure pour chaque nœud qui héberge le composant faisant l'objet d'un rollback.

Effectuer un rollback vers une version de correctif précédente

Pour effectuer le rollback d'un composant vers une version de correctif spécifique, procédez comme suit sur chaque nœud qui héberge le composant:

  1. Téléchargez la version spécifique du composant :
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    component_version correspond au composant et à la version de correctif à installer. Exemple :

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

    Si vous utilisez le dépôt en ligne Apigee, vous pouvez déterminer les versions des composants disponibles à l'aide de la commande suivante :

    yum --showduplicates list comp

    Exemple :

    yum --showduplicates list edge-ui
  2. Utilisez apigee-setup pour installer le composant :
    /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, lors de l'installation, vous indiquez uniquement le nom du composant, et non sa version.

  3. Répétez cette procédure pour chaque nœud qui héberge le composant faisant l'objet d'un rollback.

Effectuer un rollback mTLS

Pour effectuer un rollback de la mise à jour mTLS, procédez comme suit sur tous les hôtes:

  1. Arrêtez Apigee :
    apigee-all stop
  2. Arrêtez l'authentification mTLS :
    apigee-service apigee-mtls uninstall
  3. Réinstallez mTLS :
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf