Revertir Apigee Edge 4.18.05

Edge for Private Cloud v4.18.05

Si encuentras un error durante una actualización a Edge 4.18.05, puedes revertir el y, luego, intenta realizar la actualización nuevamente.

Puedes revertir Edge 4.18.05 a las siguientes versiones de actualización de funciones:

  • Versión 4.18.01
  • Versión 4.17.09*
  • Versión 4.17.05*

* Para revertir de 4.18.05 a 4.17.09 o 4.17.05, debes revertir Postgres y revertir los componentes en cada nodo. Si reviertes a la versión 4.18.01, no es necesario que reviertas Postgres como la actualización no incluyó una actualización de Postgres.

Hay dos situaciones en las que es posible que desees realizar una reversión:

  1. Revierte a una versión de funciones anterior. Por ejemplo, de del 4/18/05 al 4/18/01
  2. Revierte a una versión actualizada anterior en la misma versión. Para ejemplo, de 4.18.05.02 a 4.18.05.01.

Para obtener más información, consulta la versión de Apigee Edge .

Quién puede realizar una reversión

El usuario que realiza la reversión debe ser el mismo que el que actualizó Edge originalmente. usuario que se ejecuta con permisos de administrador.

De forma predeterminada, los componentes de Edge se ejecutan como el usuario “apigee”. En algunos casos, es posible que ejecutes Edge componentes como usuarios diferentes. Por ejemplo, si el router tiene que acceder a puertos con privilegios, como inferiores a 1,000, debes ejecutar el router como raíz o como un usuario con acceso a esos puertos. También puedes ejecutar un componente como un usuario y otro 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 instalados el servidor de administración, el router y el procesador de mensajes en para revertir cualquiera de ellos, debes revertir los tres.

Revierte a una versión de funciones anterior

Para revertir de 4.18.05 a 4.17.09 o 4.17.05, debes revertir Postgres, además de revertir los componentes cada nodo. Si reviertes desde la versión 4.18.01, no es necesario que reviertas Postgres como la actualización no incluyó una actualización de Postgres.

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 quieres lanzar la versión. atrás:

    • Para revertir a la versión 4.18.01, descarga bootstrap_4.18.01.sh:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • Para revertir a la versión 4.17.09, descarga bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
    • Para revertir a la versión 4.17.05, descarga bootstrap_4.17.05.sh:
      curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh 
  2. Detén el componente para revertirlo:
    1. Para revertir cualquiera de los componentes con código común en el debes detenerlas a todas, 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 en el nodo, detén solo ese componente:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Si quieres revertir la monetización, desinstálala de todos los servidores de administración y de mensajes. Nodos del procesador:
    /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 desinstalar todos al desinstalar el edge-gatewaycomponente 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, ya que que se muestra a continuación:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Donde component es el nombre del componente.

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

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

    Si recibes un error, asegúrate de que descargaste 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

    Donde component es el componente que se debe instalar y configFile es el de Terraform para la versión anterior.

  9. Si estás revirtiendo Qpid, limpia las iptables:
    sudo iptables -F
  10. Repite este proceso con cada nodo que aloje el componente que estás revirtiendo.

Para revertir de 4.18.05 a 4.17.09 o 4.17.05, debes revertir Postgres, además de revertir los componentes cada nodo. Si reviertes desde la versión 4.18.01, no es necesario que reviertas Postgres como la actualización no incluyó una actualización de Postgres.

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 aloja el componente:

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

    Donde 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.17.09-0.0.3749 install

    Si usas el repositorio en línea de Apigee, puedes determinar el componente disponible 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 se especifica el nombre del componente cuando lo instalas, no la versión.

  3. Repite este proceso con cada nodo que aloje el componente que estás revirtiendo.

Para revertir de 4.18.05 a 4.17.09 o 4.17.05, debes revertir Postgres, además de revertir los componentes cada nodo. Si reviertes desde la versión 4.18.01, no es necesario que reviertas Postgres como la actualización no incluyó una actualización de Postgres.

Revierte la actualización de Postgres 9.6

Si actualizaste a la versión 4.18.05 desde la versión 4.17.05 o 4.17.09, debes revertir el actualización de Postgres, además de los componentes de Edge.

Para revertir la actualización de Postgres cuando se actualiza Postgres en una configuración de espera de instancia principal, haz lo siguiente:

  • Asciende el nodo en espera nuevo para que se convierta en la instancia principal de Postgres. La nueva instancia principal de Postgres será en la misma versión que la instalación anterior de Edge.
  • Configura el nodo en espera anterior para que sea un nodo en espera de la nueva instancia principal. El nodo en espera anterior será la misma versión que la instalación anterior de Edge.
  • Registra los nodos principales y de reserva nuevos con los grupos de consumidores y de estadísticas.

Cuando hayas terminado con la reversión, el nodo de la instancia principal anterior ya no será necesario. Puedes y, luego, retirará 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 esté detenido en el nodo principal anterior y en el nodo en espera anterior:
    /opt/apigee/apigee-service/bin/apigee-all status

    Si Postgres se está ejecutando, detenlo:

    /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 en espera anterior:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Asciende el nodo en espera nuevo como la instancia principal de Postgres:
    1. Asciende el nodo en espera nuevo para que sea la nueva instancia principal:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Si se le solicita, ingrese la contraseña de Postgres para el permiso de usuario, que tiene como valor predeterminado “postgres”.

    2. Edita el archivo de configuración que usaste para instalar tu versión actual de Edge y especifica el parámetro 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 la nueva instancia principal:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Vuelve a compilar el nodo en espera anterior:
    1. Edita el archivo de configuración que usaste para instalar tu versión actual de Edge y especifica el parámetro 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 en espera 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 de la nueva instancia 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 en espera anterior:
      /opt/apigee/apigee-service/bin/apigee-all status

      Si no se está ejecutando, inícialo:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Verifica que el nodo en espera nuevo se haya agregado. Para ello, consulta el /opt/apigee/apigee-postgresql/conf/pg_hba.conf en la nueva instancia principal.
  7. Ejecuta el siguiente comando para consultar las estadísticas actuales y la información de los grupos de consumidores en el servidor de administración:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Este comando devuelve el nombre del grupo de análisis en el campo name, y el nombre del grupo de consumidores en el campo name de consumer-groups. También devuelve los UUID de los nodos principales y en espera de Postgres en la postgres-server y en el campo datastores. Deberías ver 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" : {
      }
    }
  8. Para obtener la dirección de UUID de la instancia principal anterior, ejecuta el siguiente comando curl en el nodo 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"
  9. Repite el paso anterior para obtener las direcciones IP del nodo en espera anterior y del nodo nuevo principal.
  10. Quita los nodos principales anteriores y en espera 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 las de Google Analytics y grupos de consumidores. masterUUID,standbyUUID están en el mismo orden en que apareció arriba cuando consultaste las estadísticas actuales y la información de grupos de consumidores arriba. Tú podría tener que especificarlos como standbyUUID,masterUUID.

    Ahora, la propiedad datastores para consumer-groups debería ser vacío.

  11. Quita los nodos principales y de 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 en uuids ahora debería estar vacía.

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

    Deberías ver los UUID de los nodos principales y de reserva nuevos en la lista del grupo de estadísticas y el grupo de consumidores.

  14. Reinicia el servidor de administración perimetral:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Reinicia todos los servidores Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Reinicia todos los servidores de Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Verifica el estado de replicación mediante la emisión de las siguientes secuencias de comandos en ambos servidores. El sistema debe mostrar resultados idénticos en ambos servidores para garantizar una replicación correcta:

    En la nueva instancia principal, ejecuta el siguiente comando:

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

    Valida que indique que es la instancia principal. En el nodo en espera anterior, haz lo siguiente:

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

    Valida que indique que es el modo de espera.

  18. Repite el paso anterior después de realizar varias solicitudes a la API para asegurarte de que los nodos estén en la sincronización.
  19. Retira el maestro de Postgres antiguo con el procedimiento en Actualiza Apigee Edge 4.16.01/4.16.05 a 4.17.09

    De manera alternativa, puedes desinstalar Qpid de la instancia principal anterior y instalar Qpid en el nuevo nodo principal Después de desinstalar Qpid, puedes retirar el nodo principal anterior.

Desinstalar Qpid de la instancia principal anterior e instalar Qpid en la nueva instancia principal

Para desinstalar Qpid de la instancia principal anterior e instalarlo en la nueva, sigue estos pasos:

  1. Impedir que los procesadores de mensajes accedan al puerto Qpid 5672 en la instancia principal anterior ejecutando el siguiente comando en todos los Message Processor:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Ejecuta el siguiente comando para asegurarte de que la cola de mensajes de Qpid esté vacía. No puedes desinstalar Qpid hasta que haya procesado todos los mensajes pendientes:
    qpid-stat -q

    Con este comando, se muestra una tabla que contiene un recuento de msg, msgIn, and msgOut. Se habrán procesado todos los mensajes el msg=0, y msgIn=msgOut.

  3. Determina el UUID del servidor Qpid en la instancia principal anterior ejecutando el siguiente comando en el antiguo maestro. Guarda esta información para más adelante en el procedimiento:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Detén Qpid en la instancia principal anterior:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Desinstalar servidor Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Quita el servidor Qpid anterior de los grupos de consumidores y de Analytics:
    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. Quita el servidor Qpid anterior de Zookeeper:
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Instala Qpid en la nueva instancia principal:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Para determinar el UUID del servidor Qpid en la instancia principal nueva, ejecuta el siguiente comando en el nuevo maestro. Guarda esta información para más adelante en el procedimiento:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Registra el nuevo servidor Qpid con los grupos de consumidores y de estadísticas:
    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. Reinicia todos los procesadores de mensajes:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Ejecuta el siguiente comando en el nuevo servidor Qpid para comprobar que se hayan creado las colas:
    qpid-stat -q

    Asegúrate de ver que msg, msgIn y msgOut son se actualizan a medida que el servidor Qpid procesa los mensajes.

Comunícate con el equipo de asistencia de Apigee Edge si tienes problemas al realizar reversiones.