rembik.kickstart_iso
Rol de Ansible: ISO de Kickstart
Este rol crea imágenes ISO de kickstart para RHEL/CentOS.
Requisitos
- Acceso a repositorios que contengan paquetes del sistema e imágenes ISO base, probablemente en Internet.
- Una versión reciente de Ansible (probada en las últimas 2 versiones estables principales).
Los siguientes roles se pueden instalar para asegurar que se cumplan todos los requisitos, usando ansible-galaxy role install -r molecule/resources/requirements.yml
:
---
roles:
- name: rembik.bootstrap
Variables del rol
Estos valores predeterminados se establecen en defaults/main.yml
:
---
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/anaconda_customization_guide/sect-boot-menu-customization
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/performing_an_advanced_rhel_installation
# Si kickstart_iso_src_file.name o kickstart_iso_src_file.checksum no están definidos,
# se utilizan kickstart_iso_src_file.checksum_url y kickstart_iso_src_file.search
# para determinar el nombre de archivo de imagen ISO base que falta y su checksum
kickstart_iso_src_file:
name: ''
search: 'boot'
checksum: ''
checksum_url: 'http://mirror.centos.org/centos/8/isos/x86_64/CHECKSUM'
base_url: 'http://isoredirect.centos.org/centos/8/isos/x86_64'
# Directorio donde se guardan las imágenes ISO base
kickstart_iso_src_dir: '.images/base'
# Directorio donde se guardan las imágenes ISO de kickstart
kickstart_iso_dest_dir: '.images/kickstart'
# Permitir la sobrescritura de las imágenes ISO de kickstart, si ya existen (sí|no)
kickstart_iso_override: no
# Elegir discos con tamaño físico mínimo kickstart_iso_disk_drive_min_size (GiB)
# hasta un tamaño mínimo de volumen lógico del OS kickstart_iso_disk_volume_min_size (GiB)
# y crear un volumen lógico del OS con tamaño máximo kickstart_iso_disk_volume_max_size (GiB)
kickstart_iso_disk_drive_min_size: 10
kickstart_iso_disk_volume_min_size: 60
kickstart_iso_disk_volume_max_size: 120
kickstart_iso_install_media: 'url --url http://mirror.centos.org/centos/8/BaseOS/x86_64/os/'
kickstart_iso_root_password: 'centos'
kickstart_iso_language: 'de'
kickstart_iso_country: 'DE'
kickstart_iso_timezone: 'Europe/Berlin'
kickstart_iso_completion: 'reboot'
kickstart_iso_network_bootproto: 'dhcp'
kickstart_iso_network_device: 'eth0'
kickstart_iso_network_static_netmask: '255.255.255.0'
kickstart_iso_network_static_gateway: '192.168.1.1'
kickstart_iso_network_static_nameserver: ['192.168.1.1']
# Si kickstart_iso_network_bootproto es estático, utiliza kickstart_iso_network_static_hosts
# para crear imágenes ISO de host estáticas personalizadas adicionales
# kickstart_iso_network_static_hosts:
# - {ip: '192.168.1.1', name: 'host01'}
Dependencias
Ninguna.
Ejemplo de Playbook
Este es un ejemplo de playbook para crear una imagen ISO de kickstart de CentOS 8 en localhost; diseñado para lanzamientos en red a través de DHCP.
---
- hosts: localhost
become: true
tasks:
- include_role:
name: rembik.kickstart_iso
Este es un ejemplo de playbook para crear imágenes ISO de kickstart de CentOS 7 en localhost; diseñado para una configuración de red estática.
---
- hosts: localhost
become: true
pre_tasks:
- name: Obtener todos los hosts (incluido IP) del inventario
set_fact:
kickstart_iso_network_static_hosts: "{{ (kickstart_iso_network_static_hosts|default([])) +
[dict(ip=hostvars[item].ansible_host,name=(item.split('.')[0]|lower))] }}"
loop: "{{ groups['all'] }}"
tasks:
- include_role:
name: rembik.kickstart_iso
vars:
kickstart_iso_src_file:
search: 'Minimal'
checksum_url: 'http://mirror.centos.org/centos/7/isos/x86_64/sha256sum.txt'
base_url: 'http://isoredirect.centos.org/centos/7/isos/x86_64'
kickstart_iso_install_media: 'cdrom'
kickstart_iso_network_bootproto: 'static'
kickstart_iso_network_static_netmask: '255.255.252.0'
kickstart_iso_network_static_gateway: '10.0.0.1'
kickstart_iso_network_static_nameserver:
- '10.0.2.1'
- '10.0.3.1'
Pruebas
Este rol se prueba periódicamente contra las siguientes distribuciones de Linux:
Contribuir
Si encuentras problemas, por favor regístralos en esta página de problemas del proyecto en GitHub o considera contribuir con código siguiendo esta guía.
Licencia
Información del autor
Creates kickstart ISO images for RHEL/CentOS.
ansible-galaxy install rembik.kickstart_iso