Manages network configuration
Manages:
- Interfaces configuration
- routes configuration
- A list of files, packages, services, or operations that the module will alter, impact, or execute on the system it's installed on.
- This is a great place to stick any warnings.
- Can be in list or paragraph form.
This module requires pluginsync enabled and eyp/nsswitch module installed
network::interface { 'eth0':
dhcp => true,
preup => 'sleep 2',
}
network::interface { 'eth1':
ip => '192.168.56.18',
netmask => '255.255.255.0',
}
network::route { '1.1.1.0/24':
eth=>'eth0',
gw=>'10.0.2.2',
}
network::route { '1.2.3.0/24':
eth=>'eth0',
gw=>'10.0.2.2',
}
For Ubuntu 18.04 it uses eyp-netplan to configure the network, for example:
network::interface { 'enp0s9':
ip => '77.77.77.77',
netmask => '255.255.255.252',
}
Will be translated to:
---
# puppet managed file
network:
version: 2
ethernets:
enp0s9:
dhcp4: false
addresses: [77.77.77.77/30]
Put the classes, types, and resources for customizing, configuring, and doing the fancy stuff with your module here.
Here, list the classes, types, providers, facts, etc contained in your module. This section should include all of the under-the-hood workings of your module so people know what the module is touching on their system but don't need to mess with things. (We are working on automating this section!)
Tested on CentOS 6 and Ubuntu 14.04
We are pushing to have acceptance testing in place, so any new feature should have some test to check both presence and absence of any feature
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request