ahuffman.sat6_create_hosts
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 | sí | Nombre de dominio completamente calificado del host de Satellite 6. | cadena | "" |
sat6_user | sí | Nombre de usuario del usuario de Satellite 6 que tiene acceso para crear nuevos hosts. | cadena | "" |
sat6_pass | sí | Contraseña del usuario de Satellite 6 que tiene acceso para crear nuevos hosts. Esto debe ser guardado de forma segura. | cadena | "" |
sat6_organization | sí | 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 | sí | 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 | sí | 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 | sí | 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 | sí | 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 | sí | 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 | sí | 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 | sí | Nombre del parámetro a crear | string |
value | sí | 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
Información del Autor
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