Note :

Mettre à niveau Oracle Linux Automation Manager

Présentation

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

Oracle Linux Automation Manager permet aux administrateurs de mettre à niveau leurs déploiements existants et de migrer ensuite l'instance mise à niveau vers un déploiement en grappe. Lors de la mise à niveau, l'instance se convertit 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 apprendrez à :

Préalables

Déployer Oracle Linux Automation Manager

Note : Si vous exécutez votre propre location, lisez les préalables du projet linux-virt-labs GitHub README.md et remplissez les conditions requises avant de déployer l'environnement de laboratoire.

  1. Ouvrez un terminal sur le Luna Desktop.

  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 de l'exercice.

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

    L'environnement de laboratoire gratuit nécessite la variable supplémentaire ansible_python_interpreter car elle installe l'ensemble RPM pour la trousse SDK Oracle Cloud Infrastructure pour Python. L'emplacement de l'installation de ce package est sous les modules python3.6.

    La forme de déploiement par défaut utilise le processeur AMD et Oracle Linux 8. Pour utiliser une unité centrale 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 livre de jeu s'exécute avec succès et atteignez la tâche Mettre en pause. L'installation d'Oracle Linux Automation Manager est terminée à cette étape du livre de jeu et les instances sont prêtes. Prenez note de la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'il 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 de laboratoire gratuit, utilisez l'adresse IP externe de l'instance olam-node.

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

    https://localhost:8444
    

    Note : Approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Cliquez sur le bouton **Avancé pour Chrome, puis sur le lien Passer à localhost (non sécurisé).

  3. Connectez-vous à Oracle Linux Automation Manager avec USERNAME admin et PASSWORD admin créés lors du déploiement automatisé.

    olam-login

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

    olam-webui

Exécuter la mise à niveau

  1. Passez au terminal connecté à l'instance olam-node qui exécute 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 chiffrer 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 effectue un dump du contenu de la base de données dans un fichier contenant toutes les commandes SQL et données nécessaires à la restauration de la base.

    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 l'ensemble de base de données courant.

    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 PostgreSQL 12 et 13 lors de la mise à niveau. Cet exercice utilise la version 13.

    sudo dnf -y module reset postgresql
    sudo dnf -y module enable postgresql:13
    
  9. Mettez à jour l'ensemble du référentiel Oracle Linux Automation Manager.

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

    Note : Cette étape indique qu'il n'y a rien à faire dans l'environnement de laboratoire gratuit, car le déploiement initial a déjà installé le dernier ensemble 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 ensembles Oracle Linux Automation Manager vers la version 2.

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

    sudo dnf config-manager --enable ol8_automation2.2
    
  13. Mettez à jour l'ensemble Oracle Linux Automation Manager.

    sudo dnf -y update ol-automation-manager
    

    Note : 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 avoir effectué la restauration à l'aide du fichier de vidage.

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

    Après la mise à niveau de l'ensemble 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 de 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. Voir les différences entre les nouveaux et anciens fichiers de paramètres globaux.

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

    Note : 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és 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 règle le paramètre CLUSTER_HOST_ID à l'adresse IP du système et les noms de file d'attente par défaut au 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.

    Note : 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 tâches ne soient bloquées dans un statut en attente après la mise à niveau. Le nom de file d'attente par défaut dans la version 1 est tower, alors que dans la version 2, il est default.

  20. Mettez à jour le fichier de configuration Receptor.

    Le maillage Receptor 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 Receptor.

    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 pour le maillage Receptor, qui est par défaut le port TCP 27199.
  22. Déployer Oracle Linux Automation Manager.

    1. Ouvrez un interpréteur de commandes en tant qu'utilisateur awx.

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

      podman system migrate
      
    3. Extrayez l'environnement d'exécution d'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 de 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. Redémarrez 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érifier la mise à niveau

  1. Actualisez la fenêtre du navigateur Web utilisée pour afficher la WebUI précédente, ou ouvrez une nouvelle fenêtre du 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 d'utilisateur admin et le mot de passe admin.

    olam2 - Connexion

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

    olam2-webui

Étapes suivantes

La mise à niveau est terminée et les tâches sont prêtes à être exécutées. 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 le poste de formation Oracle Linux.

Documentation sur Oracle Linux Automation Manager
Formation sur Oracle Linux Automation Manager
Station de formation Oracle Linux

Autres ressources d'apprentissage

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

Pour obtenir la documentation sur le produit, visitez Oracle Help Center.