Skip to content

FDio/archived-puppet-fdio

Repository files navigation

fdio

Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Reference
  6. Limitations
  7. Development
  8. Release Notes/Contributors

Overview

Puppet module that installs and configures FD.io projects VPP and Honeycomb Agent.

Module Description

Deploys FD.io projects to various OSs via package.

All configuration should be handled through the Puppet module's params.

Setup

What fdio affects

  • VPP, a packet processing platform.
  • Honeycomb, a management agent for VPP.

Usage

The most basic usage, passing no parameters to the fdio class, will install and start VPP with a default configuration.

class { 'fdio':
}

Set uio-driver

To set the uio-driver use the vpp_dpdk_uio_driver param.

class { 'fdio':
  vpp_dpdk_devs => ['0000:00:07.0'],
  vpp_dpdk_uio_driver => 'vfio_pci',
}

Reference

Classes

Public classes

  • ::fdio: Main entry point to the module.
  • ::fdio::honeycomb: Class to install and configure Honeycomb agent.

Private classes

  • ::fdio::params: Contains default class param values.
  • ::fdio::install: Installs VPP from packages.
  • ::fdio::config: Manages VPP startup config
  • ::fdio::service: Shuts down and disables kernel interfaces, starts VPP service and configuring VPP interfaces

Parameters

::fdio

repo_branch

FD.io repository branch name.

Default: release

Valid options: release, master, and branch name such as stable.1609.

vpp_dpdk_devs

PCI devices to bind to VPP.

Default: []

Valid options: list of PCI devices in the form of "DDDD:BB:SS.F"

vpp_dpdk_uio_driver

Sets the uio-driver for VPP

Default: undef

Valid options: vfio-pci, uio_pci_generic and igb_uio. Note that igb_uio must be already loaded in the kernel before this module is invoked.

vpp_vlan_enabled

Enabled vlan tagged traffic on VPP interfaces. This is needed to configure vlan_strip_offload option for Cisco VIC interfaces.

Default: false

Valid options: true, false

vpp_cpu_main_core
vpp_cpu_corelist_worker

VPP thread pinning configuration. Details about those options can be found here.

Default: undef

Valid options: Same format as VPP startup config is accepted. Reference here.

vpp_cpu_corelist_worker

Configures VPP interface with IP settings found on its corresponding kernel NIC.

Default: true

Valid options: true, false

::fdio::honeycomb

rest_port

Port for Honeycomb REST interface to listen on.

Default: '8181'

Valid options: Valid TCP port number.

websocket_rest_port

Port for Honeycomb REST interface to listen on for websocket connections.

Default: '7779'

Valid options: Valid TCP port number.

user

Username to configure in honeycomb

Default: 'admin'

password

Password to configure in honeycomb

Default: 'admin'

Limitations

  • Currently only works on Centos 7. Ubuntu support will be added in the future.

Development

We welcome contributions and work to make them easy!

Release Notes/Contributors