4.18.01 Proceso de reversión

Edge for Private Cloud v4.18.01

Si se produce un error durante una actualización a Edge 4.18.01, puedes revertir el componente que causó el error y, luego, intenta realizar la actualización nuevamente. Por ejemplo, si la actualización a Postgres 9.6 falla, puedes revertir solo los nodos de Postgres y volver a intentar la actualización.

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

  1. Revertir a una versión anterior Por ejemplo, de 4.18.01 a 4.17.01.
  2. Revertir a una versión anterior en la misma versión

Usa el siguiente procedimiento para realizar una reversión en ambas situaciones.

Quién puede realizar la reversión

El usuario que realiza la reversión debe ser el mismo que el que actualizó Edge originalmente. o un usuario que se ejecute como raíz.

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.

Qué componentes se pueden revertir

Debes tener en cuenta las siguientes condiciones cuando realices una reversión:

  • Los cinco componentes de Edge que se mencionan a continuación comparten un código común. Por lo tanto, para revertir de los cinco componentes de un nodo, debes revertir cualquiera de los cinco instalados. Para 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.

    Los cinco componentes que comparten código son los siguientes:

    • Servidor de administración
    • Router
    • Message Processor
    • Servidor Qpid
    • Servidor de Postgres
  • Si estás actualizando desde Edge 4.16.01, no reviertas Cassandra. Esta de Edge contiene una versión actualizada de Cassandra. Si reviertes algún componente, deja Cassandra en la versión 4.18.01.

Revirtiendo el 18/4/01

Esta sección contiene el procedimiento para revertir Edge 4.18.01 a una versión anterior. Esta se divide en dos partes:

  • Revierte la actualización de Postgres
    La parte final de cada procedimiento de actualización es actualizar los nodos de Postgres a la versión 9.6. Si eso falla, puedes usar este procedimiento para revertirla.
  • Reversión de todos los demás componentes de Edge
    Usa este procedimiento para revertir cualquier otro componente de Edge.

Para revertir la actualización de Postgres 9.6

Para revertir la actualización de Postgres cuando se actualiza Postgres en una configuración de espera de instancia principal, tú:

  • 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. Obtén la dirección de UUID de la instancia principal anterior ejecutando el siguiente comando cURL en la versión anterior nodo principal:
    > 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. grupo de consumidores.

  14. Reinicia el servidor de administración perimetral:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Reiniciar 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

    Como alternativa, puedes desinstalar Qpid de la instancia principal anterior e instalar Qpid en la nueva. como se describe a continuación. Después de desinstalar Qpid, puedes retirar el antiguo archivo principal el nodo de inicio de sesión.

Qpid Uninstal del antiguo maestro e instala Qpid en el nuevo maestro

Usa el siguiente procedimiento para desinstalar Qpid de la instancia principal anterior e instalarlo en el nuevo instancia principal:

  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 se están actualizando como el servidor Qpid. procesa mensajes.

Para revertir componentes individuales de 4.18.01

Como parte de la reversión, debes descargar el archivo bootstrap.sh de tu Versión actual de Edge:

  • Para revertir a la versión 4.17.09, descarga bootstrap_4.17.09.sh
  • Para revertir a la versión 4.17.05, descarga bootstrap_4.17.05.sh
  • Para revertir a la versión 4.17.01, descarga bootstrap_4.17.01.sh
  • Para revertir a la versión 4.16.09, descarga bootstrap_4.16.09.sh
  • Para revertir a la versión 4.16.05, descarga bootstrap_4.16.05.sh
  • Para revertir a la versión 4.16.01, descarga bootstrap.sh

Para cada nodo que aloja un componente que se revierte:

  1. Detén el componente que quieres revertir:
    1. Si quieres revertir alguno de los siguientes componentes en el nodo, debes detenerlos todos: servidor de administración, router, procesador de mensajes, servidor Qpid o Postgres Servidor:
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. Si quieres revertir cualquier otro componente del nodo, detente solo eso. componente:
      • > apigee-service comp stop
  2. Si quieres revertir la monetización, desinstálala de todos los servidores de administración y de mensajes. Nodos del procesador:
    > apigee-service edge-mint-gateway uninstall
  3. Desinstala el componente para hacer una reversión en el nodo:
    1. Si quieres revertir alguno de los siguientes componentes en el nodo, desinstalarlos todos: servidor de administración, router, procesador de mensajes, servidor Qpid o Postgres Servidor:
      > apigee-service edge-gateway uninstall
    2. Si quieres revertir cualquier otro componente del nodo, desinstálalo. componente:
      > apigee-service comp uninstall
    3. Si estás revirtiendo el router, debes borrar el contenidos de /opt/nginx/conf.d:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. Para revertir el componente, haz lo siguiente:
    1. Desinstala la versión 4.18.01 de apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. Descarga bootstrap.sh para la versión deseada (por ejemplo, para 4.16.09):
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. Instala la utilidad apigee-service 4.16.01, 4.16.05 o 4.16.09 y dependencias. Por ejemplo, para 4.16.09:
      > sudo bash /tmp/bootstrap_4.16.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 pedirá que ingreses que la modifica.

    4. Instala apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Instala la versión deseada del componente:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      donde comp es el componente que se instalará y configFile es el de Terraform para la versión deseada.

    6. Si estás revirtiendo Qpid, limpia las iptables:
      > sudo iptables -F
  5. Para revertir el componente a una versión específica de la versión 4.18.01, haz lo siguiente:
    1. Descarga la versión del componente específico:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      En el ejemplo anterior, comp-version es el componente y la versió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 las versiones de 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 se especifica el nombre del componente cuando realizas la instalación.

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