Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:centos:8:lcf900:l706 [2023/10/23 14:35] adminelearning:workbooks:centos:8:lcf900:l706 [2024/06/10 11:46] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2023.01**+Version : **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 22: Ligne 22:
       * 3.1 - Configurer Ansible® Automation Hub       * 3.1 - Configurer Ansible® Automation Hub
       * 3.2 - Configurer Ansible® Automation Controller       * 3.2 - Configurer Ansible® Automation Controller
 +    * LAB #4 - Sauvegarder et Restaurer la Plateforme Ansible® Automation
 +      * 4.1 - Sauvegarder l'Ansible® Automation Controller
 +      * 4.2 - Sauvegarder l'Ansible® Automation Hub
 +      * 4.3 - Restaurer l'Ansible® Automation Hub à l'Identique
 +    * LAB #5 - Utilisation de l'Ansible® Automation Controller
 +      * 5.1 - Créer un Job Simple
 +      * 5.2 - Créer un Projet
 +      * 5.3 - Créer un Inventory
 +      * 5.4 - Créer des Informations d'Identification
 +      * 5.5 - Créer un Gabarit
 +      * 5.6 - Exécuter un Job
 +    * LAB #6 - Utilisation de l'Ansible® Automation Hub
 +      * 6.1 - Créer une Collection
 +      * 6.1 - Téléverser une Collection
  
 =====LAB#1 - Ansible® Automation Controller===== =====LAB#1 - Ansible® Automation Controller=====
Ligne 27: Ligne 41:
 ====1.1 - Préparation==== ====1.1 - Préparation====
  
-Avant de commencer, ouvrez un compte développeur chez **[[https://sso.redhat.com/auth/realms/redhat-external/login-actions/registration|Red Hat]]**.+Avant de commencer, ouvrez un compte développeur chez **[[https://developers.redhat.com|Red Hat]]**.
  
 <WRAP center round important 50%> <WRAP center round important 50%>
Ligne 39: Ligne 53:
 </WRAP> </WRAP>
  
-Connectez-vous ensuite à votre VM **RedHat_10.0.2.101_SSH** ou **RedHat_10.0.3.101_SSH** selon votre numéro de stagiaire.+Connectez-vous ensuite à votre VM **RedHat_10.0.2.101_SSH**.
  
 Enregistrez la VM dans **votre** compte Red Hat : Enregistrez la VM dans **votre** compte Red Hat :
Ligne 53: Ligne 67:
 The system has been registered with ID: a85a9fe3-334d-4b0c-9a98-f408e7d3a1e7 The system has been registered with ID: a85a9fe3-334d-4b0c-9a98-f408e7d3a1e7
 The registered system name is: redhat9.ittraining.loc The registered system name is: redhat9.ittraining.loc
 +</code>
 +
 +Configurez SELinux en mode permissive :
 +
 +<code>
 +[root@redhat9 ~]# setenforce permissive
 </code> </code>
  
Ligne 86: Ligne 106:
 </WRAP> </WRAP>
  
-Modifiez le fichier **/etc/hosts** selon votre numéro de stagiaire : +Modifiez le fichier **/etc/hosts** :
- +
-<code> +
-[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# vi /etc/hosts +
-[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# cat /etc/hosts +
-127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 +
-::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 +
-redhat9.ittraining.loc  10.0.2.101 +
-autohub.ittraining.loc  10.0.2.102 +
-</code>+
  
 <code> <code>
Ligne 269: Ligne 280:
 [root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh  [root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh 
 ... ...
-PLAY [Post-install cleanup] **************************************************** 
- 
-TASK [Remove stale packages] *************************************************** 
-ok: [redhat9.ittraining.loc] => {"changed": false, "msg": "Nothing to do", "rc": 0, "results": []} 
- 
 PLAY RECAP ********************************************************************* PLAY RECAP *********************************************************************
 localhost                  : ok=0    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0    localhost                  : ok=0    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   
Ligne 281: Ligne 287:
 ====1.3 - Consultation==== ====1.3 - Consultation====
  
-Connectez-vous à votre VM **Debian_10.0.2.46_VNC** ou **Debian_10.0.3.46_VNC** selon votre numéro de stagiaire :+Connectez-vous à votre VM **Debian_10.0.2.46_VNC** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_14-58-21.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_14-58-21.png?800 |}}
  
-Ouvrez un navigateur Web et naviguez à **https://10.0.2.101** ou **https://10.0.3.101** selon votre numéro de stagiaire :+Ouvrez un navigateur Web et naviguez à **https://10.0.2.101** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-03-31.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-03-31.png?800 |}}
  
 Acceptez le certificat auto-signé : Acceptez le certificat auto-signé :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-03-59.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-03-59.png?800 |}}
  
 Connectez-vous à votre Ansible® Automation Controller en utilisant le compte **admin** et le mot de passe **fenestros** : Connectez-vous à votre Ansible® Automation Controller en utilisant le compte **admin** et le mot de passe **fenestros** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-04-22.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-04-22.png?800 |}}
  
 Cliquez sur le bouton **Username/password** et enregistrez votre Ansible® Automation Controller auprès de Red Hat en utilisant **votre** compte : Cliquez sur le bouton **Username/password** et enregistrez votre Ansible® Automation Controller auprès de Red Hat en utilisant **votre** compte :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-06-26.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-06-26.png?800 |}}
  
 Vous obtiendrez : Vous obtiendrez :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-07-58.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_15-07-58.png?800 |}}
  
-=====LAB #2 - Automation Hub=====+=====LAB #2 - Ansible® Automation Hub=====
  
 ====2.1 - Préparation==== ====2.1 - Préparation====
  
-Connectez-vous maintenant à votre VM **AutoHub_10.0.2.102_SSH** ou **AutoHub_10.0.3.102_SSH** selon votre numéro de stagiaire.+Connectez-vous maintenant à votre VM **autohub.ittraining.loc** 
 + 
 +<code> 
 +[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ssh -l trainee 10.0.2.102 
 +</code>
  
 Enregistrez la VM dans **votre** compte Red Hat : Enregistrez la VM dans **votre** compte Red Hat :
Ligne 320: Ligne 330:
 The system has been registered with ID: a85a9fe3-334d-4b0c-9a98-f408e7d3a1e7 The system has been registered with ID: a85a9fe3-334d-4b0c-9a98-f408e7d3a1e7
 The registered system name is: autohub.ittraining.loc The registered system name is: autohub.ittraining.loc
 +</code>
 +
 +Configurez SELinux en mode permissive :
 +
 +<code>
 +[root@autohub ~]# setenforce permissive
 </code> </code>
  
Ligne 341: Ligne 357:
 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 10.0.2.102       autohub.ittraining.loc 10.0.2.102       autohub.ittraining.loc
-</code> 
- 
-ou 
- 
-<code> 
-[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# vi /etc/hosts 
-[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# cat /etc/hosts 
-127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
-::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 
-10.0.3.102       autohub.ittraining.loc 
 </code> </code>
  
Ligne 456: Ligne 462:
  
 <code> <code>
-[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh
 ... ...
-TASK [Remove stale packages] *************************************************** +PLAY RECAP ********************************************************************* 
-changed: [autohub.ittraining.loc=> {"changed": true, "msg": "", "rc": 0, "results": ["Removed: python3-chardet-4.0.0-5.el9.noarch", "Removedpython3-ply-3.11-14.el9.noarch", "Removed: python3.11-3.11.2-2.el9_2.2.x86_64", "Removed: python3.11-cffi-1.15.1-1.el9.x86_64", "Removed: python3.11-cryptography-37.0.2-5.el9.x86_64", "Removed: python3.11-libs-3.11.2-2.el9_2.2.x86_64", "Removed: python3.11-pip-wheel-22.3.1-2.el9.noarch", "Removed: python3.11-ply-3.11-1.el9.noarch", "Removed: python3.11-pycparser-2.20-1.el9.noarch", "Removed: python3.11-pyyaml-6.0-1.el9.x86_64", "Removed: python3.11-setuptools-wheel-65.5.1-2.el9.noarch", "Removed: mpdecimal-2.5.1-3.el9.x86_64", "Removed: python3.11-six-1.16.0-1.el9.noarch", "Removed: libnsl2-2.0.0-1.el9.x86_64", "Removed: python3-pysocks-1.7.1-12.el9.noarch"]}+autohub.ittraining.loc     : ok=165  changed=51   unreachable=   failed=2    skipped=173  rescued=   ignored=   
 +localhost                  ok=   changed=   unreachable=0    failed=   skipped=   rescued=   ignored=  
  
 +[error] Oops!  An error occurred while running setup.
 +[warn] /var/log/tower does not exist. Setup log saved to setup.log.
 +[warn] Provided path does not exist or is not accessible. Setup log saved to ./setup.log.
 +</code>
 +
 +En cas d'erreur(s), ré-exécutez le script setup.sh :
 +
 +<code>
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh 
 +...
 PLAY RECAP ********************************************************************* PLAY RECAP *********************************************************************
 autohub.ittraining.loc     : ok=900  changed=150  unreachable=0    failed=0    skipped=379  rescued=0    ignored=0    autohub.ittraining.loc     : ok=900  changed=150  unreachable=0    failed=0    skipped=379  rescued=0    ignored=0   
Ligne 472: Ligne 489:
 ====2.3 - Consultation==== ====2.3 - Consultation====
  
-Connectez-vous à votre VM **Debian_10.0.2.46_VNC** ou **Debian_10.0.3.46_VNC** selon votre numéro de stagiaire :+Connectez-vous à votre VM **Debian_10.0.2.46_VNC** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_14-58-21.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-20_14-58-21.png?800 |}}
  
-Ouvrez un navigateur Web et naviguez à **https://10.0.2.102** ou **https://10.0.3.102** selon votre numéro de stagiaire :+Ouvrez un navigateur Web et naviguez à **https://10.0.2.102** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_13-45-08.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_13-45-08.png?800 |}}
  
 Acceptez le certificat auto-signé : Acceptez le certificat auto-signé :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_13-45-47.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_13-45-47.png?800 |}}
  
 Connectez-vous à votre Ansible® Automation Hub en utilisant le compte **admin** et le mot de passe **fenestros** : Connectez-vous à votre Ansible® Automation Hub en utilisant le compte **admin** et le mot de passe **fenestros** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_13-47-59.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_13-47-59.png?800 |}}
  
 Vous obtiendrez : Vous obtiendrez :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_13-46-39.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_13-46-39.png?800 |}}
  
 =====LAB #3 - Connecter l'Ansible® Automation Hub et l'Ansible® Automation Controller===== =====LAB #3 - Connecter l'Ansible® Automation Hub et l'Ansible® Automation Controller=====
Ligne 498: Ligne 515:
 Dans l'interface de votre Ansible® Automation Hub, cliquez sur **Collections > API token > Load token** : Dans l'interface de votre Ansible® Automation Hub, cliquez sur **Collections > API token > Load token** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-41-04.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-41-04.png?800 |}}
  
 Copiez le token ainsi généré : Copiez le token ainsi généré :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-42-06.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-42-06.png?800 |}}
  
 Collez ce token dans un bloc-note (mousepad) : Collez ce token dans un bloc-note (mousepad) :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-43-04.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-43-04.png?800 |}}
  
 ====3.2 - Configurer Ansible® Automation Controller==== ====3.2 - Configurer Ansible® Automation Controller====
Ligne 512: Ligne 529:
 Ouvrez l'interface de votre Ansible® Automation Controller : Ouvrez l'interface de votre Ansible® Automation Controller :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-44-21.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-44-21.png?800 |}}
  
 Naviguez à **Resources > Credentials** et cliquez sur le bouton **Add** : Naviguez à **Resources > Credentials** et cliquez sur le bouton **Add** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-53-41.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-53-41.png?800 |}}
  
 Renseignez les champs **Name**, **Description** et **Galaxy Server URL**. Choisissez **Galaxy/Automation Hub API Token** dans le menu déroulant **Credential Type** et collez le token API dans **API token** : Renseignez les champs **Name**, **Description** et **Galaxy Server URL**. Choisissez **Galaxy/Automation Hub API Token** dans le menu déroulant **Credential Type** et collez le token API dans **API token** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-58-29.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-58-29.png?800 |}}
  
 Cliquez sur la loupe à gauche du champs **Organization** : Cliquez sur la loupe à gauche du champs **Organization** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-59-02.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-59-02.png?800 |}}
  
 Cochez l'organisation **Default** et cliquez sur le bouton **Select** : Cochez l'organisation **Default** et cliquez sur le bouton **Select** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-59-23.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-59-23.png?800 |}}
  
 Validez en cliquant sur le bouton **Save** : Validez en cliquant sur le bouton **Save** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-59-43.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_14-59-43.png?800 |}}
  
 Vous obtiendrez : Vous obtiendrez :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-00-08.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-00-08.png?800 |}}
  
 Cliquez sur **Settings > Jobs settings** : Cliquez sur **Settings > Jobs settings** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-02-26.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-02-26.png?800 |}}
  
 Vous obtiendrez : Vous obtiendrez :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-03-51.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-03-51.png?800 |}}
  
 Descendez la page et cliquez sur le bouton **Edit** : Descendez la page et cliquez sur le bouton **Edit** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-04-32.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-04-32.png?800 |}}
  
 Activez l'option **Ignore Ansible Galaxy SSL Certificate Validation** pour permettre l'utilisation de votre certificat auto-signé : Activez l'option **Ignore Ansible Galaxy SSL Certificate Validation** pour permettre l'utilisation de votre certificat auto-signé :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-05-05.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-05-05.png?800 |}}
  
 Descendez en bas de la page et cliquez sur le bouton **Save** : Descendez en bas de la page et cliquez sur le bouton **Save** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-05-28.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-05-28.png?800 |}}
  
 Naviguez à **Organizations** et cliquez sur l'icône d'un stylo à droite du nom **Default** : Naviguez à **Organizations** et cliquez sur l'icône d'un stylo à droite du nom **Default** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-08-17.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-08-17.png?800 |}}
  
 Dans le champs **Galaxy Credentials**, supprimez **Ansible Galaxy** : Dans le champs **Galaxy Credentials**, supprimez **Ansible Galaxy** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-08-44.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-08-44.png?800 |}}
  
 Cliquez sur la loupe à gauche du champs **Galaxy Credentials** : Cliquez sur la loupe à gauche du champs **Galaxy Credentials** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-09-02.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-09-02.png?800 |}}
  
 Vous obtiendrez : Vous obtiendrez :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-09-29.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-09-29.png?800 |}}
  
 Cochez **Autohub** PUIS **Ansible Galaxy** puis cliquez sur le bouton **Select** : Cochez **Autohub** PUIS **Ansible Galaxy** puis cliquez sur le bouton **Select** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-10-21.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-10-21.png?800 |}}
  
 Cliquez ensuite sur le bouton **Save** : Cliquez ensuite sur le bouton **Save** :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-10-44.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-10-44.png?800 |}}
  
 Vous obtiendrez : Vous obtiendrez :
  
-{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-11-57.png?600 |}}+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-23_15-11-57.png?800 |}}
  
 <WRAP center round tip 50%> <WRAP center round tip 50%>
Ligne 590: Ligne 607:
 </WRAP> </WRAP>
  
-<code>+=====LAB #4 - Sauvegarder et Restaurer la Plateforme Ansible® Automation=====
  
-</code>+====4.1 - Sauvegarder l'Ansible® Automation Controller====
  
-<code>+Revenez dans votre Ansible® Automation Controller.
  
-</code>+La sauvegarde de l'Ansible® Automation Controller s'effectue en utilisant le même script utilisé pour l'installation auquel il convient de passer l'option **-b** :
  
 <code> <code>
 +[root@redhat9 ~]# cd ansible-automation-platform-setup-bundle-2.4-2.2-x86_64/
 +[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh -b
 +...
 +PLAY RECAP *********************************************************************
 +localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
 +redhat9.ittraining.loc     : ok=91   changed=49   unreachable=0    failed=0    skipped=90   rescued=0    ignored=0   
  
 +The setup process completed successfully.
 +Setup log saved to /var/log/tower/backup-2023-10-24-10:43:16.log.
 </code> </code>
  
-<code>+A l'issue de la sauvegarde vous constaterez la présence d'une archive **tar.gz** ainsi qu'un lien symbolique dénommé **automation-platform-backup-latest.tar.gz** dans le répertoire **courant** :
  
 +<code>
 +[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ls -l
 +total 108
 +-rw-------. 1 root root 74610 Oct 24 10:43 automation-platform-backup-2023-10-24-10:43:19.tar.gz
 +lrwxrwxrwx. 1 root root   117 Oct 24 10:43 automation-platform-backup-latest.tar.gz -> /root/ansible-automation-platform-setup-bundle-2.4-2.2-x86_64/./automation-platform-backup-2023-10-24-10:43:19.tar.gz
 +drwxr-xr-x. 5 root root    55 Oct 13 17:00 bundle
 +drwxr-xr-x. 3 root root    33 Oct 13 16:56 collections
 +drwxr-xr-x. 2 root root    17 Oct 13 16:56 group_vars
 +-rw-r--r--. 1 root root  9063 Oct 20 12:21 inventory
 +-rw-r--r--. 1 root root   530 Oct 13 17:11 README.md
 +-rwxr-xr-x. 1 root root 14780 Oct 13 16:56 setup.sh
 </code> </code>
  
-<code>+Dans ce cas, la taille de l'archive est de 76K :
  
 +<code>
 +[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# du -hs automation-platform-backup-*
 +76K     automation-platform-backup-2023-10-24-10:43:19.tar.gz
 +0       automation-platform-backup-latest.tar.gz
 </code> </code>
  
-<code>+====4.2 - Sauvegarder l'Ansible® Automation Hub====
  
-</code>+Connectez-vous maintenant à votre VM **autohub.ittraining.loc** :
  
 <code> <code>
 +[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ssh -l trainee 10.0.2.102
 </code> </code>
 +
 +La sauvegarde de l'Ansible® Automation Hub s'effectue en utilisant le même script utilisé pour l'installation auquel il convient de passer l'option **-b** :
  
 <code> <code>
 +[root@autohub ~]# cd ansible-automation-platform-setup-bundle-2.4-2.2-x86_64/
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh -b
 +...
 +PLAY RECAP *********************************************************************
 +autohub.ittraining.loc     : ok=70   changed=29   unreachable=0    failed=0    skipped=114  rescued=0    ignored=0   
 +localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
  
 +The setup process completed successfully.
 +[warn] /var/log/tower does not exist. Setup log saved to backup.log.
 +[warn] Provided path does not exist or is not accessible. Setup log saved to ./backup.log.
 </code> </code>
 +
 +A l'issue de la sauvegarde vous constaterez la présence d'une archive **tar.gz** ainsi qu'un lien symbolique dénommé **automation-platform-backup-latest.tar.gz** dans le répertoire **courant** :
  
 <code> <code>
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ls -l 
 +total 612124 
 +-rw-------. 1 root root 621857468 Oct 24 11:09 automation-platform-backup-2023-10-24-11:07:36.tar.gz 
 +lrwxrwxrwx. 1 root root       117 Oct 24 11:09 automation-platform-backup-latest.tar.gz -> /root/ansible-automation-platform-setup-bundle-2.4-2.2-x86_64/./automation-platform-backup-2023-10-24-11:07:36.tar.gz 
 +-rw-r-----. 1 root root    116738 Oct 24 11:09 backup.log 
 +drwxr-xr-x. 5 root root        55 Oct 13 17:00 bundle 
 +-rw-r--r--. 1 root root      1751 Oct 23 12:28 certified_collection_seed_2023-10-23-12-13-33.log 
 +drwxr-xr-x. 3 root root        33 Oct 13 16:56 collections 
 +drwxr-xr-x. 2 root root        17 Oct 13 16:56 group_vars 
 +-rw-r--r--. 1 root root      8962 Oct 23 11:23 inventory 
 +-rw-r--r--. 1 root root       530 Oct 13 17:11 README.md 
 +-rw-r-----. 1 root root   4796277 Oct 23 12:32 setup.log 
 +-rwxr-xr-x. 1 root root     14780 Oct 13 16:56 setup.sh 
 +-rw-r--r--. 1 root root       605 Oct 23 12:31 validated_collection_seed_2023-10-23-12-28-02.log
 </code> </code>
 +
 +Dans ce cas, la taille de l'archive est de 594M :
  
 <code> <code>
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# du -hs automation-platform-backup-* 
 +594M    automation-platform-backup-2023-10-24-11:07:36.tar.gz 
 +0       automation-platform-backup-latest.tar.gz
 </code> </code>
  
-<code>+====4.3 - Restaurer l'Ansible® Automation Hub à l'Identique====
  
-</code>+Copiez le fichier **automation-platform-backup-2023-10-24-11:07:36.tar.gz** vers le fichier **automation-platform-backup.tar.gz** :
  
 <code> <code>
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# cp automation-platform-backup-2023-10-24-11\:07\:36.tar.gz automation-platform-backup.tar.gz
 </code> </code>
 +
 +Copiez le fichier **automation-platform-backup.tar.gz** vers votre VM **backuphub** selon votre numéro de stagiaire :
  
 <code> <code>
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# scp automation-platform-backup.tar.gz trainee@10.0.2.103:/home/trainee 
 +The authenticity of host '10.0.2.103 (10.0.2.103)' can't be established. 
 +ED25519 key fingerprint is SHA256:k/cooDrUynjprBohmFjJd22Ii2xlCXFdTHt/HAXpDE4. 
 +This key is not known by any other names 
 +Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 
 +Warning: Permanently added '10.0.2.103' (ED25519) to the list of known hosts. 
 +trainee@10.0.2.103's password: trainee 
 +automation-platform-backup.tar.gz                                                                                                                        100%  593MB 315.5MB/  00:01
 </code> </code>
  
-<code>+Copiez ensuite le fichier **inventory** vers votre VM **backuphub** selon votre numéro de stagiaire :
  
 +<code>
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# scp inventory trainee@10.0.2.103:/home/trainee
 +trainee@10.0.2.103's password: trainee
 +inventory                                                                                                                                                100% 8962     8.9MB/  00:00
 </code> </code>
  
-<code>+Connectez-vous maintenant à votre VM **backuphub** selon votre numéro de stagiaire :
  
 +<code>
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ssh -l trainee 10.0.2.103
 +trainee@10.0.2.103's password: trainee
 +Register this system with Red Hat Insights: insights-client --register
 +Create an account or view all your systems at https://red.ht/insights-dashboard
 +Last login: Tue Oct 24 13:02:01 2023 from 10.0.2.1
 +[trainee@backuphub ~]$ su -
 +Password: fenestros
 +[root@backuphub ~]#
 </code> </code>
  
-<code>+Enregistrez la VM dans **votre** compte Red Hat :
  
 +<code>
 +[root@backuphub ~]# subscription-manager register
 +Registering to: subscription.rhsm.redhat.com:443/subscription
 +Username: <login>
 +Password: <password>
 +The system has been registered with ID: a52fe25b-0bfd-4c60-8898-68de681c9fda
 +The registered system name is: backuphub.ittraining.loc
 </code> </code>
  
-<code>+Configurez SELinux en mode permissive :
  
 +<code>
 +[root@backuphub ~]# setenforce permissive
 </code> </code>
 +
 +Désarchivez le fichier **ansible-automation-platform-setup-bundle-2.4-2.2-x86_64.tar.gz** et consultez le contenu du répertoire créé :
  
 <code> <code>
 +[root@backuphub ~]# tar xvf ansible-automation-platform-setup-bundle-2.4-2.2-x86_64.tar.gz
  
 +[root@backuphub ~]# cd ansible-automation-platform-setup-bundle-2.4-2.2-x86_64/
 +
 +[root@autohub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ls
 +bundle  collections  group_vars  inventory  README.md  setup.sh
 </code> </code>
 +
 +Installez le paquet **ansible-core** :
  
 <code> <code>
 +[root@backuphub ~]# dnf install ansible-core
 </code> </code>
 +
 +Copiez le fichier **/home/trainee/automation-platform-backup.tar.gz** dans le répertoire courant :
  
 <code> <code>
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# cp /home/trainee/automation-platform-backup.tar.gz .
 </code> </code>
  
-<code>+Ajoutez un lien symbolique vers le fichier **automation-platform-backup.tar.gz** :
  
 +<code>
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ln -s automation-platform-backup.tar.gz automation-platform-backup-latest.tar.gz 
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ls -l
 +total 607316
 +lrwxrwxrwx. 1 root root        33 Oct 24 13:26 automation-platform-backup-latest.tar.gz -> automation-platform-backup.tar.gz
 +-rw-------. 1 root root 621857468 Oct 24 13:22 automation-platform-backup.tar.gz
 +drwxr-xr-x. 5 root root        55 Oct 13 17:00 bundle
 +drwxr-xr-x. 3 root root        33 Oct 13 16:56 collections
 +drwxr-xr-x. 2 root root        17 Oct 13 16:56 group_vars
 +-rw-r--r--. 1 root root      8896 Oct 13 16:56 inventory
 +-rw-r--r--. 1 root root       530 Oct 13 17:11 README.md
 +-rwxr-xr-x. 1 root root     14780 Oct 13 16:56 setup.sh
 </code> </code>
  
-<code>+<WRAP center round important 50%> 
 +**Important** : Le processus de restauration recherche le fichier identifié par le lien symbolique **automation-platform-backup-latest.tar.gz**. 
 +</WRAP>
  
-</code>+Copiez le fichier **/home/trainee/inventory** dans le répertoire courant :
  
 <code> <code>
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# cp /home/trainee/inventory . 
 +cp: overwrite './inventory'? y
 </code> </code>
  
-<code>+Modifiez le nom d'hôte de la VM :
  
 +<code>
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# hostnamectl set-hostname autohub.ittraining.loc
 </code> </code>
  
-<code>+Modifiez le fichier **/etc/hosts** :
  
 +<code>
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# vi /etc/hosts
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# cat /etc/hosts
 +127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 +::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 +10.0.2.103      autohub.ittraining.loc
 </code> </code>
 +
 +Installez maintenant un nouvel Ansible® Automation Hub :
  
 <code> <code>
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh
 +...
 +PLAY RECAP *********************************************************************
 +autohub.ittraining.loc     : ok=165  changed=51   unreachable=0    failed=2    skipped=173  rescued=0    ignored=0   
 +localhost                  : ok=0    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   
  
 +[error] Oops!  An error occurred while running setup.
 +[warn] /var/log/tower does not exist. Setup log saved to setup.log.
 +[warn] Provided path does not exist or is not accessible. Setup log saved to ./setup.log.
 </code> </code>
 +
 +En cas d'erreur(s), ré-exécutez le script setup.sh :
  
 <code> <code>
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh
 +...
 +PLAY RECAP *********************************************************************
 +autohub.ittraining.loc     : ok=900  changed=150  unreachable=0    failed=0    skipped=379  rescued=0    ignored=0   
 +localhost                  : ok=0    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   
  
 +The setup process completed successfully.
 +[warn] /var/log/tower does not exist. Setup log saved to setup.log.
 +[warn] Provided path does not exist or is not accessible. Setup log saved to ./setup.log.
 </code> </code>
 +
 +Dernièrement, procédez à la restauration :
  
 <code> <code>
 +[root@backuphub ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# ./setup.sh -r
 +...
 +PLAY RECAP *********************************************************************
 +autohub.ittraining.loc     : ok=78   changed=23   unreachable=0    failed=0    skipped=101  rescued=0    ignored=0   
  
 +The setup process completed successfully.
 +[warn] /var/log/tower does not exist. Setup log saved to restore.log.
 +[warn] Provided path does not exist or is not accessible. Setup log saved to ./restore.log.
 </code> </code>
  
-<code>+=====LAB #5 - Utilisation de l'Ansible® Automation Controller=====
  
-</code>+====5.1 - Créer un Job Simple====
  
-<code>+Revenez dans votre Ansible® Automation Controller.
  
-</code>+Commencez par créer un playbook simple, destiné à imprimer la phrase **Hello World!** :
  
 <code> <code>
 +[root@redhat9 ansible-automation-platform-setup-bundle-2.4-2.2-x86_64]# cd ~
  
 +[root@redhat9 ~]# vi hello-world.yml
 +
 +[root@redhat9 ~]# cat hello-world.yml
 +---
 +- hosts: all
 +  tasks:
 +    - name: Hello World
 +      debug:
 +        msg: Hello World!
 </code> </code>
 +
 +Vérifiez la syntaxe de ce playbook :
  
 <code> <code>
 +[root@redhat9 ~]# ansible-playbook --syntax-check hello-world.yml
 +[WARNING]: provided hosts list is empty, only localhost is available. Note that the
 +implicit localhost does not match 'all'
  
 +playbook: hello-world.yml
 </code> </code>
  
-<code>+Notez l'avertissement **[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'**. En effet, Ansible ne trouve pas de fichier inventory. Créez donc le fichier inventory :
  
 +<code>
 +[root@redhat9 ~]# vi inventory
 +[root@redhat9 ~]# cat inventory
 +[Test]
 +localhost ansible_connection=local
 </code> </code>
 +
 +Vérifiez de nouveau la syntaxe de ce playbook :
  
 <code> <code>
 +[root@redhat9 ~]# ansible-playbook --syntax-check hello-world.yml
 +[WARNING]: provided hosts list is empty, only localhost is available. Note that the
 +implicit localhost does not match 'all'
  
 +playbook: hello-world.yml
 </code> </code>
 +
 +Notez l'avertissement **[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'**. En effet, Ansible cherche les fichiers inventory **/etc/ansible/hosts**. Bien que ce fichier existe, il est vide de toute déclaration active :
  
 <code> <code>
 +[root@redhat9 ~]# ls -l /etc/ansible/hosts 
 +-rw-r--r--. 1 root root 1018 Jun  5 17:30 /etc/ansible/hosts
 +[root@redhat9 ~]# cat /etc/ansible/hosts 
 +# This is the default ansible 'hosts' file.
 +#
 +# It should live in /etc/ansible/hosts
 +#
 +#   - Comments begin with the '#' character
 +#   - Blank lines are ignored
 +#   - Groups of hosts are delimited by [header] elements
 +#   - You can enter hostnames or ip addresses
 +#   - A hostname/ip can be a member of multiple groups
  
-</code>+# Ex 1: Ungrouped hosts, specify before any group headers:
  
-<code>+## green.example.com 
 +## blue.example.com 
 +## 192.168.100.1 
 +## 192.168.100.10
  
-</code>+# Ex 2: A collection of hosts belonging to the 'webservers' group:
  
-<code>+## [webservers] 
 +## alpha.example.org 
 +## beta.example.org 
 +## 192.168.1.100 
 +## 192.168.1.110
  
-</code>+# If you have multiple hosts following a pattern, you can specify 
 +# them like this:
  
-<code>+## www[001:006].example.com
  
-</code>+# Ex 3: A collection of database servers in the 'dbservers' group:
  
-<code>+## [dbservers] 
 +## 
 +## db01.intranet.mydomain.net 
 +## db02.intranet.mydomain.net 
 +## 10.25.1.56 
 +## 10.25.1.57
  
-</code>+# Here's another example of host ranges, this time there are no 
 +# leading 0s:
  
-<code>+## db-[99:101]-node.example.com
  
 </code> </code>
 +
 +Testez le playbook en indiquant le fichier inventory créé au dessus :
  
 <code> <code>
 +[root@redhat9 ~]# ansible-playbook -i inventory hello-world.yml 
  
-</code>+PLAY [all] ***************************************************************************
  
-<code>+TASK [Gathering Facts] *************************************************************** 
 +ok: [localhost]
  
 +TASK [Hello World] *******************************************************************
 +ok: [localhost] => {
 +    "msg": "Hello World!"
 +}
 +
 +PLAY RECAP ***************************************************************************
 +localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0  
 </code> </code>
  
-<code>+====5.2 - Créer un Projet====
  
-</code>+Pour exécuter ce même playbook avec Red Hat® Ansible® Automation Platform, il faut créer un projet. Les projets sont des répertoire dans **/var/lib/awx/projects** et doivent contenir le(s) playbook(s) :
  
 <code> <code>
 +[root@redhat9 ~]# mkdir /var/lib/awx/projects/myrepo 
 +[root@redhat9 ~]# cp hello-world.yml /var/lib/awx/projects/myrepo
 </code> </code>
  
-<code>+Connectez-vous à votre **VM Debian_10.0.2.46_VNC**. Ouvrez un navigateur Web et naviguez à **https://10.0.2.101** : 
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-26-39.png?800 |}}
  
-<code>+Cliquez sur **Projects** puis sur le bouton **Add** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-27-34.png?800 |}}
  
-<code>+Indiquez **Test Project** dans **Name**, **My test Project** dans **Description**, choisissez **myrepo** dans **Playbook Directory** et cliquez sur le bouton **Save** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-34-15.png?800 |}}
  
-<code>+Vérifiez les informations de votre projet :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-35-21.png?800 |}}
  
-<code>+====5.3 - Créer un Inventory====
  
-</code>+Cliquez ensuite sur **Inventories** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-36-12.png?800 |}}
  
-</code>+Cliquez sur le lien **Demo Inventory** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-37-05.png?800 |}}
  
-</code>+Cliquez sur le lien **Hosts** et cochez **localhost** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-39-48.png?800 |}}
  
-</code>+====5.4 - Créer des Informations d'Identification====
  
-<code>+Cliquez sur **Credentials** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-40-55.png?800 |}}
  
-<code>+Éditez **Demo Credential** en indiquant **trainee** en tant que **Username** et **trainee** en tant que **Password** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-45-09.png?800 |}}
  
-<code>+Cliquez sur le bouton **Save** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-45-46.png?800 |}}
  
-<code>+Vous obtiendrez :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-46-12.png?800 |}}
  
-<code>+====5.5 - Créer un Gabarit====
  
-</code>+Cliquez sur **Templates** puis cliquez sur **Demo Job Template** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-46-33.png?800 |}}
  
-</code>+Cliquez sur la loupe dans le champs **Project** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-47-30.png?800 |}}
  
-</code>+Vous obtiendrez :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-47-47.png?800 |}}
  
-</code>+Cochez **Test Project** puis cliquez sur le bouton **Select** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-48-05.png?800 |}}
  
-</code>+Vous verrez le Playbook **hello-world.yml** apparaître dans le champs **Playbook** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-48-45.png?800 |}}
  
-</code>+Cliquez sur le bouton **Save** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-50-44.png?800 |}}
  
-</code>+Vérifiez votre Template puis cliquez sur le lien **Templates** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-51-06.png?800 |}}
  
-</code>+====5.6 - Exécuter un Job====
  
-<code>+Cliquez sur l'icône de la fusée en face de **Demo Job Template** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-52-22.png?800 |}}
  
-<code>+Cliquez sur **Jobs** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-53-10.png?800 |}}
  
-<code>+Cliquez sur **Demo Job Template** et constatez la réussite de l'exécution du Job :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-10-26_15-53-26.png?800 |}}
  
-<code>+=====LAB #6 - Utilisation de l'Ansible® Automation Hub=====
  
-</code>+====6.1 - Créer une Collection==== 
 + 
 +Connectez-vous ensuite à votre VM **autohub.ittraining.loc** :
  
 <code> <code>
 +[root@redhat9 ~]# ssh -l trainee 10.0.2.102
 </code> </code>
 +
 +Créez un répertoire appelé **collection** et placez-vous dedans :
  
 <code> <code>
 +[trainee@autohub ~]$ mkdir collection
  
 +[trainee@autohub ~]$ cd collection
 </code> </code>
  
-<code>+Créez une **Collection** vide appelée **ittraining** dans un **Namespace** appelé **ittraining** avec la commande **ansible-galaxy** :
  
 +<code>
 +[trainee@autohub collection]$ ansible-galaxy collection init ittraining.ittraining
 +- Collection ittraining.ittraining was created successfully
 </code> </code>
 +
 +Consultez l'arborescence de la Collection :
  
 <code> <code>
 +[trainee@autohub collection]$ tree
 +.
 +└── ittraining
 +    └── ittraining
 +        ├── docs
 +        ├── galaxy.yml
 +        ├── meta
 +        │   └── runtime.yml
 +        ├── plugins
 +        │   └── README.md
 +        ├── README.md
 +        └── roles
  
 +6 directories, 4 files
 </code> </code>
 +
 +Les informations concernant la Collection sont stockées dans le fichier **~/collections/ittraining/ittraining/galaxy.yml** :
  
 <code> <code>
 +[trainee@autohub collection]$ cat ittraining/ittraining/galaxy.yml 
 +### REQUIRED
 +# The namespace of the collection. This can be a company/brand/organization or product namespace under which all
 +# content lives. May only contain alphanumeric lowercase characters and underscores. Namespaces cannot start with
 +# underscores or numbers and cannot contain consecutive underscores
 +namespace: ittraining
  
-</code>+# The name of the collection. Has the same character restrictions as 'namespace' 
 +name: ittraining
  
-<code>+# The version of the collection. Must be compatible with semantic versioning 
 +version: 1.0.0
  
-</code>+# The path to the Markdown (.md) readme file. This path is relative to the root of the collection 
 +readme: README.md
  
-<code>+# A list of the collection's content authors. Can be just the name or in the format 'Full Name <email> (url) 
 +# @nicks:irc/im.site#channel' 
 +authors: 
 +- your name <example@domain.com>
  
-</code> 
  
-<code>+### OPTIONAL but strongly recommended 
 +# A short summary description of the collection 
 +description: your collection description
  
-</code>+# Either a single license or a list of licenses for content inside of a collection. Ansible Galaxy currently only 
 +# accepts L(SPDX,https://spdx.org/licenses/) licenses. This key is mutually exclusive with 'license_file' 
 +license: 
 +- GPL-2.0-or-later
  
-<code>+# The path to the license file for the collection. This path is relative to the root of the collection. This key is 
 +# mutually exclusive with 'license' 
 +license_file: ''
  
-</code>+# A list of tags you want to associate with the collection for indexing/searching. A tag name has the same character 
 +# requirements as 'namespace' and 'name' 
 +tags: []
  
-<code>+# Collections that this collection requires to be installed for it to be usable. The key of the dict is the 
 +# collection label 'namespace.name'. The value is a version range 
 +# L(specifiers,https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification). Multiple version 
 +# range specifiers can be set and are separated by ',' 
 +dependencies: {}
  
-</code>+# The URL of the originating SCM repository 
 +repository: http://example.com/repository
  
-<code>+# The URL to any online docs 
 +documentation: http://docs.example.com
  
-</code>+# The URL to the homepage of the collection/project 
 +homepage: http://example.com
  
-<code>+# The URL to the collection issue tracker 
 +issues: http://example.com/issue/tracker
  
 +# A list of file glob-like patterns used to filter any files or directories that should not be included in the build
 +# artifact. A pattern is matched from the relative path of the file or directory of the collection directory. This
 +# uses 'fnmatch' to match the files or directories. Some directories and files like 'galaxy.yml', '*.pyc', '*.retry',
 +# and '.git' are always filtered. Mutually exclusive with 'manifest'
 +build_ignore: []
 +
 +# A dict controlling use of manifest directives used in building the collection artifact. The key 'directives' is a
 +# list of MANIFEST.in style
 +# L(directives,https://packaging.python.org/en/latest/guides/using-manifest-in/#manifest-in-commands). The key
 +# 'omit_default_directives' is a boolean that controls whether the default directives are used. Mutually exclusive
 +# with 'build_ignore'
 +# manifest: null
 </code> </code>
 +
 +Éditez la ligne **requires-ansible** dans le fichier **~/collections/ittraining/ittraining/meta/runtime.yml** :
  
 <code> <code>
 +[trainee@autohub collection]$ vi ittraining/ittraining/meta/runtime.yml
  
-</code>+[trainee@autohub collection]$ cat ittraining/ittraining/meta/runtime.yml  
 +--- 
 +# Collections must specify a minimum required ansible version to upload 
 +# to galaxy 
 +requires_ansible: '>=2.9.10'
  
-<code>+# Content that Ansible needs to load from another location or that has 
 +# been deprecated/removed 
 +# plugin_routing: 
 +#   action: 
 +#     redirected_plugin_name: 
 +#       redirect: ns.col.new_location 
 +#     deprecated_plugin_name: 
 +#       deprecation: 
 +#         removal_version: "4.0.0" 
 +#         warning_text:
 +#           See the porting guide on how to update your playbook to 
 +#           use ns.col.another_plugin instead. 
 +#     removed_plugin_name: 
 +#       tombstone: 
 +#         removal_version: "2.0.0" 
 +#         warning_text:
 +#           See the porting guide on how to update your playbook to 
 +#           use ns.col.another_plugin instead. 
 +#   become: 
 +#   cache: 
 +#   callback: 
 +#   cliconf: 
 +#   connection: 
 +#   doc_fragments: 
 +#   filter: 
 +#   httpapi: 
 +#   inventory: 
 +#   lookup: 
 +#   module_utils: 
 +#   modules: 
 +#   netconf: 
 +#   shell: 
 +#   strategy: 
 +#   terminal: 
 +#   test: 
 +#   vars:
  
 +# Python import statements that Ansible needs to load from another location
 +# import_redirection:
 +#   ansible_collections.ns.col.plugins.module_utils.old_location:
 +#     redirect: ansible_collections.ns.col.plugins.module_utils.new_location
 +
 +# Groups of actions/modules that take a common set of options
 +# action_groups:
 +#   group_name:
 +#     - module1
 +#     - module2
 </code> </code>
  
-<code> +Placez-vous dans le répertoire **~/collections/ittraining/ittraining/** :
- +
-</code>+
  
 <code> <code>
 +[trainee@autohub collection]$ cd ittraining/ittraining/
  
 +[trainee@autohub ittraining]$ ls
 +docs  galaxy.yml  meta  plugins  README.md  roles
 </code> </code>
  
-<code> +Construisez la Collection **ittraining-ittraining-1.0.0.tar.gz** avec la commande **ansible-galaxy collection build** :
- +
-</code>+
  
 <code> <code>
 +[trainee@autohub ittraining]$ ansible-galaxy collection build 
 +Created collection for ittraining.ittraining at /home/trainee/collection/ittraining/ittraining/ittraining-ittraining-1.0.0.tar.gz
 </code> </code>
  
-<code>+====6.2 - Téléverser une Collection====
  
-</code>+Connectez-vous à votre **VM Debian_10.0.2.46_VNC**. Ouvrez un navigateur Web et naviguez à **https://10.0.2.102** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-36-10.png?800 |}}
  
-</code>+Cliquez ensuite sur **Namespaces** dans le menu de gauche puis cliquez sur le bouton **Create** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-36-54.png?800 |}}
  
-</code>+Renseignez le nom **ittraining** et cliquez sur le bouton **Create** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-37-20.png?800 |}}
  
-</code>+Notez que pour l'instant, il n'y a pas de **Collections** dans ce **Namespace**. Cliquez donc sur le bouton **Upload collection** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-38-01.png?800 |}}
  
-</code>+Dans la fenêtre **New collection**, cliquez sur **Select file** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-39-36.png?800 |}}
  
-</code>+<WRAP center round important 50%> 
 +**Important** : Notez que le dépôt de destination est **staging**. Le dépôt staging est utilisé pour téléverser toute nouvelle Collection avant que celle-ci soit vérifiée pour publication. 
 +</WRAP>
  
-<code>+Choisissez le fichier **ittraining-ittraining-1.0.0.tar.gz** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-41-10.png?800 |}}
  
-<code>+Cliquez ensuite sur le bouton **Upload** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-41-29.png?800 |}}
  
-<code>+A l'issu de quelques secondes, la **Collection** est téléversée :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-41-53.png?800 |}}
  
-<code>+<WRAP center round important 50%> 
 +**Important** : Notez la ligne **Approval status: waiting for approval**. 
 +</WRAP>
  
-</code>+Développez l'item **Collections** dans le menu de gauche :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-42-23.png?800 |}}
  
-</code>+Cliquez sur **Repositories** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-42-44.png?800 |}}
  
-</code>+Descendez en bas de la liste des **Repositories** et cliquez sur **staging** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-43-01.png?800 |}}
  
-</code>+Vous obtiendrez :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-43-28.png?800 |}}
  
-</code>+Cliquez sur l'onglet **Collection versions** et notez la présence de la Collection **ittraining-ittraining-1.0.0** :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-43-51.png?800 |}}
  
-</code>+Cliquez ensuite sur l'item **Approval** dans le menu de gauche :
  
-<code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-45-11.png?800 |}}
  
-</code>+<WRAP center round important 50%> 
 +**Important** : Notez que l'item **Approvals** est présent parce que vous êtes connecté en tant qu'administrateur. 
 +</WRAP>
  
-<code>+Dans le cas où vous souhaiteriez rejeter cette Collection, il conviendrait de cliquez sur les trois points verticaux à droite de la ligne **ittraining** et de choisir **Reject**. Cliquez ensuite sur le bouton **Approve** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-46-19.png?800 |}}
  
-<code>+Vous obtiendrez :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-46-45.png?800 |}}
  
-<code>+Cliquez sur **Namespaces** dans le menu de gauche :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-48-26.png?800 |}}
  
-<code>+Dans le champs **Filter by keywords**, saisissez le mot **ittraining** puis cliquez sur l'**icône de la loupe** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-48-58.png?800 |}}
  
-<code>+Cliquez sur le lien **View collections** pour consulter la liste des **Collections** dans le **Namespace** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-49-25.png?800 |}}
  
-<code>+Constatez la présence de la Collection **ittraining** :
  
-</code>+{{ :elearning:workbooks:centos:8:lcf900:capture_d_ecran_du_2023-11-16_15-50-08.png?800 |}}
  
 ----- -----
  
-Copyright © 2023 Hugh Norris+Copyright © 2024 Hugh Norris
Menu