Você pode fazer upgrade do Automation Config de uma versão anterior para a versão estável mais recente.

Práticas recomendadas de upgrade

Siga estas diretrizes ao planejar o upgrade:

  • Não faça upgrade usando as instruções de instalação manual ou o instalador.Se você estiver fazendo upgrade da sua instalação do Automation Config, consulte as seguintes instruções de upgrade.
  • Para obter os melhores resultados, incremente de uma versão principal para a próxima. Como prática recomendada, sempre faça upgrade da versão principal mais recente do Automation Config para a nova versão. Se estiver em uma versão mais antiga, faça upgrade incrementalmente de uma versão para a próxima.
  • Faça backup dos seus dados. Para evitar a perdas, faça backup dos seus dados.
  • Realize upgrades durante horas de pouca atividade na rede. Upgrades de banco de dados exigem a reindexação dos dados. Dependendo da complexidade dos seus dados, um upgrade de banco de dados pode demorar várias horas. Para evitar interrupções no serviço, considere fazer upgrade do banco de dados durante horas de trabalho mais tranquilas ou preparar seu banco de dados antes de um upgrade.
  • Verifique se comandos antigos estão sendo armazenados no banco de dados. Em alguns casos, o banco de dados PostgreSQL armazena comandos antigos que não foram executados. Esses comandos podem ser executados durante o processo de upgrade, quando você reinicia o Master Plugin. Para evitar que isso aconteça, verifique se algum comando antigo está armazenado no banco de dados e ative a opção para ignorar trabalhos anteriores a um horário definido.
  • Teste o upgrade antes da implantação. Se possível, você pode tentar executar uma ensaio geral em um ambiente de teste para saber quanto tempo o upgrade pode demorar.
  • Leia o guia inteiro primeiro. Considere também ler este guia inteiro uma vez antes de implementar um upgrade, para que você tenha uma boa ideia das tarefas necessárias, se elas exigem planejamento por parte da sua equipe ou se os envolvidos devem ser notificados sobre alterações pendentes.

Fazendo upgrade de versões mais antigas

Como prática recomendada, sempre faça upgrade da versão principal mais recente do Automation Config para a nova versão. Se você estiver fazendo upgrade de uma versão anterior para a versão mais recente, poderá ver os melhores resultados se fizer upgrade em incrementos de uma versão principal para a próxima.

Para obter instruções sobre como atualizar para versões anteriores do Automation Config, consulte as instruções de upgrade específicas para as versões das quais você está fazendo upgrade. As instruções de upgrade das versões anteriores estão incluídas no PDF do guia de instalação para a versão subsequente. Por exemplo, se você precisar fazer upgrade da versão 5.5 para 6.0, consulte as instruções de upgrade no PDF de instalação da versão 6.0.

Para as versões 8.4 e posteriores do Automation Config, use o seletor de versão no topo desta página para selecionar o guia de upgrade correto para a versão do seu produto. Para versões 8.3 e anteriores, use os guias de PDF na tabela a seguir:

Versão Guia de instalação e upgrade (PDF)
8.3 Guia de instalação e upgrade da versão 8.3
6.4 Guia de instalação e upgrade da versão 6.4
6.3 Guia de instalação e upgrade da versão 6.3
6.2 Guia de instalação e upgrade da versão 6.2
6.1 Guia de instalação e upgrade da versão 6.1
6.0.1 Guia de instalação e upgrade da versão 6.0.1
6.0 Guia de instalação e upgrade da versão 6.0

Como fazer upgrade do Automation Config

Para fazer upgrade do Automation Config, conclua as seguintes tarefas, nesta ordem:
  • Faça backup dos seus dados, incluindo determinados arquivos e diretórios que são essenciais para a sua instalação específica do Automation Config
  • Fazer upgrade do PostgreSQL (opcional, mas recomendado)
  • Fazer upgrade da infraestrutura Salt (opcional, mas recomendado)
  • Baixar os arquivos de upgrade
  • Fazer upgrade do nó RaaS
  • Fazer upgrade de todos os mestres Salt usando o Master Plugin

Para obter mais informações sobre como fazer upgrade o Config via Aria Suite Lifecycle, consulte Fazer o upgrade do Automation Config, na documentação do LCM.

Fazer backup de arquivos e diretórios do Automation Config

Os seguintes arquivos e diretórios contêm suas configurações personalizadas do Automation Config e precisam ser armazenados em backup antes do upgrade:

  1. No nó RaaS, faça back-up destes diretórios inteiros:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /var/log/raas
    • /etc/raas/pki/
    Observação:

    O diretório pki contém arquivos ocultos. Portanto, certifique-se de fazer back-up de todo o diretório. O backup dos arquivos de log no diretório /var/log/raas é opcional. Durante o processo de upgrade, você limpará os arquivos de log para fornecer um arquivo de log limpo caso seja necessário solucionar algum problema.

  2. Em cada mestre Salt, faça backup dos arquivos /etc/salt/master.d/raas.conf e /etc/salt/master.d/eAPIMasterPaths.conf.
    Observação:

    Dependendo de como você instalou o Automation Config inicialmente, é possível que os caminhos do mestre Salt eAPI estejam no arquivo /etc/salt/master.d/raas.conf.

Fazer backup do seu esquema de banco de dados

Durante o upgrade do seu nó RaaS, o esquema de banco de dados é atualizado. Por esse motivo, certifique-se de criar um backup do seu banco de dados antes do upgrade.

Para fazer backup do banco de dados, primeiro você precisa procurar o nome do seu banco de dados PostgreSQL e copiar o conteúdo:

  1. No servidor PostgreSQL, faça backup destes arquivos:
    • postgresql.conf
    • pg_hba.conf
  2. Faça login como usuário postgres com o seguinte comando:
    sudo su - postgres
  3. Obtenha o nome do banco de dados, usando os seguintes comandos para entrar no PostgreSQL e depois listar os bancos de dados:
    psql
    \l
  4. Para sair do PostgreSQL e fazer logoff como usuário postgres, pressione Ctrl+D e execute o seguinte comando:
    exit
  5. Copie o conteúdo do banco de dados em um arquivo. O comando a seguir fornece um exemplo:
    pg_dump -U salteapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql

Upgrade do banco de dados PostgreSQL

O Automation Config requer um banco de dados PostgreSQL 9.6, mas o PostgreSQL 13.7 é recomendado. A versão recomendada do PostgreSQL está incluída no instalador do Automation Config.

O upgrade para a versão mais recente do PostgreSQL não é necessário. No entanto, o upgrade do PostgreSQL pode melhorar o desempenho. Para obter instruções sobre o upgrade para a versão mais recente do PostgreSQL, consulte Upgrade do PostgreSQL.

Upgrade do banco de dados Redis

O Automation Config requer um banco de dados Redis 5.x, mas o Redis 6.2.7 é recomendado. A versão recomendada do Redis está incluída no instalador do Automation Config.

O upgrade para a versão mais recente do Redis 5.x não é necessário. No entanto, o upgrade do Redis pode melhorar o desempenho. Para obter instruções sobre o upgrade do Redis, consulte Administração do Redis.

Fazer upgrade do Salt

Ao fazer upgrade do Salt, você deve fazer upgrade dos mestres primeiro. Executar subordinados com versões do Salt mais recentes do que seus mestres podem não funcionar conforme o esperado, pois o subordinado pode incluir alterações ainda não disponíveis no mestre. Para isso, sempre que possível, a compatibilidade com versões mais antigas entre novos mestres e subordinados antigos é preservada. Geralmente, a única exceção a essa política é no caso de uma vulnerabilidade de segurança.

Para obter o melhor desempenho, verifique se todos os componentes do Salt na sua infraestrutura estão sendo executados na versão principal mais recente do Salt.

A partir da versão do Salt 3006, o projeto Salt usa o sistema de pacote onedir. Onedir significa "um diretório", pois contém todos os executáveis de que o Salt precisa, incluindo as dependências de Python e outras dependências do Salt. O Onedir permite que você use o Salt fora da caixa.
Importante: O Projeto Salt recomenda enfaticamente a atualização para onedir para continuar recebendo atualizações de versão do Salt. Na versão 3006 do Salt, apenas pacotes onedir estarão disponíveis para upgrades. Para obter mais informações sobre as versões do Salt e o onedir, consulte KB 89728.
Importante: As versões 3006 e posteriores do Salt usam um pacote de instalação do onedir que não é compatível com o Automation Config. Para usar o Salt versão 3006 com o Automation Config, use somente pacotes de instalador clássicos.

Para obter informações sobre como instalar pacotes onedir do Salt, consulte Instalar pacotes onedir do Salt.

Observação: O uso do pacote do instalador do Salt Crystal foi desativado. Para instalações futuras, é recomendável usar o pacote do instalador onedir.

Obrigatório:para implantações brownfield/de upgrade, a partir do Salt 3006, o Mestre Salt é configurado para ser executado como "salt" do usuário em vez do "usuário raiz" tradicional. Como resultado, isso pode causar erros de permissão com fluxos de trabalho relacionados ao RaaS, como a implantação de subordinados e os upgrades do plug-in do Mestre RaaS.

Para corrigir isso, modifique o arquivo /etc/salt/master.d/raas.conf para alterar o usuário para raiz: user: root.

Para novas implantações greenfield, o comando sseapi-config configura o plug-in mestre e gera o arquivo raas.conf com o valor de configuração correto user: root. Nenhuma ação do usuário é necessária.

Fazer upgrade do nó RaaS

Após o upgrade para a versão mais recente do PostgreSQL, do Redis e do Salt, você poderá fazer upgrade da versão anterior para a versão mais recente do nó RaaS.

Observação: Upgrades de banco de dados exigem a reindexação dos dados. Se os seus dados forem complexos, um upgrade de banco de dados poderá demorar várias horas.
Importante:

Antes do upgrade do nó RaaS, você deve fazer backup dos dados do sistema para evitar perda de dados. Para preservar sua configuração, salve todas as alterações feitas no sistema de arquivos padrão, nos dados de pilares e em trabalhos como novos arquivos ou trabalhos. Além disso, você deve registrar ou fazer uma cópia de quaisquer atribuições de destino de pilares existentes, pois elas são removidas durante o processo de upgrade.

Para fazer upgrade do nó RaaS:

  1. Baixe os arquivos de upgrade do Customer Connect.
  2. Interrompa o serviço RaaS usando o seguinte comando:
    sudo systemctl stop raas
  3. Remova o(s) arquivo(s) de log no diretório /var/log/raas. A limpeza dos arquivos de log fornecerá um arquivo de log limpo caso seja necessário solucionar algum problema.
  4. Remova a versão atualmente instalada da API (RaaS) com o seguinte comando:
    sudo yum remove raas
  5. Faça upgrade do nó RaaS instalando o RPM mais recente. Use o seguinte comando de exemplo, substituindo o nome de arquivo exato do RPM:
    sudo yum install raas-rpm-file-name.rpm
  6. IMPORTANTE: Restaure o backup dos seguintes arquivos:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /etc/raas/pki/
  7. Atualize permissões para o usuário raas com o seguinte comando:
    sudo chown -R raas:raas /etc/pki/raas/certs
  8. OPCIONAL: Se você tiver uma licença do Automation for Secure Hosts e quiser adicionar a biblioteca de conformidade, adicione a seguinte nova seção ao arquivo /etc/raas/raas:
    sec:
      ingest_override: true
      locke_dir: locke
      post_ingest_cleanup: true
      username: 'secops'
      content_url: 'https://enterprise.saltstack.com/secops_downloads'
      download_enabled: true
      download_frequency: 86400
      stats_snapshot_interval: 3600
      compile_stats_interval: 10
      ingest_on_boot: True
      content_lock_timeout: 60
      content_lock_block_timeout: 120
    Observação:

    Essa etapa é opcional e somente é aplicável a organizações que têm uma licença válida do Automation for Secure Hosts. Esse módulo de complemento está disponível para as versões 6.0 e posteriores do Automation Config. As opções de configuração anteriores no arquivo de configuração /etc/raas/raas são específicas para esses módulos de complementos.

  9. OPCIONAL: Se você tiver uma licença do Automation for Secure Hosts e quiser adicionar a biblioteca de vulnerabilidades, adicione uma nova seção ao arquivo /etc/raas/raas:
    vman:
      vman_dir: vman
      download_enabled: true
      download_frequency: 86400
      username: vman
      content_url: 'https://enterprise.saltstack.com/vman_downloads'
      ingest_on_boot: true
      compile_stats_interval: 60
      stats_snapshot_interval: 3600
      old_policy_file_lifespan: 2
      delete_old_policy_files_interval: 86400
      tenable_asset_import_enabled: True
      tenable_asset_import_grains: ['fqdn', 'ipv4', 'ipv6', 'hostname', 'mac_address', 'netbios_name',
                                    'bios_uuid', 'manufacturer_tpm_id', 'ssh_fingerprint',
                                    'mcafee_epo_guid', 'mcafee_epo_agent_guid', 'symantec_ep_hardware_key',
                                    'qualys_asset_id', 'qualys_host_id', 'servicenow_sys_id', 'gcp_project_id',
                                    'gcp_zone', 'gcp_instance_id', 'azure_vm_id', 'azure_resource_id',
                                    'aws_availability_zone', 'aws_ec2_instance_ami_id',
                                    'aws_ec2_instance_group_name', 'aws_ec2_instance_state_name',
                                    'aws_ec2_instance_type', 'aws_ec2_name', 'aws_ec2_product_code',
                                    'aws_owner_id', 'aws_region', 'aws_subnet_id', 'aws_vpc_id',
                                    'installed_software', 'bigfix_asset_id'
                                    ]
    Observação:

    Essa etapa é opcional e somente é aplicável a organizações que têm uma licença válida do Automation for Secure Hosts. Esse módulo de complemento está disponível para as versões 6.0 e posteriores do Automation Config. As opções de configuração anteriores no arquivo de configuração /etc/raas/raas são específicas para esses módulos de complementos.

  10. Atualmente, o RaaS tem um problema conhecido relacionado a trabalhos obsoletos. Durante o upgrade, alguns usuários podem perceber uma fila de trabalhos obsoletos que estão presos em um estado pendente. O upgrade do nó RaaS pode fazer com que esses trabalhos sejam executados, a menos que sejam limpos antes.

    Para evitar que isso aconteça, verifique primeiro se algum comando antigo está armazenado no banco de dados. No nó PostgreSQL, verifique se há trabalhos pendentes, usando o seguinte comando:

    select count(1) from commands where state='new';

    O resultado é o número de trabalhos pendentes. Se o número de trabalhos for 0, prossiga com o restante do processo de upgrade.

  11. Faça upgrade do banco de dados do serviço RaaS usando o seguinte comando:
    sudo su - raas
    raas upgrade
    Observação:

    Dependendo do tamanho do seu banco de dados, o upgrade pode levar de vários minutos a mais de uma hora. Se você encontrar erros, verifique o arquivo de log /var/log/raas/raas para obter mais informações.

  12. Após o upgrade, encerre a sessão do usuário raas com o seguinte comando:
    exit
  13. Inicie o serviço RaaS usando o seguinte comando:
    sudo systemctl enable raas
    sudo systemctl start raas

Fazer Upgrade do Master Plugin Usando a Interface do Usuário do Automation Config

Observação: Este recurso oferece suporte ao Automation Config versões 8.11.2 ou posterior. Para versões anteriores, você deve primeiro fazer upgrade do Master Plugin para a versão 8.11.2 ou posterior usando a CLI.
Observação: O mestre Salt deve ser executado como root.

O Automation Config faz upgrade do plug-in automaticamente para a versão mais recente sem que o usuário precisa realizar qualquer ação.

No entanto, você também pode fazer upgrade do Master Plugin usando a interface de usuário do Automation Config. Para fazer upgrade do Master Plugin, no Automation Config, selecione Administração e clique em Master Plugins. A guia Master Plugin mostra em qual versão do plug-in e ambiente Automation Config você está, juntamente com uma lista dos suas IDs de Master Plugins. Na guia Master Plugins, você pode selecionar os Master Plugins que deseja atualizar e, em seguida, clicar em Atualizar.

Fazer Upgrade do Master Plugin Usando a CLI

Após o upgrade bem-sucedido do nó RaaS, você pode fazer upgrade de quaisquer mestres Salt que usem o Master Plugin para se conectar ao Automation Config.

É recomendável atualizar a configuração do Master Plugin gerando um arquivo de configuração padrão e aplicando todas as configurações que você deve preservar da configuração existente. Por exemplo:
# sseapi-config --default >/tmp/raas.conf 
# cd /etc/salt/master.d 
# vim -d raas.conf /tmp/raas.conf
Importante: Se você tiver instalado o Salt usando o onedir, o caminho para esse executável será /opt/saltstack/salt/extras-3.10/bin/sseapi-config.

A partir da versão 8.13.0, o Master Plugin inclui um mecanismo tgtmatch que agora descarrega o grupo de destino correspondente do servidor RaaS para os Mestres Salt. Recomenda-se ativar e configurar esse mecanismo de tgtmatch para tornar o grupo de destino correspondente mais responsivo, especialmente em ambientes com:

  • Um grande número de grupos de destino (100 ou mais)
  • Um grande número de subordinados (3000 ou mais)
  • Alterações frequentes em grãos de subordinados (diariamente ou mais frequentes)
  • Criação e exclusão frequentes de subordinados (diariamente ou mais frequentes)
Para configurar o mecanismo tgtmatch, certifique-se de que essas configurações estejam presentes no arquivo de configuração do Master Plugin (/etc/salt/master.d/raas.conf)
engines: 
    - sseapi: {} 
    - eventqueue: {} 
    - rpcqueue: {} 
    - jobcompletion: {}    
    - tgtmatch: {} 

sseapi_local_cache:     
    load: 3600 
    tgt: 86400 
    pillar: 3600 
    exprmatch: 86400 
    tgtmatch: 86400 

sseapi_tgt_match: 
    poll_interval: 60     
    workers: 0 
    nice: 19
Para configurar o RaaS para esperar que os dados correspondentes de destino sejam fornecidos pelos Mestres Salt, certifique-se de que a seguinte configuração esteja presente no arquivo de Configuração do RaaS (/etc/raas/raas):
target_groups_from_master_only: true
Observação:

Antes do upgrade do(s) mestre(s) Salt, certifique-se de que o aplicativo pip3 esteja instalado nos mestres Salt. Se você estiver fazendo upgrade da versão mais recente do Master Plugin, esse aplicativo já estará instalado.

Para fazer upgrade do Master Plugin em um mestre Salt:

  1. Interrompa o serviço salt-master usando o seguinte comando:
    sudo systemctl stop salt-master
  2. Verifique qual versão do Python está sendo executada no mestre Salt. Se ele estiver executando o Python 3.6 ou superior, nenhuma alteração será necessária. Em outros casos, exclua a versão anterior do módulo SSEAPE. (O SSEAPE é o plug-in Automation Config do mestre Salt). Por exemplo:

    RHEL/CentOS

    sudo rm -rf /usr/lib/python3.6/site-packages/SSEAPE*

    Ubuntu

    sudo rm /usr/lib/python3.6/dist-packages/SSEAPE*
  3. Faça upgrade do Master Plugin desinstalando e reinstalando manualmente o wheel do Python atualizado. Use os seguintes comandos de exemplo, substituindo o nome exato do arquivo wheel:
    Observação: O plug-in existente deve ser desinstalado para evitar várias instâncias de sseapi-config.
    pip3 uninstall SSEAPE-8.12.1.3-py3-none-any.whl
    mv /etc/salt/master.d/raas.conf /tmp
    salt-call pip.install SSEAPE-8.12.1.3-py3-none-any.whl
    cp /tmp/raas.conf /etc/salt/master.d/raas.conf
    systemctl restart salt-master
  4. Atualize os caminhos de módulos de API (RaaS) editando o arquivo /etc/salt/master.d/eAPIMasterPaths.conf para fazer referência aos caminhos para os vários módulos. Por exemplo, você pode alterar todas as referências a python2.7 nesse arquivo para python3.6.
    Observação:

    Dependendo de como você instalou o Automation Config inicialmente, é possível que os caminhos do mestre Salt eAPI estejam no arquivo /etc/salt/master.d/raas.conf.

  5. Verifique a seção engines em /etc/salt/master.d/raas.conf para confirmar que ela corresponde ao seguinte:
    engines:
      - sseapi: {}
      - eventqueue: {}
      - rpcqueue: {}
      - jobcompletion: {}
    Observação:

    Se tiver ocorrido um problema, talvez seja necessário restaurar os backups dos arquivos /etc/salt/master.d/raas.conf e /etc/salt/master.d/eAPIMasterPaths.conf.

  6. Se você estiver usando a autenticação de chave salt-master (recomendada), certifique-se de que sseapi_username e sseapi_password estejam assinalados como comentário em /etc/salt/master.d/raas.conf.
    #sseapi_username:
    #sseapi_password:
  7. Verifique se as entradas master_job_cache e event_return estão definidas como sseapi. O retornador pgjsonb não está mais disponível.
  8. Inicie o serviço salt-master com o seguinte comando:
    sudo systemctl start salt-master
  9. Verifique se o Mestre Salt está em execução como "raiz" do usuário e não como "salt" do usuário. Caso contrário, modifique o arquivo /etc/salt/master.d/raas.conf para alterar o usuário para raiz: user: root.

O processo de upgrade está agora concluído. Se você encontrar outros erros, consulte Solução de problemas.