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.
ansible-galaxy install jriguera.configdrive