Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
Example Chef Netdev Provider

As part of the OpEN ADK, Broadcom supplies an example cookbook, Netdev, which manages network resources to work with devices, powered by Broadcom ICOS. Netdev is a vendor-neutral network abstraction framework, developed by Arista Networks and contributed to the DevOps community for free. For more information refer to https://github.com/aristanetworks/chef-eos.

Prerequisites

It is assumed that the reader is familiar with the concepts of Chef:

Broadcom Chef Client Installation

Refer to OpEN API and Chef section, for details on Chef client installation on a Broadcom switch.

Broadcom Netdev Provider Installation

The Netdev implementation is categorized into two cookbooks. They are available in the ADK under 'examples/chef/cookbooks/netdev' and 'examples/chef/cookbooks/netdev_icos' folders.

The 'netdev' cookbook provides a set of lightweight resource providers, that are intended to represent network resources, in a non-vendor specific way. The lightweight resource providers describe network resources running on network devices. The resource abstractions have been developed as a starting point for automating network elements using Opscode Chef.

The resources provided here are summarized below:

The 'netdev_icos' cookbook is an implementation of the lightweight resources providers specified in the 'netdev' cookbook, above. It provides a set of recipes and providers implemented upon ICOS -based network elements.

The recipes implemented as part of 'netdev_icos' are summarized below:

To install 'netdev' cookbook, copy the 'netdev' directory into your cookbooks directory in your chef-repo on your Chef server/Work Station. Use the below command to copy

  chef-server% scp -r <user>@<ip>:/<path>/examples/chef/netdev <chef repository>/cookbooks

To install 'netdev_icos' cookbook, copy the 'netdev_icos' directory into your cookbooks directory in your chef-repo on your Chef server/Work Station. Use the below command to copy:

  chef-server% scp -r <user>@<ip>:/<path>/examples/chef/netdev_icos <chef repository>/cookbooks

An example data bag is provided in examples/chef/data_bags/netdev_config/netdev_databag.json file. Use the below command to copy:

  chef-server% scp <user>@<ip>:/<path>/examples/chef/data_bags/netdev_config/netdev_databag.json <chef repository>/data_bags/netdev_config

Using Broadcom Netdev

Once you have installed the Broadcom Netdev Provider as described above use 'knife data bag from file netdev_config data_bags/netdev_config/netdev_databag.json' to upload data bag and 'knife cookbook upload -a' to upload cookbooks ('netdev' and 'netdev_icos').