# network-formula | |||||
Salt Stack Formula to set up and configure a host's network configuration | |||||
## NOTICE BEFORE YOU USE | |||||
* This formula aims to follow the conventions and recommendations described at [http://docs.saltstack.com/topics/conventions/formulas.html](http://docs.saltstack.com/topics/conventions/formulas.html) | |||||
## TODO | |||||
* Use more of the available options in interfaces.sls of network.managed | |||||
* interfaces: configure broadcast if set | |||||
## Instructions | |||||
1. Add this repository as a [GitFS](http://docs.saltstack.com/topics/tutorials/gitfs.html) backend in your Salt master config. | |||||
2. Configure your Pillar top file (`/srv/pillar/top.sls`), see pillar.example | |||||
3. Include this Formula within another Formula or simply define your needed states within the Salt top file (`/srv/salt/top.sls`). | |||||
## Available states | |||||
### network.hosts | |||||
Sets the static lookup table for hostnames | |||||
### network.interfaces | |||||
Sets the network interfaces configuration | |||||
### network.resolver | |||||
Sets the resolver configuration | |||||
## Additional resources | |||||
None | |||||
## Formula Dependencies | |||||
None | |||||
## Contributions | |||||
Contributions are always welcome. All development guidelines you have to know are | |||||
* write clean code (proper YAML+Jinja syntax, no trailing whitespaces, no empty lines with whitespaces, LF only) | |||||
* set sane default settings | |||||
* test your code | |||||
* update README.md doc | |||||
## Salt Compatibility | |||||
Tested with: | |||||
* 2014.1.0 | |||||
## OS Compatibility | |||||
Tested with: | |||||
* GNU/ Linux Debian Wheezy |
=============== | |||||
network-formula | |||||
=============== | |||||
Salt Stack Formula to set up and configure a host's network configuration | |||||
NOTICE BEFORE YOU USE | |||||
===================== | |||||
* This formula aims to follow the conventions and recommendations described at http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#conventions-formula and http://docs.saltstack.com/en/latest/topics/best_practices.html | |||||
TODO | |||||
==== | |||||
* Use more of the available options in interfaces.sls of network.managed | |||||
* interfaces: configure broadcast if set | |||||
Instructions | |||||
============ | |||||
1. Add this repository as a `GitFS <http://docs.saltstack.com/topics/tutorials/gitfs.html>`_ backend in your Salt master config. | |||||
2. Configure your Pillar top file (``/srv/pillar/top.sls``) and your pillars, see pillar.example.sls | |||||
3. Include this Formula within another Formula or simply define your needed states within the Salt top file (``/srv/salt/top.sls``). | |||||
Available states | |||||
================ | |||||
.. contents:: | |||||
:local: | |||||
``network.hosts`` | |||||
----------------- | |||||
Sets the static lookup table for hostnames | |||||
``network.interfaces`` | |||||
---------------------- | |||||
Sets the network interfaces configuration | |||||
``network.resolver`` | |||||
-------------------- | |||||
Sets the resolver configuration | |||||
Additional resources | |||||
==================== | |||||
None | |||||
Formula Dependencies | |||||
==================== | |||||
None | |||||
Contributions | |||||
============= | |||||
Contributions are always welcome. All development guidelines you have to know are | |||||
* write clean code (proper YAML+Jinja syntax, no trailing whitespaces, no empty lines with whitespaces, LF only) | |||||
* set sane default settings | |||||
* test your code | |||||
* update README.rst doc | |||||
Salt Compatibility | |||||
================== | |||||
Tested with: | |||||
* 2014.1.3 | |||||
OS Compatibility | |||||
================ | |||||
Tested with: | |||||
* GNU/ Linux Debian Wheezy 7.5 | |||||
* CentOS 6.5 |
ip: 127.0.1.1 | ip: 127.0.1.1 | ||||
- name: {{ salt['grains.get']('host') }} | - name: {{ salt['grains.get']('host') }} | ||||
ip: 127.0.1.1 | ip: 127.0.1.1 | ||||
RedHat: | |||||
interfaces: | |||||
values: | |||||
enabled: True | |||||
proto: dhcp | |||||
type: eth | |||||
params_supported: | |||||
- ipaddr | |||||
- gateway | |||||
- netmask | |||||
- bridge | |||||
- ports | |||||
- delay | |||||
- stp | |||||
- maxwait | |||||
- fd | |||||
- pre_up_cmds | |||||
- pre_down_cmds | |||||
- post_up_cmds | |||||
- post_down_cmds | |||||
#TODO - broadcast | |||||
def_entries: [] | |||||
# - name: lo | |||||
# proto: none | |||||
# type: eth | |||||
# netmask: 255.0.0.0 | |||||
# network: 127.0.0.0 | |||||
resolver: | |||||
values: | |||||
path: /etc/resolv.conf | |||||
hosts: | |||||
values: | |||||
path: /etc/hosts | |||||
ensure: present | |||||
def_entries: | |||||
- name: localhost | |||||
ip: 127.0.0.1 | |||||
- name: localhost.localdomain | |||||
ip: 127.0.0.1 | |||||
- name: localhost | |||||
ip: ::1 | |||||
- name: ip6-localhost | |||||
ip: ::1 | |||||
- name: ip6-loopback | |||||
ip: ::1 | |||||
- name: ip6-localnet | |||||
ip: fe00::0 | |||||
- name: ip6-mcastprefix | |||||
ip: ff00::0 | |||||
- name: ip6-allnodes | |||||
ip: ff02::1 | |||||
- name: ip6-allrouters | |||||
ip: ff02::2 | |||||
- name: ip6-allhosts | |||||
ip: ff02::3 | |||||
- name: {{ salt['grains.get']('fqdn') }} | |||||
ip: 127.0.1.1 | |||||
- name: {{ salt['grains.get']('host') }} | |||||
ip: 127.0.1.1 | |||||
{% endload %} | {% endload %} |