linux-system-roles.rhc

rhc

ansible-lint.yml ansible-test.yml markdownlint.yml tft.yml tft_citest_bad.yml woke.yml

rhc

Un rôle Ansible qui relie les systèmes RHEL à Red Hat.

Exigences

Le rôle nécessite subscription-manager, disponible dans les dépôts RHEL standards, généralement déjà installé par défaut sur RHEL. Sur d'autres distributions, il sera installé s'il n'est pas déjà présent.

Le rôle nécessite également insights-client, disponible dans les dépôts RHEL standards, si le support Insights est activé (ce qui est le cas par défaut).

De plus, le rôle nécessite rhc, disponible dans les dépôts RHEL standards, si la remédiation Insights est activée (ce qui est le cas par défaut).

Exigences de collection

Le rôle nécessite des modules provenant de collections externes. Utilisez la commande suivante pour les installer :

ansible-galaxy collection install -vv -r meta/collection-requirements.yml

Variables du rôle

    rhc_state: present

Indique si le système est connecté à Red Hat ; les valeurs valides sont present (par défaut, pour garantir la connexion), absent, et reconnect.

Lorsque vous utilisez reconnect, le système sera tout d'abord déconnecté s’il était déjà connecté ; pour cette raison, le rôle rapportera toujours un état "changé".

    rhc_organization: "votre-organisation"

L'organisation de l'utilisateur. Cela doit être spécifié lors de la connexion si :

  • l'utilisateur appartient à plus d'une organisation
  • utilise des clés d'activation (voir rhc_auth ci-dessous)
    rhc_auth: {}

La méthode d'authentification utilisée pour connecter un système. Cela doit être spécifié si un système doit se connecter (par exemple, s'il ne l'a pas fait auparavant). Il existe quelques méthodes d'authentification possibles ; une seule peut être spécifiée à la fois.

NB : les variables utilisées pour l'authentification sont considérées comme des secrets, et doivent donc être sécurisées. Nous recommandons l'utilisation d'Ansible Vault comme source pour celles-ci. Les références ci-dessous décrivent simplement quelles clés existent et à quoi elles servent.

Pour s'authentifier avec un nom d'utilisateur et un mot de passe, spécifiez le dictionnaire login avec les clés obligatoires suivantes :

rhc_auth:
  login:
    username: "votre-nom-utilisateur"
    password: "votre-mot-de-passe"

utilisez rhc_organization si nécessaire.

Pour s'authentifier avec des clés d'activation, spécifiez le dictionnaire activation_keys avec les clés suivantes obligatoires, en même temps que rhc_organization :

rhc_auth:
  activation_keys:
    keys: ["clé-1", ...]
rhc_organization: "votre-organisation"
    rhc_server: {}

Les détails du serveur d'enregistrement auquel se connecter ; il peut contenir les clés optionnelles suivantes :

rhc_server:
  hostname: "nom-d'hôte"
  port: 443
  prefix: "prefixe-du-serveur"
  insecure: false
  • hostname est le nom d'hôte du serveur
  • port est le port auquel se connecter sur le serveur
  • prefix est le préfixe (commençant par /) pour les appels API au serveur
  • insecure spécifie s'il faut désactiver la validation du certificat SSL du serveur
    rhc_baseurl: ""

L'URL de base pour recevoir du contenu du serveur d'abonnement.

    rhc_repositories: []

Une liste de dépôts à activer ou désactiver dans le système. Chaque élément est un dictionnaire contenant deux clés :

  • name est le nom d'un dépôt ; cette clé est obligatoire
  • state est l'état de ce dépôt dans le système, il peut être enabled ou disabled; cette clé est optionnelle, et enabled si non spécifiée
rhc_repositories:
  - {name: "dépôt-1", state: enabled}
  - {name: "dépôt-2", state: disabled}
    rhc_release: "release"

Une version à définir pour le système. Utilisé typiquement pour verrouiller un système RHEL à une certaine version mineure de RHEL.

Utilisez {"state":"absent"} (et non "") pour réellement supprimer la version définie pour le système.

    rhc_insights:
      state: present

Indique si le système est connecté à Insights ; valeurs valides : present (par défaut, pour assurer la connexion) et absent.

    rhc_insights:
      autoupdate: true

Indique si le système met automatiquement à jour la configuration dynamique. C'est activé par défaut.

    rhc_insights:
      ansible_host: "exemple-hôte"

Configure le nom d'hôte Ansible avec une valeur personnalisée pour l'enregistrement système dans l'Inventaire Basé sur l'Hôte (HBI). Ce nom d'hôte est utilisé dans les playbooks par les remédiations. Il est null par défaut et utilisera le nom d'hôte du système s'il n'est pas spécifié.

Valeurs possibles de cette variable :

  • null ou une chaîne vide : le nom d'hôte Ansible n'est pas modifié.
  • {state: absent} : le nom d'hôte Ansible est supprimé dans le fichier de configuration du client Insights et l'HBI est mis à jour pour utiliser le nom d'hôte du système.
  • toute autre valeur de chaîne : le nom d'hôte Ansible est modifié dans l'HBI.
    rhc_insights:
      display_name: "Exemple Hôte"

Configure le nom d'affichage avec une valeur personnalisée pour l'enregistrement système dans l'HBI. Ce nom d'affichage est uniquement utilisé pour identifier l'hôte dans l'Inventaire. Il est null par défaut et utilisera le nom d'hôte du système s'il n'est pas spécifié.

Valeurs possibles de cette variable :

  • null ou une chaîne vide : le nom d'affichage n'est pas modifié
  • toute autre valeur de chaîne : le nom d'affichage est modifié dans l'HBI.

Remarque : S'il n'est pas explicitement défini lors de l'enregistrement, le nom d'affichage est défini sur le nom d'hôte par défaut. Il n'est pas possible de le rétablir automatiquement au nom d'hôte, mais il peut être défini manuellement.

    rhc_insights:
      remediation: present

Indique si le système est configuré pour exécuter la remédiation Insights ; valeurs valides : present (par défaut, pour assurer la remédiation) et absent.

Veuillez noter que la remédiation Insights n'est prise en charge que sur RHEL 8.4 ou version supérieure, car les packages nécessaires ne sont disponibles qu'à partir de cette version ; sur les versions antérieures, ce paramètre n'a aucun effet.

    rhc_insights:
      tags: {}

Un dictionnaire de balises ajoutées à l'enregistrement système dans l'HBI ; typiquement utilisé pour regrouper et étiqueter les systèmes, et pour rechercher des systèmes dans l'inventaire.

Valeurs possibles de cette variable :

  • null ou une valeur vide (par exemple : {}) : le contenu du fichier de balises n'est pas modifié
  • {state: absent} : toutes les balises sont supprimées (en supprimant le fichier de balises)
  • toute autre valeur : le fichier est créé avec les balises spécifiées

Les balises étant des valeurs arbitraires pour étiqueter les systèmes, il n'y a pas de format fixe. Dans le dictionnaire spécifié, les clés sont des chaînes, et les valeurs peuvent être de n'importe quel type de données (chaînes, nombres, listes, dictionnaires, etc.).

Exemple de balises configurées dans la documentation de insights-client :

rhc_insights:
  tags:
    group: _valeur-nom-groupe_
    location: _valeur-nom-emplacement_
    description:
      - RHEL8
      - SAP
    key 4: valeur
    rhc_proxy: {}

Les détails du serveur proxy à utiliser pour se connecter :

rhc_proxy:
  hostname: "nom-hôte-proxy"
  scheme: http
  port: 4321
  username: "nom-utilisateur-proxy"
  password: "mot-de-passe-proxy"
  • hostname est le nom d'hôte du serveur proxy
  • scheme est le schéma à utiliser pour le serveur proxy, généralement "http" ou "https", par défaut "http"
  • port est le port auquel se connecter sur le serveur proxy
  • username est le nom d'utilisateur utilisé pour s'authentifier sur le serveur proxy ; il peut ne pas être spécifié si le serveur proxy ne nécessite pas d'authentification
  • password est le mot de passe utilisé pour s'authentifier sur le serveur proxy ; il peut ne pas être spécifié si le serveur proxy ne nécessite pas d'authentification

Utilisez {"state":"absent"} pour réinitialiser toutes les configurations de proxy à vide (désactivant effectivement le serveur proxy).

NB : les variables utilisées pour l'authentification sur le serveur proxy sont considérées comme des secrets, et doivent donc être sécurisées. Nous recommandons l'utilisation d'Ansible Vault comme source pour celles-ci.

    rhc_environments: []

La liste des environnements auxquels s'inscrire lors de la connexion du système.

NB :

  • cela ne fonctionne que lorsque le système est connecté à partir d'un état non connecté -- il ne peut pas changer les environnements des systèmes déjà connectés
  • cela nécessite que les environnements soient activés sur le serveur d'enregistrement ; dans Red Hat Satellite ou Katello, cette fonctionnalité s'appelle "Content Views"

Exemples de Playbooks

Assurez-vous de la connexion à Red Hat incluant Insights, en s'authentifiant avec un nom d'utilisateur et un mot de passe :

- name: Enregistrer des systèmes
  hosts: all
  vars:
    rhc_auth:
      login:
        username: "votre-nom-utilisateur"
        password: !vault |
          $ANSIBLE_VAULT;1.2;AES256;dev
          ....
  roles:
    - linux-system-roles.rhc

Assurez-vous que certains dépôts RHEL 9 sont activés, et un autre est désactivé :

- name: Assurez-vous que les dépôts RHEL 9 sont activés
  hosts: all
  vars:
    rhc_repositories:
      - {name: "rhel-9-for-x86_64-baseos-rpms", state: enabled}
      - {name: "rhel-9-for-x86_64-appstream-rpms", state: enabled}
      - {name: "codeready-builder-for-rhel-9-x86_64-rpms", state: disabled}
  roles:
    - linux-system-roles.rhc

Assurez-vous qu'un système RHEL 8 est verrouillé sur RHEL 8.6 :

- name: Assurez-vous que les systèmes sont verrouillés à RHEL 8.6
  hosts: all
  vars:
    rhc_release: 8.6
  roles:
    - linux-system-roles.rhc

Assurez-vous qu'un système est connecté à Insights, sans fonctionnalités optionnelles comme les mises à jour automatiques et la remédiation :

- name: Assurez-vous que les systèmes sont connectés à Insights
  hosts: all
  vars:
    rhc_insights:
      autoupdate: false
      remediation: absent
  roles:
    - linux-system-roles.rhc

Licence

MIT

À propos du projet

Configure connectivity of systems to Red Hat

Installer
ansible-galaxy install linux-system-roles.rhc
Licence
mit
Téléchargements
5k
Propriétaire