Skip to content

Commit

Permalink
Merge branch 'release-1.5.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
jerearista committed Dec 9, 2016
2 parents 6ad92b4 + 68b0f56 commit 61f9dad
Show file tree
Hide file tree
Showing 127 changed files with 6,776 additions and 172 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,9 @@ Gemfile.lock
results
spec/fixtures/manifests/*
spec/fixtures/modules/*

# TestKitchen
.kitchen

# Release Note generator cache
github*.json
20 changes: 20 additions & 0 deletions .kitchen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
driver:
name: vagrant
vm_hostname: false
provision: true
vagrantfiles:
- vagrantfiles/veos.rb

provisioner:
name: shell

verifier:
ruby_bindir: /opt/puppetlabs/puppet/bin

platforms:
- name: vEOS-4.17.1F
- name: vEOS-4.16.7M

suites:
- name: default
14 changes: 14 additions & 0 deletions .pmtignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Gemfile
Gemfile.lock
Rakefile
bootstrap.sh
coverage/
data/
doc/
github*.json
guide/
pkg/
spec/
test/
tests/
vagrantfiles/
12 changes: 12 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ Metrics/MethodLength:
Style/AccessorMethodName:
Enabled: False

Style/HashSyntax:
Enabled: false

Style/SignalException:
Enabled: False

Style/GuardClause:
Enabled: False

Metrics/PerceivedComplexity:
Max: 20

Expand All @@ -19,3 +28,6 @@ Metrics/AbcSize:

Metrics/ClassLength:
Max: 130

Metrics/BlockLength:
Enabled: False
171 changes: 171 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
# Change Log

## [1.5.0](https://github.com/arista-eosplus/puppet-eos/tree/1.5.0) (2016-12-09)
[Full Changelog](https://github.com/arista-eosplus/puppet-eos/compare/v1.4.0...1.5.0)

**Implemented enhancements:**

- Cleanup style and ignore unnecessary files in release pkg [\#114](https://github.com/arista-eosplus/puppet-eos/pull/114) ([jerearista](https://github.com/jerearista))
- Add CI build badges to README.md [\#73](https://github.com/arista-eosplus/puppet-eos/pull/73) ([jerearista](https://github.com/jerearista))

**Fixed bugs:**

- Limit rubocop version when running ruby 1.9 [\#81](https://github.com/arista-eosplus/puppet-eos/pull/81) ([jerearista](https://github.com/jerearista))
- Update docs WRT puppet 2015.x agents [\#76](https://github.com/arista-eosplus/puppet-eos/pull/76) ([jerearista](https://github.com/jerearista))

**Closed issues:**

- Gems not Ruby 1.9.3 compatible [\#95](https://github.com/arista-eosplus/puppet-eos/issues/95)
- Wrong datatype ine trunk\_groups [\#79](https://github.com/arista-eosplus/puppet-eos/issues/79)

**Merged pull requests:**

- Style updates [\#113](https://github.com/arista-eosplus/puppet-eos/pull/113) ([jerearista](https://github.com/jerearista))
- Switchconfig type & provider [\#112](https://github.com/arista-eosplus/puppet-eos/pull/112) ([jerearista](https://github.com/jerearista))
- add 25gfull and 50gfull for the allowed ethernet speeds [\#110](https://github.com/arista-eosplus/puppet-eos/pull/110) ([mmailand](https://github.com/mmailand))
- add support for subinterfaces/loadinterval [\#109](https://github.com/arista-eosplus/puppet-eos/pull/109) ([mmailand](https://github.com/mmailand))
- Added eos\_alias type [\#108](https://github.com/arista-eosplus/puppet-eos/pull/108) ([mmailand](https://github.com/mmailand))
- added support for setting the crypto in managementdefaults [\#107](https://github.com/arista-eosplus/puppet-eos/pull/107) ([mmailand](https://github.com/mmailand))
- added support for autostate [\#106](https://github.com/arista-eosplus/puppet-eos/pull/106) ([mmailand](https://github.com/mmailand))
- Add TestKitchen framework [\#105](https://github.com/arista-eosplus/puppet-eos/pull/105) ([jerearista](https://github.com/jerearista))
- modify munge not to rely on netaddr gem [\#102](https://github.com/arista-eosplus/puppet-eos/pull/102) ([mrvinti](https://github.com/mrvinti))
- fix require statements to workaround autoload issues with puppet [\#100](https://github.com/arista-eosplus/puppet-eos/pull/100) ([rknaus](https://github.com/rknaus))
- add prefixlist type and provider + spec tests [\#99](https://github.com/arista-eosplus/puppet-eos/pull/99) ([mrvinti](https://github.com/mrvinti))
- add logging host type and provider [\#98](https://github.com/arista-eosplus/puppet-eos/pull/98) ([rknaus](https://github.com/rknaus))
- add ospf types and providers [\#97](https://github.com/arista-eosplus/puppet-eos/pull/97) ([rknaus](https://github.com/rknaus))
- Limit version of json and listen gems when Ruby \< 2.0 [\#96](https://github.com/arista-eosplus/puppet-eos/pull/96) ([jerearista](https://github.com/jerearista))
- add mst instance type and provider [\#94](https://github.com/arista-eosplus/puppet-eos/pull/94) ([rknaus](https://github.com/rknaus))
- add switchport trunk allowed vlan list capability [\#92](https://github.com/arista-eosplus/puppet-eos/pull/92) ([rknaus](https://github.com/rknaus))
- add ethernet speed and lacp port priority support [\#91](https://github.com/arista-eosplus/puppet-eos/pull/91) ([rknaus](https://github.com/rknaus))
- Fix password change issue for md5 and sha512 passwords [\#87](https://github.com/arista-eosplus/puppet-eos/pull/87) ([mmailand](https://github.com/mmailand))
- portchannel\_convergence needs two puppet runs [\#85](https://github.com/arista-eosplus/puppet-eos/pull/85) ([mmailand](https://github.com/mmailand))
- implemented trunk group support for the eos\_switchport provider [\#83](https://github.com/arista-eosplus/puppet-eos/pull/83) ([mmailand](https://github.com/mmailand))
- Fix issue with autoload of helper [\#82](https://github.com/arista-eosplus/puppet-eos/pull/82) ([rknaus](https://github.com/rknaus))
- Back out change from PR 78 - use set\_trunk\_groups. [\#80](https://github.com/arista-eosplus/puppet-eos/pull/80) ([devrobo](https://github.com/devrobo))
- Fixed Typo in the vlan provider in the trunk\_groups function. [\#78](https://github.com/arista-eosplus/puppet-eos/pull/78) ([mmailand](https://github.com/mmailand))
- Merge Release 1.4.0 back to develop [\#72](https://github.com/arista-eosplus/puppet-eos/pull/72) ([jerearista](https://github.com/jerearista))

## [v1.4.0](https://github.com/arista-eosplus/puppet-eos/tree/v1.4.0) (2016-01-13)
[Full Changelog](https://github.com/arista-eosplus/puppet-eos/compare/v1.3.0...v1.4.0)

**Implemented enhancements:**

- Update metadata to include requirements section [\#66](https://github.com/arista-eosplus/puppet-eos/issues/66)
- eos\_stp\_interface provider unit test is incomplete. [\#51](https://github.com/arista-eosplus/puppet-eos/issues/51)
- Add requirements section to metadata [\#67](https://github.com/arista-eosplus/puppet-eos/pull/67) ([jerearista](https://github.com/jerearista))

**Fixed bugs:**

- eos\_portchannel members not idempotent when interface order is not the same [\#46](https://github.com/arista-eosplus/puppet-eos/issues/46)
- eos\_vlan provider does not properly set trunk\_groups [\#38](https://github.com/arista-eosplus/puppet-eos/issues/38)
- Ensure order of array does not affect idempotency [\#70](https://github.com/arista-eosplus/puppet-eos/pull/70) ([websitescenes](https://github.com/websitescenes))
- Fixed trunk groups call in provider. [\#68](https://github.com/arista-eosplus/puppet-eos/pull/68) ([devrobo](https://github.com/devrobo))

**Closed issues:**

- Providers only actually work in tests [\#60](https://github.com/arista-eosplus/puppet-eos/issues/60)
- All providers should have a description [\#55](https://github.com/arista-eosplus/puppet-eos/issues/55)
- Cleanup documentation [\#19](https://github.com/arista-eosplus/puppet-eos/issues/19)

**Merged pull requests:**

- Release 1.4.0 [\#71](https://github.com/arista-eosplus/puppet-eos/pull/71) ([jerearista](https://github.com/jerearista))
- Add test cases for provider methods. [\#69](https://github.com/arista-eosplus/puppet-eos/pull/69) ([devrobo](https://github.com/devrobo))
- Add / enhance descriptions with examples [\#64](https://github.com/arista-eosplus/puppet-eos/pull/64) ([jerearista](https://github.com/jerearista))

## [v1.3.0](https://github.com/arista-eosplus/puppet-eos/tree/v1.3.0) (2015-11-21)
[Full Changelog](https://github.com/arista-eosplus/puppet-eos/compare/v1.2.0...v1.3.0)

**Implemented enhancements:**

- Confine types to only run on AristaEOS [\#36](https://github.com/arista-eosplus/puppet-eos/issues/36)
- Confine providers to only run on AristaEOS and when rbeapi \>= 0.3.0 is present [\#48](https://github.com/arista-eosplus/puppet-eos/pull/48) ([jerearista](https://github.com/jerearista))
- Feature bgp update [\#41](https://github.com/arista-eosplus/puppet-eos/pull/41) ([websitescenes](https://github.com/websitescenes))

**Merged pull requests:**

- Merge develop with master for Release 1.3.0 [\#63](https://github.com/arista-eosplus/puppet-eos/pull/63) ([jerearista](https://github.com/jerearista))
- Release 1.3.0 [\#62](https://github.com/arista-eosplus/puppet-eos/pull/62) ([jerearista](https://github.com/jerearista))
- Confinement update [\#61](https://github.com/arista-eosplus/puppet-eos/pull/61) ([jerearista](https://github.com/jerearista))
- Adjustments for idempotency in staticroute [\#59](https://github.com/arista-eosplus/puppet-eos/pull/59) ([websitescenes](https://github.com/websitescenes))
- Feature system update [\#58](https://github.com/arista-eosplus/puppet-eos/pull/58) ([websitescenes](https://github.com/websitescenes))
- Feature confine rbeapi [\#57](https://github.com/arista-eosplus/puppet-eos/pull/57) ([jerearista](https://github.com/jerearista))
- Netaddr inconsistencies. [\#56](https://github.com/arista-eosplus/puppet-eos/pull/56) ([websitescenes](https://github.com/websitescenes))
- Created eos\_vrrp type [\#53](https://github.com/arista-eosplus/puppet-eos/pull/53) ([devrobo](https://github.com/devrobo))
- Adding routemap functionality [\#52](https://github.com/arista-eosplus/puppet-eos/pull/52) ([websitescenes](https://github.com/websitescenes))
- Add eos\_config resource. [\#50](https://github.com/arista-eosplus/puppet-eos/pull/50) ([devrobo](https://github.com/devrobo))
- Addressed Rubocop issues [\#49](https://github.com/arista-eosplus/puppet-eos/pull/49) ([devrobo](https://github.com/devrobo))
- eos varp and varp interface functionality. [\#47](https://github.com/arista-eosplus/puppet-eos/pull/47) ([websitescenes](https://github.com/websitescenes))
- Fixed version typo from 4.15.5 --\> 4.14.5 [\#45](https://github.com/arista-eosplus/puppet-eos/pull/45) ([jerearista](https://github.com/jerearista))
- Fixes [\#44](https://github.com/arista-eosplus/puppet-eos/pull/44) ([devrobo](https://github.com/devrobo))
- Remove unneeded information from bgp flush [\#43](https://github.com/arista-eosplus/puppet-eos/pull/43) ([websitescenes](https://github.com/websitescenes))
- Adding feature eos user type and provider. [\#42](https://github.com/arista-eosplus/puppet-eos/pull/42) ([websitescenes](https://github.com/websitescenes))
- Convert bgp flush [\#40](https://github.com/arista-eosplus/puppet-eos/pull/40) ([devrobo](https://github.com/devrobo))
- Add 4.15 to the list of supported versions [\#39](https://github.com/arista-eosplus/puppet-eos/pull/39) ([jerearista](https://github.com/jerearista))

## [v1.2.0](https://github.com/arista-eosplus/puppet-eos/tree/v1.2.0) (2015-08-26)
[Full Changelog](https://github.com/arista-eosplus/puppet-eos/compare/v1.1.0...v1.2.0)

**Implemented enhancements:**

- Release 1.2.0 [\#34](https://github.com/arista-eosplus/puppet-eos/pull/34) ([jerearista](https://github.com/jerearista))
- Pass in boolean value for enable option. [\#33](https://github.com/arista-eosplus/puppet-eos/pull/33) ([devrobo](https://github.com/devrobo))
- BGP type and provider bug fix, enhancement, and updated tests [\#32](https://github.com/arista-eosplus/puppet-eos/pull/32) ([devrobo](https://github.com/devrobo))
- Feature eos\_staticroute [\#31](https://github.com/arista-eosplus/puppet-eos/pull/31) ([jerearista](https://github.com/jerearista))
- Rubocop cleanup. [\#30](https://github.com/arista-eosplus/puppet-eos/pull/30) ([devrobo](https://github.com/devrobo))
- Add unit test cases for yes/no and other boolean values. [\#28](https://github.com/arista-eosplus/puppet-eos/pull/28) ([devrobo](https://github.com/devrobo))
- Added support for BGP types and providers along with unit tests. [\#25](https://github.com/arista-eosplus/puppet-eos/pull/25) ([devrobo](https://github.com/devrobo))

**Fixed bugs:**

- mock not intercepting acl.getall call [\#14](https://github.com/arista-eosplus/puppet-eos/issues/14)
- BGP type and provider bug fix, enhancement, and updated tests [\#32](https://github.com/arista-eosplus/puppet-eos/pull/32) ([devrobo](https://github.com/devrobo))

**Closed issues:**

- eos\_bgp\_neighbor not configuring [\#27](https://github.com/arista-eosplus/puppet-eos/issues/27)
- eos\_interface not controlling shutdown/enable status properly [\#26](https://github.com/arista-eosplus/puppet-eos/issues/26)

**Merged pull requests:**

- Release 1.2.0 [\#37](https://github.com/arista-eosplus/puppet-eos/pull/37) ([jerearista](https://github.com/jerearista))
- Verify results from get/getall call is not nil. [\#35](https://github.com/arista-eosplus/puppet-eos/pull/35) ([devrobo](https://github.com/devrobo))
- Include release notes for the 1.1.0 release [\#24](https://github.com/arista-eosplus/puppet-eos/pull/24) ([jerearista](https://github.com/jerearista))

## [v1.1.0](https://github.com/arista-eosplus/puppet-eos/tree/v1.1.0) (2015-07-07)
[Full Changelog](https://github.com/arista-eosplus/puppet-eos/compare/v1.0.0...v1.1.0)

**Implemented enhancements:**

- Add tag metadata to enhance search-ability on Forge [\#11](https://github.com/arista-eosplus/puppet-eos/issues/11)
- Update metadata tags and operatingsystem\_support [\#12](https://github.com/arista-eosplus/puppet-eos/pull/12) ([jerearista](https://github.com/jerearista))

**Merged pull requests:**

- Include release notes for the 1.1.0 release [\#23](https://github.com/arista-eosplus/puppet-eos/pull/23) ([jerearista](https://github.com/jerearista))
- Release 1.1.0 [\#22](https://github.com/arista-eosplus/puppet-eos/pull/22) ([jerearista](https://github.com/jerearista))
- Prune unready types before release [\#21](https://github.com/arista-eosplus/puppet-eos/pull/21) ([jerearista](https://github.com/jerearista))
- Merge 1.1.0 updates to develop [\#20](https://github.com/arista-eosplus/puppet-eos/pull/20) ([jerearista](https://github.com/jerearista))
- Ci mods [\#18](https://github.com/arista-eosplus/puppet-eos/pull/18) ([devrobo](https://github.com/devrobo))
- Added eos\_command type, provider, and type unit test. [\#16](https://github.com/arista-eosplus/puppet-eos/pull/16) ([devrobo](https://github.com/devrobo))
- Rubocop cleanup [\#13](https://github.com/arista-eosplus/puppet-eos/pull/13) ([devrobo](https://github.com/devrobo))
- Added support for eos\_stp\_interface type and provider along with unit… [\#10](https://github.com/arista-eosplus/puppet-eos/pull/10) ([devrobo](https://github.com/devrobo))
- Cleanup doc-related warnings and URLs [\#9](https://github.com/arista-eosplus/puppet-eos/pull/9) ([jerearista](https://github.com/jerearista))
- Fixup release 1.0.0 merges [\#8](https://github.com/arista-eosplus/puppet-eos/pull/8) ([jerearista](https://github.com/jerearista))

## [v1.0.0](https://github.com/arista-eosplus/puppet-eos/tree/v1.0.0) (2015-05-06)
**Closed issues:**

- warning: already initialized constant IPADDR\_REGEXP in mlag and ipinterface types [\#2](https://github.com/arista-eosplus/puppet-eos/issues/2)

**Merged pull requests:**

- Update guide/conf.py to get version from new metadata.json file [\#6](https://github.com/arista-eosplus/puppet-eos/pull/6) ([jerearista](https://github.com/jerearista))
- Docs [\#5](https://github.com/arista-eosplus/puppet-eos/pull/5) ([jerearista](https://github.com/jerearista))
- Release 1.0.0 [\#4](https://github.com/arista-eosplus/puppet-eos/pull/4) ([devrobo](https://github.com/devrobo))
- Release prep [\#3](https://github.com/arista-eosplus/puppet-eos/pull/3) ([jerearista](https://github.com/jerearista))
- adds type and provider support for vxlan vtep flood addresses [\#1](https://github.com/arista-eosplus/puppet-eos/pull/1) ([devrobo](https://github.com/devrobo))



\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
17 changes: 17 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ group :development, :test do
gem 'metadata-json-lint', require: false
gem 'ci_reporter'
gem 'ci_reporter_rspec'
gem 'test-kitchen'
gem 'kitchen-vagrant'
end

ENV['GEM_PUPPET_VERSION'] ||= ENV['PUPPET_GEM_VERSION']
Expand All @@ -55,4 +57,19 @@ if rbeapiversion
else
gem 'rbeapi', require: false
end

# Ensure this remains usable with Ruby 1.9
if RUBY_VERSION.to_f < 2.0
gem 'json', '< 2.0'
group :development, :test do
gem 'rubocop', '>=0.35.1', '< 0.38'
gem 'listen', '< 3.1.0'
end
else
gem 'json'
group :development, :test do
gem 'rubocop', '>=0.35.1'
end
end

# vim:ft=ruby
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@
10. [Release Notes](#release-notes)


## Build status

Style/Lint/build/docs: [![Start Build Status](https://revproxy.arista.com/eosplus/ci/buildStatus/icon?job=puppet-eos_start&style=plastic)](https://revproxy.arista.com/eosplus/ci/job/puppet-eos_start)

System tests spec/coverage: [![Spec Build Status](https://revproxy.arista.com/eosplus/ci/buildStatus/icon?job=puppet-eos_spec&style=plastic)](https://revproxy.arista.com/eosplus/ci/job/puppet-eos_spec)

## Overview

The Arista EOS module for Puppet provides a set of types and providers for
Expand Down
69 changes: 69 additions & 0 deletions bootstrap.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#!/bin/bash
export TERM=vt100
set -x
PUPPET='puppet-agent-1.5.2-1.eos4.i386.swix'
PUPPET_URL="http://pm.puppetlabs.com/puppet-agent/2016.2.0/1.5.2/repos/eos/4/PC1/i386/${PUPPET}"
RBEAPI='rbeapi-puppet-aio-1.0-1.swix'
RBEAPI_URL="https://github.com/arista-eosplus/rbeapi/releases/download/v1.0/${RBEAPI}"

WGET_OPTS="--progress=dot:binary"

# Ensure the puppet agent is installed
if ! [ -f /mnt/flash/.extensions/${PUPPET} ]; then
wget ${WGET_OPTS} -O /mnt/flash/${PUPPET} ${PUPPET_URL}
cmds="copy flash:${PUPPET} extension:
extension ${PUPPET}"
FastCli -p 15 -c "${cmds}"
fi

# Ensure rbeapi is installed
if ! [ -f /mnt/flash/.extensions/${RBEAPI} ]; then
wget ${WGET_OPTS} -O /mnt/flash/${RBEAPI} ${RBEAPI_URL}
cmds="copy flash:${RBEAPI} extension:
extension ${RBEAPI}"
FastCli -p 15 -c "${cmds}"
fi

puppet="/opt/puppetlabs/bin/puppet"

sudo ${puppet} config set user root
sudo ${puppet} config set group root

# Show the installed packages and ensure eAPI is enabled
cmds="show extension
configure
management api http-commands
protocol unix-socket
no shutdown"
FastCli -p 15 -c "${cmds}"

# EOS 4.17 includes the redhat-release file which confuses some os-detection systems.
# https://github.com/chef/mixlib-install/pull/158
if [ -f /etc/redhat-release ]; then
rm -f /etc/redhat-release
fi

module_path="--modulepath=/tmp/kitchen/data"
puppet_opts="${module_path} --detailed-exitcodes"
/opt/puppetlabs/puppet/bin/gem install pry
/opt/puppetlabs/puppet/bin/gem install pry-nav

${puppet} describe ${module_path} eos_switchconfig
${puppet} resource ${module_path} eos_switchconfig
resource="eos_switchconfig{'running-config': \
content => template('eos/tmp_config'), \
staging_file => 'puppet-config', \
}"
${puppet} apply ${puppet_opts} -e "${resource}"
if [ $? == 2 ]; then
echo "SUCCESSFULLY applied the first time"
else
echo "FAILED to apply the first time"
fi

${puppet} apply ${puppet_opts} -e "${resource}"
if [ $? == 0 ]; then
echo "SUCCESSFULLY applied the second time with no changes (Idempotent)"
else
echo "FAILED idempotency check"
fi
2 changes: 2 additions & 0 deletions data/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# symlinks will be created here for use with TestKitchen. Do not store
*
1 change: 1 addition & 0 deletions data/eos/lib
1 change: 1 addition & 0 deletions data/eos/manifests/site.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include eos_config
1 change: 1 addition & 0 deletions data/eos/metadata.json

0 comments on commit 61f9dad

Please sign in to comment.