Observação:

Atualizar o Oracle Linux Automation Manager

Introdução

Os administradores existentes do Oracle Linux Automation Manager estão familiarizados com sua implantação de instância única completa.

O Oracle Linux Automation Manager permite que os administradores façam upgrade de suas implantações existentes e, posteriormente, migrem a instância atualizada para uma implantação clusterizada. Ao fazer upgrade, a instância se converte em uma implantação de host único e se configura como um nó híbrido.

Após seguir este tutorial, você saberá como atualizar o Oracle Linux Automation Manager de uma versão anterior.

Objetivos

Neste tutorial, você aprenderá a:

Pré-requisitos

Implantar o Oracle Linux Automation Manager

Observação: Se estiver em execução em sua própria tenancy, leia o projeto linux-virt-labs GitHub README.md e conclua os pré-requisitos antes de implantar o ambiente de laboratório.

  1. Abra um terminal no Luna Desktop.

  2. Clone o projeto linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Altere para o diretório de trabalho.

    cd linux-virt-labs/olam
    
  4. Instale as coleções necessárias.

    ansible-galaxy collection install -r requirements.yml
    
  5. Atualize a configuração da instância do Oracle Linux.

    cat << EOF | tee instances.yml > /dev/null
    compute_instances:
      1:
        instance_name: "olam-node"
        type: "control"
    passwordless_ssh: true
    olam_type: v1
    EOF
    
  6. Implante o ambiente de laboratório.

    ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
    

    O ambiente de laboratório gratuito requer a variável extra ansible_python_interpreter porque instala o pacote RPM do SDK para Python do Oracle Cloud Infrastructure. O local para a instalação deste pacote está sob os módulos python3.6.

    A forma de implantação padrão usa a CPU AMD e o Oracle Linux 8. Para usar uma CPU Intel ou Oracle Linux 9, adicione -e instance_shape="VM.Standard3.Flex" ou -e os_version="9" ao comando de implantação.

    Importante: Aguarde a execução bem-sucedida do playbook e atinja a tarefa de pausa. A instalação do Oracle Linux Automation Manager está concluída neste estágio do manual e as instâncias estão prontas. Tome nota da reprodução anterior, que imprime os endereços IP públicos e privados dos nós que implanta.

Faça log-in no WebUI

  1. Abra um terminal e configure um túnel SSH para o Oracle Linux Automation Manager.

    ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
    

    No ambiente de laboratório gratuito, use o endereço IP externo da instância do nó olam.

  2. Abra um navegador da Web e insira o URL.

    https://localhost:8444
    

    Observação: aprove o aviso de segurança com base no navegador usado. Clique no botão **Avançado do Chrome e, em seguida, no link Prosseguir para o localhost (inseguro).

  3. Faça log-in no Oracle Linux Automation Manager com o NOME DE USUÁRIO admin e a SENHA admin criados durante a implantação automatizada.

    olam-login

  4. Após o log-in, o WebUI é exibido.

    olam-webui

Executar o Upgrade

  1. Alterne para o terminal conectado à instância do olam-node que executa a instância do Oracle Linux Automation Manager.

  2. Interrompa o serviço Oracle Linux Automation Manager.

    sudo systemctl stop ol-automation-manager
    
  3. Crie um backup da chave secreta usada pelo Oracle Linux Automation Manager para criptografar segredos de automação no banco de dados.

    sudo cp /etc/tower/SECRET_KEY ~/SECRET_KEY.olamv1
    
  4. Crie um backup do banco de dados.

    Este comando despeja o conteúdo do banco de dados em um arquivo contendo todos os comandos SQL e dados necessários para restaurar o banco de dados.

    sudo su - postgres -c pg_dumpall > /tmp/olamv1_db_dump
    
  5. Interrompa o serviço de banco de dados.

    sudo systemctl stop postgresql
    
  6. Remova os arquivos de dados do banco de dados existentes.

    sudo rm -rf /var/lib/pgsql/data
    

    Este comando remove os arquivos de dados do banco de dados existentes. O banco de dados é recriado posteriormente usando o arquivo de dump.

  7. Desinstale o pacote de banco de dados atual.

    sudo dnf -y remove postgresql
    
  8. Ative o fluxo de módulos para a nova versão do banco de dados.

    O Oracle Linux Automation Manager permite usar PostgreSQL 12 e 13 durante o upgrade. Este laboratório usa a versão 13.

    sudo dnf -y module reset postgresql
    sudo dnf -y module enable postgresql:13
    
  9. Atualize o pacote de repositórios do Oracle Linux Automation Manager.

    sudo dnf -y update oraclelinux-automation-manager-release-el8
    

    Observação: Esta etapa reportará que não há nada a fazer no ambiente de laboratório gratuito, pois a implantação inicial já instalou o pacote de repositórios mais recente do Oracle Linux Automation Manager.

  10. Desative todos os repositórios do Oracle Linux Automation Manager.

    sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
    
  11. Atualize os pacotes do Oracle Linux Automation Manager para a Versão 2.

    sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
    
  12. Ative o repositório atual.

    sudo dnf config-manager --enable ol8_automation2.2
    
  13. Atualize o pacote do Oracle Linux Automation Manager.

    sudo dnf -y update ol-automation-manager
    

    Observação: As mensagens esperadas a seguir são exibidas na saída durante o upgrade.

      Upgrading        : ol-automation-manager-2.1.0-10.el8.x86_64            26/28 
    warning: /etc/tower/settings.py created as /etc/tower/settings.py.rpmnew
    
      Running scriptlet: ol-automation-manager-2.1.0-10.el8.x86_64            26/28 
    ValueError: File context for /var/run/tower(/.*)? already defined
    
  14. Instale o servidor de banco de dados.

    sudo dnf -y install postgresql-server
    
  15. Inicialize, depois inicie e restaure o banco de dados.

    sudo postgresql-setup --initdb
    sudo systemctl start postgresql
    sudo su - postgres -c 'psql -d postgres -f /tmp/olamv1_db_dump'
    
  16. Confirme se o banco de dados está disponível.

    sudo su - postgres -c 'psql -l | grep awx'
    

    Exemplo de Saída:

    [oracle@control-node ~]$ sudo su - postgres -c 'psql -l | grep awx'
     awx       | awx      | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
    

    A saída exibe a conta awx criada no banco de dados após a execução da restauração usando o arquivo de dump.

  17. Substitua o arquivo de definições globais padrão do Oracle Linux Automation Manager.

    Após a atualização do pacote do Oracle Linux Automation Manager, o novo rpm cria um arquivo de configuração padrão com uma extensão .rpmnew. Esse processo permite que os administradores do sistema verifiquem as diferenças de configuração e migrem manualmente as alterações necessárias.

    sudo mv /etc/tower/settings.py /etc/tower/settings.py.save
    sudo mv /etc/tower/settings.py.rpmnew /etc/tower/settings.py
    
    
  18. Exiba as diferenças entre os arquivos de definições globais novos e antigos.

    sudo diff /etc/tower/settings.py /etc/tower/settings.py.save
    

    Observação: Qualquer definição personalizada adicionada anteriormente ao arquivo settings.py deve ser definida em WebUI ou movida para um arquivo em /etc/tower/conf.d.

  19. Crie um arquivo de definições personalizadas contendo as definições necessárias.

    cat << EOF | sudo tee /etc/tower/conf.d/olamv2.py > /dev/null
    CLUSTER_HOST_ID = '$(hostname -i)'
    DEFAULT_EXECUTION_QUEUE_NAME = 'tower'
    DEFAULT_CONTROL_PLANE_QUEUE_NAME = 'tower' 
    EOF
    

    Esse comando define a definição CLUSTER_HOST_ID como o endereço IP do sistema e os nomes de fila padrão como o nome padrão da versão pré-atualizada tower. Os valores inseridos nos arquivos de configuração precisam seguir o formato de sintaxe Python.

    Observação: ao fazer upgrade do Oracle Linux Automation Manager, o valor CLUSTER_HOST_ID precisa corresponder ao valor da instalação anterior para evitar que Jobs fique preso em um status pendente após o upgrade. O nome da fila padrão na Versão 1 é tower, enquanto na Versão 2, é default.

  20. Atualize o arquivo de configuração do Receptor.

    A malha do Receptor é uma rede de sobreposição que cria conexões ponto a ponto entre controladores e executores para lidar com a distribuição do trabalho.

    sudo sed -i "s/0.0.0.0/$(hostname -i)/" /etc/receptor/receptor.conf
    
  21. Verifique o arquivo de configuração do Receptor.

    sudo cat /etc/receptor/receptor.conf
    
    • id: é o nome do host ou o endereço IP do sistema Oracle Linux Automation Manager.
    • port: é a porta de escuta TCP para a malha do Receptor, que assume como padrão a porta TCP 27199.
  22. Implante o Oracle Linux Automation Manager.

    1. Abra um shell como o usuário awx.

      sudo su -l awx -s /bin/bash
      
    2. Migre qualquer contêiner existente para a versão mais recente do podman, mantendo os namespaces não privilegiados ativos.

      podman system migrate
      
    3. Obtenha o ambiente de execução do Oracle Linux Automation Engine para o Oracle Linux Automation Manager.

      podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2
      
    4. Use o utilitário awx-manage para configurar a instância do Oracle Linux Automation Manager.

      awx-manage makemigrations --merge
      awx-manage migrate
      awx-manage register_default_execution_environments
      exit
      
      
  23. Restaure o backup do arquivo de chave secreta.

    sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
    
  24. Anexe o parâmetro a seguir ao arquivo de definições do Oracle Linux Automation Manager.

    cat << EOF | sudo tee -a /etc/tower/conf.d/olamv2.py > /dev/null
    
    # OLAM Reaper Job Status Tracking
    REAPER_TIMEOUT_SEC = 60
    EOF
    
  25. Substitua a configuração padrão para NGINX.

    cat << EOF | sudo tee /etc/nginx/nginx.conf > /dev/null
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
    worker_connections 1024;
    }
    
    http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    
    access_log  /var/log/nginx/access.log  main;
    
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    }
    EOF   
    
  26. Atualize os parâmetros de ajuste do banco de dados.

    sudo sed -i 's/max_connections = [0-9]\+/max_connections = 1024/' /var/lib/pgsql/data/postgresql.conf
    
    sudo sed -i 's/shared_buffers = [0-9]\+MB/shared_buffers = 5400MB/' /var/lib/pgsql/data/postgresql.conf
    
    sudo sed -i 's/#\(work_mem = \)[0-9]\+MB/\1'540MB/ /var/lib/pgsql/data/postgresql.conf
    
    sudo sed -i 's/#\(maintenance_work_mem = \)[0-9]\+MB/\1'720MB/ /var/lib/pgsql/data/postgresql.conf
    
  27. Reinicie o banco de dados.

    sudo systemctl restart postgresql
    
  28. Reinicie o NGINX.

    sudo systemctl restart nginx
    
  29. Inicie o Oracle Linux Automation Manager.

    sudo systemctl start ol-automation-manager
    

Verifique o Upgrade

  1. Atualize a janela do Web browser usada para exibir o WebUI anterior ou abra uma nova janela do Web browser e informe o URL.

    https://localhost:8444
    

    A porta usada no URL precisa corresponder à porta local do túnel SSH.

  2. Faça log-in no Oracle Linux Automation Manager novamente com o Nome do Usuário admin e a Senha admin.

    olam2-login

  3. Após o log-in, o WebUI é exibido.

    olam2-webui

Próximas Etapas

O upgrade foi concluído e os jobs estão prontos para execução. Para saber mais sobre o Oracle Linux Automation Manager, confira a documentação e continue desenvolvendo suas habilidades verificando nosso outro treinamento do Oracle Linux Automation Manager na Estação de Treinamento Oracle Linux.

Documentação do Oracle Linux Automation Manager
Treinamento do Oracle Linux Automation Manager
Estação de Treinamento do Oracle Linux

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.