ahuffman.sat6_create_hosts

Ansible Role

ahuffman.sat6_create_hosts

Un rol de Ansible para crear nuevos hosts virtuales y físicos en Satellite 6.x. Se requiere la versión 2 de la API de Satellite6.

Variables del Rol

Nombre de la Variable Requerido Descripción Tipo Por Defecto
sat6_fqdn Nombre de dominio completamente calificado del host de Satellite 6. cadena ""
sat6_user Nombre de usuario del usuario de Satellite 6 que tiene acceso para crear nuevos hosts. cadena ""
sat6_pass Contraseña del usuario de Satellite 6 que tiene acceso para crear nuevos hosts. Esto debe ser guardado de forma segura. cadena ""
sat6_organization Organización de Satellite6 para crear los hosts definidos en sat6_hosts. cadena ""
sat6_fail_on_existing no Para fallar el libro de jugadas si alguno de los hosts definidos en sat6_hosts ya existe en Satellite6. Útil al usar notificaciones en Ansible Tower, y usted desea ser notificado en caso de fallo. Verdadero significa fallar si un host existe, falso significa simplemente mostrar un resumen y permite un estilo de ejecución más idempotente. booleano Falso
sat6_power_on_delay no Segundos de retraso entre crear una nueva máquina virtual a través de un recurso informático y encenderla (para prevenir posibles condiciones de carrera al crear la VM en el sistema externo) entero 30
sat6_hosts Hosts de Satellite 6 que desea crear lista de diccionarios []

Campos del Diccionario sat6_hosts - Comunes

Campos que puede utilizar tanto para la creación de hosts físicos como virtuales.

Nombre del Campo Requerido Descripción Tipo
name Nombre del host a crear string
comment no Un comentario que aparecerá en la información adicional del host. Una descripción corta de para qué es el host. cadena
domain no Nombre del dominio de Satellite6 con el que crear el host. No es necesario si desea heredar el dominio predeterminado del grupo de hosts. cadena
host_group Nombre del Grupo de Host de Satellite6 con el que crear el nuevo host. Si anida Grupos de Host, este sería el nombre del Grupo de Host en la forma hostgroup1/hostgroup2/hostgroup3, también conocido como el título en la API. cadena
ipv4 no Dirección IPv4 para asignar al host. No es necesario si el grupo de hosts está configurado para sugerir una dirección IPv4 a través de ipam o dhcp. cadena
location Nombre de la ubicación de Satellite6 donde desplegará el host. cadena
partition_table no Nombre de la tabla de particiones de Satellite6 con la que crear el host. No es necesario si desea heredar la tabla de particiones predeterminada del grupo de hosts. cadena
subnet no Nombre de la subred de Satellite6 con la que crear el host. No es necesario si desea heredar la subred predeterminada del grupo de hosts. cadena
parameters no Lista de parámetros específicos del host de Satellite6 que desea establecer. Esto es útil para tareas posteriores a la provisión y desea usar condicionales basados en estos valores. lista de diccionarios
register_only no Si solo debe crear la entrada del host en Satellite6 VS. realmente encenderlo y aprovisionarlo (por defecto es falso). Funcionalidad agregada para otros casos de uso diferentes a la provisión (es decir, registro del cliente con ubicación especificada). Si utiliza este método de creación de host, deberá especificar recursos de cómputo y perfiles ya que no se consultarán desde el Grupo de Host. booleano
manage_host no Cuando se usa register_only: True y force_host_update: True, permitirá que el ciclo de construcción del host sea administrado por Satellite6. Por defecto es Falso.
force_host_update no Cuando se usa register_only: True se actualizará el Host de Satellite6 a las opciones que ha especificado. Por defecto es Falso. booleano
provision_method no Despliegue build o image. Por defecto es build cadena

Campos del Diccionario sat6_hosts - Virtuales

Nombre del Campo Requerido Descripción Tipo
compute_profile no Nombre del perfil de cómputo de Satellite6 con el que desea desplegar el host. Si no se proporciona, se utilizará el predeterminado del grupo de hosts. cadena
compute_resource Nombre del recurso de cómputo de Satellite6 en el que desea desplegar el host. cadena

Campos del Diccionario sat6_hosts - Física

Nombre del Campo Requerido Descripción Tipo
mac Dirección MAC del host físico que desea desplegar. cadena

Campos del Diccionario sat6_hosts.parameters

Nombre del Campo Requerido Descripción Tipo
name Nombre del parámetro a crear string
value Valor del parámetro a crear string

Depuración

Para ver la salida completa de depuración, aumente la verbosidad a 1 (Verbose) en Ansible Tower, o un solo -v en Ansible Core/Engine.

Ejemplo de Libro de Jugadas

    ---
    - name: "ahuffman.sat6_create_hosts Ejemplo de Libro de Jugadas"
      hosts: "localhost"
      vars_files:
        - "vars/myvaultedsecrets.yml"
      tasks:
        - name: "Provisionar Hosts de Satellite 6"
          include_role:
            name: "ahuffman.sat6_create_hosts"
          vars:
            sat6_fqdn: "mysat6server.mydomain.com"
            sat6_user: "mysat6admin"
            #sat6_pass: "esto está configurado en el archivo vars/myvaultedsecrets.yml"
            sat6_organization: "mi organización"
            sat6_fail_on_existing: True
            #se recomienda pasar sat6_hosts como una variable adicional, pero podría configurar
            #sat6_fail_on_existing: False para ejecutar el libro de jugadas de manera más idempotente si desea
            #hacer un seguimiento de todos los hosts de sat6 que cree en el control de versiones
            sat6_hosts:
              #VM
              - name: "mi-nueva-vm"
                host_group: "RHEL7-Virtual"
                location: "Raleigh"
                ipv4: "192.168.122.24"
                domain: "redhat.com"
                comment: "Servidor web para servir el nuevo sitio web atractivo"
                compute_resource: "vsphere.vmware.com" #Este es el nombre de su recurso de cómputo
                compute_profile: "3-Large"
                parameters:
                  - name: "build_type"
                    value: "httpd"
              #Bare-metal
              - name: "mi-nueva-bare-metal"
                host_group: "RHEL7-Physical"
                location: "Raleigh"
                ipv4: "192.168.122.25"
                domain: "redhat.com"
                comment: "Servidor de base de datos"
                mac: "12:34:56:78:91:23"
              #Registrar solo (es decir, crear solo)
              - name: "host1"
                host_group: "RHEL7-Virtual"
                location: "Raleigh"
                ipv4: "192.168.122.26"
                domain: "redhat.com"
                comment: "Entrada de host de pre-registro"
                register_only: True
              #Actualizar un host existente (perdón por el mal chiste)
              - name: "mi-nueva-vm"
                host_group: "RHEL7-Virtual"
                location: "Armonk"
                ipv4: "192.168.122.24"
                comment: "Migrado Q3"
                domain: "ibm.com"
                parameters:
                  - name: "build_type"
                    value: "ihs"
                register_only: True #significa no intentar aprovisionar
                force_host_update: True #actualizar el host si existe
              #Gestionar construcciones de host (aprovisionamiento) en un host existente no gestionado
              - name: "someoldserver"
                host_group: "RHEL7-Physical"
                mac: "32:34:56:78:91:23"
                domain: "redhat.com"
                location: "Raleigh"
                register_only: True
                force_host_update: True
                manage_host: True

Licencia

MIT

Información del Autor

Andrew J. Huffman

Acerca del proyecto

An Ansible role to create new virtual and bare-metal hosts in Satellite 6.x.

Instalar
ansible-galaxy install ahuffman.sat6_create_hosts
Licencia
mit
Descargas
5.1k
Propietario