jriguera.configdrive

ansible-role-configdrive

Actualmente, este repositorio no se está manteniendo activamente. Te sugiero que uses el fork mantenido por David Blaisonneau: https://gitlab.com/davidblaisonneau-orange/ansible-role-configdrive


Rol de Ansible para crear config-drives para OpenStack Ironic. Crea datos de config-drives de OpenStack para nodos y es capaz de configurar redes complejas como bonding, vlans y bridges en distribuciones basadas en Debian y RedHat. Ten en cuenta que las imágenes deben tener soporte para estas características (módulos del kernel, paquetes, ...). Esta herramienta solo crea los archivos de configuración que serán inyectados en el host al iniciar usando Cloud-Init.

Este playbook está destinado a ser ejecutado antes de los despliegues de nodos a través de Ironic. Crea un drive de configuración básico que contiene la configuración de red, una clave SSH que permite al usuario iniciar sesión en el host, y otros archivos como /etc/hosts o /etc/resolv.conf. También puede incluir un archivo user_data https://help.ubuntu.com/community/CloudInit

Ansible 2.0, funciona con Ubuntu Trusty, Xenial y Centos 7

Requisitos

No instala paquetes en el host objetivo, solo crea las carpetas y archivos necesarios para crear un volumen de config-drive. Por lo tanto, ten en cuenta que probablemente necesitarás instalar genisoimage, base64 y gzip.

Configuración

Parámetros del rol

# ¡Debes sobrescribir estas variables del rol!
# Generará la configuración de red basada
# en la familia!
configdrive_os_family: "Debian"
configdrive_uuid: "uuid-test-01"
configdrive_fqdn: "test.example.com"
configdrive_name: "test"
configdrive_ssh_public_key:
configdrive_availability_zone: ""
configdrive_network_info: True
configdrive_config_dir: "/var/lib/ironic/images/"
configdrive_volume_path: "/var/lib/ironic/images/"

# Metadatos adicionales
configdrive_meta: {}

# Ruta al archivo de clave pública SSH
configdrive_ssh_public_key_path:
# Ruta al archivo de cloud-config
configdrive_config_user_data_path:

# Asignación automática con uuid
#configdrive_instance_dir:
# Eliminar la carpeta de la instancia después de la creación
configdrive_config_dir_delete: False

# Rellenar el /etc/resolv.conf
#configdrive_resolv:
#    domain: "example.com"
#    search: "hola.example.com"
#    dns: ['8.8.8.8']

# Rellenar el /etc/hosts
#configdrive_hosts:
#  - ['127.0.1.1', 'host1.domain.com']
#  - ['127.0.1.2', 'host3.domain.com']

# Lista de definición de dispositivos
#configdrive_network_device_list:
#  - device: "eth1"
#    bootproto: "dhcp"
#  - device: "eth2"
#    bootproto: "dhcp"
#    type: "phy"
#  - device: "eth0.500"
#    type: "vlan"
#    address: "10.1.1.10"
#    netmask: "255.255.255.0"
#    gateway: "10.1.1.1"
#    nameservers: 
#      - 8.8.8.8
#      - 9.9.9.9
#    domain: "hola.com"
#    backend: ["eth0"]

Uso

Echa un vistazo al site.yml y escribe vagrant up, ve a la carpeta /tmp/configdrive dentro de la máquina virtual de Vagrant y verás el volumen ISO comprimido y toda la estructura de carpetas/archivos incluida en él.

Información del autor y licencia

Copyright 2019 Jose Riguera Lopez

Licenciado bajo la Licencia Apache, Versión 2.0 (la "Licencia"); no puedes usar este archivo excepto en cumplimiento con la Licencia. Puedes obtener una copia de la Licencia en

   http://www.apache.org/licenses/LICENSE-2.0

A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye en base a "COMO ESTÁ", SIN GARANTÍAS O CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulta la Licencia para obtener la información específica que rige los permisos y limitaciones bajo la Licencia.

Acerca del proyecto

Creates a configdrive for OpenStack

Instalar
ansible-galaxy install jriguera.configdrive
Licencia
apache-2.0
Descargas
229.7k