Reverter o Apigee Edge 4.52.02

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

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

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

O downgrade de uma versão envolve o downgrade de todos os componentes que você pode ter atualizado. Além disso, com base na versão inicial, talvez seja necessário considerar algumas considerações especiais antes de reverter determinados componentes do software. A tabela abaixo lista os vários softwares para os quais etapas especiais podem ser necessárias durante a reversão:

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

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

  1. Reverter para uma versão principal ou secundária anterior. Por exemplo, de 4.52.02 para 4.52.00.
  2. Reverter para uma versão de patch anterior na mesma versão. Por exemplo, de 4.52.00.02 para 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 foram atualizados, com a exceção de que os servidores de gerenciamento precisam ser revertidos após o Cassandra.

Uma ordem geral típica de reversão para a Private Cloud 4.52.02 será semelhante a esta:

  1. Rollback Postgres, Qpid e outros componentes relacionados à análise
  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 atualizado o cluster do Cassandra, todos os servidores de gerenciamento e alguns RMPs para a versão 4.52.02 da versão 4.52.01 e queira fazer o rollback. Nesse caso, você precisa:

  1. Reverter todos os RMPs um por um
  2. Fazer o rollback de todo o cluster do Cassandra usando backups
  3. Fazer o rollback de nós do servidor de gerenciamento do Edge um por um

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.

Reversão do Cassandra

Quando um upgrade importante do Cassandra é realizado em um nó específico, o Cassandra modifica o esquema dos dados armazenados no nó, tornando a reversão direta inviável. Há duas metodologias para fazer o rollback. Você vai usar uma dessas metodologias com base no estado do upgrade que você está revertendo.

Metodologias para reversão

Limpar e usar os nós atuais no cluster para reconstruir o nó

Esse procedimento pode ser seguido se você tiver pelo menos um data center totalmente funcional no cluster que ainda esteja na versão mais antiga do Cassandra (Cassandra 2.1.22). Se você tiver feito upgrade do cluster do Cassandra inteiro e quiser reverter, siga as etapas em Excluir 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 anterior do Edge para nuvem privada para a qual você quer fazer o rollback.

    Exemplo:para reverter para a versão 4.52.01,

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

    • Configurar o Cassandra no nó:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Execute a reconstruçã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 por vez.
  2. Depois que todos os nós forem revertidos e recriados:
    • Execute a configuração de qualquer nó de servidor de gerenciamento. Verifique se o servidor de gerenciamento é da versão revertida. Caso contrário, faça o rollback do servidor de gerenciamento também.
    • Pare o servidor de gerenciamento:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Se você usa a monetização, desinstale-a também:
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • Desinstale o servidor de gerenciamento:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • Faça o download e execute o bootstrap da versão mais antiga. Por exemplo, siga estas etapas 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ó de servidor de gerenciamento:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Otimização após a reconstrução

Nas etapas acima, todos os dados no nó são transmitidos do data center remoto durante a reconstrução. É possível otimizar esse processo usando um reparo depois que todas as réplicas forem 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 do Apigee é três, então cada nó tem 50% dos dados. Nesse caso, você pode reconstruir 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 6 conforme documentado para recriar as réplicas no data center local.
  2. Para os outros nós, siga as etapas abaixo em cada um deles.
    • Restaure o backup que você fez neste nó. Esse backup provavelmente tem dados desatualizados, porque foi feito antes de você iniciar o 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á restaurar o snapshot em vez do 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 por streaming de um data center:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • Repita as etapas de 3 a 6 em cada nó que você quer reparar.

Limpar e restaurar o backup/snapshot da VM

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

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

  1. Comece com um nó do Cassandra no cluster:
    • Pare 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 anterior do Edge para nuvem privada para a qual você quer fazer o rollback.

    Exemplo: como fazer o rollback para a versão 4.52.01

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

    • Configurar 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 a partir 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 por vez.
    • Execute o reparo nos nós um por vez:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Fazer o rollback da atualização do Zookeeper 3.8.3

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

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

Qpid de reversão

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

Se você estiver revertendo para a versão 4.52.01, reverta o Qpid como faria com 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 consultar algumas etapas especiais antes de reverter o Postgres. Essas etapas estão listadas em Reversão.

Se você estiver revertendo para a versão 4.52.01 ou 4.52.00, reverta o Postgres como faria com 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 para a qual 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 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 o 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.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 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 as 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 do patch

Para reverter um componente para uma versão específica do patch, 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, determine as versões do 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

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