Subscribe to our blog

Convert2RHEL est un utilitaire Red Hat qui convertit les systèmes d'exploitation similaires ou dérivés de Red Hat Enterprise Linux (RHEL), tels que CentOS Linux et Oracle Linux. Pour obtenir la liste complète des systèmes d'exploitation pris en charge, veuillez consulter ce document. Pour plus d'informations, lisez les articles de blog de Terry Bowling ici et ici sur Oracle Linux.

Red Hat Satellite 6.10 offrait pour la première fois la possibilité d'effectuer des opérations Convert2RHEL en lot. J'en ai déjà parlé dans un article de blog ici. Satellite 6.11 s'appuie sur ces capacités de deux manières :

  1. Un rôle Ansible automatise la configuration/préparation du serveur Satellite pour Convert2RHEL.

  2. Un playbook Ansible automatise la conversion des hôtes.

L'organigramme ci-dessous présente une vue d'ensemble des tâches requises pour effectuer une opération Convert2RHEL en lot dans Satellite 6.11.

 

Flowchart of tasks required to perform a bulk Convert2RHEL operation

Lorsque vous êtes prêt, enregistrez les hôtes Centos/Oracle Linux dans Satellite et planifiez une tâche pour convertir vos hôtes en RHEL.

Notez que le rôle Ansible peut être appliqué manuellement au serveur Satellite, avec un serveur Ansible distinct.

Nous allons détailler ici toutes les étapes nécessaires à la mise en œuvre de ce nouveau processus automatisé.

Préparation du serveur Satellite

Tout d'abord, suivez ces instructions pour importer les rôles Ansible inclus.

Tout d'abord, accédez à « Configure » (Configurer) > « Roles » (Rôles).

 

first go to Configure > Roles

Cliquez sur « Import... » (Importer...).

 

Click on Import

Cliquez sur « Select All » (Tout sélectionner), puis sur « Submit » (Envoyer).

 

Click on Select All and then Submit

Ensuite, vous devez créer des variables pour le rôle Ansible avant de l'exécuter sur le serveur Satellite.  Ces variables indiquent au rôle Ansible comment vous souhaitez configurer l'opération Convert2RHEL en lot sur votre serveur Satellite. Cela inclut la spécification d'un manifeste de souscription, d'une entreprise, d'un emplacement, d'informations d'identification d'administrateur, etc.

J'ai découvert que le moyen le plus simple et le plus rapide de configurer les variables de rôle Ansible consiste à utiliser l'utilitaire de ligne de commande hammer sur le serveur Satellite. Vous pouvez également configurer les variables de rôle Ansible via l'interface utilisateur web de Satellite.

Sur ce serveur Satellite en particulier, je définis les variables suivantes.

Variable

Value

satellite_rhel_wait_for_syncs

true

satellite_manifest_path

/usr/share/satellite/manifest_satellite_20220815T193102Z.zip

satellite_organization

Acme Org

satellite_password

Ha ha no you don’t

satellite_username

myee

satellite_server_url

https://ip-172-31-29-4.us-west-1.compute.internal

satellite_validate_certs

true

satellite_content_rhel_enable_rhel7

true

satellite_content_rhel_enable_rhel8

true

Here’s how to create the Ansible role variables with the hammer utility.

satellite_rhel_wait_for_syncs

Le rôle Ansible configure et synchronise les référentiels requis pour effectuer l'opération Convert2RHEL en lot. La variable ssatellite_rhel_wait_for_syncs indique à l'opération d'attendre la synchronisation des référentiels.

Saisissez le code suivant dans l'interface de ligne de commande du serveur Satellite lorsque vous êtes connecté en tant qu'utilisateur root :

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_rhel_wait_for_syncs --variable-type boolean --default-value false --override true

satellite_manifest_path

Lorsque le rôle Ansible est exécuté, il télécharge le manifeste de souscription, en s'assurant que tous vos nouveaux hôtes disposent des licences appropriées. Si vous avez déjà téléchargé un manifeste valide, vous devrez malheureusement le refaire.

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_manifest_path --variable-type string --default-value "/usr/share/satellite/manifest_satellite_20220815T193102Z.zip" --override true

satellite_organization/usr

Mon entreprise Satellite s'appelle « Acme Org ».

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_organization --variable-type string --default-value "Acme Org" --override true

satellite_password

Le rôle Ansible nécessite des informations d'identification d'administrateur Satellite. Saisissez le mot de passe ici.

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_password --variable-type string --default-value "YOUR_ADMIN_PASSWORD" --override true

Remarque : pour éviter d'utiliser des mots de passe, vous pouvez configurer des jetons d'accès personnels à la place.

 

To avoid using passwords you can set up Personal Access Tokens instead

satellite_username

Saisissez le nom d'utilisateur admin ici.

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_username --variable-type string --default-value "myee" --override true

satellite_server_url

L'URL du serveur satellite est l'URL à laquelle les hôtes devront accéder avec l'utilitaire curl.

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_server_url --variable-type string --default-value "https://ip-172-31-29-4.us-west-1.compute.internal" --override true

satellite_validate_certs

Cette valeur doit être définie sur true.

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_validate_certs --variable-type boolean --default-value true --override true

satellite_content_rhel_enable_rhel7

Cette variable indique que vous souhaitez que le rôle Ansible synchronise le contenu RHEL7 pour permettre la conversion des hôtes Centos 7 (ou Oracle) vers RHEL7. Si vous ne souhaitez pas synchroniser le contenu RHEL7, donnez à cette variable la valeur false. 

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_content_rhel_enable_rhel7 --variable-type boolean --default-value true --override true

satellite_content_rhel_enable_rhel8

Cette variable indique que vous souhaitez que le rôle Ansible synchronise le contenu RHEL8 pour permettre la conversion des hôtes Centos 8 (ou Oracle) vers RHEL8.  Si vous ne souhaitez pas synchroniser le contenu RHEL8, donnez à cette variable la valeur false

hammer ansible variables create --location "Vancouver" --organization "Acme Org" --ansible-role redhat.satellite.convert2rhel --variable satellite_content_rhel_enable_rhel8 --variable-type boolean --default-value true --override true

Vous pouvez vérifier si vos variables sont correctement définies dans l'interface web. Pour ce faire, accédez au sous-menu Ansible « Variables ».

 

Go to the Ansible Variables sub-menu

Faites défiler les variables jusqu'à ce que vous trouviez celles que vous venez de créer.

 

Ansible variables

Maintenant, il faut configurer le serveur Satellite pour permettre l'exécution de tâches d'exécution à distance sur lui-même.

Remarque : Cette étape est inutile si vous pouvez déjà exécuter des tâches d'exécution à distance sur le serveur Satellite. 

Connectez-vous au serveur Satellite en tant qu'utilisateur root et exécutez la commande suivante :

satellite-installer \ --foreman-proxy-plugin-remote-execution-ssh-install-key true

Le résultat en sortie ressemblera à ce qui suit.

 

Satellite installer sample output

Ensuite, nous allons appliquer le rôle Ansible au serveur Satellite.

Cliquez sur « Hosts » (Hôtes) > « All Hosts » (Tous les hôtes).

 

Click on Hosts > All Hosts

Modifiez votre serveur Satellite.

 

Edit your Satellite server

Cliquez sur l'onglet « Ansible Roles » (Rôles Ansible).

 

Click on the Ansible Roles tab

Le rôle Convert2RHEL se trouve sur la deuxième page du sous-menu. Cliquez sur le signe + pour attribuer le rôle redhat.satellite.convert2rhel à votre serveur Satellite.

 

The Convert2RHEL roles is on the second page

Cliquez ensuite sur « Submit » (Envoyer).

 

Click Submit

Vous serez alors redirigé vers la page d'informations sur l'hôte. Cliquez sur le bouton « Schedule Remote Job » (Planifier une tâche à distance) et sélectionnez « Run Ansible roles » (Exécuter les rôles Ansible).

 

Click on the Schedule Remote Job button and select Run Ansible roles

Vous serez redirigé vers une page affichant le statut de la tâche. Cliquez sur l'hôte Satellite pour afficher le statut en temps réel de la tâche.

 

Click on the Satellite host to see the real-time status of the job

Vous pouvez voir ici chaque étape de la tâche en cours d'exécution.

 

Here you can see each task in the job being executed

Remarque : entre autres tâches, le rôle Ansible synchronise le contenu requis et crée des groupes d'hôtes, ainsi que des clés d'activation. Satellite 6.11 présente un bogue qui provoque l'activation du référentiel Convert2RHEL8 par la clé d'activation créée pour enregistrer les hôtes CentOS 7, « Convert2RHEL7 ». Pour contourner ce bogue, vous devez remplacer ce référentiel dans la clé d'activation « convert2rhel_centos7 ».

 

To work around this bug, you must override this repo in the "convert2rhel_centos7" activation key

Exécution de la conversion

IMPORTANT : avant d'exécuter la conversion, les hôtes candidats doivent être à jour et vous devez les avoir redémarrés avec le noyau le plus récent. 

Tout d'abord, enregistrons nos hôtes à convertir. Dans le cas présent, je convertis des hôtes CentOS7. Cliquez sur « Hosts » (Hôtes) > « Register Host » (Enregistrer l'hôte).

 

Click on Hosts > Register Host

Sur mes hôtes CentOS de test, je n'ai pas copié les fichiers de l'autorité de certification à partir du serveur Satellite. Pour en savoir plus sur cette procédure, cliquez ici.

Dans le menu d'enregistrement des hôtes, sélectionnez 1) le groupe d'hôtes « CentOS 7 converting » (Conversion de CentOS 7), puis 2) « Insecure » (Non sécurisé), puis 3) « Advanced » (Avancé). L'option « Insecure » (Non sécurisé) permet au script de s'exécuter dans un premier temps sans vérifier le certificat auto-signé. Les communications ultérieures sont entièrement sécurisées. Si vous souhaitez éviter d'utiliser la méthode non sécurisée, vous pouvez en apprendre plus sur l'importation de certificats ici.

 

Register Host

Cliquez ensuite sur « Advanced » (Avancé).

Sous l'onglet « Advanced » (Avancé) du menu « Register Host » (Enregistrer l'hôte) :

  1. Vérifiez que l'option « Activation Keys » (Clés d'activation) est définie sur le groupe d'hôtes « convert2rhel_centos7 ». Vous ne devriez pas avoir à modifier quoi que ce soit ici.

  2. Cliquez sur « Generate » (Générer). Cette action génère le script curl que vous allez copier et coller dans l’interface de ligne de commande de l’hôte CentOS.

  3. Cliquez sur le bouton de copie pour copier le script curl.

 

Register Host Advanced Tab

Connectez-vous à présent à l'un de vos hôtes candidats. Exportez les paramètres régionaux correspondant à votre hôte.

export LANG=en_US.UTF-8

Collez le script curl et exécutez-le. Voici un exemple de résultat.

 

Some example output

Répétez cette tâche pour tous vos hôtes candidats.

Dans le menu « Hosts » (Hôtes), vous pouvez voir tous vos hôtes CentOS enregistrés sur Satellite.

 

In the Hosts menu, you see all your CentOS hosts registered to Satellite.

Pour démarrer l'opération Convert2RHEL, effectuez les tâches suivantes.

  1. Sélectionnez les hôtes candidats.

  2. Cliquez sur « Select Action » (Sélectionner une action) et sélectionnez « Schedule Remote Job » (Planifier une tâche à distance).

 

Click on "Select Action" and select "Schedule Remote Job".

Dans le menu « Job invocation » (Invocation de tâche) :

  1. Dans la liste déroulante « Job Category » (Catégorie de travail), sélectionnez « Convert 2 RHEL » (Convertir en RHEL).

  2. Dans la liste déroulante « Activation Key » (Clé d'activation), sélectionnez « convert2rhel_rhel7 ».

  3. Cliquez sur « Submit » (Envoyer) pour démarrer l'opération Convert2RHEL en lot.

 

Click "Submit" to start the bulk Convert2RHEL operation.

Vous êtes alors redirigé vers le menu « Job Overview » (Aperçu de la tâche) où vous pouvez choisir d'afficher le statut en temps réel de la tâche sur chaque hôte en cliquant sur un hôte.

 

You’ll be redirected to the "Job Overview" menu

Voici la vue en temps réel de la tâche.

 

Here’s the real-time view of the job.

Au final, tous les hôtes ont été convertis en RHEL en même temps !

 

The final result, all hosts converted to RHEL at once!

Pour plus d'informations, reportez-vous à la documentation officielle de Convert2RHEL disponible ici.

 


À propos de l'auteur

As a Senior Principal Technical Marketing Manager in the Red Hat Enterprise Linux business unit, Matthew Yee is here to help everyone understand what our products do. He joined Red Hat in 2021 and is based in Vancouver, Canada.

Read full bio

Parcourir par canal

automation icon

Automatisation

Les dernières actualités en matière de plateforme d'automatisation qui couvre la technologie, les équipes et les environnements

AI icon

Intelligence artificielle

Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement

cloud services icon

Services cloud

En savoir plus sur notre gamme de services cloud gérés

security icon

Sécurité

Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies

edge icon

Edge computing

Actualité sur les plateformes qui simplifient les opérations en périphérie

Infrastructure icon

Infrastructure

Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde

application development icon

Applications

À l’intérieur de nos solutions aux défis d’application les plus difficiles

Original series icon

Programmes originaux

Histoires passionnantes de créateurs et de leaders de technologies d'entreprise