Skip to content

VoroOnestic/hostsfile-formula

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 

Repository files navigation

hostsfile

Formula to set up name resolution for all members of a salt cluster in /etc/hosts.

Available states

Uses the Salt Mine function network.ip_addrs to add minion ids and their regarding ips to the local hosts file.

At a minimum, you must enable the network.ip_addrs function in pillar or in /etc/salt/minion:

mine_functions:
  network.ip_addrs: []

The formula works best if the minion id is the fqdn and (if the machines have more than one interface) the desired interface to use for this is configured with the mine function:

mine_functions:
  network.interfaces: []
  network.ip_addrs:
    - eth1
mine_interval: 2

If you are already using network.ip_addrs for something else (perhaps another state that wants information on a different interface than hostsfile should use), you can specify a mine alias in pillar to query instead:

hostsfile:
  alias: hostsfile_interface

mine_functions:
  hostsfile_interface:
    mine_function: network.ip_addrs
    iface: eth0

By default all minions in mine are added to the hosts file, but that can be overridden too:

hostsfile:
  minions: '*-thisdatacenter-something'

And you can add explicit entries for non-mine hosts as well:

hostsfile:
  hosts:
    server1: 10.10.10.10
    server2: 10.10.10.11

Also set and persist the hostname (again - using the minion id). This has so far been most useful on EC2 instances.

Works on RedHat/CentOS 5.X or RedHat/CentOS 6.X and Amazon OS - should also work on Ubuntu/Debian.

About

Use minion IDs to keep /etc/hosts and hostnames consistent for clusters without DNS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SaltStack 100.0%