Rollback d'Apigee Edge 4.52.02

Si vous rencontrez une erreur lors de la mise à jour vers Edge 4.52.02, vous pouvez annuler le composant à l'origine de l'erreur, puis réessayer la mise à jour.

Vous pouvez revenir à la version majeure suivante d'Edge 4.52.02:

  • Version 4.52.01
  • Version 4.52.00
  • Version 4.51.00

La réversion d'une version implique la réversion de tous les composants que vous avez peut-être mis à niveau. En outre, en fonction de la version à partir de laquelle vous avez commencé, vous devrez peut-être prendre en compte des considérations particulières avant de rétablir certains composants logiciels. Le tableau ci-dessous liste les différents logiciels pour lesquels des étapes spéciales peuvent être nécessaires lors du rollback:

Effectuer un rollback vers la version Considérations particulières concernant les logiciels
4.52.01 Cassandra
4.52.00 Cassandra, Zookeeper, Qpid
4.51.00 Cassandra, Zookeeper, Qpid, Postgres

Vous pouvez effectuer un rollback dans deux cas:

  1. Effectuer un rollback vers une version majeure ou mineure précédente Par exemple, de la version 4.52.02 à la version 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 en savoir plus, consultez le processus de publication d'Apigee Edge.

Ordre de rollback

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

L'ordre général de rollback typique pour Private Cloud 4.52.02 se présente comme suit:

  1. Rétablir Postgres, Qpid et d'autres composants liés aux analyses
  2. Rétablir les routeurs et les processeurs de messages
  3. Rollback Cassandra, Zookeeper
  4. Serveur de gestion de rollback

Par exemple, imaginons que vous ayez 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 souhaitiez effectuer un rollback. Dans ce cas, procédez comme suit:

  1. Rétablir toutes les RMP une par une
  2. Rétablir l'intégralité du cluster Cassandra à l'aide de sauvegardes
  3. Rétablir les nœuds du serveur de gestion Edge un par un

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.

Retour en arrière de Cassandra

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

Méthodes de rollback

Effacer et utiliser les nœuds existants du cluster pour reconstruire le nœud

Vous pouvez suivre cette procédure si vous disposez d'au moins un centre de données entièrement fonctionnel dans le cluster 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 la section Effacer et restaurer une sauvegarde ou un instantané de VM.

Procédure de rollback

  1. Commencez par le nœud que vous souhaitez annuler:
    • 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 bootstrap de l'ancienne version d'Edge pour le cloud privé vers laquelle vous souhaitez effectuer le rollback.

    Exemple:Pour revenir à la version 4.52.01,

    • Téléchargez le bootstrap 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écutez le bootstrap 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 recréation sur le nœud en fournissant 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 annuler, un par un.
  2. Une fois tous les nœuds annulés et reconstruits:
    • Exécutez la configuration de n'importe quel nœud de serveur de gestion. Assurez-vous que le serveur de gestion provient de la version 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-la également:
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • Désinstallez le serveur de gestion:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • Téléchargez et exécutez le bootstrap de l'ancienne version. Par exemple, procédez comme suit pour télécharger et exécuter le bootstrap 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 la recompilation

Dans les étapes ci-dessus, toutes les données du nœud sont diffusées à partir du centre de données distant lors de la recréation. Vous pouvez optimiser ce processus en utilisant une réparation une fois que tous les réplicas ont été diffusés vers le centre de données local. Cela évite le streaming entre les datacenters et devrait être plus rapide que de reconstruire tous les nœuds à partir d'un datacenter distant.

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

  1. Suivez la procédure jusqu'à l'étape 6, comme indiqué dans la documentation, pour reconstruire les réplicas dans le centre de données local.
  2. Pour les nœuds restants, suivez les étapes ci-dessous une par une.
    • Restaurez la sauvegarde que vous avez effectuée sur ce nœud (remarque: cette sauvegarde contiendra probablement des données obsolètes, car elle a été effectuée avant que vous ne commenciez la mise à niveau de 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 dernières données puissent être diffusées à partir d'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 3 à 6 pour chaque nœud que vous souhaitez réparer.

Effacer et restaurer une sauvegarde/un instantané 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 au nœud. Il n'est pas possible de restaurer une sauvegarde effectuée à partir d'un nœud vers un autre. Les sauvegardes Cassandra incluent des informations de métadonnées de nœud (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 le bootstrap de l'ancienne version d'Edge pour Private Cloud à laquelle vous souhaitez revenir.

    Exemple: Pour revenir à la version 4.52.01

    • Téléchargez le bootstrap 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écutez le bootstrap 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 la 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 une 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 les étapes sur chaque nœud Cassandra, une par une.
    • 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 Zookeeper 3.8.3

Si vous effectuez un rollback vers les versions 4.52.00 ou 4.51.00, vous devrez suivre certaines étapes spéciales avant de faire un rollback de Zookeeper. Ces étapes sont décrites dans la section Rollback (Rétrogradation).

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.

Rollback Qpid

Si vous effectuez un rollback vers les versions 4.52.00 ou 4.51.00, vous devrez suivre certaines étapes spéciales avant de rétablir Qpid. Ces étapes sont décrites dans la section Rollback (Rétrogradation).

Si vous effectuez un rollback vers la version 4.52.01, effectuez un rollback de 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.

Annuler la mise à jour de Postgres 10.17

Si vous effectuez un rollback vers la version 4.51.00, vous devrez suivre certaines étapes spéciales avant de rétablir Postgres. Ces étapes sont décrites dans la section Rollback (Rétrogradation).

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 de la version à laquelle vous souhaitez effectuer un rollback:

    • Pour effectuer un rollback vers 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 effectuer un rollback :
    1. Pour annuler l'un des composants avec 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
    2. Pour annuler le rollback de tout autre composant du nœud, arrêtez uniquement ce composant:
      /opt/apigee/apigee-service/bin/apigee-service component stop
  3. 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
  4. Désinstallez le composant à annuler sur le nœud :
    1. Pour annuler 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
    2. Pour annuler tout autre composant du 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 annuler la mise à niveau du routeur Edge, vous devez supprimer le contenu du fichier /opt/nginx/conf.d en plus de 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 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 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.

  7. Installez 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 votre fichier de configuration pour l'ancienne version.

  9. Si vous annulez Qpid, videz iptables:
    sudo iptables -F
  10. 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 correctif précédente

Pour rétablir un composant à 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 du 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 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
  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 vous ne devez spécifier que le nom du composant lors de son installation, et non sa version.

  3. Répétez cette procédure pour chaque nœud qui héberge le composant que vous annulez.

Rétablir mTLS

Pour annuler la mise à jour du mTLS, procédez comme suit sur tous les hôtes:

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