Creating a template for a kickstart file
A template
is one of the core modules of Ansible. It is used to easily generate files (for example, configuration files) based on a common set of facts. It uses the Jinja2 template engine to interpret template files.
For this recipe, we'll use a simple kickstart
script that is generic enough to deploy any host. Refer to Chapter 2, Deploying RHEL "En Masse", to find out about kickstart
files.
Getting ready
The facts that we need for this host are repo_url
, root_password_hash
, ntp_servers
, timezone
, ipv4_address
, ipv4_netmask
, ipv4_gateway
, and dns_servers
.
How to do it…
Create the kickstart
file in your playbook's template folder (~/playbooks/templates/kickstart/rhel7.ks
) with the following content:
install url --url={{ repo_url }} skipx text reboot lang en_US.UTF-8 keyboard us selinux --enforcing firewall --enabled --ssh rootpw –iscrypted {{ root_password_hash }} authconfig --enableshadow --passalgo=sha512 timezone --utc --ntpservers {{ ntp_servers|join...