Remarques :

Mettre à niveau Oracle Linux Automation Manager

Introduction

Les administrateurs Oracle Linux Automation Manager existants connaissent bien son déploiement monoinstance tout-en-un.

Oracle Linux Automation Manager permet aux administrateurs de mettre à niveau leurs déploiements existants et de migrer ultérieurement l'instance mise à niveau vers un déploiement en cluster. Lors de la mise à niveau, l'instance est convertie en un déploiement à hôte unique et se configure en tant que noeud hybride.

Après avoir suivi ce tutoriel, vous saurez comment mettre à niveau Oracle Linux Automation Manager à partir d'une version précédente.

Objectifs

Dans ce tutoriel, vous allez apprendre à :

Prérequis

Déployer Oracle Linux Automation Manager

Remarque : en cas d'exécution dans votre propre location, lisez le projet linux-virt-labs GitHub README.md et respectez les prérequis avant de déployer l'environnement d'atelier.

  1. Ouvrez un terminal sur le bureau Luna.

  2. Clonez le projet linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Accédez au répertoire de travail.

    cd linux-virt-labs/olam
    
  4. Installez les collections requises.

    ansible-galaxy collection install -r requirements.yml
    
  5. Mettez à jour la configuration de l'instance 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. Déployez l'environnement d'exercice.

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

    L'environnement d'atelier gratuit nécessite la variable supplémentaire ansible_python_interpreter car il installe le package RPM pour le kit SDK Oracle Cloud Infrastructure pour Python. L'emplacement d'installation de ce package se trouve sous les modules python3.6.

    La forme de déploiement par défaut utilise la CPU AMD et Oracle Linux 8. Pour utiliser une CPU Intel ou Oracle Linux 9, ajoutez -e instance_shape="VM.Standard3.Flex" ou -e os_version="9" à la commande de déploiement.

    Important : attendez que le playbook s'exécute correctement et atteignez la tâche de pause. L'installation d'Oracle Linux Automation Manager est terminée à ce stade du manuel et les instances sont prêtes. Notez la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'elle déploie.

Connectez-vous à WebUI.

  1. Ouvrez un terminal et configurez un tunnel SSH vers Oracle Linux Automation Manager.

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

    Dans l'environnement d'exercices gratuits, utilisez l'adresse IP externe de l'instance olam-node.

  2. Ouvrez un navigateur Web et saisissez l'URL.

    https://localhost:8444
    

    Remarque : approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Cliquez sur le bouton **Advanced pour Chrome, puis sur le lien Proceed to localhost (unsafe).

  3. Connectez-vous à Oracle Linux Automation Manager avec le nom utilisateur admin et le mot de passe admin créés lors du déploiement automatisé.

    olam-login

  4. Après la connexion, WebUI s'affiche.

    olam-webui

Exécution de la mise à niveau

  1. Basculez vers le terminal connecté à l'instance olam-node exécutant l'instance Oracle Linux Automation Manager.

  2. Arrêtez le service Oracle Linux Automation Manager.

    sudo systemctl stop ol-automation-manager
    
  3. Créez une sauvegarde de la clé secrète utilisée par Oracle Linux Automation Manager pour crypter les clés secrètes d'automatisation dans la base de données.

    sudo cp /etc/tower/SECRET_KEY ~/SECRET_KEY.olamv1
    
  4. Créez une sauvegarde de la base de données.

    Cette commande vide le contenu de la base de données dans un fichier contenant toutes les commandes SQL et données nécessaires pour restaurer la base de données.

    sudo su - postgres -c pg_dumpall > /tmp/olamv1_db_dump
    
  5. Arrêtez le service de base de données.

    sudo systemctl stop postgresql
    
  6. Supprimez les fichiers de données de base de données existants.

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

    Cette commande supprime les fichiers de données de base de données existants. La base de données est reconstruite ultérieurement à l'aide du fichier dump.

  7. Désinstallez le package de base de données en cours.

    sudo dnf -y remove postgresql
    
  8. Activez le flux de module pour la nouvelle version de base de données.

    Oracle Linux Automation Manager permet d'utiliser les versions PostgreSQL 12 et 13 lors de la mise à niveau. Cet atelier utilise la version 13.

    sudo dnf -y module reset postgresql
    sudo dnf -y module enable postgresql:13
    
  9. Mettez à jour le package de référentiel Oracle Linux Automation Manager.

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

    Remarque : cette étape indique qu'il n'y a rien à faire dans l'environnement d'atelier gratuit car le déploiement initial a déjà installé le dernier package de référentiel pour Oracle Linux Automation Manager.

  10. Désactivez tous les référentiels Oracle Linux Automation Manager.

    sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
    
  11. Mettez à niveau les packages Oracle Linux Automation Manager vers la version 2.

    sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
    
  12. Activez le référentiel en cours.

    sudo dnf config-manager --enable ol8_automation2.2
    
  13. Mettez à jour le package Oracle Linux Automation Manager.

    sudo dnf -y update ol-automation-manager
    

    Remarque : les messages attendus suivants sont affichés dans la sortie lors de la mise à niveau.

      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. Installez le serveur de base de données.

    sudo dnf -y install postgresql-server
    
  15. Initialisez, puis démarrez et restaurez la base de données.

    sudo postgresql-setup --initdb
    sudo systemctl start postgresql
    sudo su - postgres -c 'psql -d postgres -f /tmp/olamv1_db_dump'
    
  16. Vérifiez que la base de données est disponible.

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

    Exemple de sortie :

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

    La sortie affiche le compte awx créé dans la base de données après l'exécution de la restauration à l'aide du fichier dump.

  17. Remplacez le fichier de paramètres globaux par défaut d'Oracle Linux Automation Manager.

    Après la mise à niveau du package Oracle Linux Automation Manager, le nouveau RPM crée un fichier de configuration par défaut avec l'extension .rpmnew. Ce processus permet aux administrateurs système de vérifier les différences de configuration et de migrer manuellement les modifications nécessaires.

    sudo mv /etc/tower/settings.py /etc/tower/settings.py.save
    sudo mv /etc/tower/settings.py.rpmnew /etc/tower/settings.py
    
    
  18. Affichez les différences entre les nouveaux et anciens fichiers de paramètres globaux.

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

    Remarque : tous les paramètres personnalisés précédemment ajoutés au fichier settings.py doivent être définis dans WebUI ou déplacés vers un fichier sous /etc/tower/conf.d.

  19. Créez un fichier de paramètres personnalisé contenant les paramètres requis.

    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
    

    Cette commande définit le paramètre CLUSTER_HOST_ID sur l'adresse IP du système et les noms de file d'attente par défaut sur le nom par défaut tower de la version pré-mise à niveau. Les valeurs entrées dans les fichiers de configuration doivent respecter le format de syntaxe Python.

    Remarque : lors de la mise à niveau d'Oracle Linux Automation Manager, la valeur CLUSTER_HOST_ID doit correspondre à la valeur de l'installation précédente pour éviter que les travaux ne soient bloqués au statut En attente après la mise à niveau. Le nom de file d'attente par défaut dans la version 1 est tower, tandis que dans la version 2, il est default.

  20. Mettez à jour le fichier de configuration du récepteur.

    Le maillage du récepteur est un réseau superposé qui crée des connexions peer-to-peer entre les contrôleurs et les exécuteurs pour gérer la distribution du travail.

    sudo sed -i "s/0.0.0.0/$(hostname -i)/" /etc/receptor/receptor.conf
    
  21. Vérifiez le fichier de configuration du récepteur.

    sudo cat /etc/receptor/receptor.conf
    
    • id: est le nom d'hôte ou l'adresse IP du système Oracle Linux Automation Manager.
    • port: est le port d'écoute TCP du maillage du récepteur, qui est défini par défaut sur le port TCP 27199.
  22. Déployez Oracle Linux Automation Manager.

    1. Ouvrez un shell en tant qu'utilisateur awx.

      sudo su -l awx -s /bin/bash
      
    2. Migrez les conteneurs existants vers la dernière version de podman tout en conservant les espaces de noms sans privilège.

      podman system migrate
      
    3. Extrayez l'environnement d'exécution Oracle Linux Automation Engine pour Oracle Linux Automation Manager.

      podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2
      
    4. Utilisez l'utilitaire awx-manage pour configurer l'instance Oracle Linux Automation Manager.

      awx-manage makemigrations --merge
      awx-manage migrate
      awx-manage register_default_execution_environments
      exit
      
      
  23. Restaurez la sauvegarde du fichier de clé secrète.

    sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
    
  24. Ajoutez le paramètre suivant au fichier de paramètres d'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. Remplacez la configuration par défaut pour 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. Mettez à jour les paramètres de réglage de la base de données.

    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. Relancez la base de données.

    sudo systemctl restart postgresql
    
  28. Redémarrez NGINX.

    sudo systemctl restart nginx
    
  29. Démarrez Oracle Linux Automation Manager.

    sudo systemctl start ol-automation-manager
    

Vérifiez la mise à niveau

  1. Actualisez la fenêtre du navigateur Web utilisée pour afficher le WebUI précédent, ou ouvrez une nouvelle fenêtre de navigateur Web et entrez l'URL.

    https://localhost:8444
    

    Le port utilisé dans l'URL doit correspondre au port local du tunnel SSH.

  2. Connectez-vous à nouveau à Oracle Linux Automation Manager avec le nom utilisateur admin et le mot de passe admin.

    Connexion à olam2

  3. Après la connexion, WebUI s'affiche.

    olam2-webui

Etapes suivantes

La mise à niveau est terminée et les travaux sont prêts à être exécutés. Pour en savoir plus sur Oracle Linux Automation Manager, consultez la documentation et continuez à développer vos compétences en consultant notre autre formation Oracle Linux Automation Manager sur Oracle Linux Training Station.

Documentation d'Oracle Linux Automation Manager
Formation Oracle Linux Automation Manager
Station de formation Oracle Linux

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.