- 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
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.
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.
These providers configure the Arista switch in a similar fashion to using the command line interface.
This module requires pluginsync in order to synchronize the types and providers to the device.
- 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',
}
Please see the NetDev Standard Type Library
TBA
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
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