Reverter o Apigee Edge 4.51.00

Se você encontrar um erro durante uma atualização para o Edge 4.51.00, poderá reverter o componente que causou o erro e tentar a atualização novamente.

É possível reverter o Edge 4.51.00 para as seguintes versões do lançamento de recursos:

  • Versão 4.50.00
  • Versão 4.19.06

Há dois cenários em que você pode querer fazer uma reversão:

  1. Reverter para uma versão de recurso anterior. Por exemplo, de 4.51.00 para 4.50.00.
  2. Reverter para uma versão de atualização anterior na mesma versão. Por exemplo, de 4.50.00.02 para 4.50.00.01.

Para mais informações, consulte o processo de lançamento do Apigee Edge.

Quem pode fazer uma reversão

O usuário que executa uma reversão precisa ser o mesmo que atualizou o Edge originalmente ou um usuário que esteja executando como raiz.

Por padrão, os componentes do Edge são executados como o usuário "apigee". Em alguns casos, você pode estar executando componentes do Edge como usuários diferentes. Por exemplo, se o roteador precisar acessar portas privilegiadas, como as abaixo de 1000, execute o roteador como raiz ou como um usuário com acesso a essas portas. Ou você pode executar um componente como um usuário e outro componente como outro usuário.

Componentes com código comum

Os componentes do Edge a seguir compartilham um código comum. Portanto, para reverter qualquer um desses componentes em um nó, é necessário reverter todos os componentes que estão nesse nó.

  • edge-management-server (servidor de gerenciamento)
  • edge-message-processor (processador de mensagens)
  • edge-router (roteador)
  • edge-postgres-server (Postgres Server)
  • edge-qpid-server (servidor Qpid)

Por exemplo, se você tiver o servidor de gerenciamento, o roteador e o processador de mensagens instalados no nó, para reverter qualquer um deles, você precisará reverter os três.

Reverter para uma versão de recurso anterior

Para reverter para uma versão anterior do recurso, faça o seguinte em cada nó que hospeda o componente:

  1. Faça o download do arquivo bootstrap.sh da versão para a qual você quer reverter:

    • Para reverter para a versão 4.50.00, faça o download de bootstrap_4.50.00.sh:
      curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh 
    • Para reverter para a versão 4.19.06, faça o download de bootstrap_4.19.06.sh:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh 
  2. Pare o componente para reverter:
    1. Para reverter qualquer um dos componentes com código comum no nó, é necessário interromper todos eles, conforme mostrado no exemplo a seguir:
      /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 reverter qualquer outro componente no nó, interrompa apenas esse componente:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Se você estiver revertendo a monetização, desinstale-a de todos os nós do servidor de gerenciamento e do processador de mensagens:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Desinstale o componente para reverter no nó:
    1. Para reverter qualquer um dos componentes com código comum no nó, desinstale todos eles desinstalando o grupo de componentes edge-gateway, conforme mostrado no exemplo a seguir:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Para reverter qualquer outro componente no nó, desinstale apenas esse componente, conforme mostrado no exemplo a seguir:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Em que component é o nome do componente.

    3. Para reverter o roteador de borda, exclua o conteúdo do arquivo /opt/nginx/conf.d e desinstale o grupo de componentes edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Desinstale a versão 4.51.00 do apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Instale a versão 4.19.06 ou 4.50.00 do utilitário apigee-service e as dependências dele. O exemplo a seguir instala a versão 4.50.00 do apigee-service:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

    Em que uName e pWord são o nome de usuário e a senha que você recebeu da Apigee. Se você omitir pWord, será solicitado que você o insira.

    Se você receber um erro, verifique se fez o download do arquivo bootstrap.sh na etapa 1.

  7. Instale apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Instale a versão mais antiga do componente:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    Em que component é o componente a ser instalado e configFile é o arquivo de configuração da versão mais antiga.

  9. Se você estiver revertendo o Qpid, limpe o iptables:
    sudo iptables -F
  10. Repita esse processo para cada nó que hospeda o componente que você está revertendo.

Reverter para uma versão anterior da atualização

Para reverter um componente para uma versão específica de uma versão, faça o seguinte em cada nó que hospeda o componente:

  1. Faça o download da versão específica do componente:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    Em que component_version é o componente e a versão de atualização a ser instalada. Por exemplo:

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

    Se você estiver usando o repositório on-line da Apigee, poderá determinar as versões de componentes disponíveis usando o seguinte comando:

    yum --showduplicates list comp

    Exemplo:

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

    Exemplo:

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

    Ao instalar, você especifica apenas o nome do componente, não a versão.

  3. Repita esse processo para cada nó que hospeda o componente que você está revertendo.

Reverter a atualização do Postgres 10.17

Se você fez upgrade para a versão 4.51.00 a partir da versão 4.19.06 ou 4.50.00, é necessário reverter a atualização do Postgres, além dos componentes do Edge.

Para reverter a atualização do Postgres em uma configuração mestre-standby:

  • Promova o novo nó de reserva para se tornar o mestre do Postgres. O novo mestre do Postgres será a mesma versão da instalação anterior do Edge.
  • Configure o antigo nó de espera para ser um nó de espera do novo mestre. O nó de reserva antigo será da mesma versão da instalação anterior do Edge.
  • Registre os novos nós mestre e de espera com os grupos de análise e de consumidores.

Quando você terminar a reversão, o nó mestre antigo não será mais necessário. Em seguida, desative o antigo nó mestre.

  1. Verifique se o novo nó do Postgres de reserva está em execução:
    /opt/apigee/apigee-service/bin/apigee-all status

    Se o Postgres não estiver em execução, inicie-o:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. Verifique se o Postgres está interrompido no antigo nó mestre e no antigo nó reserva:
    /opt/apigee/apigee-service/bin/apigee-all status

    Se o Postgres estiver em execução, interrompa-o:

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

  3. Se instalado, inicie o Qpid no antigo nó de reserva:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Promova o novo nó de espera como mestre do Postgres:
    1. Promova o novo nó de espera para ser o novo mestre:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Se solicitado, insira a senha do Postgres para o usuário "apigee", que é "postgres" por padrão.

    2. Edite o arquivo de configuração usado para instalar a versão atual do Edge para especificar o seguinte:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. Configure o novo mestre:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Se você já tiver feito upgrade do nó de reserva antigo para a versão mais recente, primeiro faça downgrade do software da Apigee no nó de reserva antigo. Se você ainda tiver a versão mais antiga no nó de espera antigo, pule esta etapa e continue com a etapa 6.
    1. Pare o Postgres no nó de reserva antigo:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. Desinstale o Postgres do nó de espera antigo:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. Exclua o diretório de dados do Postgres do nó de espera antigo:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. Faça o download e execute o bootstrap da versão mais antiga (para a versão do Apigee que você está revertendo) no nó de reserva antigo. As etapas exatas podem variar dependendo se você está usando a instalação com base na Internet ou off-line. A execução da versão anterior do bootstrap da Apigee vai configurar os repositórios do yum com dados da versão anterior da Apigee.
    5. Configure os componentes do Postgres no nó de reserva antigo:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. Verifique se os componentes do Postgres no nó de espera antigo foram revertidos para a versão mais antiga:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. Recrie o antigo nó de espera:
    1. Edite o arquivo de configuração usado para instalar a versão atual do Edge para especificar o seguinte:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. Remova o diretório de dados no nó de espera antigo:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Reconfigurar o antigo nó reserva para ser um nó reserva do novo mestre:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Verifique se o Postgres está em execução no antigo nó de reserva:
      /opt/apigee/apigee-service/bin/apigee-all status

      Se o Postgres não estiver em execução, inicie-o:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. Verifique se o novo nó reserva foi adicionado acessando o arquivo /opt/apigee/apigee-postgresql/conf/pg_hba.conf no novo mestre.
  8. Para conferir as informações atuais de análise e do grupo de consumidores, execute o seguinte comando no servidor de gerenciamento:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Esse comando retorna o nome do grupo de análise no campo name e o nome do grupo de consumidores no campo name em consumer-groups. Ele também retorna os UUIDs dos nós mestre e reserva antigos do Postgres nos campos postgres-server e datastores. Você vai ver a saída no formulário:

    {
      "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. Para conferir o endereço UUID do mestre antigo, execute o comando curl a seguir no nó mestre antigo:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    O UUID do nó vai aparecer no final da saída, no formato:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. Repita a etapa anterior para receber os endereços IP do antigo nó de reserva e do novo mestre.
  11. Remova os nós mestre e de espera antigos do 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

    Em que axgroup-001 e consumer-group-001 são os nomes padrão dos grupos de análise e de consumidores. Os masterUUID,standbyUUID estão na mesma ordem em que apareceram quando você visualizou as informações atuais de análise e grupo de consumidores acima. Talvez seja necessário especificar como standbyUUID,masterUUID.

    A propriedade datastores de consumer-groups agora precisa estar vazia.

  12. Remova os nós mestre e de espera antigos do grupo de análise:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    A propriedade postgres-server em uuids agora precisa estar vazia.

  13. Registre novos nós principais e de reserva da PG com os grupos de análise e de consumo:
    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. Valide o grupo de análise:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Os UUIDs dos novos nós mestre e reserva vão aparecer listados no grupo de análise e no grupo de consumidor.

  15. Reinicie o servidor de gerenciamento de borda:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. Reinicie todos os servidores Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. Reinicie todos os servidores Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. Verifique o status da replicação emitindo os scripts a seguir nos dois servidores. O sistema vai mostrar resultados idênticos nos dois servidores para garantir uma replicação bem-sucedida:

    No novo mestre, execute:

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

    Verifique se ele é o mestre. No nó de espera antigo:

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

    Verifique se ele está em standby.

  19. Repita a etapa anterior depois de fazer várias solicitações de API para garantir que os nós estejam sincronizados.
  20. Desative o mestre do Postgres antigo usando o procedimento em Atualizar o Apigee Edge 4.16.01/4.16.05 para 4.17.09.

    Como alternativa, desinstale o Qpid do mestre antigo e instale o Qpid no novo nó mestre. Depois de desinstalar o Qpid, você pode desativar o nó mestre antigo.

Reverter o mTLS

Para reverter a atualização do mTLS, siga estas etapas em todos os hosts:

  1. Parar a Apigee:
    apigee-all stop
  2. Parar mTLS:
    apigee-service apigee-mtls uninstall
  3. Reinstale o mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf