Forge Home

fcoe

Automation of the deployment and configuration of Fibre-channel over Ethernet (FCoE)

7,251 downloads

6,715 latest version

4.9 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.5.0 (latest)
  • 0.4.0
  • 0.2.0
released Jan 16th 2017
This version is compatible with:
  • , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'stivesso-fcoe', '0.5.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add stivesso-fcoe
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install stivesso-fcoe --version 0.5.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download
Tags: fcoe

Documentation

stivesso/fcoe — version 0.5.0 Jan 16th 2017

fcoe

Build Status

Table of Contents

  1. Module Description - What the module does and why it is useful
  2. Setup - The basics of getting started with fcoe
  3. Usage - Configuration options and additional functionality
  4. Limitations and Known Issues
  5. Development - Guide for contributing to the module
  6. TODO
  7. Contributors

Module Description

The fcoe module automates the Configuration and Deployement of Fibre-channel over Ethernet (FCoE) interface(s) on Linux Systems

What fcoe affects

  • The following FCOE Network Interface Configuration files:
    1. /etc/fcoe/cfg-ethX
    2. /etc/sysconfig/network-scripts/ifcfg-ethX

Setup Requirements

fcoe requires:

  • pluginsync = true (Puppet Configuration)
  • puppetlabs/stdlib (>= 4.9.0)

Usage

Parameters

There are 07 main parameters used to control the fcoe behaviours:

fcoe_interface : fcoe Ethernet Interface (ethX)
String that specifies the fcoe Interface Name (not optional).

  • default:
    -- No default parameter, that must be set (example: eth2)

fcoe_enable : Enable/Disable FCoE service at the Ethernet port
String to Enable/Disable FCoE service at the Ethernet port. Normally set to "yes"

  • default: yes

dcb_required : Indicate if DCB service is required at the Ethernet port
String to Indicate if DCB service is required at the Ethernet port.

  • default: no

auto_vlan : Indicate if VLAN discovery should be handled by fcoemon
String to Indicate if VLAN discovery should be handled by fcoemon.

  • default: yes

fcoe_mode : Indicate the mode of the FCoE operation, either fabric or vn2vn
String to Indicate the mode of the FCoE operation,
either fabric or vn2vn.

  • default: fabric

fip_resp : Indicate whether to run a FIP responder for VLAN discovery in vn2vn mode
String to Indicate whether to run a FIP responder for VLAN discovery in vn2vn mode,

  • default: no

fcoe_mtu : Settings the default MTU for the FCOE Interface
String to set the default MTU for the FCOE Interface, The default value is set as undef (leaving the MTU to its default value), This settings affects ifcfg-ethX Interface

  • default: undef

Sample Usage

To configure an ethX interface by accepting the default values listed above, specify only the fcoe Interface parameter in the fcoe::interface defined type.
As with any defined typed, this can be evaluated multiple times with different parameters.
The following examples configures both eth2 and eth3 as FCOE Interfaces with default settings:

fcoe::interface { 'eth2':
    fcoe_interface  => 'eth2',
}
fcoe::interface { 'eth3':
    fcoe_interface  =>'eth3',
}

To modify some of the default settings,

fcoe::interface { 'eth2':
    fcoe_interface  => 'eth2',
    fcoe_enable     => 'yes',
    dcb_required    => 'no',
    auto_vlan       => 'yes',
    fcoe_mode       => 'fabric',
    fip_resp        => 'no',
    fcoe_mtu        => '9000',
}
fcoe::interface { 'eth3':
    fcoe_interface  =>'eth3',
    fcoe_enable     => 'yes',
    dcb_required    => 'no',
    auto_vlan       => 'yes',
    fcoe_mode       => 'fabric',
    fip_resp        => 'no',
    fcoe_mtu        => '9000',
}

Below is the same configuration using Hiera and create_resources

  # FCOE
  # Create a hash from Hiera Data with the FCOE Interfaces
  $myFcoeIfaces = hiera('fcoe::interface', {})
  # With Create Resource Converts a hash into a set of resources
  create_resources('fcoe::interface', $myFcoeIfaces)

On my Hiera Yaml files,

---
fcoe::interface:
  'eth2':
    fcoe_interface   : 'eth2'
    fcoe_enable      : 'yes'
    dcb_required     : 'no'
    auto_vlan        : 'yes'
    fcoe_mode        : 'fabric'
    fip_resp         : 'no'
    fcoe_mtu         : '9000'
  'eth3':
    fcoe_interface   : 'eth3'
    fcoe_enable      : 'yes'
    dcb_required     : 'no'
    auto_vlan        : 'yes'
    fcoe_mode        : 'fabric'
    fip_resp         : 'no'
    fcoe_mtu         : '9000'


Limitations and Known Issues

Development

I happily accept bug reports and pull requests via github,
https://github.com/stivesso/fcoe

  • Fork it
  • Create a feature branch
  • Write a failing test
  • Write the code to make that test pass
  • Refactor the code
  • Submit a pull request

TODO

  • Add Support for other OS Family (Debian, SuSe, Solaris...)

Contributors

  • The module is written and being maintained by: stivesso