6.3. Provisioning Hosts with Static IP Addresses
Red Hat Satellite 6 expects all systems to be configured for DHCP, because it reserves a DHCP record for a given MAC address. You can also provision hosts with static IP addresses, using either custom provisioning templates, host parameters, or based on subnet information.
6.3.1. Using Custom Templates to Assign Static IP Addresses
You can create a custom provisioning template that provides static IP support for all provisioned hosts. You can copy the PXE configuration template and associate it with a different operating system, for example "RHEL 7.1 static". This means that when you kickstart a system with this template it receives a static IP. This method is currently required because Satellite 6.0 and 6.1 do not support a choice of dynamic or static IP configuration in the existing "Create New Host" work flow.
This method requires that you edit your PXE template to enable static networking. As described in the following example, edit the PXE template and add &static=yes to the end of each instance of foreman_url('provision').
Procedure 6.5. To Edit a PXE Template:
- Navigate to
and click the name of the host whose template you want to edit. - Click the Templates tab to display the list of available template types.
- Click PXELinux Template type. The template displays in the template editor.for the
- Make the required changes and then click Example 6.1, “Editing the PXE Template to Assign Static IP Addresses” for an example of how to update a PXE template.. See
Example 6.1. Editing the PXE Template to Assign Static IP Addresses
default linux label linux kernel <%= @kernel %> <% if @host.operatingsystem.name == 'Fedora' and @host.operatingsystem.major.to_i > 16 -%> append initrd=<%= @initrd %> ks=<%= foreman_url('provision')%>&static=yes ks.device=bootif network ks.sendmac <% elsif @host.operatingsystem.name != 'Fedora' and @host.operatingsystem.major.to_i >= 7 -%> append initrd=<%= @initrd %> ks=<%= foreman_url('provision')%>&static=yes network ks.sendmac <% else -%> append initrd=<%= @initrd %> ks=<%= foreman_url('provision')%>&static=yes ksdevice=bootif network kssendmac <% end -%> IPAPPEND 2
6.3.2. Using Host Parameters to Assign Static IP Addresses
You can use host parameters to set up static IP addresses on a per-host basis. When you create a new host, navigate to and enter the required parameters on the Parameters tab.
Example 6.2, “Using Host Parameters to Assign Static IP Addresses” demonstrates using an
if
statement in conjunction with host parameters to set a static IP address.
Example 6.2. Using Host Parameters to Assign Static IP Addresses
<% if @host.params['my_param_deploy_static'] == "true" -%> network --bootproto <%= "static --ip=#{@host.ip} --netmask=#{@host.subnet.mask} --gateway=#{@host.subnet.gateway} --nameserver=#{[@host.subnet.dns_primary,@host.subnet.dns_secondary].reject{|n| n.blank?}.join(',')}" %> --hostname <%= @host %> <% else -%> network --bootproto 'dhcp' --hostname <%= @host %> <% end -%>
See the Red Hat Satellite 6 User Guide for more information.
6.3.3. Using Subnets to Set Static IP Addresses
You can configure Red Hat Satellite to provision hosts with a static IP address based on the host's subnet. When you set up subnets, you can specify either DHCP or static boot modes. The Red Hat Enterprise Linux installation program (Anaconda) uses this value to determine whether to assign a static IP address or an address from the DHCP pool. Specify "Static" to ensure that all hosts provisioned in this subnet receive static IP addresses.
Procedure 6.6. To Specify Static Boot Mode by Default:
- Navigate to
and click the name of the subnet that you want to configure. To create a new subnet, follow the steps in Procedure 2.4, “To Select the Default Subnet:”. - On the Subnet tab, select
Static
from the Boot mode drop-down list, and then click .
Whenever you create a new host and assign it to this subnet, it uses a static IP address by default.