Reverter o Apigee Edge 4.52.02

Se você encontrar um erro durante uma atualização para o Edge 4.52.02, reverta o componente que causou o erro e tente atualizar novamente.

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

  • Versão 4.52.01
  • Versão 4.52.00
  • Versão 4.51.00

Reverter uma versão envolve reverter todos os componentes que você possa ter atualizado. Além disso, com base na versão que você iniciou, talvez seja necessário fazer considerações especiais antes de reverter determinados componentes de software. A tabela abaixo lista os diversos softwares em que podem ser necessárias etapas especiais durante a reversão:

Reverter para a versão Consideração especial para software
4.52.01 Cassandra
4.52.00 Cassandra, zoológico, Qpid
4.51.00 Cassandra, Zookeeper, Qpid e Postgres

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

  1. Reverter para uma versão principal ou secundária anterior. Por exemplo, de 4.52.02 a 4.52.00.
  2. Reverta para uma versão de patch anterior na mesma versão. Por exemplo, de 4.52.00.02 a 4.52.00.01.

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

Ordem de reversão

A reversão dos componentes precisa ser feita na ordem inversa em que o upgrade foi feito, com a exceção de que os servidores de gerenciamento precisam ser revertidos depois do Cassandra.

Veja a seguir uma ordem geral típica de reversão para a nuvem privada 4.52.02:

  1. Reverter Postgres, Qpid e outros componentes relacionados a análises
  2. Roteadores de reversão e processadores de mensagens
  3. Rollback Cassandra, Zookeeper
  4. Servidor de gerenciamento de reversão

Por exemplo, digamos que você tenha feito upgrade de todo o cluster do Cassandra, de todos os servidores de gerenciamento e de alguns RMPs da versão 4.52.02 para a versão 4.52.01 e queira fazer a reversão. Nesse caso, você faria o seguinte:

  1. Reverter todos os RMPs um por um
  2. Reverter todo o cluster do Cassandra usando backups
  3. Nós do servidor do Gerenciamento de borda de reversão, um por um

Quem pode executar uma reversão

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

Por padrão, os componentes do Edge são executados como o usuário "apigee". Em alguns casos, você pode executar os componentes do Edge como usuários diferentes. Por exemplo, se o roteador precisar acessar portas privilegiadas, como aquelas abaixo de 1.000, você terá que executá-lo como raiz ou como usuário com acesso a essas 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 um desses componentes em um nó, é necessário reverter todos esses 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ê tem o servidor de gerenciamento, o roteador e o processador de mensagens instalados no nó, para reverter qualquer um deles, é necessário reverter os três.

Reversão do Cassandra

Quando uma grande atualização do Cassandra é realizada em um nó específico do Cassandra, o Cassandra modifica o esquema dos dados armazenados no nó, tornando inviável uma reversão direta. Há duas metodologias de reversão. Você usará uma dessas metodologias com base no estado do upgrade do qual está revertendo.

Metodologias de reversão

Excluir permanentemente e usar os nós existentes no cluster para recriá-los

Este procedimento poderá ser seguido se você tiver pelo menos um data center totalmente funcional no cluster ainda na versão mais antiga do Cassandra (Cassandra 2.1.22). Se você fez upgrade de todo o cluster do Cassandra e quer fazer uma reversão, siga as etapas em Excluir permanentemente e restaurar o backup ou o snapshot da VM.

Etapas para reversão

  1. Comece com o nó que você quer reverter:
    • Pare o Cassandra no nó:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Desinstale o software Cassandra do nó:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Remova o diretório de dados do nó:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Faça o download e execute o bootstrap da versão mais antiga do Edge para nuvem privada para a qual você quer reverter.

    Exemplo:para reverter para 4.52.01,

    • Faça o download do bootstrap da versão 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Execute o bootstrap da versão 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Configure o Cassandra no nó:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Execute a recriação no nó fornecendo o nome do data center funcional:
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • Repita as etapas acima em cada nó que você quer reverter, um de cada vez.
  2. Depois que todos os nós forem revertidos e recriados:
    • Execute a configuração de qualquer nó de gerenciamento de servidor. Verifique se o servidor de gerenciamento é da versão revertida. Caso contrário, reverta o servidor de gerenciamento.
    • Pare o servidor de gerenciamento:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Se você usa a monetização, desinstale também:
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • Desinstale o management-server:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • Fazer o download e executar o bootstrap da versão mais antiga. Por exemplo, siga as etapas abaixo para fazer o download e executar o bootstrap da versão 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
    • Execute a configuração de um nó do servidor de gerenciamento:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Otimização após recriação

Nas etapas acima, todos os dados no nó são transmitidos do data center remoto durante a recompilação. É possível otimizar esse processo usando um reparo depois que todas as réplicas tiverem sido transmitidas para o data center local. Isso evita o streaming entre DCs e deve ser mais rápido do que recriar todos os nós de um DC remoto.

Exemplo:suponha que você tenha seis nós do Cassandra no data center local. Por padrão, o fator de replicação da Apigee é três, portanto, cada nó possui 50% dos dados. Nesse caso, você pode recriar os nós 1 e 4 seguindo o procedimento acima. Para os nós 2, 3, 5 e 6, siga as etapas abaixo para restaurar o backup e executar um reparo.

  1. Siga o procedimento até a etapa seis, conforme documentado para recriar réplicas no data center local.
  2. Para os nós restantes, siga as etapas abaixo em cada nó restante, um de cada vez.
    • Restaure o backup capturado nesse nó. Observação: esse backup provavelmente teria dados desatualizados, já que foi feito antes do início do upgrade do Cassandra:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Se você tiver um snapshot de VM do nó, poderá restaurá-lo em vez de restaurar o backup do Cassandra.
    • Depois que o backup for restaurado, inicie o serviço do Cassandra no nó:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Execute um reparo no nó para que os dados mais recentes possam ser transmitidos de um data center atual:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • Repita as etapas de três a seis em cada nó que você quer reparar.

Excluir permanentemente e restaurar backup/snapshot de VM

Esse é o único procedimento disponível se você tiver feito upgrade de todo o cluster do Cassandra e quiser reverter.

Além disso, os backups da Apigee são específicos do nó. Não é possível restaurar um backup de um nó para outro. Os backups do Cassandra incluem informações de metadados do nó (como endereço IP, posição do toque etc.).

  1. Comece com um nó do Cassandra no cluster:
    • Interrompa o serviço do Cassandra no nó:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Desinstale o software Cassandra do nó:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Remova o diretório de dados do nó:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Faça o download e execute o bootstrap da versão mais antiga do Edge para a nuvem privada que você quer reverter.

    Exemplo: reverter para 4.52.01

    • Faça o download do bootstrap da versão 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Execute o bootstrap da versão 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Configure o Cassandra no nó:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Restaure o backup no nó usando o procedimento em Restaurar de um backup.
    • Pare o Cassandra no nó:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Excluir diretório de dados:
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • Restaurar backup:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Inicie o serviço do Cassandra no nó:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Repita as etapas em cada nó do Cassandra, um de cada vez.
    • Executar o reparo nos nós, um de cada vez:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Reverter a atualização do Zookeeper 3.8.3

Se você estiver revertendo para as versões 4.52.00 ou 4.51.00, precisará consultar algumas etapas especiais antes de reverter o Zookeeper. Essas etapas estão listadas em Reverter.

Se você estiver revertendo para a versão 4.52.01, faça a reversão do Zookeeper como faria para reverter qualquer software, conforme listado na seção Reverter para uma versão principal ou secundária anterior abaixo.

Reverter Qpid

Se você estiver revertendo para as versões 4.52.00 ou 4.51.00, precisará consultar algumas etapas especiais antes de reverter o Qpid. Essas etapas estão listadas em Reverter.

Se você estiver revertendo para a versão 4.52.01, reverta o Qpid para reverter qualquer software, conforme listado em Reverter para uma versão principal ou secundária anterior.

Reverter a atualização do Postgres 10.17

Se você estiver revertendo para a versão 4.51.00, será necessário seguir algumas etapas especiais antes de reverter o Postgres. Essas etapas estão listadas em Reverter.

Se você estiver revertendo para a versão 4.52.01 ou 4.52.00, reverta o Postgres como reverteria qualquer software, conforme listado na seção Reverter para uma versão principal ou secundária anterior abaixo.

Reverter para uma versão principal ou secundária anterior

Para reverter para uma versão principal ou secundária anterior, faça o seguinte em cada nó que hospeda o componente:

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

    • Para reverter para a versão 4.51.00, faça o download de bootstrap_4.51.00.sh:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. Pare o componente para reverter:
    1. Para reverter qualquer um dos componentes com código comum no nó, é necessário interrompê-los, 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ó, pare 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, como mostra o 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 o exemplo a seguir:
      /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 arquivo /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.52.02 do apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Instale a versão 4.51.00 do utilitário apigee-service e as dependências dele. O exemplo a seguir instala a versão 4.51.00 do apigee-service:
    sudo bash /tmp/bootstrap_4.51.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 a insira.

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

  7. Instalar 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 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.

Reverter para uma versão de patch anterior

Para reverter um componente para uma versão de patch específica, 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 é a versão do componente e do patch a ser instalada. Exemplo:

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

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

    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.

Reverter mTLS

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

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