rembik.kickstart_iso

Ansible Role: Kickstart ISO

This role creates kickstart ISO images for RHEL/CentOS systems.

Requirements

  • Access to online repositories for system packages and base ISO images.
  • Ansible version that is recent (the last two stable major versions are tested).

You can install the necessary roles with the following command:

---
roles:
  - name: rembik.bootstrap

Role Variables

Default values are set in defaults/main.yml:

---
kickstart_iso_src_file:
  name: ''  # The name of the base ISO image
  search: 'boot'  # Search term for identifying the ISO
  checksum: ''  # Checksum for validation
  checksum_url: 'http://mirror.centos.org/centos/8/isos/x86_64/CHECKSUM'  # URL for the checksum
  base_url: 'http://isoredirect.centos.org/centos/8/isos/x86_64'  # Base URL for ISO images

kickstart_iso_src_dir: '.images/base'  # Directory for base ISOs
kickstart_iso_dest_dir: '.images/kickstart'  # Directory for kickstart ISOs
kickstart_iso_override: no  # Choose to override existing ISOs (yes|no)

# Disk size settings for the installation
kickstart_iso_disk_drive_min_size: 10  # Minimum physical disk size in GiB
kickstart_iso_disk_volume_min_size: 60  # Minimum OS volume size in GiB
kickstart_iso_disk_volume_max_size: 120  # Maximum OS volume size in GiB

kickstart_iso_install_media: 'url --url http://mirror.centos.org/centos/8/BaseOS/x86_64/os/'
kickstart_iso_root_password: 'centos'  # Default root password
kickstart_iso_language: 'de'  # Language setting
kickstart_iso_country: 'DE'  # Country setting
kickstart_iso_timezone: 'Europe/Berlin'  # Timezone setting
kickstart_iso_completion: 'reboot'  # Action after installation
kickstart_iso_network_bootproto: 'dhcp'  # Network booting method (DHCP or static)
kickstart_iso_network_device: 'eth0'  # Network device
kickstart_iso_network_static_netmask: '255.255.255.0'  # Static netmask
kickstart_iso_network_static_gateway: '192.168.1.1'  # Static gateway
kickstart_iso_network_static_nameserver: ['192.168.1.1']  # Static nameserver

Dependencies

None.

Example Playbook

This playbook creates a CentOS 8 kickstart ISO image on localhost with DHCP:

---
- hosts: localhost
  become: true

  tasks:
    - include_role:
        name: rembik.kickstart_iso

This playbook creates a CentOS 7 kickstart ISO image on localhost with a static network:

---
- hosts: localhost
  become: true

  pre_tasks:
    - name: Gather all hosts (including IP) from inventory
      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'

Tests

This role is regularly tested with various Linux distributions.

Contributing

If you find any issues, please report them on the [GitHub issues page][issues] or consider contributing code by following the [guidelines][contributing].

License

[Apache License, Version 2.0][license]

Author Information

Brian Rimek

For more information, refer to badges and links in the original text.

Informazioni sul progetto

Creates kickstart ISO images for RHEL/CentOS.

Installa
ansible-galaxy install rembik.kickstart_iso
Licenza
apache-2.0
Download
256
Proprietario