Revertir Apigee Edge 4.51.00

Si encuentras un error durante una actualización a Edge 4.51.00, puedes revertir el componente que causó el error y, luego, volver a intentar la actualización.

Puedes revertir Edge 4.51.00 a las siguientes versiones de lanzamiento de funciones:

  • Versión 4.50.00
  • Versión 4.19.06

Existen dos situaciones en las que podrías querer realizar una reversión:

  1. Revierte a una versión de funciones anterior. Por ejemplo, de 4.51.00 a 4.50.00.
  2. Revierte a una versión de actualización anterior en la misma versión. Por ejemplo, de 4.50.00.02 a 4.50.00.01.

Para obtener más información, consulta el proceso de lanzamiento de Apigee Edge.

Quién puede realizar una reversión

El usuario que realiza una reversión debe ser el mismo que actualizó Edge originalmente o un usuario que se ejecuta como root.

De forma predeterminada, los componentes de Edge se ejecutan como el usuario "apigee". En algunos casos, es posible que ejecutes componentes de Edge como usuarios diferentes. Por ejemplo, si el router tiene que acceder a puertos con privilegios, como los que son inferiores a 1,000, debes ejecutar el router como root o como un usuario con acceso a esos puertos. También puedes ejecutar un componente como un usuario y otro componente como otro usuario.

Componentes con código común

Los siguientes componentes de Edge comparten código común. Por lo tanto, para revertir cualquiera de estos componentes en un nodo, debes revertir todos los componentes que se encuentran en ese nodo.

  • edge-management-server (servidor de administración)
  • edge-message-processor (procesador de mensajes)
  • edge-router (router)
  • edge-postgres-server (servidor de Postgres)
  • edge-qpid-server (servidor Qpid)

Por ejemplo, si tienes el servidor de administración, el router y el procesador de mensajes instalados en el nodo, para revertir cualquiera de ellos, debes revertir los tres.

Cómo revertir a una versión de funciones anterior

Para revertir a una versión de funciones anterior, haz lo siguiente en cada nodo que aloje el componente:

  1. Descarga el archivo bootstrap.sh de la versión a la que deseas revertir:

    • Para revertir a la versión 4.50.00, descarga bootstrap_4.50.00.sh:
      curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh 
    • Para volver a la versión 4.19.06, descarga bootstrap_4.19.06.sh:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh 
  2. Detén el componente para revertirlo:
    1. Para revertir cualquiera de los componentes con código común en el nodo, debes detenerlos todos, como se muestra en el siguiente ejemplo:
      /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. Para revertir cualquier otro componente del nodo, detén solo ese componente:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Si reviertes la Monetización, desinstálala de todos los nodos del servidor de administración y del procesador de mensajes:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Desinstala el componente para revertir el nodo:
    1. Para revertir cualquiera de los componentes con código común en el nodo, debes desinstalarlos todos. Para ello, desinstala el grupo de componentes edge-gateway, como se muestra en el siguiente ejemplo:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Para revertir cualquier otro componente del nodo, desinstala solo ese componente, como se muestra en el siguiente ejemplo:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      En el que component es el nombre del componente.

    3. Para revertir el router de borde, debes borrar el contenido del archivo /opt/nginx/conf.d, además de desinstalar el grupo de componentes edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Desinstala la versión 4.51.00 de apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Instala la versión 4.19.06 o 4.50.00 de la utilidad apigee-service y sus dependencias. En el siguiente ejemplo, se instala la versión 4.50.00 de apigee-service:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord
    .

    En el que uName y pWord son el nombre de usuario y la contraseña que recibiste de Apigee. Si omites pWord, se te pedirá que lo ingreses.

    Si recibes un error, asegúrate de haber descargado el archivo bootstrap.sh en el paso 1.

  7. Instala apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Instala la versión anterior del componente:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    En el que component es el componente que se instalará y configFile es tu archivo de configuración de la versión anterior.

  9. Si reviertes Qpid, borra iptables:
    sudo iptables -F
  10. Repite este proceso para cada nodo que aloje el componente que quieres revertir.

Cómo revertir a una versión de actualización anterior

Para revertir un componente a una versión específica de una versión, haz lo siguiente en cada nodo que aloje el componente:

  1. Descarga la versión específica del componente:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    En el que component_version es el componente y la versión de actualización que se instalará. Por ejemplo:

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

    Si usas el repositorio en línea de Apigee, puedes determinar las versiones de los componentes disponibles con el siguiente comando:

    yum --showduplicates list comp

    Por ejemplo:

    yum --showduplicates list edge-ui
  2. Usa apigee-setup para instalar el componente:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    Por ejemplo:

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    Ten en cuenta que solo debes especificar el nombre del componente cuando lo instales, no la versión.

  3. Repite este proceso para cada nodo que aloje el componente que quieres revertir.

Revierte la actualización de Postgres 10.17

Si actualizaste a la versión 4.51.00 desde la versión 4.19.06 o 4.50.00, debes revertir la actualización de Postgres, además de los componentes de Edge.

Para revertir la actualización de Postgres cuando lo actualizas en una configuración maestra-en espera, haz lo siguiente:

  • Asciende el nuevo nodo de reserva para que se convierta en el principal de Postgres. El nuevo maestro de Postgres será la misma versión que tu instalación anterior de Edge.
  • Configura el nodo en espera anterior para que sea un nodo en espera del nuevo nodo principal. El nodo de reserva anterior será la misma versión que la de tu instalación de Edge anterior.
  • Registra los nuevos nodos principales y en espera con los grupos de análisis y consumidores.

Cuando termines con la reversión, ya no será necesario el nodo principal anterior. Luego, puedes dar de baja el nodo principal anterior.

  1. Asegúrate de que el nuevo nodo de Postgres en espera se esté ejecutando:
    /opt/apigee/apigee-service/bin/apigee-all status

    Si Postgres no se está ejecutando, inícialo:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. Asegúrate de que Postgres se detenga en el nodo principal y en el nodo de reserva anterior:
    /opt/apigee/apigee-service/bin/apigee-all status

    Si Postgres se está ejecutando, deténlo:

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop

  3. Si está instalado, inicia Qpid en el nodo de reserva anterior:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Asciende el nuevo nodo en espera como el principal de Postgres:
    1. Asciende el nuevo nodo en espera para que sea el nuevo nodo principal:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Si se te solicita, ingresa la contraseña de Postgres para el usuario “apigee”, que es “postgres” de forma predeterminada.

    2. Edita el archivo de configuración que usaste para instalar la versión actual de Edge y especifica lo siguiente:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. Configura el nuevo elemento principal:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Si ya actualizaste el nodo de resguardo anterior a la versión más reciente, primero debes bajar de versión el software de Apigee en el nodo de resguardo anterior. Si aún tienes la versión anterior en el nodo de espera anterior, puedes omitir este paso y continuar con el paso 6.
    1. Detén Postgres en el nodo de espera anterior:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. Desinstala Postgres del nodo en espera anterior:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. Borra el directorio de datos de Postgres del nodo de espera anterior:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. Descarga y ejecuta el arranque de la versión anterior (para la versión de Apigee a la que te vas a revertir) en el nodo de reserva anterior. Los pasos exactos pueden variar según si usas una instalación en línea o sin conexión. Si ejecutas el inicio de la versión anterior de Apigee, se configurarán los repositorios de yum con datos de la versión anterior de Apigee.
    5. Configura los componentes de Postgres en el nodo de reserva anterior:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. Verifica que los componentes de Postgres en el nodo de espera anterior se hayan revertido a la versión anterior:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. Vuelve a compilar el nodo en espera anterior:
    1. Edita el archivo de configuración que usaste para instalar la versión actual de Edge y especifica lo siguiente:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. Quita el directorio de datos del nodo de resguardo anterior:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Vuelve a configurar el nodo en espera anterior para que sea un nodo en espera del nuevo nodo principal:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Asegúrate de que Postgres se esté ejecutando en el nodo de reserva anterior:
      /opt/apigee/apigee-service/bin/apigee-all status

      Si Postgres no se está ejecutando, inícialo:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. Para verificar que se haya agregado el nuevo nodo de reserva, consulta el archivo /opt/apigee/apigee-postgresql/conf/pg_hba.conf en el nuevo maestro.
  8. Ejecuta el siguiente comando en el servidor de administración para ver la información actual de las estadísticas y los grupos de consumidores:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Este comando muestra el nombre del grupo de estadísticas en el campo name y el nombre del grupo de consumidores en el campo name en consumer-groups. También muestra los UUIDs de los nodos principales y de reserva de Postgres anteriores en el campo postgres-server y en el campo datastores. Deberías ver el resultado en el siguiente formato:

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

  9. Ejecuta el siguiente comando curl en el nodo principal anterior para obtener la dirección UUID del principal anterior:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    Deberías ver el UUID del nodo al final del resultado, en el siguiente formato:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. Repite el paso anterior para obtener las direcciones IP del nodo de reserva anterior y del nuevo maestro.
  11. Quita los nodos principales y en espera antiguos del grupo de consumidores:
    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

    En el que axgroup-001 y consumer-group-001 son los nombres predeterminados de los grupos de consumidores y de estadísticas. masterUUID,standbyUUID están en el mismo orden en que aparecían cuando viste la información actual de las estadísticas y los grupos de consumidores. Es posible que debas especificarlos como standbyUUID,masterUUID.

    La propiedad datastores para consumer-groups ahora debería estar vacía.

  12. Quita los nodos principales y en espera anteriores del grupo de estadísticas:
    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 propiedad postgres-server de uuids ahora debería estar vacía.

  13. Registra nuevos nodos principales y en espera de PG con los grupos de análisis y consumidores:
    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
  14. Valida el grupo de estadísticas:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Deberías ver los UUIDs de los nuevos nodos principales y de reserva en el grupo de análisis y en el grupo de consumidores.

  15. Reinicia el servidor de administración de Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. Reinicia todos los servidores de Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. Reinicia todos los servidores de Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. Para verificar el estado de la replicación, emite las siguientes secuencias de comandos en ambos servidores. El sistema debería mostrar resultados idénticos en ambos servidores para garantizar una replicación exitosa:

    En el nuevo elemento principal, ejecuta lo siguiente:

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

    Verifica que sea el principal. En el nodo de espera activo anterior:

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

    Verifica que sea el modo de espera.

  19. Repite el paso anterior después de realizar varias solicitudes a la API para asegurarte de que los nodos estén sincronizados.
  20. Da de baja el maestro de Postgres anterior con el procedimiento que se indica en Cómo actualizar Apigee Edge 4.16.01/4.16.05 a 4.17.09.

    Como alternativa, puedes desinstalar Qpid del nodo principal anterior y instalarlo en el nuevo nodo principal. Después de desinstalar Qpid, puedes retirar el nodo maestro anterior.

Revierte la mTLS

Para revertir la actualización de mTLS, sigue estos pasos en todos los hosts:

  1. Detén Apigee:
    apigee-all stop
  2. Detener mTLS:
    apigee-service apigee-mtls uninstall
  3. Reinstalar mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf