Reverter o Apigee Edge 4.18.05

Edge para nuvem privada v4.18.05

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

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

  • Versão 4.18.01
  • Versão 4.17.09*
  • Versão 4.17.05*

* Para reverter de 4.18.05 para 4.17.09 ou 4.17.05, é necessário reverta o Postgres, além de reverter os componentes cada nó. Se você reverter para 4.18.01, não precisará reverter o Postgres como a atualização não incluía uma atualização do Postgres.

Há dois cenários em que convém fazer uma reversão:

  1. Reverter para uma versão de recurso anterior. Por exemplo, 4.18.05 a 4.18.01.
  2. Reverter para uma versão de atualização anterior na mesma versão. Para exemplo, de 4.18.05.02 a 4.18.05.01.

Para mais informações, consulte a versão do Apigee Edge de análise de dados.

Quem pode executar uma reversão

O usuário que está executando uma reversão precisa ser o mesmo que o usuário que atualizou o Edge originalmente ou uma usuário sendo executado como raiz.

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

Componentes com código comum

Os seguintes componentes do Edge compartilham um código comum. Portanto, para reverter qualquer uma esses componentes em um nó, é necessário reverter todos os componentes que estão nele.

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

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

Reverter para uma versão de recurso anterior

Para reverter de 4.18.05 para 4.17.09 ou 4.17.05, é necessário reverta o Postgres, além de reverter os componentes cada nó. Se você reverter a partir da versão 4.18.01, não será necessário reverter o Postgres como a atualização. não incluía uma atualização do Postgres.

Para reverter para uma versão de recurso anterior, 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 acumular voltar:

    • Para reverter para 4.18.01, faça o download de bootstrap_4.18.01.sh:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • Para reverter para a versão 4.17.09, faça o download de bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
    • Para reverter para a versão 4.17.05, faça o download de bootstrap_4.17.05.sh:
      curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh 
  2. Pare o componente para reverter:
    1. Para reverter qualquer um dos componentes com código comum no você precisa interrompê-los, conforme o 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ó, pare apenas esse componente:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Se você estiver revertendo a monetização, desinstale-a de todo o servidor de gerenciamento e de mensagens. Nós do processador:
    /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 você precisa desinstalar todos desinstalando o componente edge-gateway grupo, conforme o exemplo a seguir:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Para reverter qualquer outro componente do nó, desinstale somente esse componente, pois o exemplo a seguir mostra:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Em que component é o nome do componente.

    3. Para reverter o Edge Router, exclua o conteúdo do /opt/nginx/conf.d, além de desinstalar o Grupo de componentes edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Desinstale a versão 4.18.05 do apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Instale a versão 4.18.01, 4.17.09 ou 4.17.05 do apigee-service e as dependências dele. O exemplo a seguir instala a versão 4.17.09 do apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.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 a insira.

    Se você receber um erro, verifique se você 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 de configuração do Terraform para a 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.

Para reverter de 4.18.05 para 4.17.09 ou 4.17.05, é necessário reverta o Postgres, além de reverter os componentes cada nó. Se você reverter a partir da versão 4.18.01, não precisará reverter o Postgres como a atualização não incluía uma atualização do Postgres.

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

Para reverter um componente para uma versão específica de um lançamento, 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 da atualização a ser instalada. Por exemplo:

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

    Se você estiver usando o repositório on-line da Apigee, será possível determinar o componente disponível 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

    Observe que você especifica apenas o nome do componente ao instalá-lo, não a versão.

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

Para reverter de 4.18.05 para 4.17.09 ou 4.17.05, é necessário reverta o Postgres, além de reverter os componentes cada nó. Se você reverter a partir da versão 4.18.01, não será necessário reverter o Postgres como a atualização. não incluía uma atualização do Postgres.

Reverter a atualização do Postgres 9.6

Se você fez upgrade da versão 4.17.05 ou 4.17.09 para a versão 4.18.05, é necessário reverter Atualização do Postgres além dos componentes do Edge.

Para reverter a atualização do Postgres ao atualizar o Postgres em uma configuração do mestre em espera:

  • Promova o novo nó de espera 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 nó de espera antigo para ser um nó de espera do novo mestre. O antigo nó de espera terá a mesma versão da instalação anterior do Edge.
  • Registre os novos nós mestres e de espera nos grupos de análise e de consumidores.

Quando a reversão for concluída, o nó mestre antigo não será mais necessário. Você pode e desativar o nó mestre antigo.

  1. Verifique se o novo nó do Postgres em espera 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á parado no nó mestre e no nó de espera antigos:
    /opt/apigee/apigee-service/bin/apigee-all status

    Interrompa o Postgres em execução se ele estiver em execuçã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 nó de espera antigo:
    /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 a novo mestre:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

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

    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. 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 do nó de espera antigo:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Reconfigure o antigo nó de espera para ser um nó de espera do novo mestre:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Verifique se o Postgres está sendo executado no nó de espera antigo:
      /opt/apigee/apigee-service/bin/apigee-all status

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

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Verifique se o novo nó de espera foi adicionado visualizando o /opt/apigee/apigee-postgresql/conf/pg_hba.conf no novo mestre.
  7. Execute o comando a seguir para visualizar as análises atuais e as informações do grupo de consumidores. 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. Ela também retorna os UUIDs dos nós mestres e de espera do Postgres antigos na postgres-server e no campo datastores. Aparecerá no 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. Encontre o endereço UUID do mestre antigo executando o seguinte comando curl em do nó mestre antigo:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    Você verá o UUID do nó no final da saída, no formato:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. Repita a etapa anterior para obter os endereços IP do nó de espera antigo e do novo mestre.
  10. Remova os nós mestres 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 de análise de dados e grupos de consumidores. masterUUID,standbyUUID estão na mesma ordem apareceu acima quando você visualizou as informações atuais de análise e grupo de consumidores acima. Você talvez seja necessário especificá-los como standbyUUID,masterUUID.

    A propriedade datastores para consumer-groups agora deve ser vazio.

  11. Remova os nós mestres 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 deve estar vazia.

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

    Você verá os UUIDs dos novos nós mestres e de espera listados no grupo de análise. e o grupo de consumidores.

  14. Reinicie o Edge Management Server:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Reinicie todos os servidores Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Reinicie todos os servidores do Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Verifique o status da replicação emitindo os scripts a seguir nos dois servidores. O sistema deve exibir 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

    Confira se ele diz que é o mestre. No nó de espera antigo:

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

    Confira se ele diz que é o modo de espera.

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

    Como alternativa, você pode desinstalar o Qpid do mestre antigo e instalar o Qpid no novo nó mestre. Após desinstalar o Qpid, você pode desativar o nó mestre antigo.

Desinstale o Qpid do mestre antigo e instale-o no novo mestre.

Para desinstalar o Qpid do mestre antigo e instalá-lo no novo mestre:

  1. Bloqueia o acesso à porta Qpid 5672 no mestre antigo do acesso de processadores de mensagens. executando o seguinte comando em todos os processadores de mensagens:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Para verificar se a fila de mensagens Qpid está vazia, execute o comando a seguir. Não é possível desinstale o Qpid até que ele tenha processado todas as mensagens pendentes:
    qpid-stat -q

    Esse comando exibe uma tabela que contém uma contagem para msg, msgIn, and msgOut. Todas as mensagens serão processadas quando msg=0, e msgIn=msgOut.

  3. Determine o UUID do servidor Qpid no mestre antigo executando o seguinte comando no do mestre antigo. Salve essas informações para usar depois no procedimento:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Pare o Qpid no mestre antigo:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Desinstale o servidor Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Remova o servidor Qpid antigo dos grupos de análises e consumidores:
    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. Remova o servidor Qpid antigo do Zookeeper:
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Instale o Qpid no novo mestre:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Determine o UUID do servidor Qpid no novo mestre executando o seguinte comando em para o novo mestre. Salve essas informações para usar depois no procedimento:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Registre o novo servidor Qpid nos grupos de análise e de 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=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. Reinicie todos os processadores de mensagens:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Execute o seguinte comando no novo servidor Qpid para verificar se as filas foram criadas:
    qpid-stat -q

    Verifique se msg, msgIn e msgOut são atualizados enquanto o servidor Qpid processa as mensagens.

Entre em contato com o suporte do Apigee Edge se tiver problemas ao fazer a reversão.