linux-system-roles.rhc

rhc

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

rhc

Un rol de Ansible que conecta los sistemas RHEL a Red Hat.

Requisitos

El rol requiere subscription-manager, que está disponible en los repositorios estándar de RHEL y generalmente se instala por defecto en RHEL. En otras distribuciones, se instalará si no está ya.

El rol también requiere insights-client, que está disponible en los repositorios estándar de RHEL, en caso de que se habilite el soporte de Insights (y está habilitado por defecto).

Además, el rol requiere rhc, que está disponible en los repositorios estándar de RHEL, en caso de que se habilite la remediación de Insights (y está habilitado por defecto).

Requisitos de colección

El rol requiere módulos de colecciones externas. Usa el siguiente comando para instalarlos:

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

Variables del rol

    rhc_state: present

Indica si el sistema está conectado a Red Hat; los valores válidos son present (el valor por defecto, para asegurar la conexión), absent, y reconnect.

Al usar reconnect, el sistema se desconectará primero en caso de que ya estuviera conectado; por lo tanto, el rol siempre informará un estado de "cambiado".

    rhc_organization: "tu-organizacion"

La organización del usuario. Esto debe especificarse al conectar si:

  • el usuario pertenece a más de una organización
  • se utilizan claves de activación (ver rhc_auth más abajo)
    rhc_auth: {}

El método de autenticación utilizado para conectar un sistema. Esto debe especificarse en caso de que un sistema necesite conectarse (por ejemplo, si no lo estaba antes). Hay pocos métodos de autenticación posibles; solo se puede especificar uno a la vez.

NB: las variables utilizadas para la autenticación se consideran secretos, por lo que deben estar seguras. Recomendamos el uso de Ansible Vault como fuente para ellas. Las referencias a continuación solo describen qué claves existen y para qué son.

Para autenticar using nombre de usuario y contraseña, especifica el diccionario login con las siguientes claves obligatorias:

rhc_auth:
  login:
    username: "tu-usuario"
    password: "tu-contraseña"

Usa rhc_organization si es necesario.

Para autenticar usando claves de activación, especifica el diccionario activation_keys con las siguientes claves obligatorias, junto con rhc_organization:

rhc_auth:
  activation_keys:
    keys: ["clave-1", ...]
rhc_organization: "tu-organizacion"
    rhc_server: {}

Los detalles del servidor de registro al que conectarse; puede contener las siguientes claves opcionales:

rhc_server:
  hostname: "nombre-del-servidor"
  port: 443
  prefix: "prefijo-del-servidor"
  insecure: false
  • hostname es el nombre del servidor
  • port es el puerto al que conectarse en el servidor
  • prefix es el prefijo (que comienza con /) para las llamadas API al servidor
  • insecure especifica si se desactiva la validación del certificado SSL del servidor
    rhc_baseurl: ""

La URL base para recibir contenido del servidor de suscripción.

    rhc_repositories: []

Una lista de repositorios para habilitar o deshabilitar en el sistema. Cada elemento es un diccionario que contiene dos claves:

  • name es el nombre de un repositorio; esta clave es obligatoria
  • state es el estado de ese repositorio en el sistema, y puede ser enabled o disabled; esta clave es opcional, y se considera enabled si no se especifica
rhc_repositories:
  - {name: "repositorio-1", state: enabled}
  - {name: "repositorio-2", state: disabled}
    rhc_release: "liberacion"

Una versión para establecer en el sistema. Se utiliza normalmente para bloquear un sistema RHEL a una cierta versión menor de RHEL.

Usa {"state":"absent"} (y no "") para realmente desconfigurar la versión establecida para el sistema.

    rhc_insights:
      state: present

Indica si el sistema está conectado a Insights; los valores válidos son present (el valor por defecto, para asegurar la conexión), y absent.

    rhc_insights:
      autoupdate: true

Indica si el sistema actualiza automáticamente la configuración dinámica. Estará habilitado por defecto.

    rhc_insights:
      ansible_host: "ejemplo-host"

Configura el nombre del host de Ansible con un valor personalizado para el registro del sistema en el Inventario Basado en Host (HBI). Este nombre de host se utiliza en playbooks por remediaciones. Está en null por defecto y usará el nombre del host del sistema si no se especifica.

Valores posibles de esta variable:

  • null o una cadena vacía: el nombre del host de Ansible no se cambia.
  • {state: absent}: el nombre del host de Ansible se elimina en el archivo de configuración de insights-client y el HBI se actualiza para usar el nombre del host del sistema.
  • cualquier otro valor de cadena: el nombre del host de Ansible se cambia en el HBI.
    rhc_insights:
      display_name: "Ejemplo Host"

Configura el nombre de visualización con un valor personalizado para el registro del sistema en el HBI. Este nombre de visualización solo se utiliza para identificar el host en el Inventario. Está en null por defecto y usará el nombre del host del sistema si no se especifica.

Valores posibles de esta variable:

  • null o una cadena vacía: el nombre de visualización no se cambia.
  • cualquier otro valor de cadena: el nombre de visualización se cambia en el HBI.

Nota: Si no se establece explícitamente en el registro, el nombre de visualización se establece en el nombre del host por defecto. No es posible revertir automáticamente el nombre al nombre del host, pero se puede establecer manualmente.

    rhc_insights:
      remediation: present

Indica si el sistema está configurado para ejecutar la remediación de Insights; los valores válidos son present (el valor por defecto, para asegurar la remediación), y absent.

Ten en cuenta que la remediación de Insights solo se admite en RHEL 8.4 o superior, ya que los paquetes necesarios están disponibles solo a partir de esa versión; en versiones anteriores, este parámetro no tiene efecto.

    rhc_insights:
      tags: {}

Un diccionario de etiquetas que se añade al registro del sistema en el HBI; se utiliza típicamente para agrupar y etiquetar sistemas, y para buscar sistemas en el inventario.

Valores posibles de esta variable:

  • null o un valor vacío (por ejemplo: {}): el contenido del archivo de etiquetas no se cambia.
  • {state: absent}: todas las etiquetas se eliminan (eliminando el archivo de etiquetas).
  • cualquier otro valor: se crea el archivo con las etiquetas especificadas.

Dado que las etiquetas son valores arbitrarios para la etiquetación de sistemas, no hay un formato fijo. En el diccionario especificado, las claves son cadenas y el tipo de los valores puede ser cualquier tipo de dato (cadenas, números, listas, diccionarios, etc).

Ejemplo de etiquetas configuradas en la documentación del cliente Insights:

rhc_insights:
  tags:
    group: _valor-del-nombre-del-grupo_
    location: _valor-del-nombre-de-la-ubicacion_
    description:
      - RHEL8
      - SAP
    key 4: valor
    rhc_proxy: {}

Los detalles del servidor proxy a utilizar para conectarse:

rhc_proxy:
  hostname: "nombre-del-proxy"
  scheme: http
  port: 4321
  username: "usuario-del-proxy"
  password: "contraseña-del-proxy"
  • hostname es el nombre del servidor proxy
  • scheme es el esquema a utilizar para el servidor proxy, generalmente "http" o "https", por defecto "http"
  • port es el puerto al que conectarse en el servidor proxy
  • username es el nombre de usuario a utilizar para autenticarse en el servidor proxy; puede no especificarse si el servidor proxy no requiere autenticación
  • password es la contraseña a utilizar para autenticarse en el servidor proxy; puede no especificarse si el servidor proxy no requiere autenticación

Usa {"state":"absent"} para restablecer toda la configuración del proxy a vacía (deshabilitando efectivamente el servidor proxy).

NB: las variables utilizadas para la autenticación en el servidor proxy se consideran secretos, por lo que deben estar seguras. Recomendamos el uso de Ansible Vault como fuente para ellas.

    rhc_environments: []

La lista de entornos a los que registrarse al conectar el sistema.

NB:

  • esto solo funciona cuando el sistema se conecta desde un estado no conectado; no puede cambiar los entornos de sistemas que ya están conectados.
  • esto requiere que los entornos se habiliten en el servidor de registro; en Red Hat Satellite o Katello, esta función se llama "Vistas de Contenido".

Ejemplos de Playbooks

Asegúrate de la conexión a Red Hat incluyendo Insights, autenticando usando nombre de usuario y contraseña:

- name: Registrar sistemas
  hosts: all
  vars:
    rhc_auth:
      login:
        username: "tu-usuario"
        password: !vault |
          $ANSIBLE_VAULT;1.2;AES256;dev
          ....
  roles:
    - linux-system-roles.rhc

Asegúrate de que ciertos repositorios de RHEL 9 estén habilitados, y otro no:

- name: Asegurar que los repositorios RHEL 9 están habilitados
  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

Asegúrate de que un sistema RHEL 8 esté bloqueado en RHEL 8.6:

- name: Asegurar que los sistemas están bloqueados en RHEL 8.6
  hosts: all
  vars:
    rhc_release: 8.6
  roles:
    - linux-system-roles.rhc

Asegúrate de que un sistema esté conectado a Insights, sin funciones opcionales como actualizaciones automáticas y remediaciones:

- name: Asegurar que los sistemas están conectados a Insights
  hosts: all
  vars:
    rhc_insights:
      autoupdate: false
      remediation: absent
  roles:
    - linux-system-roles.rhc

Licencia

MIT

Acerca del proyecto

Configure connectivity of systems to Red Hat

Instalar
ansible-galaxy install linux-system-roles.rhc
Licencia
mit
Descargas
5k
Propietario