All Projects → voxpupuli → puppet-network

voxpupuli / puppet-network

Licence: Apache-2.0 license
Types and providers to manage network interfaces

Programming Languages

ruby
36898 projects - #4 most used programming language
Puppet
460 projects

Projects that are alternatives of or similar to puppet-network

puppet-elasticsearch
Elasticsearch Puppet module
Stars: ✭ 406 (+488.41%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, debian-puppet-module, redhat-puppet-module
puppet-hiera
Hiera hierarchy module for templating `hiera.yaml`
Stars: ✭ 32 (-53.62%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, debian-puppet-module, redhat-puppet-module
puppet-prometheus
Puppet module for prometheus
Stars: ✭ 56 (-18.84%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, debian-puppet-module, redhat-puppet-module
puppet-logstash
Puppet module to manage Logstash
Stars: ✭ 193 (+179.71%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, debian-puppet-module, redhat-puppet-module
puppet-openldap
Manage OpenLDAP with Puppet
Stars: ✭ 35 (-49.28%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, debian-puppet-module, redhat-puppet-module
puppet-kibana
Kibana Puppet module by Elastic.
Stars: ✭ 17 (-75.36%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, debian-puppet-module, redhat-puppet-module
puppet-kmod
manage kernel module with puppet
Stars: ✭ 18 (-73.91%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, debian-puppet-module, redhat-puppet-module
puppet-postfix
Puppet postfix module
Stars: ✭ 72 (+4.35%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, debian-puppet-module, redhat-puppet-module
puppet-mrepo
Puppet module for creating and managing RPM based repository mirrors.
Stars: ✭ 17 (-75.36%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, redhat-puppet-module
puppet-stash
A puppet module to install atlassian stash
Stars: ✭ 19 (-72.46%)
Mutual labels:  puppet, linux-puppet-module, centos-puppet-module, redhat-puppet-module
puppet-puppetserver
Puppet module for puppetserver
Stars: ✭ 21 (-69.57%)
Mutual labels:  puppet, linux-puppet-module, redhat-puppet-module
puppet-vmwaretools
Puppet module to manage VMware Operating System Specific Packages for VMware tools installation.
Stars: ✭ 34 (-50.72%)
Mutual labels:  puppet, linux-puppet-module
puppet-keepalived
Puppet Module to manage Keepalived
Stars: ✭ 47 (-31.88%)
Mutual labels:  puppet, linux-puppet-module
puppet-kafka
The kafka module for managing the installation and configuration of Apache Kafka
Stars: ✭ 30 (-56.52%)
Mutual labels:  puppet, linux-puppet-module
puppet-healthcheck
Puppet resources to evaluate the health and status of things.
Stars: ✭ 22 (-68.12%)
Mutual labels:  puppet, linux-puppet-module
puppet-posix acl
A puppet module for POSIX ACLs
Stars: ✭ 15 (-78.26%)
Mutual labels:  puppet, linux-puppet-module
puppet-jira
Atlassian JIRA Puppet Module
Stars: ✭ 62 (-10.14%)
Mutual labels:  puppet, linux-puppet-module
puppet-snmp
Puppet module to manage Net-SNMP.
Stars: ✭ 33 (-52.17%)
Mutual labels:  puppet, linux-puppet-module
puppet-rundeck
Module for managing the installatation and configuration of the rundeck orchestration tool
Stars: ✭ 37 (-46.38%)
Mutual labels:  puppet, linux-puppet-module
puppet-dhcp
Puppet module for deploying dhcp
Stars: ✭ 41 (-40.58%)
Mutual labels:  puppet, linux-puppet-module

Network module for Puppet

Build Status Release Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores puppetmodule.info docs Apache-2 License

Overview

Manage non-volatile network and route configuration.

Usage

Interface configuration

network_config { 'eth0':
  ensure  => 'present',
  family  => 'inet',
  method  => 'dhcp',
  onboot  => 'true',
  hotplug => 'true',
  options => {'pre-up' => 'sleep 2'},
}

network_config { 'lo':
  ensure => 'present',
  family => 'inet',
  method => 'loopback',
  onboot => 'true',
}

network_config { 'eth1':
  ensure    => 'present',
  family    => 'inet',
  ipaddress => '169.254.0.1',
  method    => 'static',
  netmask   => '255.255.0.0',
  onboot    => 'true',
}

Route configuration

Route resources should be named in CIDR notation. If not, they will not be properly mapped to existing routes and puppet will apply them on every run. Default routes should be named 'default'.

For Debian:

network_route { '172.17.67.0/24':
  ensure    => 'present',
  gateway   => '172.18.6.2',
  interface => 'vlan200',
  netmask   => '255.255.255.0',
  options   => 'table 200',
}

For RedHat Enterprise:

network_route { '172.17.67.0/24':
  ensure    => 'present',
  gateway   => '10.0.2.2',
  interface => 'eth0',
  netmask   => '255.255.255.0',
  network   => '172.17.67.0',
  options   => 'table 200',
}
network_route { 'default':
  ensure    => 'present',
  gateway   => '10.0.2.2',
  interface => 'eth0',
  netmask   => '0.0.0.0',
  network   => 'default'
}

Create resources on the fly with the puppet resource command:

root@debian-6:~# puppet resource network_config eth1 ensure=present family=inet method=static ipaddress=169.254.0.1 netmask=255.255.0.0
notice: /Network_config[eth1]/ensure: created
network_config { 'eth1':
  ensure    => 'present',
  family    => 'inet',
  ipaddress => '169.254.0.1',
  method    => 'static',
  netmask   => '255.255.0.0',
  onboot    => 'true',
}

# puppet resource network_route 23.23.42.0 ensure=present netmask=255.255.255.0 interface=eth0 gateway=192.168.1.1
notice: /Network_route[23.23.42.0]/ensure: created
network_route { '23.23.42.0':
  ensure    => 'present',
  gateway   => '192.168.1.1',
  interface => 'eth0',
  netmask   => '255.255.255.0',
  options   => 'table 200',
}

Dependencies

This module requires the FileMapper mixin, available at https://github.com/voxpupuli/puppet-filemapper. The network_config type requires the Boolean mixin, available at https://github.com/adrienthebo/puppet-boolean.

The debian routes provider requires the package ifupdown-extra. ifupdown-extra can be installed automatically using the network class. To use it, include it like so in your manifests:

include '::network'

This class also provides fine-grained control over which packages to install and how to install them. The documentation for the parameters exposed can be found here.

Note: you may also need to update your master's plugins (run on your puppet master):

puppet agent -t --noop

Or on puppet 3.8.7/4.x:

puppet plugin download

Contact

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].