Policy based routing on RHEL

If you configure multiple network cards in your RHEL machine with more than one gateway then you can use “policy based routing” to configure the network traffic in a way where the traffic will leave the same interface where the traffic came from.

This procedure is described in this Red Hat KCS article.

I also created a Puppet module to configure policy based routing on RHEL 6 / 7. Currently this module does not handle Bond or VLAN tagged interfaces. You can find my module here.

Test and fix your Puppet code with Puppet Lint

Puppet Lint is a nice tool to check the syntax of your Puppet code. Common errors can be fixed directly with Puppet Lint. It can also be included to CI tools like Jenkins if you want to check your Puppet code during a Jenkins build job for example.

Find out more about Puppet Lint here.

Test your Puppet custom fact

If you are creating a custom fact and want to test the output of your fact then you need to perform the following command:

$ FACTERLIB=/path/to/your/fact/ facter

Satellite 6 => Configure multiple network cards with static IP’s during host provisioning on VMWare

Satellite 6 offers the possibility to provision a host with multiple network cards, however an issue is faced when using VMWare in conjuction with Satellite 6 and you want to provision multiple network interfaces with static IP addresses.

What happens is that after the provisioning of a virtual machine is complete, multiple network cards are added, but only the primary interface (which is used for PXE / DHCP during installation) is configured correctly.

I created a workaround to get this working. I described this solution in an official Red Hat KCS article which is now verified by Red Hat Engineering and published to the public. You can find this article here.

Satellite 6 and Microsoft DNS integration

If you plan to deploy RHEL guests with Satellite 6 and your DNS server of choice is Microsoft DNS than Satellite 6 is also able to create / delete appropriate DNS entries for newly created hosts automatically via foremen-proxy on Microsoft DNS. This article describes on how to configure both Satellite 6 and Microsoft DNS.

Satellite 6 client bootstrap script

I have created a Python script which automatically registers your existing RHEL clients to a Satellite 6 / Katello 2 server or Capsule. It also configures your Puppet agent, creates a “Host” entry in Satellite 6 / Katello 2 Web-UI and starts an initial Puppet run. All you need to do is to sign the Puppet agent cert request on your Satellite or Capsule server (if autosign is not configured which is default).

You can run the script either interactively (The script searches all needed values on your Satellite and shows the findings as options. Currently you have to copy/paste the values.) or unattended (where you have to pass by ALL needed values like organization, location, hostgroup etc.).

You can find the script on Github: https://github.com/hambuergaer/sat6_client_configuration