Ansible site for MOC/OCT switches
- Dell OS9 (FTOS9)
- Install newest version of ansible
- Install required PyPI packages:
pip install --user ansible-pylibssh
- Install the required ansible modules:
ansible-galaxy collection install -r requirements.yaml - Set up AWS CLI and be sure you can access the correct secrets
- On your client, you may have to enable legacy kex algorithms for some switches:
KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
Interfaces are configured in the file host_vars/HOST/interfaces.yaml
An example of this file is below:
interfaces:
twentyFiveGigE 1/1:
description: "example interface"
state: "up"
mtu: 9216
Port-channel 1:
state: "up"
lag-members:
- "hundredGigE 1/1"
- "hundredGigE 1/2"
portmode: "access"
untagged: 10
Vlan 207:
state: "up"
ip4: "10.10.10.10/20"
nameOnly for VLANs, sets the name of interfaces. (String)descriptionSets the description of the interface. (String)stateSets the admin state of the mode ("up", or "down")mtuSets the MTU of the interface (Integer 576-9416)fecIf false, forward-error-correction is disabled on the interface (Boolean)autonegIf false, auto-negotiation is disabled on the interface (Boolean)stp-edgeSets the port as an edge-port for STP (Boolean)managedIf true, this interface will not be configured by ansible. Works for both VLANs and interfaces (Boolean)portmodeL2 portmode of an interface (String "access", "trunk", or "hybrid")untaggedSingle vlan to untag, requires portmode access or hybrid (Integer 2-4094)taggedList of vlans to tag, requires portmode trunk or hybrid (List of Integers 2-4094)ip4Sets the IPv4 address of the interface (String "X.X.X.X/YY")ip6Sets the IPv6 address of the interface (String)lag-membersList of non-LACP lag members for a port channel (List of Strings, interface names)lacp-members-activeList of LACP active members for a port channel (List of Strings, interface names)lacp-members-passiveList of LACP passive members for a port channel (List of Strings, interface names)lacp-rateSets the switch rate for LACP only (String "fast" or "slow")mlagSet the label of the peer port-channel for a paired switch (String interface name)
Switches will need some manual configuration before being able to be set up from this ansible site.
- On the switch, enter
confmode - Set the enable password:
enable password <DEFAULT_OS9_PASSWD> - Set the ssh user
username admin password <DEFAULT_OS9_PASSWD> - Enable ssh server
ip ssh server enable - Set the access IP (usually
managementethernet 1/1)
- Validation scripts that don't require access to switches
- Case-insensitive matching for interface labels
- VLAN groups to be defined in tagged/untagged sections
- Switch system configuration (STP, etc.)
- Add "speed" field for some interfaces
- Ability to map connections between devices