dellos10

pdk
This module contains resources for managing network configurations in DellEMC OS10 Switches.

Dell EMC Networking

dellemcnetworking

5,375 downloads

4,244 latest version

4.9 quality score

Version information

  • 1.0.0 (latest)
  • 0.1.2
  • 0.1.1
  • 0.1.0
released May 17th 2018
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.7.0 < 6.0.0
  • OS10

Start using this module

Documentation

dellemcnetworking/dellos10 — version 1.0.0 May 17th 2018

Puppet dellos10 module

Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Limitations
  6. Known Issues
  7. Change Log
  8. Development
  9. License

Overview

The dellos10 module is used to manage configuration of Dell Networking devices running OS10 operating system. This module provides Puppet Types, Providers and sample manifests for various features of the OS10 software.

Module Description

The current version of dellos10 module contains Providers that makes use of OS10 operating system's configuration CLIs.

The dellos10 module is dependant on the following ruby modules:

  • os10_devops_ruby_utils

Setup

Setup Requirements

Installing os10_devops_ruby_utils module

The dellos10 puppet module requires os10_devops_ruby_utils module to be installed separately for communicating with the underlying OS10 operating system. The installation procedure can be found at readthedocs.org

Beginning with dellos10

puppet module install dellemcnetworking-dellos10

For more information on Puppet module installation see Puppet Labs: Installing Modules

Usage

The following Puppet resources are defined as part of dellos10 module.

Type: os10_route

os10_route resource type is used to manage static routes in OS10 switches.

Attributes

destination

Target IP address to which the route must be configured.

prefix_len

Netmask of the target IP address.

next_hop_list

List of next hop IP address for the route to be configured.

ensure

Determine whether the route entry should be present or not.

Type: os10_snmp

os10_snmp resource type is to used to manage SNMP configuration in OS10 EE switches. The os10_snmp resource is not an ensurable type and hence does not have an ensure attribute.

Attributes

community_strings

This property is a dictionary of community string with its access right. These will be the only list of community string entries present in the SNMP configuration. eg:{'public'=>'ro', 'private'=>'rw'}.

contact

Contact property of SNMP server. There can be only one entry for contact. An empty string for contact will remove the contact entry from the SNMP configuration.

location

Location property of the SNMP server. There can be only one entry for location. An empty string for location will remove the location entry.

enabled_traps

This will be a dictionary of entries where the key is trap category and values are the list of subcategory or :all to enable traps for all sub category items.

trap_destination

This will be a dictionary of entries where the key is list of [ip,Port] and value is a list with version string ("v1"/"v2") and community string.

Type: os10_monitor

os10_monitor resource type is to used to manage port monitor (mirroring) session configuration in OS10 EE switches.

Attributes

ensure

Determines whether this monitor configuration should exist or not.

id

This property is an integer that is configured as the id of the monitor session in the switch. The id needs to be unique and should be an integer between 1 and 18.

source

This property is an array of string values of the interfaces that will be configured as source interfaces for this monitoring session. eg) ['ethernet 1/1/9', 'ethernet 1/1/10']

destination

This property is a string name of the destination interface to which traffic has to be mirrored. eg) 'ethernet 1/1/10'

flow_based

This property is a boolean value specifying whether to enable or disable flow based monitoring. This is an optional attribute defaulted to false.

shutdown

This property will decide whether to enable or disable the monitor session. If the shutdown is false, the session will be configured but in shutdown state. This is an optional attribute defaulted to true.

Type: os10_interface

os10_interface resource type is used to manage interface configuration in OS10 switches.

Attributes

desc

String containing description of the interface.

mtu

String containing maximum transmission unit of the interface.

switchport_mode

Switchport mode of the interface. Can be either trunk or access in case of switchport. Or can be false when not in L2 mode. Valid values are 'trunk', 'access' and 'absent'.

admin

Administrative state of the interface. Valid values are 'up' and 'down'.

ip_address

String containing ipv4 address and mask of the interface in ip/prefixlen format.

ipv6_address

String containing ipv6 address and mask of the interface in ip/prefixlen format.

ipv6_autoconfig

Boolean value to enable or disable ipv6 autoconfig. Valid values are 'true' and 'false'

ip_helper

List containing string of IP address for the interface to which UDP broadcasts need to be forwarded.

Type: os10_image_upgrade

os10_image_upgrade resource type is used to upgrade / downgrade OS10EE images by providing the filename and location of the image.

Attributes

image_url

This is the location of the binary image in the remote server. This image will be downloaded and installed in the standby partition of the switch.

Type: os10_bgp

Resource Definition for os10_bgp that is used to configure base bgp configuration in OS10 switches.

Attributes

ensure

Determines whether the bgp configuration should be present or not.

asn

Autonomous System number of the bgp configuration. Valid values are 1-4294967295 or 0.1-65535.65535.

router_id

Configures the IP address of the local BGP router instance.

max_path_ebgp

Configures the maximum number of paths to forward packets through eBGP. Valid values are 1-64.

max_path_ibgp

Configures the maximum number of paths to forward packets through iBGP. Valid values are 1-64.

graceful_restart

Configures graceful restart capability.

log_neighbor_changes

Configures logging of neighbors up/down.

fast_external_fallover

Configures reset session if a link to a directly connected external peer goes down.

always_compare_med

Configure comparing MED from different neighbors.

default_loc_pref

Configure default local preference value. Valid values are 1-4294967295.

confederation_identifier

Set the autonomous system identifier for confederation routing domain. Valid values are integer 1-4294967295 and dotted decimal format 0.1-65535.65535.

confederation_peers

Configure peer autonomous system numbers in BGP confederation as a list. Valid values for each entry are integer 1-4294967295 and dotted decimal format 0.1-65535.65535.

route_reflector_client_to_client

Configure client to client route reflection.

route_reflector_cluster_id

Configure Route-Reflector Cluster-id. Valid values are 32 bit integer 1-4294967295 or A.B.C.D IPV4 address format.

bestpath_as_path

Configures the bestpath selection to either ignore or include prefixes received from different AS path during multipath calculation.

bestpath_med_confed

Configures bestpath to compare MED among confederation paths.

bestpath_med_missing_as_worst

Configures bestpath to treat missing MED as the least preferred one.

bestpath_routerid_ignore

Configures bestpath computation to ignore router identifier.

Type: os10_bgp_af

Attributes

ensure

Configures whether the bgp address family section should be present or not. Typically this resource will have dependency on os10_bgp resource. This resource in manifest will have a require dependency over its corresponding os10_bgp configuration.

asn

Autonomous System number of the bgp configuration. Valid values are 1-4294967295 or 0.1-65535.65535.

ip_ver

Configures the IP version of this instance of address family configuration. Valid values are ipv4 and ipv6.

aggregate_address

Configures ipv4/ipv6 BGP aggregate address and mask. The values should be of the same version as provided in ip_ver parameter.

dampening_state

Enable or disable route-flap dampening. When dampening_state is true all the timers should be defined.

dampening_half_life

Set dampening half-life time for the penalty. Valid values are 1-45.

dampening_reuse

Set time value to start reusing a route. Valid values are 1-20000.

dampening_suppress

Set time value to start suppressing a route. Valid values are 1-20000.

dampening_max_suppress

Set maximum time duration to suppress a stable route. Valid values are 1-255.

dampening_route_map

Name of route-map to specify criteria for dampening. Valid value is a string with a maximum of 140 characters.

default_metric

Set default metric of redistributed routes. Valid value is in the range 1-4294967295.

network

List of IPs and mask along with optional routemap string.

redistribute

Configures routing protocols that need to be redistributed. Valid value is a list of (protocol value). Protocol can be connected / ospf / static. Value can be blank or routemap string incase of connected / static and blank or process-id incase of ospf.

Type: os10_bgp_neighbor

Attributes

require

Configures the dependant os10_bgp configuration that should be configured before applying the os10_bgp_neighbor configuration. Typically this resource will have dependency on os10_bgp resource. This resource in manifest will have a require dependency over its corresponding os10_bgp configuration.

ensure

Configures whether the os10_bgp_neighbor section should be present or not.

asn

Autonomous System number of the bgp configuration. Valid values are 1-4294967295 or 0.1-65535.65535.

neighbor

Specify a neighbor router IP address or template name for the given configuration. Valid values can be a valid ipv4 or ipv6 address or string with maximum of 16 characters.

type

Specify whether the configuration is for neighbor ip or template.

advertisement_interval

Minimum interval between sending BGP routing updates.

advertisement_start

Delay initiating OPEN message for the specified time.

timers

Array of two timer values. Keepalive interval and Holdtime values.

connection_retry_timer

Configure peer connection retry timer.

remote_as

Specify autonomous system number of the BGP neighbor.

remove_private_as

Enables or disables configuration to remove private AS number from outbound updates.

shutdown

Set the shutdown state of the neighbor.

password

Set MD5 password for authentication with maximum of 128 characters.

send_community_standard

Enables or disables sending standard community attribute.

send_community_extended

Enables or disables sending extended community attribute.

peergroup

Configures neighbor to BGP peer-group. Inherit configuration of peer-group template. The template should be an existing configuration.

ebgp_multihop

Configures the maximum-hop count value allowed in eBGP neighbors that are not directly connected. This takes an integer value between 1-255.

fall_over

Configures the session fall on peer-route loss.

local_as

Configure local autonomous system number for the BGP peer.

route_reflector_client

Configures a BGP neighbor as router reflector client.

weight

Configure default weight for routes from the neighbor interface. Value can be between 1-4294967295.

Type: os10_bgp_neighbor_af

Resource definition for os10_bgp_neighbor_af that is used to configure address family sub-configuration (for both ipv4 and ipv6) under bgp neighbor sub-configuration. Typically this resource will have dependency on os10_bgp_neighbor resource. This resource in manifest will have a require dependency over its corresponding os10_bgp_neighbor configuration.

Attributes

require

Configures the dependant os10_bgp configuration that should be configured before applying the os10_bgp_neighbor configuration.

ensure

Configures whether the bgp_neighbor_af sub-configuration should be present or not.

asn

Autonomous System number of the bgp configuration. Valid values are 1-4294967295 or 0.1-65535.65535.

neighbor

The neighbor route IP address to which the current address family sub-configuration.

type

Specify whether the neighbor configuration is of type ip or template.

ip_ver

Configures either ipv4 or ipv6 address family.

activate

Enable the Address Family for this Neighbor.

allowas_in

Configure allowed local AS number in as-path. Valid values are 1-10.

add_path

Configures the setting to Send or Receive multiple paths. Blank string removes the configuration.

distribute_list

Filter networks in routing updates. Valid parameter is an array of two Prefix list name (max 140 chars) for applying policy to incoming and outgoing routes respectively.

next_hop_self

Enables or Disables the next hop calculation for this neighbor.

route_map

Names of the route map. Valid parameter is an array of two Route-map name (max 140 chars) for filtering incoming and outgoing routing updates.

sender_side_loop_detection

Configures sender side loop detect for neighbor.

soft_reconfiguration

Configures per neighbor soft reconfiguration.

Type: os10_lldp

os10_lldp resource type is to used to manage global LLDP configuration in OS10 EE switches. The os10_lldp resource is not an ensurable type and hence does not have an ensure attribute.

Attributes

holdtime_multiplier

This property is a string with a value range of <2-10>. An empty string will remove the holdtime multiplier value from the LLDP configuration.

reinit

This property is a string with a value range of <1-10>. An empty string will remove the reinit value from the LLDP configuration.

timer

This property is a string with a value range of <5-254>. An empty string will remove the timer value from the LLDP configuration.

med_fast_start_repeat_count

This property is a string with a value range of <1-10>, (default=3). An empty string will remove the med fast start repeat count value from the LLDP configuration.

enable

This property is a boolean string with value 'true' or 'false' to enable or disable the lldp globally.

med_network_policy

This will be an array of hash entries with the set of hash keys id<1-32>, app<guest-voice, guestvoice-signaling, softphone-voice, streaming-video, video-conferencing, voice-signaling, voice, video-signaling>, vlan_id<1-4093>, vlan_type<tag/untag>, priority<0-7>, dscp<0-63>.

Type: os10_lldp_interface

os10_lldp_interface resource type is to used to manage LLDP configuration per interface in OS10 EE switches. The os10_lldp resource is not an ensurable type and hence does not have an ensure attribute. The per interface name is given as arg for the resource.

Attributes

receive

This property is a boolean string with a value 'true' or 'false' to enable or disable the reception of lldp for that interface.

transmit

This property is a boolean string with a value 'true' or 'false' to enable or diable the transmission of lldp for that interface.

med

This property is a boolean string with a value 'true' or 'false' to enable or disable the med lldp for that interface. LLDP MED can be enabled only when LLDP transmit and receive are enabled | LLDP receive/transmit can be disabled only when LLDP MED is disabled

med_tlv_select_inventory

This property is a boolean string with a value 'true' or 'false' to enable or disable the med tlv select inventory lldp for that interface.

med_tlv_select_network_policy

This property is a boolean string with a value 'true' or 'false' to enable or disable the med tlv select network policy lldp for that interface.

med_network_policy

This property is an array of med policy ids with a range of <1-32> to add and remove the network policies.

tlv_select

This property is a hash of key value pair with lldp tlv select option as key and sub option as array of values. The tlv-select for all the interfaces are enabled by default in the device. The values given in the parameter are to disable the options per interface. The values not in the list will be enabled. The values for tlv_select options and sub-options are basic-tlv => ["management-address", "port-description", "system-capabilities", "system-description", "system-name"], dcbxp => [""], dcbxp-appln => ["iscsi"], dot3tlv => ["macphy-config", "max-framesize"], dot1tlv => ["link-aggregation", "port-vlan-id"].

Limitations

The dellos10 puppet module is designed to work only with DellEmcNetworking OS10 network operating system only.

Known Issues

Change Log

  • ver 0.1.0 - Initial draft release
  • ver 0.1.1 - Minor bug fixes. Documentation updates.
  • ver 1.0.0 - First release

Development

Fork the GitHub repo and send PR with modified code with a brief explanation.

Contact

networking_devops_tools@dell.com

License

Copyright (c) 2018 Dell EMC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

© 2018 Dell EMC