rembik.kickstart_iso
Rola Ansible: Kickstart ISO
Ta rola tworzy obrazy ISO kickstart dla RHEL/CentOS.
Wymagania
- Dostęp do repozytoriów zawierających pakiety systemowe oraz obrazy ISO, prawdopodobnie w Internecie.
- Nowsza wersja Ansible (testowane [dwie ostatnie stabilne wersje][ansible_releases]).
Aby upewnić się, że wszystkie wymagania są spełnione, można zainstalować następujące role, używając ansible-galaxy role install -r molecule/resources/requirements.yml
:
---
role:
- name: rembik.bootstrap
Zmienne roli
Te wartości domyślne są ustawione w defaults/main.yml
:
---
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'
kickstart_iso_src_dir: '.images/base' # Katalog, gdzie zapisywane są obrazy ISO
kickstart_iso_dest_dir: '.images/kickstart' # Katalog, gdzie zapisywane są obrazy ISO kickstart
kickstart_iso_override: no # Zezwól na nadpisanie obrazów ISO, jeśli już istnieją
kickstart_iso_disk_drive_min_size: 10 # Minimalny rozmiar dysku (GiB)
kickstart_iso_disk_volume_min_size: 60 # Minimalny rozmiar woluminu OS (GiB)
kickstart_iso_disk_volume_max_size: 120 # Maksymalny rozmiar woluminu OS (GiB)
kickstart_iso_install_media: 'url --url http://mirror.centos.org/centos/8/BaseOS/x86_64/os/'
kickstart_iso_root_password: 'centos' # Hasło dla roota
kickstart_iso_language: 'de' # Język
kickstart_iso_country: 'DE' # Kraj
kickstart_iso_timezone: 'Europe/Berlin' # Strefa czasowa
kickstart_iso_completion: 'reboot' # Co zrobić po zakończeniu
kickstart_iso_network_bootproto: 'dhcp' # Protokół bootowania sieciowego
kickstart_iso_network_device: 'eth0' # Urządzenie sieciowe
kickstart_iso_network_static_netmask: '255.255.255.0' # Statyczna maska sieciowa
kickstart_iso_network_static_gateway: '192.168.1.1' # Statyczna brama
kickstart_iso_network_static_nameserver: ['192.168.1.1'] # Statyczny serwer nazw
Zależności
Brak.
Przykładowy playbook
Przykładowy playbook do tworzenia obrazu ISO kickstart CentOS 8 na localhost; stworzony do wydania sieciowego przez DHCP.
---
- hosts: localhost
become: true
tasks:
- include_role:
name: rembik.kickstart_iso
Przykładowy playbook do tworzenia obrazów ISO kickstart CentOS 7 na localhost; stworzony do statycznej konfiguracji sieciowej.
---
- hosts: localhost
become: true
pre_tasks:
- name: Pobierz wszystkie hosty (w tym IP) z inwentarza
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' # Media instalacyjne
kickstart_iso_network_bootproto: 'static' # Protokół bootowania statycznego
kickstart_iso_network_static_netmask: '255.255.252.0' # Statyczna maska sieciowa
kickstart_iso_network_static_gateway: '10.0.0.1' # Statyczna brama
kickstart_iso_network_static_nameserver:
- '10.0.2.1'
- '10.0.3.1' # Statyczne serwery nazw
Testy
Ta rola jest testowana okresowo z następującymi dystrybucjami Linuxa:
[![python_badge] ![ansible_badge]][python] | [![ansible_previous_badge]][ansible_previous] | [![ansible_latest_badge]][ansible_latest] | [![ansible_devel_badge]][ansible_devel] |
---|---|---|---|
[![alpine_badge]][alpine] | [![x1]][ci] | [![x1] ![e2]][ci] | [![e1] ![e2]][ci] |
[![centos_badge]][centos] | [![x]][ci] | [![x]][ci] | [![e]][ci] |
[![debian_badge]][debian] | [![x1]][ci] | [![x1] ![e2]][ci] | [![e1] ![e2]][ci] |
[![fedora_badge]][fedora] | [![x1]][ci] | [![x1] ![e2]][ci] | [![e1] ![e2]][ci] |
[![opensuse_badge]][opensuse] | [![x1] ![x2]][ci] | [![x1] ![x2]][ci] | [![e1] ![e2]][ci] |
[![redhat_badge]][redhat] | [![x]][ci] | [![x]][ci] | [![e]][ci] |
[![ubuntu_badge]][ubuntu] | [![x1]][ci] | [![x1] ![e2]][ci] | [![e1] ![e2]][ci] |
[![xl] ![el]][ci] |
Wkład
Jeśli znajdziesz problemy, zarejestruj je na tej [stronie z problemami na GitHubie][issues] lub rozważ wniesienie swojego wkładu, postępując zgodnie z tym [przewodnikiem][contributing].
Licencja
[Licencja Apache, wersja 2.0][license]