Forge Home

netdev_stdlib_eos

NetDev Providers for Arista EOS

37,309 downloads

25,333 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 1.2.0 (latest)
  • 1.1.2
  • 1.1.1
  • 1.1.0
  • 1.0.0
  • 0.2.0
  • 0.1.1
  • 0.1.0
released Jun 3rd 2017
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.0.0 < 6.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'aristanetworks-netdev_stdlib_eos', '1.2.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add aristanetworks-netdev_stdlib_eos
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install aristanetworks-netdev_stdlib_eos --version 1.2.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

aristanetworks/netdev_stdlib_eos — version 1.2.0 Jun 3rd 2017

Arista EOS Puppet Providers

Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

This module adds Arista EOS support for the NetDev Standard Type Library. This module makes it possible to configure switch settings and resources using Puppet running natively on an Arista EOS switch.

Module Description

If you have Arista EOS switches in your environment this module will enable you to configure those switches using Puppet. The EOS providers implement all of the types listed in the NetDev Standard Type Library. This module extends Puppet to configure networking resources such as VLAN's, physical interfaces, link aggregates, SNMP settings, among other things. The module requires an Arista EOS switching running software version 4.13 or later with the Puppet Enterprise extension installed on the device. The Puppet agent running on the switch will use pluginsync to download the types and providers from the Puppet master.

Setup

What NetDev EOS affects

These providers configure the Arista switch in a similar fashion to using the command line interface.

Setup Requirements

This module requires pluginsync in order to synchronize the types and providers to the device.

Beginning with netdev_stdlib_eos

  1. Install the module on the Puppet master.
  2. Install the rbeapi gem on the switch See the Ruby Client for eAPI
  3. Run the puppet agent on the switch to synchronize the types and providers.
  4. Verify the providers by running puppet resource network_interface using the bash command on the EOS device.
veos# bash puppet resource network_interface
network_interface { 'Ethernet1':
  description => 'Engineering',
  duplex      => 'full',
  enable      => 'true',
  mtu         => '9214',
  speed       => '10g',
}
network_interface { 'Ethernet2':
  description => 'Sales',
  duplex      => 'full',
  enable      => 'false',
  mtu         => '9214',
  speed       => '10g',
}
network_interface { 'Ethernet3':
  duplex => 'full',
  enable => 'true',
  mtu    => '9214',
  speed  => '10g',
}
network_interface { 'Ethernet4':
  duplex => 'full',
  enable => 'true',
  mtu    => '9214',
  speed  => '10g',
}
network_interface { 'Management1':
  duplex => 'full',
  enable => 'true',
  mtu    => '1500',
  speed  => '1g',
}

Usage

Please see the NetDev Standard Type Library

Reference

TBA

Limitations

This module is supported on

  • Puppet 3.6 or later installed as an Arista EOS extension
  • Arista EOS 4.13 or later
  • netdev-eos 1.2.0 requires rbeapi 1.2 for complete functionality

Development

This module requires two dependencies that should be checked out as Git working copies in the context of onging development. These projects are:

The dependencies are managed via the bundler Gemfile andthe environment needs to be configured to use local Git copies:

cd /workspace
git clone https://github.com/puppetlabs/netdev_stdlib
export GEM_NETDEV_STDLIB_VERSION=file:///workspace/netdev_stdlib
git clone https://github.com/arista-eosplus/rbeapi
export GEM_RBEAPI_VERSION=file:///workspace/rbeapi

Then install all of the dependencies:

git clone https://github.com/puppetlabs/netdev_stdlib_eos
cd netdev_stdlib_eos
bundle install --path .bundle/gems/

Finally, run the spec tests to make sure everything is working properly together:

bundle exec rspec spec