Skip to content

Commit 7de35ff

Browse files
committed
Merge branch 'release/1.0.0'
Conflicts: CONTRIBUTING.md
2 parents 8e2cb6a + 3e4a945 commit 7de35ff

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+749
-543
lines changed

CHANGELOG.md

+15-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,26 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5-
## [Unreleased]
5+
## [1.0.0] - 2015-08-28
6+
### Added
7+
- New facts `cisco_node_utils` and `cisco_nxapi` report the installed version of these gems.
8+
- Providers requiring the `cisco_node_utils` feature will generate a warning message if an obsolete gem version is installed.
9+
- Added README-maintainers.md
10+
11+
### Fixed
12+
- Metadata URLs now point to new public GitHub repository.
13+
- Moved misc READMEs into /docs
14+
- NXAPI providers are marked as defaultfor 'nexus' operating system.
15+
- Fixed beaker test for package and interface ospf
16+
- Fixed sample install.pp
617

718
## [0.9.1] - 2015-08-13
819
### Added
920
- Added CONTRIBUTING.md
1021
- Added README-creating-types-providers.md and associated templates.
1122
- Added SUPPORT.md
1223
- Added Beaker test cases for cisco_command_config, file, package, and service providers.
24+
- Added VRF attribute to cisco_interface provider.
1325

1426
### Fixed
1527
- 'puppet resource cisco_vtp' now works properly.
@@ -26,5 +38,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
2638
- Initial release of puppetlabs-ciscopuppet module, supporting Cisco NX-OS software release 7.0(3)I2(1) on Cisco Nexus switch platforms: N95xx, N93xx, N30xx and N31xx.
2739
- Please note: 0.9.0 is an EFT pre-release for a limited audience with access to NX-OS 7.0(3)I2(1). Additional code changes may occur in 0.9.x prior to the final 1.0.0 release.
2840

29-
[unreleased]: https://github.com/cisco/cisco-network-puppet-module/compare/v0.9.1...develop
41+
[unreleased]: https://github.com/cisco/cisco-network-puppet-module/compare/master...develop
42+
[1.0.0]: https://github.com/cisco/cisco-network-puppet-module/compare/v0.9.1...v1.0.0
3043
[0.9.1]: https://github.com/cisco/cisco-network-puppet-module/compare/v0.9.0...v0.9.1

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Cisco Network Elements support a rich set of features to make networks robust, e
1010

1111
* Fork the repository
1212
* Pull a branch under the "develop" branch for your changes.
13-
* Follow all guidelines documented in [README-creating-types-providers](#README-creating-types-providers.md)
13+
* Follow all guidelines documented in [README-creating-types-providers](README-creating-types-providers.md)
1414
* Make changes in your branch.
1515
* Testing
1616
* Add beaker test cases to validate your changes.

README.md

+115-33
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,98 @@
11
# ciscopuppet
2-
----
3-
### _EARLY FIELD TRIAL:_ This is a Puppet agent EFT for use with Cisco NX-OS release 7.0(3)I2(1). Please see the [Limitations](#limitations) section for more information.
4-
----
52

63
#### Table of Contents
74

85
1. [Overview](#overview)
96
2. [Module Description](#module-description)
107
3. [Setup](#setup)
11-
* [Setup requirements](#setup-requirements)
12-
* [Beginning with ciscopuppet](#beginning-with-ciscopuppet)
138
4. [Usage](#usage)
14-
5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
15-
5. [Limitations - OS compatibility, etc.](#limitations)
16-
6. [Development - Guide for contributing to the module](#development)
9+
5. [Resource Reference](#resource-reference)
10+
* [Resource Type Catalog (by Technology)](#resource-by-tech)
11+
* [Resource Type Catalog (by Name)](#resource-by-name)
12+
6. [Limitations - OS compatibility, etc.](#limitations)
13+
7. [Development - Guide for contributing to the module](#development)
14+
15+
--
16+
##### Additional References
17+
18+
* Agent Installation
19+
* [README-agent-install.md](docs/README-agent-install.md) : Agent Installation and Configuration Guide
20+
* [README-beaker-agent-install.md](docs/README-beaker-agent-install.md) : Automated Agent Installation and Configuration via the Beaker Tool
21+
* User Guides
22+
* [README-package-provider.md](docs/README-package-provider.md) : Cisco Nexus Package Management using the Package Provider
23+
* Developer Guides
24+
* [README-develop-types-providers.md](docs/README-develop-types-providers.md) : Developing new ciscopuppet Types and Providers
25+
* [README-beaker-testcase-execution.md](docs/README-beaker-testcase-execution.md) : Executing Beaker Tests for ciscopuppet
26+
* [README-beaker-testcase-writing.md](docs/README-beaker-testcase-writing.md) : Writing Beaker Tests for ciscopuppet
27+
28+
--
1729

1830
## Overview
1931

20-
This ciscopuppet module enables Puppet to config Cisco Nexus Switches that
21-
support NXAPI through types and NXAPI based providers.
32+
The ciscopuppet module allows a network administrator to manage Cisco Network Elements using Puppet. This module bundles a set of Puppet Types, providers, Beaker Tests, Sample Manifests and Installation Tools for effective network management. The resources and capabilities provided by this Puppet Module will grow with contributions from Cisco, Puppet Labs and the open source community.
33+
34+
The Cisco Network Elements and Operating Systems managed by this Puppet Module are continuously expanding. Please refer to the [Limitations](#limitations) section for details on currently supported hardware and software.
35+
The Limitations section also provides details on compatible Puppet Agent and Puppet Master versions.
36+
37+
This GitHub repository contains the latest version of the ciscopuppet module source code. Supported versions of the ciscopuppet module are available at Puppet Forge. Please refer to [SUPPORT.md](SUPPORT.md) for additional details.
38+
39+
Contributions to this Puppet Module are welcome. Guidelines on contributions to the module are captured in [CONTRIBUTING.md](CONTRIBUTING.md)
2240

2341
## Module Description
2442

25-
This module enables users to manage Cisco Nexus switches using Puppet.
43+
This module enables management of supported Cisco Network Elements using Puppet. This module enhances the Puppet DSL by introducing new Puppet Types and Providers capable of managing network elements.
2644

27-
This module uses Cisco NXAPI to manage various Cisco NX-OS functions on certain Cisco Nexus Switches models such as N9k series and N31xx series. These functions include,
28-
but are not limited to, tacacs server and host, snmp server and users, and OSPF.
45+
The set of supported network element platforms is continuously expanding. Please refer to the [Limitations](#limitations) section for a list of currently supported platforms.
2946

3047
## Setup
3148

32-
### Beginning with ciscopuppet
49+
#### Puppet Master
50+
51+
The `ciscopuppet` module is installed on the Puppet Master server. Please see [Puppet Labs: Installing Modules](https://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html) for general information on Puppet module installation.
52+
53+
#### Puppet Agent
54+
The Puppet Agent requires installation and setup on each device. Agent setup can be performed as a manual process or it may be automated. For more information please see the [README-agent-install.md](docs/README-agent-install.md) document for detailed instructions on agent installation and configuration on Cisco Nexus devices.
55+
56+
##### Artifacts
57+
58+
As noted in the agent installation guide, these are the current RPM versions for use with ciscopuppet:
59+
* `bash-shell`: Use [http://yum.puppetlabs.com/puppetlabs-release-pc1-nxos-5.noarch.rpm](http://yum.puppetlabs.com/puppetlabs-release-pc1-nxos-5.noarch.rpm)
60+
* `guestshell`: Use [http://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm](http://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm)
61+
62+
##### Gems
63+
64+
The ciscopuppet module has dependencies on a few ruby gems. After installing the Puppet Agent software you will then need to install the following gems on the agent device:
65+
66+
* [`net_http_unix`](https://rubygems.org/gems/net_http_unix)
67+
* [`cisco_nxapi`](https://rubygems.org/gems/cisco_nxapi)
68+
* [`cisco_node_utils`](https://rubygems.org/gems/cisco_node_utils)
69+
70+
These gems have dependencies on each other so installing `cisco_node_utils` by itself will automatically install `net_http_unix` and `cisco_nxapi`.
71+
72+
Example:
73+
74+
~~~bash
75+
[root@guestshell]# gem install cisco_node_utils
76+
77+
[root@guestshell]# gem list | egrep 'cisco|net_http'
78+
cisco_node_utils (1.0.0)
79+
cisco_nxapi (1.0.0)
80+
net_http_unix (0.2.1)
81+
~~~
82+
83+
##### Gem Persistence (bash-shell only)
3384

34-
Before the module can be run properly on the agent, enable pluginsync in the puppet.conf file on the agent.
85+
Please note that in the Nexus `bash-shell` environment these gems are currently not persistent across system reload. This persistence issue can be mitigated by simply defining a manifest entry for installing the `cisco_node_utils` gem via the package provider.
3586

36-
You must also install the following gems on the agent: net_http_unix, cisco_nxapi,
37-
and cisco_node_utils. Since these have dependencies on each other, when you
38-
install cisco_node_utils, the other two gems will be automatically installed.
39-
Gems installed under Puppet are not persistent across system reload on Nexus
40-
switches. To avoid issues after reload, you should include the package
41-
provider in the manifest to automate installing these gems, as shown in
42-
the following example.
87+
Example:
4388

4489
~~~Puppet
4590
package { 'cisco_node_utils' :
4691
provider => 'gem',
4792
ensure => present,
4893
}
49-
~~~~
94+
~~~
95+
*This persistence issue does not affect the `guestshell` environment. Gems are persistent across reload in the `guestshell`.*
5096

5197
## Usage
5298

@@ -86,9 +132,38 @@ cisco_interface_ospf {"Ethernet1/2 Sample":
86132
}
87133
~~~
88134

89-
## Reference
135+
## Resource Reference
136+
137+
### <a name="resource-by-tech">Resource Type Catalog (by Technology)<a>
138+
139+
1. Miscellaneous Types
140+
* [`cisco_command_config`](#type-cisco_command_config)
141+
142+
2. Interface Types
143+
* [`cisco_interface`](#type-cisco_interface)
144+
* [`cisco_interface_ospf`](#type-cisco_interface_ospf)
145+
146+
3. OSPF Types
147+
* [`cisco_ospf`](#type-cisco_ospf)
148+
* [`cisco_ospf_vrf`](#type-cisco_ospf_vrf)
149+
* [`cisco_interface_ospf`](#type-cisco_interface_ospf)
90150

91-
### Public Types
151+
4. SNMP Types
152+
* [`cisco_snmp_community`](#type-cisco_snmp_community)
153+
* [`cisco_snmp_group`](#type-cisco_snmp_group)
154+
* [`cisco_snmp_server`](#type-cisco_snmp_server)
155+
* [`cisco_snmp_user`](#type-cisco_snmp_user)
156+
157+
5. TACACS Types
158+
* [`cisco_tacacs_server`](#type-cisco_tacacs_server)
159+
* [`cisco_tacacs_server_host`](#type-cisco_tacacs_server_host)
160+
161+
6. VLAN Types
162+
* [`cisco_vlan`](#type-cisco_vlan)
163+
* [`cisco_vtp`](#type-cisco_vtp)
164+
165+
--
166+
### <a name="resource-by-name">Resource Type Catalog (by Name)<a>
92167

93168
* [`cisco_command_config`](#type-cisco_command_config)
94169
* [`cisco_interface`](#type-cisco_interface)
@@ -104,6 +179,11 @@ cisco_interface_ospf {"Ethernet1/2 Sample":
104179
* [`cisco_vlan`](#type-cisco_vlan)
105180
* [`cisco_vtp`](#type-cisco_vtp)
106181

182+
--
183+
### Resource Type Details
184+
185+
The following resources are listed alphabetically.
186+
107187
### Type: cisco_command_config
108188

109189
Allows execution of configuration commands.
@@ -185,6 +265,9 @@ keyword 'default'.
185265
Network mask length of the IP address on the interface. Valid values are
186266
integer and keyword 'default'.
187267

268+
###### `vrf`
269+
VRF member of the interface. Valid values are a string or the keyword 'default'.
270+
188271
##### SVI interface config attributes
189272

190273
###### `svi_autostate`
@@ -542,14 +625,13 @@ Password for the VTP domain. Valid values are a string or the keyword 'default'.
542625

543626
## Limitations
544627

545-
This module can only be supported from NX-OS software release 7.0(3)I2(1)
546-
on Cisco Nexus switch N95xx, N93xx, N30xx and N31xx platforms. Please ensure
547-
that the switch is running a supported version of NX-OS software.
548-
549-
On the supported platforms, it can work with both the native NX-OS
550-
Puppet agent or with the CentOS Puppet agent installed into the Guestshell.
551-
It does not (yet) address other Cisco operating systems such as IOS, IOS-XE,
552-
or IOS XR.
628+
Minimum Requirements:
629+
* Cisco NX-OS Puppet implementation requires open source Puppet version 4.0 or Puppet Enterprise 2015.2
630+
* Supported Platforms:
631+
* Cisco Nexus 95xx, OS Version 7.0(3)I2(1), Environments: Bash-shell, Guestshell
632+
* Cisco Nexus 93xx, OS Version 7.0(3)I2(1), Environments: Bash-shell, Guestshell
633+
* Cisco Nexus 31xx, OS Version 7.0(3)I2(1), Environments: Bash-shell, Guestshell
634+
* Cisco Nexus 30xx, OS Version 7.0(3)I2(1), Environments: Bash-shell, Guestshell
553635

554636
## Development
555637

REVIEW_NOTES

-28
This file was deleted.

REVIEW_NOTES2

-54
This file was deleted.

0 commit comments

Comments
 (0)