Effectuer un rollback vers Apigee Edge 4.18.05

Edge pour Private Cloud v4.18.05

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

Vous pouvez effectuer un rollback d'Edge 4.18.05 vers les versions de version suivantes:

  • Version
  • Version 4.17.09*
  • Version 4.17.05*

* Pour effectuer un rollback de la version 4.18.05 vers la version 4.17.09 ou 4.17.05, vous devez effectuer le rollback de Postgres en plus des composants chaque nœud. Si vous effectuez un rollback vers la version 4.18.01, vous n'avez pas besoin d'effectuer un rollback de Postgres comme ne comprenait pas de mise à jour Postgres.

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

  1. Effectuer un rollback vers une version de fonctionnalité précédente Par exemple, du 4.18.05 au 4.18.01.
  2. Effectuer un rollback vers une version de mise à jour précédente de la même version Pour par exemple de 4.18.05.02 à 4.18.05.01.

Pour plus d'informations, voir Version d'Apigee Edge processus.

Qui peut effectuer un rollback

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

Par défaut, les composants Edge s'exécutent en tant qu'utilisateur "apigee". Dans certains cas, vous pouvez exécuter Edge composants en tant que différents utilisateurs. 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 que racine ou en tant qu'utilisateur ayant accès à ces . 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 un rollback de l'une ces composants sur un nœud, vous devez effectuer un 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. Pour effectuer le rollback de l'un d'entre eux, vous devez effectuer le rollback tous les trois.

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

Pour effectuer un rollback de la version 4.18.05 vers la version 4.17.09 ou 4.17.05, vous devez effectuer le rollback de Postgres en plus d'effectuer le rollback des composants chaque nœud. Si vous effectuez un rollback depuis la version 4.18.01, vous n'avez pas besoin d'effectuer un rollback de Postgres comme la mise à niveau ne comprenait pas de mise à jour Postgres.

Pour effectuer un rollback vers une version de fonctionnalité précédente, procédez comme suit sur chaque nœud qui héberge la version composant:

  1. Téléchargez le fichier bootstrap.sh correspondant à la version à déployer retour:

    • Pour revenir à la version 4.18.01, téléchargez bootstrap_4.18.01.sh:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • Pour revenir à la version 4.17.09, téléchargez bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
    • Pour revenir à la version 4.17.05, téléchargez bootstrap_4.17.05.sh:
      curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh 
  2. Arrêtez le composant à restaurer: <ph type="x-smartling-placeholder">
      </ph>
    1. Pour effectuer le rollback de l'un des composants avec du code commun sur le 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 effectuer un rollback vers un autre composant du nœud, arrêtez uniquement ce composant: <ph type="x-smartling-placeholder">
        </ph>
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Si vous effectuez un rollback de la monétisation, désinstallez-la de l'ensemble du serveur de gestion et des messages Nœuds de processeur:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Désinstallez le composant pour effectuer un rollback sur le nœud: <ph type="x-smartling-placeholder">
      </ph>
    1. Pour effectuer le rollback de l'un des composants avec du code commun sur le vous devez tous les désinstaller en désinstallant le composant edge-gateway. , comme le montre l'exemple suivant:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Pour effectuer le rollback d'un autre composant du nœud, désinstallez-le uniquement, l'exemple suivant montre:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      component est le nom du composant.

    3. Pour effectuer un rollback de Edge Router, vous devez supprimer le contenu du /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.18.05 de apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Installez la version 4.18.01, 4.17.09 ou 4.17.05 de apigee-service. utilitaire et ses dépendances. L'exemple suivant installe la version 4.17.09 du apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.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. 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 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.

Pour effectuer un rollback de la version 4.18.05 vers la version 4.17.09 ou 4.17.05, vous devez effectuer le rollback de Postgres en plus d'effectuer le rollback des composants chaque nœud. Si vous effectuez un rollback depuis la version 4.18.01, vous n'avez pas besoin d'effectuer un rollback de Postgres comme la mise à niveau n'incluait pas de mise à jour Postgres.

Effectuer un rollback vers une version de mise à jour précédente

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

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

    component_version correspond au composant et à la version de mise à jour à installer. Par exemple :

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

    Si vous utilisez le dépôt en ligne Apigee, vous pouvez déterminer le composant disponible à l'aide de la commande suivante:

    yum --showduplicates list comp

    Exemple :

    yum --showduplicates list edge-ui
  2. 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, 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.

Pour effectuer un rollback de la version 4.18.05 vers la version 4.17.09 ou 4.17.05, vous devez effectuer le rollback de Postgres en plus d'effectuer le rollback des composants chaque nœud. Si vous effectuez un rollback depuis la version 4.18.01, vous n'avez pas besoin d'effectuer un rollback de Postgres comme la mise à niveau ne comprenait pas de mise à jour Postgres.

Effectuer un rollback de la mise à jour Postgres 9.6

Si vous êtes passé de la version 4.17.05 ou 4.17.09 à la version 4.18.05, vous devez effectuer un rollback de votre Mise à jour de Postgres en plus des composants Edge.

Pour annuler la mise à jour de Postgres dans une configuration de secours principal:

  • Convertissez le nouveau nœud de secours en nœud maître Postgres. Le nouveau nœud maître Postgres sera la même version que votre installation Edge précédente.
  • Configurez l'ancien nœud de secours pour en faire un nœud de secours du nouveau nœud maître. L'ancien nœud de secours sera la même version que votre installation Edge précédente.
  • Enregistrez les nouveaux nœuds maîtres 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 puis mettez l'ancien nœud maître hors service.

  1. 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
  2. Vérifiez 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
  3. S'il est installé, démarrez Qpid sur l'ancien nœud de secours:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Promouvez le nouveau nœud de secours en tant que maître Postgres: <ph type="x-smartling-placeholder">
      </ph>
    1. Faites passer le nouveau nœud de secours en 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 pour "apigee". utilisateur, dont la valeur par défaut est "postgres".

    2. Modifiez le fichier de configuration que vous avez utilisé pour installer votre version actuelle d'Edge pour 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
    3. Configurez le nouveau maître:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Recréez l'ancien nœud de secours: <ph type="x-smartling-placeholder">
      </ph>
    1. Modifiez le fichier de configuration que vous avez utilisé pour installer votre version actuelle d'Edge pour 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
    2. Supprimez le répertoire de données de l'ancien nœud de secours:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Reconfigurez l'ancien nœud de secours pour en faire un nœud de secours du nouveau maître:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Vérifiez que Postgres est en cours d'exécution sur l'ancien nœud de secours:
      /opt/apigee/apigee-service/bin/apigee-all status

      S'il n'est pas en cours d'exécution, démarrez-le:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Vérifiez que le nouveau nœud de secours a été ajouté en affichant le /opt/apigee/apigee-postgresql/conf/pg_hba.conf sur le nouveau maître.
  7. Affichez les informations actuelles sur les données analytiques et les groupes de consommateurs 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 nom du groupe de consommateurs dans le champ name sous consumer-groups. Il y a aussi renvoie les UUID des anciens nœuds maîtres et nœuds de secours Postgres dans le dans les champs postgres-server et datastores. Vous devriez voir sous la forme suivante:

    {
      "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" : {
      }
    }
  8. 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

    L'UUID du nœud doit s'afficher à la fin du résultat, sous la forme suivante:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. 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.
  10. Supprimez les anciens nœuds maîtres et de secours du groupe client:
    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

    axgroup-001 et consumer-group-001 sont les noms par défaut du l'analyse et les groupes de consommateurs. Les masterUUID,standbyUUID sont dans le même ordre que apparaît ci-dessus lorsque vous avez consulté les informations actuelles sur les données analytiques et les groupes de consommateurs. Toi vous devrez peut-être les spécifier en tant que standbyUUID,masterUUID.

    La propriété datastores pour consumer-groups doit maintenant être vide.

  11. Supprimez les anciens nœuds maîtres et 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 sous uuids doit maintenant être vide.

  12. Enregistrez les nouveaux nœuds maîtres et de secours de PG avec les 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
  13. Validez le groupe d'analyse:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Les UUID des nouveaux nœuds maîtres et de secours devraient apparaître dans le groupe d'analyse. et le groupe de consommateurs.

  14. Redémarrez le serveur de gestion Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Redémarrez tous les serveurs Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Redémarrez tous les serveurs Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Vérifiez l'état de la réplication en émettant 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 nœud maître, exécutez la commande suivante:

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

    Vérifiez qu'il s'agit de l'instance 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 de l'instance de secours.

  18. Répétez l'étape précédente après avoir effectué plusieurs requêtes API pour vous assurer que les nœuds sont dans synchro.
  19. Mettez l'ancien système Postgres hors service en suivant la procédure décrite dans Mettre à jour Apigee Edge 4.16.01/4.16.05 vers 4.17.09.

    Vous pouvez également désinstaller Qpid de l'ancienne instance maître et installer Qpid sur le nouveau nœud maître. Après avoir désinstallé Qpid, vous pouvez mettre l'ancien nœud maître.

Désinstaller Qpid de l'ancienne instance maître, puis installer Qpid sur la nouvelle instance

Pour désinstaller Qpid de l'ancienne instance maître et l'installer sur le nouveau, procédez comme suit:

  1. Bloquez l'accès au port Qpid 5672 de l'ancien maître pour que les processeurs de messages ne puissent pas y accéder en en exécutant la commande suivante sur tous les processeurs de messages:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Assurez-vous que la file d'attente de messages Qpid est vide en exécutant la commande suivante. Vous ne pouvez pas désinstallez Qpid jusqu'à ce que tous les messages en attente aient été traités:
    qpid-stat -q

    Cette commande affiche une table contenant un nombre pour msg, msgIn, and msgOut. Tous les messages auront été traités le msg=0, et msgIn=msgOut.

  3. Déterminez l'UUID du serveur Qpid sur l'ancien maître en exécutant la commande suivante sur l'ancien maître. Enregistrez ces informations pour pouvoir les utiliser ultérieurement dans la procédure:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Arrêtez Qpid sur l'ancienne instance maître:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Désinstallez le serveur Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Supprimez l'ancien serveur Qpid des groupes d'analyse et de consommation:
    curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. Supprimez l'ancien serveur Qpid de Zookeeper:
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Installez Qpid sur le nouveau nœud maître:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Déterminez l'UUID du serveur Qpid sur le nouveau maître en exécutant la commande suivante sur la nouvelle instance maître. Enregistrez ces informations pour pouvoir les utiliser ultérieurement dans la procédure:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Enregistrez le nouveau serveur Qpid 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=qpid_UUID&type=qpid-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/consumers?uuid=qpid_UUID" -v
  11. Redémarrez tous les processeurs de messages:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Exécutez la commande suivante sur le nouveau serveur Qpid pour vérifier que les files d'attente ont bien été créées:
    qpid-stat -q

    Assurez-vous que msg, msgIn et msgOut sont en cours mis à jour lorsque le serveur Qpid traite les messages.

Contactez l'assistance Apigee Edge si vous rencontrez des problèmes lors d'un rollback.