This is a Puppet module for configuring networking on hosts. Copyright © 2008-2020 its various authors. ===== LICENSING ===== This Puppet module is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this module. If not, see <http://www.gnu.org/licenses/>. ===== DEPENDENCIES ===== This module depends on these other Puppet modules: - cfgfile Can be found at https://gitlab.liu.se/NSC/puppetmodules/cfgfile.git. ===== OFFICIAL SOURCE ===== The official Git repository for this module is located at https://gitlab.liu.se/NSC/puppetmodules/networking. Clone from https://gitlab.liu.se/NSC/puppetmodules/networking.git.
Thomas Bellman
authored
We here add one class and one definition for managing the contents of /etc/hosts: networking::hostsfile Base class networking::hostsfile::hostentries Add host entries The data structure that networking::hostsfile::hostentries wants, is a hash with hostnames as keys, and another level of hash as values. The value hashes need in turn have a key named "ip", which holds zero, one or more IP addresses for that host. The intermediate hash might seem overly convoluted, but we want to be able to use the same data structure for generating /etc/hosts files and DHCP server configs, where a MAC address is also wanted, and we will next add a function for generating such a structure from plain text files.