Lors du Red Hat Summit et de l'événement AnsibleFest 2023, nous avons annoncé le lancement de la solution Ansible Lightspeed with IBM watsonx Code Assistant, un nouveau service d'IA générative pour Ansible. Nous avons ensuite mis à disposition une version préliminaire des fonctions en juin 2023. Aujourd'hui, notre entreprise est ravie d'annoncer que Red Hat Ansible Lightspeed with IBM watsonx Code Assistant est désormais disponible en tant que composant de Red Hat Ansible Automation Platform. 

Le service Ansible Lightspeed with watsonx Code Assistant est conçu pour aider les équipes chargées de l'automatisation à créer, à adopter et à gérer les contenus Ansible de manière plus efficace. 

Dans cet article de blog, nous allons présenter les étapes à suivre pour déployer et utiliser Ansible Lightspeed with IBM watsonx Code Assistant dans l'entreprise. Nous expliquerons comment les utilisateurs finaux peuvent configurer le service dans leur environnement Visual Studio Code (VS Code). Nous verrons également plus en détail ce que vous pouvez attendre de l'utilisation de ce service et des outils supplémentaires disponibles pour accélérer la création de contenus Ansible avec des capacités d'IA générative qui reposent sur la transparence, la précision et le choix. 

Ce service vient compléter Ansible Automation Platform de manière très intéressante, n'hésitez donc pas à l'adopter.

Fonctions disponibles : l'IA au service de la création de contenus Ansible grâce à la collaboration entre Red Hat et IBM

La solution Ansible Lightspeed with IBM watsonx Code Assistant est l'aboutissement du travail des équipes de Red Hat et d'IBM qui ont uni leurs forces pour offrir une expérience cohérente de l'utilisation de l'IA pour créer des contenus Ansible. Cette solution exploite les modèles de fondation IBM watsonx spécifiques de l'automatisation pour transformer des invites de texte en extraits de code Ansible afin de créer des contenus Ansible. Les contenus générés respectent les meilleures pratiques Ansible acceptées et avec la fonction de bot de code Ansible, les équipes peuvent renforcer la confiance dans leur code base d'automatisation.

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant

Le service comprend trois composants :

  1. L'interface de développement : intégrée nativement à l'extension VS Code via l'extension Ansible, elle permet aux créateurs de contenus Ansible d'utiliser des invites en langage naturel dans les playbooks ou les fichiers de tâches Ansible pour générer des suggestions Ansible Lightspeed d'une ou de plusieurs tâches.
  2. Le service intégré : élément qui relie l'interface de développement au service watsonx.ai. Il permet de profiter de la puissance de l'IA dans Ansible Automation Platform et d'améliorer les réponses de l'IA avec ses capacités de post-traitement.
  3. L'IA : IBM watsonx Code Assistant donne accès au modèle de fondation watsonx.ai propre à Ansible qui génère des recommandations de contenus Ansible. C'est le cœur même de la solution.

Nous allons maintenant voir comment configurer et commencer à utiliser Ansible Lightspeed with IBM watsonx Code Assistant.

Connexion et configuration de Red Hat Ansible Lightspeed with IBM watsonx Code Assistant

Remarque : cette section s'adresse uniquement aux utilisateurs qui disposent de privilèges d'administrateur de leur entreprise dans le compte du portail client Red Hat. Si ce n'est pas votre cas, passez à la section suivante pour découvrir comment vous connecter via l'extension VS Code pour Ansible. 

En tant qu'administrateur dans le portail client Red Hat, vous devez configurer la solution Red Hat Ansible Lightspeed pour la connecter à votre instance IBM watsonx Code Assistant. Cette opération permet à Red Hat Ansible Lightspeed de communiquer avec votre instance IBM watsonx Code Assistant.

Vous aurez besoin des informations suivantes sur IBM watsonx Code Assistant pour connecter Red Hat Ansible Lightspeed :

  • Clé d'API IBM watsonx Code Assistant (WxCA)
    • Une clé d'API WxCA authentifie toutes les requêtes qu'envoie Red Hat Ansible Lightspeed à IBM watsonx Code Assistant. Chaque entreprise Red Hat ayant une souscription Ansible Automation Platform valide doit disposer d'une clé d'API WxCA configurée. Lorsqu'un utilisateur Red Hat Single Sign-On (SSO) authentifié interroge Red Hat Ansible Lightspeed pour obtenir une suggestion, la clé d'API WxCA associée à l'entreprise Red Hat de l'utilisateur est utilisée pour authentifier la requête envoyée à IBM watsonx Code Assistant. 
  • Identifiant de modèle
    • Un identifiant de modèle WxCA unique identifie un modèle IBM watsonx Code Assistant dans votre compte IBM Cloud. L'identifiant de modèle que vous configurez dans le portail administrateur de Red Hat Ansible Lightspeed sert de modèle par défaut. Il sera donc utilisé pour obtenir des suggestions d'Ansible Lightspeed pour tous les utilisateurs de votre entreprise auxquels une licence est attribuée. Ce modèle IBM watsonx Granite à client unique vous aide à assurer la confidentialité, la conformité et la sécurité des données. Ces modèles sont fournis et gérés par IBM.

Important : vous devez configurer la clé d'API WxCA et l'identifiant de modèle lors de la configuration initiale de Red Hat Ansible Lightspeed.

Prérequis

  • Vous devez disposer des privilèges d'administrateur de votre entreprise dans le portail client Red Hat avec une souscription Ansible Automation Platform valide.
  • Vous devez disposer d'une clé d'API WxCA et d'un identifiant de modèle pour l'instance IBM watsonx Code Assistant que vous souhaitez utiliser dans Red Hat Ansible Lightspeed. 

Pour savoir comment obtenir une clé d'API WxCA et un identifiant de modèle à partir d'IBM watsonx Code Assistant, consultez la documentation de watsonx Code Assistant

Procédure

  1. Connectez-vous au portail Ansible Lightspeed en tant qu'administrateur de l'entreprise.
  2. Cliquez sur Log in > Log in with Red Hat
  3. Saisissez le nom d'utilisateur et le mot de passe de votre compte Red Hat. 
    • Le service Red Hat Ansible Lightspeed utilise le système Red Hat Single Sign-On (SSO) pour l'authentification. 
    • Dans le cadre du processus d'authentification, le service Red Hat Ansible Lightspeed vérifie si vous êtes un administrateur de l'entreprise et si votre entreprise dispose d'une souscription Ansible Automation Platform valide. En cas d'authentification réussie, l'écran de connexion s'affiche avec votre nom d'utilisateur et le rôle utilisateur qui vous est attribué. 
  4. Sur l'écran de connexion, cliquez sur Admin Portal
    • Vous êtes redirigé vers le portail administrateur d'Ansible Lightspeed with watsonx Code Assistant qui vous permet de connecter Red Hat Ansible Lightspeed à votre instance IBM watsonx Code Assistant.
  5. Indiquez la clé d'API de votre instance IBM watsonx Code Assistant, puis cliquez sur Save.
    • Facultatif : cliquez sur Test pour valider la clé d'API.
  6. Indiquez l'identifiant du modèle que vous souhaitez utiliser, puis cliquez sur Save.
    • Facultatif : cliquez sur Test pour valider l'identifiant de modèle.
  7. Après validation de la clé d'API et de l'identifiant de modèle WxCA, Red Hat Ansible Lightspeed se connecte à votre instance IBM watsonx Code Assistant.

Attribution et suppression de licences nominatives

Remarque : cette section s'adresse uniquement aux utilisateurs qui disposent de privilèges d'administrateur de leur entreprise dans le compte du portail client Red Hat. Si ce n'est pas votre cas, passez à la section suivante pour découvrir comment vous connecter via l'extension VS Code pour Ansible.

Après avoir connecté la solution Red Hat Ansible Lightspeed à une instance IBM watsonx Code Assistant, les administrateurs d'entreprise du portail client Red Hat peuvent attribuer des licences nominatives aux utilisateurs d'Ansible Automation Platform au sein de leur entreprise. L'attribution de licences permet à certains utilisateurs d'Ansible Automation Platform d'accéder à Red Hat Ansible Lightspeed et de l'utiliser. 

Votre souscription Ansible Automation Platform comprend un nombre défini de licences nominatives pour Red Hat Ansible Lightspeed qui correspond au nombre de souscriptions que votre entreprise a achetées. La solution Red Hat Ansible Lightspeed authentifie les utilisateurs à l'aide du système Red Hat Single Sign On (SSO) et vérifie qu'ils disposent d'une licence.

Attribution de licences nominatives

Vous pouvez accorder des licences nominatives pour Red Hat Ansible Lightspeed à certains utilisateurs de votre entreprise.  

Prérequis

  • Vous devez vous connecter en tant qu'administrateur de l'entreprise sur le portail client Red Hat. 
  • Vous devez configurer la solution Red Hat Ansible Lightspeed pour la connecter à l'instance IBM watsonx Code Assistant.
  • Vous devez être connecté à Ansible Automation Platform sur Red Hat Hybrid Cloud Console en tant qu'administrateur de l'entreprise.

Procédure

  1. Accédez à Ansible Automation Platform depuis Red Hat Hybrid Cloud Console.
  2. Dans le panneau de navigation, sélectionnez Ansible Lightspeed with IBM watsonx Code Assistant > Seat Management
  3. Cliquez sur Assign users.
  4. Saisissez le nom de l'utilisateur auquel vous souhaitez attribuer une licence nominative.
  5. Cliquez sur Assign puis dans le message de vérification, cliquez sur OK pour confirmer.

Les utilisateurs désignés auront désormais accès au service Ansible Lightspeed with IBM watsonx Code Assistant.

Connexion : installation et configuration

Prérequis

  • Installation de Visual Studio Code et Ansible sur votre poste de travail
  • Un compte sur le portail client Red Hat (lié à votre entreprise)
  • Une licence attribuée à votre compte par l'administrateur sur le portail Red Hat pour que votre entreprise puisse accéder au service Red Hat Ansible Lightspeed

Procédure

  • Recherchez l'extension Ansible VS Code dans Visual Studio Code Marketplace avec le mot-clé « ansible », sélectionnez l'extension publiée par Red Hat puis installez-la. Pour que l'extension Ansible fonctionne avec le service Ansible Lightspeed, choisissez la version 2.8.108 ou une version ultérieure. Vérifiez l'historique des versions ici.
  • Activez le service Red Hat Ansible Lightspeed dans l'extension en accédant au menu « Extension Settings » via l'icône représentant une roue d'engrenage.
  • Dans les paramètres, cochez les cases « Ansible Lightspeed enabled » et « Enable Ansible Lightspeed with Watson Code Assistant inline suggestions ».

Remarque : vous pouvez activer Red Hat Ansible Lightspeed dans le profil « User » ou « Workspace » en fonction de vos préférences. Vous trouverez plus d'informations sur ces profils de VS Code dans la documentation.

Installing the Ansible Visual Studio Code extension

Installation de l'extension Ansible Visual Studio Code

  • Cliquez sur l'icône « A » d'Ansible dans la barre d'activité de VS Code située à gauche de l'éditeur pour ouvrir l'extension.
  • Cliquez sur « Connect » et suivez les instructions à l'écran pour vous connecter à votre compte Red Hat à l'aide de vos informations d'identification.
  • Ensuite, autorisez Ansible Lightspeed pour VS Code en cliquant sur « Authorize ».
  • Suivez les invites du navigateur pour vous rediriger vers VS Code puis cliquez sur « Open » dans la boîte de dialogue de confirmation de VS Code.
Log in using your Red Hat credentials

Connexion à l'aide de vos informations d'identification Red Hat

Félicitations ! Vous avez correctement configuré Ansible Lightspeed with IBM watsonx Code Assistant dans VS Code.

Vous pouvez vérifier que la solution Red Hat Ansible Lightspeed est bien activée en consultant la barre d'état de VS Code au bas de la fenêtre de l'éditeur.

VS Code status bar showing that Ansible Lightspeed is enabled

Vérifiez qu'un environnement Python est sélectionné et que vos fichiers YAML Ansible sont associés au langage Ansible. Vous trouverez plus d'informations sur les langages VS Code dans la documentation.

Créer des contenus avec Red Hat Ansible Lightspeed

Maintenant que vous êtes connecté à Ansible Lightspeed with IBM watsonx Code Assistant, il est temps de découvrir les fonctions de création de contenus optimisées par l'IA.

Utilisons un exemple de playbook pour demander à Red Hat Ansible Lightspeed de suggérer des tâches générées par l'IA et présenter les avantages des fonctions disponibles. Cet exemple de playbook installe et configure PostgreSQL sur toutes les machines du groupe d'hôtes de la base de données.

Remarque : dans le cadre de l'amélioration continue du service, IBM et Red Hat continueront de publier des mises à jour afin d'améliorer la qualité des recommandations. Par conséquent, les suggestions de tâches Ansible dans les exemples ci-dessous peuvent différer.

Générer une suggestion Red Hat Ansible Lightspeed

Utilisons notre première tâche de playbook dans l'exemple de playbook configure_postgres.yml pour montrer comment Ansible Lightspeed with IBM watsonx Code Assistant génère une suggestion avec l'IA.

  • Placez votre curseur à la fin de la description de la tâche « - name: Install postgresql-server ».
  • Appuyez sur « Entrée » pour générer une suggestion.
  • Appuyez sur « Tab » pour accepter la suggestion.
Generating an Ansible task

Génération d'une tâche Ansible

Dans cette suggestion, nous avons demandé au service d'installer le paquet « postgresql-server » en utilisant le nom complet de la collection (FQCN), ansible.builtin.package, pour faire référence au module Ansible qui permet de gérer des paquets de systèmes d'exploitation génériques.

L'utilisation des FQCN est une meilleure pratique recommandée et un exemple des nombreuses fonctionnalités uniques de post-traitement que nous avons intégrées au service Red Hat Ansible Lightspeed.

Passons aux tâches suivantes.

Générer plusieurs suggestions de tâches

Maintenant que nous avons reçu la suggestion du service « Install postgresql-server », il va falloir demander d'autres suggestions du service pour configurer PostgreSQL, comme :

  • Run postgresql-setup command
  • Start and enable postgresql service
  • Allow the postgres traffic through the firewall

Il est ici possible de suivre le mécanisme de la tâche unique afin d'obtenir des recommandations pour chaque tâche, comme nous l'avons fait dans la section précédente.

La solution Ansible Lightspeed with IBM watsonx Code Assistant inclut cependant une nouvelle fonction très intéressante qui permet de générer plusieurs tâches. La génération de plusieurs tâches est une étape de la feuille de route qui prévoit la génération complète de playbooks. Cette fonction permet de générer plusieurs tâches à partir d'une seule invite, en enchaînant plusieurs descriptions de tâches séparées par une esperluette (&) dans un commentaire YAML au niveau de la tâche.

Intéressons-nous à notre exemple de playbook et voyons comment le service demande des suggestions de plusieurs tâches. Nous avons déjà créé un commentaire YAML dans ce fichier. Si vous regardez de plus près la ligne 12, vous verrez que nous avons enchaîné les différentes tâches pour configurer PostgreSQL avec des esperluettes (&) dans un commentaire YAML au niveau de la tâche.

  • Placez votre curseur à la fin de la ligne « # Run postresql-setup command & Start and enable postgresql service & Allow the traffic », qui est un commentaire YAML.
  • Appuyez sur « Entrée » pour générer une suggestion de plusieurs tâches.
  • Appuyez sur « Tab » pour accepter la suggestion.
Generating multiple Ansible tasks

Génération de plusieurs tâches Ansible

Dans le même playbook, nous avons demandé cette fois plusieurs suggestions pour les tâches « Run postgresql-command », « Start and enable postgresql service » et « Allow the traffic ». La suggestion a renvoyé trois tâches Ansible cette fois.

La génération de suggestions de contenus Ansible précises et contextuelles vous fait gagner du temps et vous aide à créer des contenus efficacement. Le contexte est l'un des atouts majeurs de la solution Red Hat Ansible Lightspeed. La dernière tâche demande simplement d'autoriser le trafic, ce qui peut sembler contre-intuitif en tant que « demande » de l'IA. Cependant, le service Red Hat Ansible Lightspeed connaît le playbook Ansible dans lequel il s'exécute et propose une suggestion de port à ouvrir qui correspond au port par défaut de PostgreSQL (5432). 

Remarque : cet exemple illustre une fonctionnalité d'Ansible Lightspeed with IBM watsonx Code Assistant pour les lecteurs. Lorsque vous écrivez des contenus Ansible, nous vous recommandons d'être explicite dans les noms de tâche, de sorte que tout le monde puisse facilement comprendre vos contenus Ansible.

Passons à la fonction suivante.

Adopter des contenus avec la transparence intégrée : mise en correspondance des sources de contenus

La mise en correspondance des sources de contenus est une autre fonction essentielle d'Ansible Lightspeed with IBM watsonx Code Assistant, qui garantit la transparence et l'ouverture. Nous partageons de manière transparente la source, l'auteur et la licence possibles des données d'entraînement utilisées pour la recommandation. Chez Red Hat, nous nous efforçons de renforcer la confiance dans la communauté et de soutenir les relations entre les auteurs et les contributeurs.

Ansible Lightspeed Content Source Matching

Mise en correspondance des sources de contenus Ansible Lightspeed

Adopter des contenus avec les meilleures pratiques Ansible et plus de précision

La solution Red Hat Ansible Lightspeed est entièrement axée sur l'automatisation. Elle offre une expérience de l'IA générative précise, rationalisée et sur mesure, créée par et pour les équipes chargées de l'automatisation.Grâce à des fonctions de post-traitement conformes aux meilleures pratiques acceptées, les équipes d'automatisation peuvent avoir confiance dans les contenus qu'elles adoptent.

Les capacités de post-traitement de Red Hat Ansible Lightspeed améliorent les recommandations de contenus Ansible d'IBM watsonx Code Assistant en matière de meilleures pratiques, par exemple utiliser des FQCN, anonymiser des données et remplacer des variables.

Dans l'exemple de la section « Générer une suggestion », la génération de suggestions à l'aide des FQCN est l'une des capacités de post-traitement du service.

Gérer les contenus : bot de code Ansible (version préliminaire)

Souvent, les clients nous demandent ce qu'ils doivent faire une fois qu'ils ont adopté des contenus. Ils nous demandent aussi comment remplacer les silos d'automatisation et comment créer une communauté de pratique.

Nous leur répondons en leur expliquant que tout commence avec la culture, et qu'il faut traiter les workflows de l'infrastructure comme des ressources logicielles pour favoriser l'adoption de l'approche collaborative nécessaire à l'automatisation à l'échelle de l'entreprise. 

Cette approche peut toutefois impliquer l'acquisition de nouvelles compétences comme le contrôle des versions, les tests automatisés et la révision de code. Avec le bot de code Ansible, nous cherchons à étendre l'amélioration de la qualité des contenus Ansible au-delà de leur création et à l'ensemble de votre workflow.

Le bot de code Ansible analyse les collections de contenus Ansible Content Collections, les rôles et les playbooks existants hébergés dans des référentiels GitHub, et crée de manière proactive des requêtes « pull » lorsque des meilleures pratiques ou des recommandations d'amélioration de la qualité sont disponibles. Le bot soumet automatiquement des requêtes « pull » au référentiel, qui alerte de manière proactive son propriétaire d'une modification recommandée de son contenu. Vous pouvez configurer le bot de code Ansible pour qu'il analyse vos référentiels Git existants (publics et privés).

Le bot de code Ansible utilise l'outil Ansible Lint pour recommander des améliorations de la qualité des contenus Ansible. Cette technique permet de promouvoir des pratiques, des modèles et des comportements éprouvés tout en évitant les erreurs courantes qui peuvent facilement entraîner des bogues ou compliquer la gestion des contenus. Le bot de code Ansible analyse vos contenus en fonction des règles configurées, afin de s'assurer qu'ils respectent les meilleures pratiques d'Ansible.

Prérequis

  • Un compte sur le portail client Red Hat qui est lié à votre entreprise
  • Une souscription pour Ansible Lightspeed with IBM watsonx Code Assistant valide

Procédure

  1. Connectez-vous à votre environnement GitHub à l'aide d'un compte associé à votre entreprise.
  2. Installez l'application GitHub pour l'entreprise dont vous êtes membre. 
  3. Accédez à l'application GitHub Ansible code bot :
  4. Sélectionnez les référentiels dans lesquels vous souhaitez installer le bot de code Ansible.
  5. Cliquez sur Install & Authorize.
  6. Lorsque vous y êtes invité, connectez-vous à votre compte Red Hat SSO.
Ansible Code bot in action

Fonctionnement du bot de code Ansible

Une fois que le bot de code Ansible est installé pour les référentiels Git sélectionnés, vous pouvez configurer l'analyse régulière de vos référentiels Git. Vous pouvez également analyser manuellement vos référentiels Git en ajoutant une rubrique appelée « ansible-code-bot-scan » à votre référentiel, si vous n'avez pas configuré d'analyse régulière pour votre bot de code Ansible ou si vous ne souhaitez pas attendre la prochaine analyse planifiée.

Remarque : la version préliminaire est la « phase » de lancement initial d'un service cloud. Les versions préliminaires de services sont mises à la disposition de certains clients internes et externes pour recueillir les premiers commentaires sur un service, mais pas pour une utilisation en production. De plus, les fonctions individuelles d'un service cloud en phase d'essai sur le terrain, de disponibilité limitée ou de disponibilité générale peuvent être documentées en tant que version préliminaire du service, ce qui signifie que la fonction n'est pas destinée à une utilisation en production.

Résumé

Félicitations ! Vous avez correctement configuré Ansible Lightspeed with IBM watsonx Code Assistant pour votre entreprise. Vous avez également mis en œuvre de nouvelles fonctionnalités d'IA générative intéressantes, en quelques étapes simples.

Nous vous encourageons à rejoindre l'espace Ansible Lightspeed Matrix, l'endroit idéal pour nous faire part de vos commentaires, découvrir les dernières nouveautés et recevoir des réponses de spécialistes de l'automatisation et de l'équipe Red Hat.  

Étapes suivantes et ressources

Pour en savoir plus sur les étapes suivantes, consultez la page d'accueil de Red Hat Ansible Lightspeed, où vous trouverez des liens pour les clients Red Hat existants et pour les personnes qui souhaitent essayer Ansible Automation Platform. 

Ressources supplémentaires sur Ansible et l'IA générative :

Nous continuerons de publier des articles de blog, vidéos et autres ressources au fil de l'évolution de ce service pour vous aider à tirer le meilleur parti de l'IA générative avec Ansible. 

Merci d'avoir pris le temps de lire cet article et bonne automatisation !


About the author

Anshul is a Principal Marketing Manager at Red Hat, where he brings his software development and QE experience to increase Ansible Automation Platform's adoption experience for customers by producing technical content on all aspects of the product.

Read full bio