Remarques :

Gérer Oracle Linux Automation Manager à l'aide de la collection AWX

Introduction

La collection AWX Ansible permet aux administrateurs d'interagir avec Oracle Linux Automation Manager via des livres de jeux. Les modules comprennent la possibilité d'effectuer des tâches telles que l'administration des utilisateurs et des groupes, la création de projets et l'exécution de travaux.

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"
    olam_type: single
    EOF
    
  6. Créez un fichier d'inventaire.

    cat << EOF | tee hosts > /dev/null
    localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6
    EOF
    
  7. Déployez l'environnement d'exercice.

    ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
    

    L'environnement d'atelier gratuit requiert la variable supplémentaire ansible_python_interpreter pour localhost 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 Python par défaut du système en fonction de votre version d'Oracle Linux. L'utilisation d'une variable d'inventaire évite d'avoir un impact sur les lectures en cours d'exécution sur des hôtes autres que localhost.

    La forme de déploiement par défaut utilise l'UC AMD. Vous pouvez modifier la forme des instances en transmettant une nouvelle définition de variable de forme sur la ligne de commande.

    Par exemple : -e instance_shape="VM.Standard3.Flex"

    De même, la version par défaut de l'image Oracle Linux utilise la variable os_version définie dans le fichier `default_vars.yml. Vous pouvez modifier cette valeur en transmettant la version majeure d'Oracle Linux sur la ligne de commande.

    Par exemple : -e os_version="9"

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

Vérifier le déploiement d'Oracle Linux Automation Manager

  1. Ouvrez un nouveau terminal.

  2. Configurez un tunnel SSH vers l'instance Oracle Linux Automation Manager.

    ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<public_ip_address_of_olam-node> sleep 300
    
    • -o ExitOnForwardFailure=yes : attend que tous les transferts de port distant soient établis
    • -f : exécute le tunnel SSH en arrière-plan.
    • -L : crée le tunnel sur le port 8444 sur le système local et 443 sur le système distant.
    • sleep 300 : maintient le tunnel distant ouvert pendant 5 minutes, en attente d'une connexion établie avant la fermeture automatique
  3. Ouvrez un navigateur Web et saisissez l'URL.

    https://localhost:8444
    

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

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

    Connexion à olam2

  5. Une fois connecté, l'interface utilisateur Web s'affiche.

    olam2-webui

Création du fichier de configuration du contrôleur

La collection AWX Ansible utilise un fichier de configuration et, dans certains cas, l'interface de ligne de commande AWX pour l'authentification auprès d'Oracle Linux Automation Manager. Les paramètres d'authentification peuvent être transmis sur la ligne de commande à l'aide de la CLI directement ou écrits dans un fichier de configuration.

Lors de la spécification des paramètres d'authentification, la collection Ansible AWX attend une combinaison des éléments suivants :

Plus de détails sont disponibles dans le projet upstream.

  1. Revenez au terminal sur lequel vous avez créé le tunnel SSH.

  2. Générez le fichier de configuration.

    cat << EOF | tee ~/.tower_cli.cfg > /dev/null
    [general]
    host: https://localhost:8444
    verify_ssl: false
    username: admin
    password: admin
    use_token = false
    EOF
    
    • host: : définit l'URL permettant d'accéder à l'interface utilisateur Web d'Oracle Linux Automation Manager
    • verify_ssl: : désactive la vérification SSL stricte car l'environnement du tutoriel utilise un certificat auto-signé
    • use_token: : bien qu'il soit préférable d'utiliser un jeton OAuth2, la valeur False est désactivée à l'aide d'un jeton pour l'authentification

Créer une organisation

Comme nous le présentons dans notre tutoriel Introduction, une organisation se trouve en haut de la pyramide des rôles et constitue un ensemble logique d'utilisateurs, d'équipes, de projets et d'inventaires.

Plutôt que de créer cela via l'interface utilisateur Web, nous pouvons écrire un livre de jeux.

  1. Écrivez le playbook.

    cat << EOF | tee configure-olam.yaml > /dev/null
    ---
    - name: Playbook to set up training demo data using the AWX collection
      hosts: localhost
      gather_facts: false
      collections:
        - awx.awx
    
      tasks:
    
      - name: Create an organization
        awx.awx.organization:
          name: "Example"
          description: "Created using a playbook"
          state: present
    
    EOF
    
  2. Exécutez le playbook.

    ansible-playbook configure-olam.yaml
    
  3. Vérifiez les modifications dans l'interface utilisateur Web.

    A l'aide du navigateur, connectez-vous à l'interface Web.

    Remarque : si vous rencontrez un échec de connexion, le tunnel SSH a peut-être expiré. Dans ce cas, vous devrez réexécuter la commande SSH pour rétablir la connexion.

    Dans le menu de navigation, cliquez sur Organisations. Notez l'entrée Example, créée par le livre de jeux.

Exécution d'un travail

Une fois l'organisation créée, automatisons les étapes restantes du tutoriel Mise en route avec quelques modifications. L'un des avantages d'Oracle Linux Automation Engine est son auto-documentation.

  1. Revenez au terminal où vous avez créé le playbook.

  2. Ajoutez la configuration supplémentaire au livre de jeux existant.

    cat << EOF | tee -a configure-olam.yaml > /dev/null
      - name: Add a user
        awx.awx.user:
          username: jdoe
          password: oracle
          email: jdoe@example.com
          first_name: John
          last_name: Doe
          organization: Example
          state: present
    
      - name: Add an inventory
        awx.awx.inventory:
          name: "Demo Inventory"
          description: "Demo OCI Instances"
          organization: Example
          state: present
    
      - name: Add a host
        awx.awx.host:
          name: localhost
          description: "Use to run tasks locally"
          inventory: "Demo Inventory"
          state: present
          variables:
            ansible_connection: local
    
      - name: Add a credential
        awx.awx.credential:
          name: "Linux Instance"
          credential_type: Machine
          organization: Example
          inputs:
            username: opc
            ssh_key_data: ""
    
      - name: Add a project
        awx.awx.project:
          name: "Hello World"
          description: "Sample Hello World Project"
          organization: Example
          default_environment: "OLAM EE (2.3)"
          scm_type: "git"
          scm_update_on_launch: false
          scm_url: https://github.com/oracle-devrel/linux-virt-labs.git
          state: present
    
      - name: Add a template
        awx.awx.job_template:
          name: "Say Hello"
          job_type: "run"
          organization: Example
          inventory: "Demo Inventory"
          project: "Hello World"
          playbook: "labs/olam-hello-world.yaml"
          state: present
    
      - name: Launch a job
        awx.awx.job_launch:
          job_template: "Say Hello"
          wait: true
        register: job
    
      - name: Print results from job
        ansible.builtin.debug:
          var: job
    
    EOF
    
  3. Réexécutez le playbook.

    ansible-playbook configure-olam.yaml
    

    Le livre de jeu se termine par la dernière lecture affichant le statut du travail comme successful, avec un avertissement que vous pouvez ignorer.

  4. Vérifiez le travail dans l'interface utilisateur Web.

    Dans le navigateur, accédez à Travaux et cliquez sur le travail Dites bonjour. La sortie affiche les résultats de l'exécution du livre de jeux au cours du travail. Notez les messages de bienvenue de la tâche de débogage.

Etapes suivantes

La sortie de l'interface utilisateur Web confirme que vous disposez d'un Oracle Linux Automation Manager fonctionnel et que vous avez écrit un livre de jeux pour gérer certaines des tâches les plus courantes.

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.