Version information
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
Add this module to your Puppetfile:
mod 'aristanetworks-netdev_stdlib_eos', '1.2.0'
Learn more about managing modules with a PuppetfileDocumentation
Arista EOS Puppet Providers
Table of Contents
- Overview
- Module Description
- Setup
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- 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
- Install the module on the Puppet master.
- Install the rbeapi gem on the switch See the Ruby Client for eAPI
- Run the puppet agent on the switch to synchronize the types and providers.
- 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
Change Log
1.2 (2017-06-03)
Fixed bugs:
- Syntax Error in tacacs_server provider #31
- (maint) Limit import of rbeapi to systems that support it #36 (shermdog)
- Backout rubocop suggestion which causes failures #32 (jerearista)
Merged pull requests:
- (NETDEV-29) Enhance netdev NTP providers #37 (shermdog)
- Remove deprecated 'pe' from requirements #35 (jerearista)
- Release 1.1.2 #34 (jerearista)
- Hotfix 1.1.2 #33 (jerearista)
v1.1.1 (2016-01-06)
Fixed bugs:
- Metadata update #29 (jerearista)
Merged pull requests:
- Release 1.1.1: Remove unnecessary dependency and correct issues URL #30 (jerearista)
v1.1.0 (2016-01-06)
Implemented enhancements:
- Confine providers to only run on AristaEOS and when rbeapi is present #26
- Update metadata to include requirements section #25
- Release 1.1.0 to Master #28 (jerearista)
Fixed bugs:
- Could not autoload puppet/provider/radius/eos when running rspec tests #16
Closed issues:
- cannot load such file -- puppet_x/net_dev/eos_api #17
Merged pull requests:
- Release 1.1.0 #27 (jerearista)
- Release 1.0 #24 (privateip)
v1.0.0 (2015-06-05)
Closed issues:
- Bad doc links to rbeapi #20
Merged pull requests:
- Release 1.0 #23 (privateip)
- Clean up spec tests and pull in JJM 14149 #17 #22 (jerearista)
- Fixup URLs to rbeapi. Closes #20 #21 (jerearista)
- fix path issues related to JJM 14149 #19 (greenpau)
v0.2.0 (2015-02-25)
Merged pull requests:
- (ARISTA-30) Add tacacs_server_group provider #15 (jeffmccune)
- (ARISTA-32) Add tacacs_server provider #14 (jeffmccune)
- (ARISTA-31) Add provider for tacacs_global type #13 (jeffmccune)
- (ARISTA-29) Add radius_server_group provider #12 (jeffmccune)
- (ARISTA-33) Add radius_server provider #11 (jeffmccune)
- (ARISTA-27) added ntp_config provider #10 (privateip)
- (ARISTA-34) Add radius_global provider #9 (jeffmccune)
- (ARISTA-28) Remove PuppetX::NetDev::EosApi namespace #8 (jeffmccune)
- (ARISTA-22) Add snmp_user provider #7 (jeffmccune)
- (ARISTA-24) Implement snmp_notification_receiver provider #6 (jeffmccune)
- (ARISTA-23) Implement snmp_notification provider #5 (jeffmccune)
- (ARISTA-21) Use snmp_community flush for management #4 (jeffmccune)
- (ARISTA-20) Add provider for network_snmp type #3 (jeffmccune)
- (ARISTA-3) Add EOS port_channel provider #2 (jeffmccune)
- Add EOS provider for network_interface and network_vlan #1 (jeffmccune)
* This Change Log was automatically generated by github_changelog_generator
Dependencies
- puppetlabs-netdev_stdlib (>= 0.12.0)