Skip to content

simp/pupmod-simp-network

Repository files navigation

License CII Best Practices Puppet Forge Puppet Forge Downloads Build Status

Table of Contents

Overview

This module assists users in managing network interfaces on their system.

See REFERENCE.md for API documentation.

This is a SIMP module

This module is a component of the System Integrity Management Platform

If you find any issues, please submit them via JIRA.

Please read our [Contribution Guide] (https://simp.readthedocs.io/en/stable/contributors_guide/index.html).

Module Description

This module targets the configuration of network interfaces on supported operating systems.

Setup

What simp-network affects

This module affects the creation and management of various types of network devices on RHEL-compatible operating systems.

Usage

Basic Usage

Set global networking parameters

include network::global

Manage a network interface

network::eth { 'eth0':
  macaddr => $facts['macaddress_eth0']
}

Set up a bridge bound to an interface

network::eth { 'eth0':
  bridge  => 'br0',
  macaddr => $facts['macaddress_eth0']
}

network::eth { 'br0':
  net_type  => 'Bridge',
  onboot    => true,
  macaddr   => $facts['macaddress_eth0'],
  ipaddr    => pick($facts['ipaddress_eth0'], $facts['ipaddress_br0']),
  gateway   => $facts['defaultgateway'],
  broadcase => $facts['netmask_eth0'],
  require   => Network::Eth['eth0']
}

Limitations

This module is designed to work only with RHEL-compatible operating systems.

Development

Please read our [Contribution Guide] (https://simp.readthedocs.io/en/stable/contributors_guide/index.html).

Unit tests

Unit tests, written in rspec-puppet can be run by calling:

bundle exec rake spec

Acceptance tests

To run the system tests, you need Vagrant installed. Then, run:

bundle exec rake beaker:suites

Some environment variables may be useful:

BEAKER_debug=true
BEAKER_provision=no
BEAKER_destroy=no
BEAKER_use_fixtures_dir_for_modules=yes
  • BEAKER_debug: show the commands being run on the STU and their output.
  • BEAKER_destroy=no: prevent the machine destruction after the tests finish so you can inspect the state.
  • BEAKER_provision=no: prevent the machine from being recreated. This can save a lot of time while you're writing the tests.
  • BEAKER_use_fixtures_dir_for_modules=yes: cause all module dependencies to be loaded from the spec/fixtures/modules directory, based on the contents of .fixtures.yml. The contents of this directory are usually populated by bundle exec rake spec_prep. This can be used to run acceptance tests to run on isolated networks.