os9 collection documentation changes and sanity test (#4)
* adding OS9 ansible collections * adding OS9 collections * adding licensing, documentation changes * fix for bugs reported by ansible sanity test * fix for bugs reported by ansible sanity test * adding documentation review changes and sanity folder Co-authored-by: Patil <Komal_uttamrao_Patil@Dell.com>
This commit is contained in:
parent
25039af74e
commit
04c4baad7f
40 changed files with 512 additions and 498 deletions
17
README.md
17
README.md
|
@ -1,7 +1,6 @@
|
|||
# Ansible Network Collection for Dell EMC OS9
|
||||
|
||||
## Collection contents
|
||||
The collection includes the Ansible modules, plugins and roles required to work on a Dell EMC OS9. It also includes sample playbooks and documents that illustrate how the collection can be used.
|
||||
This collection includes the Ansible modules, plugins and roles required to work on Dell EMC PowerSwitch platforms running Dell EMC OS9. Sample playbooks and documentation are also included to show how the collection can be used.
|
||||
|
||||
### Ansible modules
|
||||
|
||||
|
@ -12,7 +11,7 @@ The collection includes the Ansible modules, plugins and roles required to work
|
|||
- **os9_facts.py** — Collect facts from remote devices running Dell EMC OS9
|
||||
|
||||
### Ansible roles
|
||||
Roles facilitate provisioning of device running Dell EMC OS9. These roles explain how to use OS9 and include **os9_aaa** , **os9_bgp**, **os9_ecmp**, and so on. There are over 22 roles available. The documentation for each role is at [OS9 roles documentation](https://github.com/ansible-collections/dellemc.os9/blob/master/docs/roles.rst)
|
||||
Roles facilitate provisioning of device running Dell EMC OS9. These roles explain how to use OS9 and include os9_aaa , os9_bgp, os9_ecmp, and so on. There are over 22 roles available. The documentation for each role is at [OS9 roles documentation](https://github.com/ansible-collections/dellemc.os9/blob/master/docs/roles.rst)
|
||||
|
||||
### Playbooks
|
||||
Sample playbooks are included for provisioning devices running Dell EMC OS9.
|
||||
|
@ -24,12 +23,12 @@ Use this command to install the latest version of the OS9 collection from Ansibl
|
|||
|
||||
ansible-galaxy collection install dellemc.os9
|
||||
|
||||
To install a specific version, a version range identifier must be specified. For example, to install the most recent version that is greater than or equal to 1.0.0 and less than 2.0.0:
|
||||
To install a specific version, a version range identifier must be specified. For example, to install the most recent version that is greater than or equal to 1.0.0 and less than 2.0.0.
|
||||
|
||||
ansible-galaxy collection install 'dellemc.os9:>=1.0.0,<2.0.0'
|
||||
|
||||
## Dependency
|
||||
Ansible version **2.10 or later**
|
||||
## Version compatibility
|
||||
Ansible version 2.10 or later
|
||||
|
||||
> **NOTE**: For Ansible version lower than 2.10, Please use [dellos9 modules](https://ansible-dellos-docs.readthedocs.io/en/latest/modules.html#os9-modules) and [dellos roles](https://ansible-dellos-docs.readthedocs.io/en/latest/roles.html)
|
||||
|
||||
|
@ -42,7 +41,7 @@ Ansible version **2.10 or later**
|
|||
roles:
|
||||
- os9_vlan
|
||||
|
||||
## Sample host_vars/os9_sw1.yaml
|
||||
**Sample host_vars/os9_sw1.yaml**
|
||||
|
||||
hostname: os9_sw1
|
||||
# parameters for connection type network_cli
|
||||
|
@ -50,9 +49,9 @@ Ansible version **2.10 or later**
|
|||
ansible_ssh_pass: xxxx
|
||||
ansible_network_os: dellemc.os9.os9
|
||||
|
||||
## Sample inventory.yaml
|
||||
**Sample inventory.yaml**
|
||||
|
||||
[os9]
|
||||
os9_sw1 ansible_host=100.104.28.119
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -7,7 +7,7 @@ The roles facilitate provisioning of devices running Dell EMC OS9. This document
|
|||
AAA role
|
||||
--------
|
||||
|
||||
The `os9_aaa <https://github.com/ansible-collections/dellemc.os9/blob/master/roles/os9_aaa/README.md>`_ role facilitates the configuration of Authentication Authorization Acccounting (AAA). It supports the configuration of TACACS and RADIUS server and AAA.
|
||||
The `os9_aaa <https://github.com/ansible-collections/dellemc.os9/blob/master/roles/os9_aaa/README.md>`_ role facilitates the configuration of authentication, authorization, and acccounting (AAA). It supports the configuration of TACACS and RADIUS server and AAA.
|
||||
|
||||
|
||||
ACL role
|
||||
|
@ -49,13 +49,13 @@ The `os9_ecmp <https://github.com/ansible-collections/dellemc.os9/blob/master/ro
|
|||
Interface role
|
||||
--------------
|
||||
|
||||
The `os9_interface <https://github.com/ansible-collections/dellemc.os9/blob/master/roles/os9_interface/README.md>`_ role facilitates the configuration of interface attributes. It supports the configuration of administrative state, description, MTU, IP address, IP helper, and port mode.
|
||||
The `os9_interface <https://github.com/ansible-collections/dellemc.os9/blob/master/roles/os9_interface/README.md>`_ role facilitates the configuration of interface attributes. It supports the configuration of administrative state, description, MTU, IP address, IP helper, suppress_ra and port mode.
|
||||
|
||||
|
||||
LAG role
|
||||
--------
|
||||
|
||||
The `os9_lag <https://github.com/ansible-collections/dellemc.os9/blob/master/roles/os9_lag/README.md>`_ role facilitates the configuration of link aggregation group (LAG) attributes, and supports the creation and deletion of a LAG and its member ports. It also supports the configuration of type (static/dynamic), hash scheme, and minimum required link.
|
||||
The `os9_lag <https://github.com/ansible-collections/dellemc.os9/blob/master/roles/os9_lag/README.md>`_ role facilitates the configuration of link aggregation group (LAG) attributes, and supports the creation and deletion of a LAG and its member ports. It also supports the configuration of an interface type (static/dynamic) and minimum required link.
|
||||
|
||||
|
||||
LLDP role
|
||||
|
@ -97,7 +97,7 @@ The `os9_snmp <https://github.com/ansible-collections/dellemc.os9/blob/master/ro
|
|||
System role
|
||||
-----------
|
||||
|
||||
The `os9_system <https://github.com/ansible-collections/dellemc.os9/blob/master/roles/os9_system/README.md>`_ role facilitates the configuration of global system attributes. This role specifically enables configuration of hostname and enable password for os9.
|
||||
The `os9_system <https://github.com/ansible-collections/dellemc.os9/blob/master/roles/os9_system/README.md>`_ role facilitates the configuration of global system attributes. This role specifically enables configuration of hostname and enable password for os9. It also supports the configuration of management route, hash alogrithm, clock, line terminal, banner, and reload type.
|
||||
|
||||
|
||||
Users role
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Provision CLOS fabric using the Ansible collection for Dell EMC OS9
|
||||
|
||||
This example describes how to use Ansible to build a CLOS fabric with Dell EMC OS9 switches. The sample topology is a two-tier CLOS fabric with two spines and four leaves connected as mesh. eBGP is running between the two tiers. All switches in spine have the same AS number, and each leaf switch has a unique AS number. All AS numbers used are private.
|
||||
This example describes how to use Ansible to build a CLOS fabric with a Dell EMC PowerSwitch platform running Dell EMC OS9 device. The sample topology is a two-tier CLOS fabric with two spines and four leaves connected as mesh. eBGP is running between the two tiers. All switches in spine have the same AS number, and each leaf switch has a unique AS number. All AS numbers used are private.
|
||||
|
||||
For application load-balancing purposes, the same prefix is advertised from multiple leaf switches and uses _BGP multipath relax_ feature.
|
||||
|
||||
|
@ -8,28 +8,28 @@ For application load-balancing purposes, the same prefix is advertised from mult
|
|||
|
||||
## Create a simple Ansible playbook
|
||||
|
||||
**Step 1**
|
||||
Create an inventory file called `inventory.yaml`, then specify the device IP address.
|
||||
**1**. Create an inventory file called `inventory.yaml`, then specify the device IP address.
|
||||
|
||||
**Step 2**
|
||||
Create a group variable file called `group_vars/all`, then define credentials and SNMP variables.
|
||||
**2**. Create a group variable file called `group_vars/all`, then define credentials and SNMP variables.
|
||||
|
||||
**Step 3**
|
||||
Create a group variable file called `group_vars/spine.yaml`, then define credentials, hostname, and BGP neighbors of spine group.
|
||||
**3**. Create a group variable file called `group_vars/spine.yaml`, then define credentials, hostname, and BGP neighbors of spine group.
|
||||
|
||||
**Step 4**
|
||||
Create a host variable file called `host_vars/spine1.yaml`, then define the host, credentials, and transport.
|
||||
Create a host variable file called `host_vars/spine2.yaml`, then define the host, credentials, and transport.
|
||||
**4**. Create a host variable file called `host_vars/spine1.yaml`, then define the host, credentials, and transport.
|
||||
|
||||
Create a host variable file called `host_vars/leaf1.yaml`, then define the host, credentials, and transport.
|
||||
Create a host variable file called `host_vars/leaf2.yaml`, then define the host, credentials, and transport.
|
||||
Create a host variable file called `host_vars/leaf3.yaml`, then define the host, credentials, and transport.
|
||||
Create a host variable file called `host_vars/leaf4.yaml`, then define the host, credentials, and transport.
|
||||
**5**. Create a host variable file called `host_vars/spine2.yaml`, then define the host, credentials, and transport.
|
||||
|
||||
**Step 5**
|
||||
Create a playbook called `datacenter.yaml`.
|
||||
**6**. Create a host variable file called `host_vars/leaf1.yaml`, then define the host, credentials, and transport.
|
||||
|
||||
**Step 6**
|
||||
Run the playbook.
|
||||
**7**. Create a host variable file called `host_vars/leaf2.yaml`, then define the host, credentials, and transport.
|
||||
|
||||
`ansible-playbook -i inventory.yaml datacenter.yaml`
|
||||
**8**. Create a host variable file called `host_vars/leaf3.yaml`, then define the host, credentials, and transport.
|
||||
|
||||
**9**. Create a host variable file called `host_vars/leaf4.yaml`, then define the host, credentials, and transport.
|
||||
|
||||
**10**. Create a playbook called `datacenter.yaml`.
|
||||
|
||||
**11**. Run the playbook.
|
||||
|
||||
ansible-playbook -i inventory.yaml datacenter.yaml
|
||||
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
|
@ -53,6 +53,22 @@ options:
|
|||
console freezes before continuing. For example when saving
|
||||
configurations.
|
||||
type: int
|
||||
authorize:
|
||||
description:
|
||||
- Instructs the module to enter privileged mode on the remote device before
|
||||
sending any commands. If not specified, the device will attempt to execute
|
||||
all commands in non-privileged mode. If the value is not specified in the
|
||||
task, the value of environment variable C(ANSIBLE_NET_AUTHORIZE) will be
|
||||
used instead.
|
||||
type: bool
|
||||
default: false
|
||||
auth_pass:
|
||||
description:
|
||||
- Specifies the password to use if required to enter privileged mode on the
|
||||
remote device. If I(authorize) is false, then this argument does nothing.
|
||||
If the value is not specified in the task, the value of environment variable
|
||||
C(ANSIBLE_NET_AUTH_PASS) will be used instead.
|
||||
type: str
|
||||
notes:
|
||||
- For more information on using Ansible to manage Dell EMC Network devices see U(https://www.ansible.com/ansible-dell-networking).
|
||||
'''
|
||||
'''
|
||||
|
|
|
@ -29,11 +29,17 @@
|
|||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
|
||||
import re
|
||||
|
||||
from ansible.module_utils._text import to_text
|
||||
from ansible.module_utils.basic import env_fallback
|
||||
from ansible.module_utils.network.common.utils import to_list, ComplexList
|
||||
from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import to_list, ComplexList
|
||||
from ansible.module_utils.connection import exec_command
|
||||
from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.config import NetworkConfig, ConfigLine
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ options:
|
|||
module is not returned until the condition is satisfied or
|
||||
the number of retries has expired.
|
||||
type: list
|
||||
elements: dict
|
||||
required: true
|
||||
wait_for:
|
||||
description:
|
||||
|
@ -45,6 +46,7 @@ options:
|
|||
within the configured number of I(retries), the task fails.
|
||||
See examples.
|
||||
type: list
|
||||
elements: str
|
||||
match:
|
||||
description:
|
||||
- The I(match) argument is used in conjunction with the
|
||||
|
@ -169,9 +171,9 @@ def main():
|
|||
"""
|
||||
argument_spec = dict(
|
||||
# { command: <str>, prompt: <str>, response: <str> }
|
||||
commands=dict(type='list', required=True),
|
||||
commands=dict(type='list', elements='dict', required=True),
|
||||
|
||||
wait_for=dict(type='list'),
|
||||
wait_for=dict(type='list', elements='str'),
|
||||
match=dict(default='all', choices=['all', 'any']),
|
||||
|
||||
retries=dict(default=10, type='int'),
|
||||
|
@ -228,4 +230,4 @@ def main():
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main()
|
||||
|
|
|
@ -32,6 +32,7 @@ options:
|
|||
in the device running-config. Be sure to note the configuration
|
||||
command syntax as some commands are automatically modified by the
|
||||
device config parser. This argument is mutually exclusive with I(src).
|
||||
type: list
|
||||
aliases: ['commands']
|
||||
parents:
|
||||
description:
|
||||
|
@ -39,6 +40,7 @@ options:
|
|||
the commands should be checked against. If the parents argument
|
||||
is omitted, the commands are checked against the set of top
|
||||
level or global commands.
|
||||
type: list
|
||||
src:
|
||||
description:
|
||||
- Specifies the source path to the file that contains the configuration
|
||||
|
@ -46,6 +48,7 @@ options:
|
|||
either be the full path on the Ansible control host or a relative
|
||||
path from the playbook or role root directory. This argument is
|
||||
mutually exclusive with I(lines).
|
||||
type: path
|
||||
before:
|
||||
description:
|
||||
- The ordered set of commands to push on to the command stack if
|
||||
|
@ -53,12 +56,14 @@ options:
|
|||
the opportunity to perform configuration commands prior to pushing
|
||||
any changes without affecting how the set of commands are matched
|
||||
against the system.
|
||||
type: list
|
||||
after:
|
||||
description:
|
||||
- The ordered set of commands to append to the end of the command
|
||||
stack if a change needs to be made. Just like with I(before) this
|
||||
allows the playbook designer to append a set of commands to be
|
||||
executed after the command set.
|
||||
type: list
|
||||
match:
|
||||
description:
|
||||
- Instructs the module on the way to perform the matching of
|
||||
|
@ -69,6 +74,7 @@ options:
|
|||
must be an equal match. Finally, if match is set to I(none), the
|
||||
module will not attempt to compare the source configuration with
|
||||
the running configuration on the remote device.
|
||||
type: str
|
||||
default: line
|
||||
choices: ['line', 'strict', 'exact', 'none']
|
||||
replace:
|
||||
|
@ -79,6 +85,7 @@ options:
|
|||
mode. If the replace argument is set to I(block) then the entire
|
||||
command block is pushed to the device in configuration mode if any
|
||||
line is not correct.
|
||||
type: str
|
||||
default: line
|
||||
choices: ['line', 'block']
|
||||
update:
|
||||
|
@ -90,6 +97,7 @@ options:
|
|||
device running configuration. When you set this argument to I(check)
|
||||
the configuration updates are determined but not actually configured
|
||||
on the remote device.
|
||||
type: str
|
||||
default: merge
|
||||
choices: ['merge', 'check']
|
||||
save:
|
||||
|
@ -108,6 +116,7 @@ options:
|
|||
every task in a playbook. The I(config) argument allows the
|
||||
implementer to pass in the configuration to use as the base
|
||||
config for comparison.
|
||||
type: str
|
||||
backup:
|
||||
description:
|
||||
- This argument will cause the module to create a full backup of
|
||||
|
@ -128,6 +137,7 @@ options:
|
|||
- The filename to be used to store the backup configuration. If the the filename
|
||||
is not given it will be generated based on the hostname, current time and date
|
||||
in format defined by <hostname>_config.<current-date>@<current-time>
|
||||
type: str
|
||||
dir_path:
|
||||
description:
|
||||
- This option provides the path ending with directory name in which the backup
|
||||
|
|
|
@ -34,6 +34,7 @@ options:
|
|||
values to include a larger subset. Values can also be used
|
||||
with an initial C(M(!)) to specify that a specific subset should
|
||||
not be collected.
|
||||
type: list
|
||||
default: [ '!config' ]
|
||||
notes:
|
||||
- This module requires OS9 version 9.10.0.1P13 or above.
|
||||
|
@ -350,7 +351,6 @@ class Interfaces(FactsBase):
|
|||
newline_count += 1
|
||||
if newline_count == 2:
|
||||
interface_start = True
|
||||
continue
|
||||
else:
|
||||
match = re.match(r'^(\S+) (\S+)', line)
|
||||
if match and interface_start:
|
||||
|
@ -369,7 +369,6 @@ class Interfaces(FactsBase):
|
|||
if "Time since" in line:
|
||||
interface_start = True
|
||||
parsed[key] += '\n%s' % line
|
||||
continue
|
||||
elif match and interface_start:
|
||||
interface_start = False
|
||||
key = match.group(0)
|
||||
|
@ -406,7 +405,7 @@ class Interfaces(FactsBase):
|
|||
for line in data.split('\n'):
|
||||
if len(line) == 0:
|
||||
continue
|
||||
elif line[0] == ' ':
|
||||
if line[0] == ' ':
|
||||
parsed[key] += '\n%s' % line
|
||||
else:
|
||||
match = re.match(r'^(\S+) (\S+)', line)
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
AAA role
|
||||
========
|
||||
|
||||
This role facilitates the configuration of authentication authorization acccounting (AAA). It supports the configuration of TACACS for OS9. The AAA role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
This role facilitates the configuration of authentication, authorization, and acccounting (AAA), and supports the configuration of RADIUS and TACACS servers. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The AAA role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -17,64 +19,64 @@ Role variables
|
|||
|
||||
| Key | Type | Description | Support |
|
||||
|------------|---------------------------|---------------------------------------------------------|-----------------------|
|
||||
| ``radius_server`` | dictionary | Configures the radius server (see ``radius_server.*``) | os9 |
|
||||
| ``radius_server.key`` | string (required): 0,7,LINE | Configures the authentication key for the radius server | os9 |
|
||||
| ``radius_server`` | dictionary | Configures the RADIUS server (see ``radius_server.*``) | os9 |
|
||||
| ``radius_server.key`` | string (required): 0,7,LINE | Configures the authentication key for the RADIUS server | os9 |
|
||||
| ``radius_server.key_string`` | string | Configures the user key string; variable takes the hidden user key string if value is 7; variable takes the unencrypted user key (clear-text) if value is 0; variable supported only if *radius_server.key* is 7 or 0 | os9 |
|
||||
| ``radius_server.retransmit`` | integer | Configures the number of retransmissions | os9 |
|
||||
| ``radius_server.timeout`` | integer | Configures the timeout for retransmissions | os9 |
|
||||
| ``radius_server.deadtime`` | integer | Configures the server dead time | os9 |
|
||||
| ``radius_server.group`` | dictionary | Configures the radius servers group (see ``group.*``) | os9 |
|
||||
| ``group.name`` | string (required) | Configures the group name of the radius servers | os9 |
|
||||
| ``group.host`` | dictionary | Configures the radius server host in the group (see ``host.*``) | os9 |
|
||||
| ``host.ip`` | string | Configures the radius server host address in the group | os9 |
|
||||
| ``radius_server.group`` | dictionary | Configures the RADIUS servers group (see ``group.*``) | os9 |
|
||||
| ``group.name`` | string (required) | Configures the group name of the RADIUS servers | os9 |
|
||||
| ``group.host`` | dictionary | Configures the RADIUS server host in the group (see ``host.*``) | os9 |
|
||||
| ``host.ip`` | string | Configures the RADIUS server host address in the group | os9 |
|
||||
| ``host.key`` | string (required): 0,7,LINE | Configures the authentication key | os9 |
|
||||
| ``host.key_string`` | string: 7,0 | Configures the user key string; variable takes the hidden user key string if value is 7; variable takes the unencrypted user key (clear-text) if value is 0; variable supported only if *host.key* is 7 or 0 | os9 |
|
||||
| ``host.retransmit`` | integer | Configures the number of retransmissions | os9 |
|
||||
| ``host.auth_port`` | integer | Configures the authentication port (0 to 65535) | os9 |
|
||||
| ``host.timeout`` | integer | Configures the timeout for retransmissions | os9 |
|
||||
| ``host.state`` | string: present,absent | Removes the host from group of radius server if set to absent | os9 |
|
||||
| ``group.vrf`` | dictionary | Configures the VRF for radius servers in the group (see ``vrf.*``) | os9 |
|
||||
| ``vrf.vrf_name`` | string (required) | Configures the name of VRF for the radius server group | os9 |
|
||||
| ``host.state`` | string: present,absent | Removes the host from group of RADIUS server if set to absent | os9 |
|
||||
| ``group.vrf`` | dictionary | Configures the VRF for RADIUS servers in the group (see ``vrf.*``) | os9 |
|
||||
| ``vrf.vrf_name`` | string (required) | Configures the name of VRF for the RADIUS server group | os9 |
|
||||
| ``vrf.source_intf`` | integer | Configures the source interface for outgoing packets from servers in the group | os9 |
|
||||
| ``vrf.state`` | string: present,absent | Removes the VRF from group of radius servers if set to absent | os9 |
|
||||
| ``group.state`` | string: present,absent | Removes the radius server group if set to absent | os9 |
|
||||
| ``radius_server.host`` | dictionary | Configures the radius server host (see ``host.*``) | os9 |
|
||||
| ``host.ip`` | string | Configures the radius server host address | os9 |
|
||||
| ``vrf.state`` | string: present,absent | Removes the VRF from group of RADIUS servers if set to absent | os9 |
|
||||
| ``group.state`` | string: present,absent | Removes the RADIUS server group if set to absent | os9 |
|
||||
| ``radius_server.host`` | dictionary | Configures the RADIUS server host (see ``host.*``) | os9 |
|
||||
| ``host.ip`` | string | Configures the RADIUS server host address | os9 |
|
||||
| ``host.key`` | string (required); 0,7,LINE | Configures the authentication key | os9 |
|
||||
| ``host.key_string`` | string | Configures the user key string; variable takes the hidden user key string if value is 7; variable takes the unencrypted user key (clear-text) if value is 0; variable supported only if *host.key* is 7 or 0 | os9 |
|
||||
| ``host.retransmit`` | integer | Configures the number of retransmissions | os9 |
|
||||
| ``host.auth_port`` | integer | Configures the authentication port (0 to 65535) | os9 |
|
||||
| ``host.timeout`` | integer | Configures timeout for retransmissions | os9 |
|
||||
| ``host.state`` | string: present,absent | Removes the radius server host if set to absent | os9 |
|
||||
| ``host.state`` | string: present,absent | Removes the RADIUS server host if set to absent | os9 |
|
||||
| ``auth.key`` | string (required); 0,7,LINE | Configures the authentication key | os9 |
|
||||
| ``tacacs_server`` | dictionary | Configures the tacacs server (see ``tacacs_server.*``)| os9 |
|
||||
| ``tacacs_server.key`` | string (required): 0,7,LINE | Configures the authentication key for tacacs server | os9 |
|
||||
| ``tacacs_server`` | dictionary | Configures the TACACS server (see ``tacacs_server.*``)| os9 |
|
||||
| ``tacacs_server.key`` | string (required): 0,7,LINE | Configures the authentication key for TACACS server | os9 |
|
||||
| ``tacacs_server.key_string`` | string | Configures the user key string; variable takes the hidden user key string if value is 7; variable takes the unencrypted user key (clear-text) if value is 0; variable supported only if *tacacs_server.key* is 7 or 0 | os9 |
|
||||
| ``tacacs_server.group`` | dictionary | Configures the group of tacacs servers (see ``group.*``) | os9 |
|
||||
| ``group.name`` | string (required) | Configures the group name of the tacacs servers | os9 |
|
||||
| ``group.host`` | dictionary | Configures the tacacs server host in the group (see ``host.*``) | os9 |
|
||||
| ``host.ip`` | string | Configures the tacacs server host address in the group | os9 |
|
||||
| ``host.key`` | string (required): 0,7,LINE | Configures the authentication key of the tacacs server host | os9 |
|
||||
| ``tacacs_server.group`` | dictionary | Configures the group of TACACS servers (see ``group.*``) | os9 |
|
||||
| ``group.name`` | string (required) | Configures the group name of the TACACS servers | os9 |
|
||||
| ``group.host`` | dictionary | Configures the TACACS server host in the group (see ``host.*``) | os9 |
|
||||
| ``host.ip`` | string | Configures the TACACS server host address in the group | os9 |
|
||||
| ``host.key`` | string (required): 0,7,LINE | Configures the authentication key of the TACACS server host | os9 |
|
||||
| ``host.key_string`` | string | Configures the user key string; variable takes the hidden user key string if value is 7; variable takes the unencrypted user key (clear-text) if value is 0; variable supported only *host.key* is 7 or 0 | os9 |
|
||||
| ``host.retransmit`` | integer | Configures the number of retransmissions | os9 |
|
||||
| ``host.auth_port`` | integer | Configures the authentication port (0 to 65535) | os9 |
|
||||
| ``host.timeout`` | integer | Configures timeout for retransmissions | os9 |
|
||||
| ``host.state`` | string: present,absent | Removes the host from group of tacacs server if set to absent | os9 |
|
||||
| ``group.vrf`` | dictionary | Configures VRF for tacacs servers in the group (see ``vrf.*``) | os9 |
|
||||
| ``vrf.vrf_name`` | string (required) | Configures the name of VRF for tacacs server group | os9 |
|
||||
| ``host.state`` | string: present,absent | Removes the host from group of TACACS server if set to absent | os9 |
|
||||
| ``group.vrf`` | dictionary | Configures VRF for TACACS servers in the group (see ``vrf.*``) | os9 |
|
||||
| ``vrf.vrf_name`` | string (required) | Configures the name of VRF for TACACS server group | os9 |
|
||||
| ``vrf.source_intf`` | integer | Configures source interface for outgoing packets from servers in the group | os9 |
|
||||
| ``vrf.state`` | string: present,absent | Removes the VRF from group of tacacs server if set to absent | os9 |
|
||||
| ``group.state`` | string: present,absent | Removes the tacacs server group if set to absent | os9 |
|
||||
| ``tacacs_server.host`` | dictionary | Configures the tacacs server host (see ``host.*``) | os9 |
|
||||
| ``host.ip`` | string | Configures the tacacs sever host address | os9 |
|
||||
| ``vrf.state`` | string: present,absent | Removes the VRF from group of TACACS server if set to absent | os9 |
|
||||
| ``group.state`` | string: present,absent | Removes the TACACS server group if set to absent | os9 |
|
||||
| ``tacacs_server.host`` | dictionary | Configures the TACACS server host (see ``host.*``) | os9 |
|
||||
| ``host.ip`` | string | Configures the TACACS sever host address | os9 |
|
||||
| ``host.key`` | string (required): 0,7,LINE | Configures the authentication key | os9 |
|
||||
| ``host.key_string`` | string | Configures the user key string; variable takes the hidden user key string if value is 7; variable takes the unencrypted user key (clear-text) if value is 0; variable supported only if *host.key* is 7 or 0 | os9 |
|
||||
| ``host.retransmit`` | integer | Configures the number of retransmissions | os9 |
|
||||
| ``host.auth_port`` | integer | Configures the authentication port (0 to 65535) | os9 |
|
||||
| ``host.timeout`` | integer | Configures the timeout for retransmissions | os9 |
|
||||
| ``host.state`` | string: present,absent | Removes the tacacs server host if set to absent | os9 |
|
||||
| ``host.state`` | string: present,absent | Removes the TACACS server host if set to absent | os9 |
|
||||
| ``aaa_accounting`` | dictionary | Configures accounting parameters (see ``aaa_accounting.*``) | os9 |
|
||||
| ``aaa_accounting.commands`` | list | Configures accounting for exec (shell) and config commands (see ``commands.*``) | os9 |
|
||||
| ``aaa_accounting.commands`` | list | Configures accounting for EXEC (shell) and config commands (see ``commands.*``) | os9 |
|
||||
| ``commands.enable_level`` | integer | Configures enable level for accounting of commands | os9 |
|
||||
| ``commands.role_name`` | string | Configures user role for accounting of commands; variable is mutually exclusive with ``enable_level`` | os9 |
|
||||
| ``commands.accounting_list_name`` | integer | Configures named accounting list for commands | os9 |
|
||||
|
@ -82,13 +84,13 @@ Role variables
|
|||
| ``commands.record_option`` | string: start-stop,stop-only,wait-start | Configures options to record data | os9 |
|
||||
| ``commands.state`` | string: present,absent | Removes the named accounting list for the commands if set to absent | os9 |
|
||||
| ``aaa_accounting.exec`` | list | Configures accounting for EXEC (shell) commands (see ``exec.*``) | os9 |
|
||||
| ``exec.accounting_list_name`` | string | Configures named accounting list for exec commands | os9 |
|
||||
| ``exec.no_accounting`` | boolean | Configures no accounting of EXEC commands | os9 |
|
||||
| ``exec.accounting_list_name`` | string | Configures named accounting list for EXEC (shell) commands | os9 |
|
||||
| ``exec.no_accounting`` | boolean | Configures no accounting of EXEC (shell) commands | os9 |
|
||||
| ``exec.record_option`` | string: start-stop,stop-only,wait-start | Configures options to record data | os9 |
|
||||
| ``exec.state`` | string: present,absent | Removes the named accounting list for the exec commands if set to absent | os9 |
|
||||
| ``exec.state`` | string: present,absent | Removes the named accounting list for the EXEC (shell) commands if set to absent | os9 |
|
||||
| ``aaa_accounting.suppress`` | boolean | Suppresses accounting for users with NULL username | os9|
|
||||
| ``aaa_accounting.dot1x`` | string: none,start-stop,stop-only,wait-start | Configures accounting for dot1x events | os9 |
|
||||
| ``aaa_accounting.rest`` | string:none,start-stop,stop-only,wait-start | Configures accounting for rest interface events | os9 |
|
||||
| ``aaa_accounting.rest`` | string:none,start-stop,stop-only,wait-start | Configures accounting for REST interface events | os9 |
|
||||
| ``aaa_authorization`` | dictionary | Configures authorization parameters (see ``aaa_authorization.*``) | os9 |
|
||||
| ``aaa_authorization.commands`` | list | Configures authorization for EXEC (shell) and config commands (see ``commands.*``)| os9 |
|
||||
| ``commands.enable_level`` | integer | Configures enable level for authorization of commands | os9 |
|
||||
|
@ -100,17 +102,17 @@ Role variables
|
|||
| ``aaa_authorization.config_commands`` | boolean | Configures authorization for configuration mode commands | os9 |
|
||||
| ``aaa_authorization.role_only`` | boolean | Configures validation of authentication mode for user role | os9 |
|
||||
| ``aaa_authorization.exec`` | list | Configures authorization for EXEC (shell) commands (see ``exec.*``) | os9 |
|
||||
| ``exec.authorization_list_name`` | string | Configures named authorization list for EXEC commands | os9 |
|
||||
| ``exec.authorization_method`` | string: none | Configures no authorization of EXEC commands | os9 |
|
||||
| ``exec.authorization_list_name`` | string | Configures named authorization list for EXEC (shell) commands | os9 |
|
||||
| ``exec.authorization_method`` | string: none | Configures no authorization of EXEC (shell) commands | os9 |
|
||||
| ``exec.use_data`` | string: local,tacacs+ | Configures data used for authorization | os9 |
|
||||
| ``exec.state`` | string: present,absent | Removes the named authorization list for the EXEC commands if set to absent | os9 |
|
||||
| ``exec.state`` | string: present,absent | Removes the named authorization list for the EXEC (shell) commands if set to absent | os9 |
|
||||
| ``aaa_authorization.network`` | string: none,radius,ias | Configures authorization for network events | os9 |
|
||||
| ``aaa_authentication`` | dictionary | Configures authentication parameters (see ``aaa_authentication.*``) | os9 |
|
||||
| ``aaa_radius`` | dictionary | Configures AAA for radius group of servers (see ``aaa_radius.*``) | os9 |
|
||||
| ``aaa_radius.group`` | string | Configures name of the radius group of servers for AAA | os9 |
|
||||
| ``aaa_radius.auth_method`` | string: pap,mschapv2 | Configures authentication method of radius group of servers for AAA | os9 |
|
||||
| ``aaa_tacacs`` | dictionary | Configures AAA for tacacs group of servers (see ``aaa_tacacs.*``) | os9 |
|
||||
| ``aaa_tacacs.group`` | string | Configures name of the tacacs group of servers for AAA | os9 |
|
||||
| ``aaa_radius`` | dictionary | Configures AAA for RADIUS group of servers (see ``aaa_radius.*``) | os9 |
|
||||
| ``aaa_radius.group`` | string | Configures name of the RADIUS group of servers for AAA | os9 |
|
||||
| ``aaa_radius.auth_method`` | string: pap,mschapv2 | Configures authentication method of RADIUS group of servers for AAA | os9 |
|
||||
| ``aaa_tacacs`` | dictionary | Configures AAA for TACACS group of servers (see ``aaa_tacacs.*``) | os9 |
|
||||
| ``aaa_tacacs.group`` | string | Configures name of the TACACS group of servers for AAA | os9 |
|
||||
| ``aaa_authentication.auth_list`` | list | Configures named authentication list for hosts (see ``host.*``) | os9 |
|
||||
| ``auth_list.name`` | string | Configures named authentication list | os9 |
|
||||
| ``auth_list.login_or_enable`` | string: enable,login | Configures authentication list for login or enable | os9 |
|
||||
|
@ -127,7 +129,7 @@ Role variables
|
|||
| ``commands.authorization_list_name`` | string | Configures named authorization list for commands | os9 |
|
||||
| ``commands.state`` | string: present,absent | Removes the authorization of commands from line terminal if set to absent | os9 |
|
||||
| ``authorization.exec`` | list | Configures authorization for EXEC (shell) commands at line terminal (see ``exec.*``) | os9 |
|
||||
| ``exec.authorization_list_name`` | string | Configures named authorization list for EXEC commands | os9 |
|
||||
| ``exec.authorization_list_name`` | string | Configures named authorization list for EXEC (shell) commands | os9 |
|
||||
| ``exec.state`` | string: present,absent | Removes the authorization of EXEC (shell) from line terminal if set to absent | os9 |
|
||||
| ``<terminal>.accounting`` | dictionary | Configures accounting parameters of line terminal (see ``accounting.*``) | os9 |
|
||||
| ``accounting.commands`` | list | Configures accounting for EXEC (shell) and config commands (see ``commands.*``) | os9 |
|
||||
|
@ -136,39 +138,39 @@ Role variables
|
|||
| ``commands.accounting_list_name`` | string | Configures named accounting list for commands | os9 |
|
||||
| ``commands.state`` | string: present,absent | Removes the accounting of commands from line terminal if set to absent | os9|
|
||||
| ``accounting.exec`` | list | Configures accounting for EXEC (shell) commands at line terminal (see ``exec.*``) | os9 |
|
||||
| ``exec.accounting_list_name`` | string | Configures named accounting list for EXEC commands | os9 |
|
||||
| ``exec.accounting_list_name`` | string | Configures named accounting list for EXEC (shell) commands | os9 |
|
||||
| ``exec.state`` | string: present,absent | Removes the accounting of EXEC (shell) from line terminal if set to absent | os9 |
|
||||
| ``<terminal>.authentication`` | dictionary | Configures authentication parameters of line terminal (see ``authentication.*``) | os9 |
|
||||
| ``authentication.enable`` | string | Configures the authentication list for privilege-level password authentication | os9 |
|
||||
| ``authentication.login`` | string | Configures the authentication list for password checking | os9 |
|
||||
| ``client.ip`` | string | Configures the client ip for the radius server | os9 |
|
||||
| ``client.key`` | string (required): 0,7,LINE | Configures the authentication key for the radius server | os9 |
|
||||
| ``client.ip`` | string | Configures the client IP for the radius server | os9 |
|
||||
| ``client.key`` | string (required): 0,7,LINE | Configures the authentication key for the RADIUS server | os9 |
|
||||
> **NOTE**: Asterisk (*) denotes the default value if none is specified.
|
||||
|
||||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_aaa* role to configure AAA for radius and TACACS servers. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with the corresponding Dell EMC Networking OS name.
|
||||
This example uses the *os9_aaa* role to configure AAA for RADIUS and TACACS servers. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS0 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in the *build_dir* path. By default, it is set to false and it writes a simple playbook that only references the *os9_aaa* role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in the *build_dir* path. By default, it is set to false and it writes a simple playbook that only references the *os9_aaa* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -316,7 +318,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
enable:
|
||||
login: console
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -326,4 +328,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
ACL role
|
||||
========
|
||||
|
||||
This role facilitates the configuration of an access-control list (ACL). It supports the configuration of different types of ACLs (standard and extended) for both IPv4 and IPv6, and assigns the access-class to the line terminals.
|
||||
This role facilitates the configuration of an access-control list (ACL). It supports the configuration of different types of ACLs (standard and extended) for both IPv4 and IPv6, and assigns the access-class to the line terminals. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The ACL role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables.
|
||||
The ACL role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -54,27 +54,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-------------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes /os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes /os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (_*_) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_acl* role to configure different types of ACLs (standard and extended) for both IPv4 and IPv6 and assigns the access-class to the line terminals. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with the corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_acl* role to configure different types of ACLs (standard and extended) for both IPv4 and IPv6 and assigns the access-class to the line terminals. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, it generates the configuration commands as a .part file in the *build_dir* path. By default it is set to false. It writes a simple playbook that only references the *os9_acl* role.
|
||||
When `os9_cfg_generate` is set to true, it generates the configuration commands as a .part file in the *build_dir* path. By default it is set to false. It writes a simple playbook that only references the *os9_acl* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -121,7 +121,7 @@ When *os9_cfg_generate* is set to true, it generates the configuration commands
|
|||
state: absent
|
||||
state: present
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -131,4 +131,4 @@ When *os9_cfg_generate* is set to true, it generates the configuration commands
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -15,4 +15,3 @@ galaxy_info:
|
|||
- emc
|
||||
- dellemc
|
||||
- os9
|
||||
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
BGP role
|
||||
========
|
||||
|
||||
This role facilitates the configuration of border gateway protocol (BGP) attributes. It supports the configuration of router ID, networks, neighbors, and maximum path. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of border gateway protocol (BGP) attributes. It supports the configuration of router ID, networks, neighbors, and maximum path. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The BGP role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables.
|
||||
The BGP role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 vas a value
|
||||
- If variable *os9_cfg_generate* is set to true, it generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, it generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable setting to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -23,7 +23,7 @@ Role variables
|
|||
| ``router_id`` | string | Configures the IP address of the local BGP router instance | os9 |
|
||||
| ``graceful_restart`` | boolean | Configures graceful restart capability | os9 |
|
||||
| ``graceful_restart.state`` | string: absent,present\* | Removes graceful restart capability if set to absent | os9 |
|
||||
| ``maxpath_ibgp`` | integer | qqConfigures the maximum number of paths to forward packets through iBGP (1 to 64; default 1) | os9 |
|
||||
| ``maxpath_ibgp`` | integer | Configures the maximum number of paths to forward packets through iBGP (1 to 64; default 1) | os9 |
|
||||
| ``maxpath_ebgp`` | integer | Configures the maximum number of paths to forward packets through eBGP (1 to 64; default 1) | os9 |
|
||||
| ``best_path`` | list | Configures the default best-path selection (see ``best_path.*``) | os9 |
|
||||
| ``best_path.as_path`` | string (required): ignore,multipath-relax | Configures the AS path used for the best-path computation | os9 |
|
||||
|
@ -80,27 +80,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_bgp* role to configure the BGP network and neighbors. It creates a *hosts* file with the switch details, a *host_vars* file with connection variables and the corresponding role variables.
|
||||
This example uses the *os9_bgp* role to configure the BGP network and neighbors. The example creates a hosts file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. This example writes a simple playbook that only references the *os9_bgp* role. The sample host_vars given below is for os9.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. This example writes a simple playbook that only references the *os9_bgp* role. The sample host_vars given below is for os9.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -211,7 +211,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
state: present
|
||||
state: present
|
||||
|
||||
**Simple playbook to configure BGP - leaf.yaml**
|
||||
**Simple playbook to configure BGP — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -221,4 +221,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -16,4 +16,3 @@ galaxy_info:
|
|||
- emc
|
||||
- dellemc
|
||||
- os9
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Copy-config role
|
||||
================
|
||||
|
||||
This role is used to push the backup running configuration into a Dell EMC Networking device running OS9, and merges the configuration in the template file with the running configuration of the device.
|
||||
This role is used to push the backup running configuration into a Dell EMC OS9 device, and merges the configuration in the template file with the running configuration of the device. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The copy_config role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The copy-config role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
|
@ -18,18 +18,18 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
|
@ -118,7 +118,7 @@ This example uses the *os9_copy_config* role to push the configuration file into
|
|||
exit
|
||||
!
|
||||
|
||||
**Simple playbook to setup to push configuration file into device - leaf.yaml**
|
||||
**Simple playbook to setup to push configuration file into device — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -128,4 +128,4 @@ This example uses the *os9_copy_config* role to push the configuration file into
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -17,4 +17,3 @@ galaxy_info:
|
|||
- emc
|
||||
- dellemc
|
||||
- os9
|
||||
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
DCB role
|
||||
========
|
||||
|
||||
This role facilitates the configuration of data center bridging (DCB). It supports the configuration of the DCB map and the DCB buffer, and assigns them to interfaces. This role is abstracted for Dell EMC platfroms running OS9.
|
||||
This role facilitates the configuration of data center bridging (DCB). It supports the configuration of the DCB map and the DCB buffer, and assigns them to interfaces. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The DCB role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The DCB role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable and can take the dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable and can take the `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -51,27 +51,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_dcb* role to completely configure DCB map and DCB buffer profiles and assigns it to interfaces. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_dcb* role to completely configure DCB map and DCB buffer profiles and assigns it to interfaces. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. It writes a simple playbook that only references the *os9_dcb* role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. It writes a simple playbook that only references the *os9_dcb* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -120,7 +120,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
state: present
|
||||
state: present
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -130,4 +130,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
DNS role
|
||||
========
|
||||
|
||||
This role facilitates the configuration of the domain name service (DNS). This role is abstracted for Dell EMC platforms running OS9 and requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables.
|
||||
This role facilitates the configuration of the domain name service (DNS). This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The DNS role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take the dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take the dellemc.os9.os9 as a value
|
||||
- If `os9_cfg_generate` set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -27,27 +29,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_dns* role to completely set up the DNS server configuration. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_dns* role to completely set up the DNS server configuration. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. It writes a simple playbook that only references the *os9_dns* role. By including the role, you automatically get access to all of the tasks to configure DNS.
|
||||
When `os9_cfg_generate` is set to true, generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. It writes a simple playbook that only references the *os9_dns* role. By including the role, you automatically get access to all of the tasks to configure DNS.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -79,7 +81,7 @@ When *os9_cfg_generate* is set to true, generates the configuration commands as
|
|||
- 3.3.2.2
|
||||
state: absent
|
||||
|
||||
**Simple playbook to setup DNS - leaf.yaml**
|
||||
**Simple playbook to setup DNS — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -89,4 +91,4 @@ When *os9_cfg_generate* is set to true, generates the configuration commands as
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
ECMP role
|
||||
=========
|
||||
|
||||
This role facilitates the configuration of equal cost multi-path (ECMP). It supports the configuration of ECMP for IPv4, and is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of equal cost multi-path (ECMP), and it supports the configuration of ECMP for IPv4. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The ECMP role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables.
|
||||
The ECMP role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take the dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take the dellemc.os9.os9 as a value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -29,27 +29,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_ecmp* role to configure ECMP for IPv4. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with the corresponding Dell EMC Networking OS name.
|
||||
This example uses the *os9_ecmp* role to configure ECMP for IPv4. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. The example writes a simple playbook that only references the *os9_ecmp* role. The sample *host_vars* is provided for os9 only.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. The example writes a simple playbook that only references the *os9_ecmp* role. The sample *host_vars* is provided for OS9 only.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -76,7 +76,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
ecmp_group_max_paths: 3
|
||||
ecmp_group_path_fallback: true
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -86,4 +86,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
Interface role
|
||||
==============
|
||||
|
||||
This role facilitates the configuration of interface attributes. It supports the configuration of admin state, description, MTU, IP address, IP helper, suppress_ra and port mode. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of interface attributes. It supports the configuration of admin state, description, MTU, IP address, IP helper, suppress_ra and port mode. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The interface role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The interface role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable setting to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- *os9_interface* (dictionary) holds a dictionary with the interface name; interface name can correspond to any of the valid OS interfaces with the unique interface identifier name
|
||||
- For physical interfaces, the interface name must be in *<interfacename> <tuple>* format; for logical interfaces, the interface must be in *<logical_interfacename> <id>* format; physical interface name can be *fortyGigE 1/1* for os9 devices
|
||||
- `os9_interface` (dictionary) holds a dictionary with the interface name; interface name can correspond to any of the valid OS interfaces with the unique interface identifier name
|
||||
- For physical interfaces, the interface name must be in *<interfacename> <tuple>* format; for logical interfaces, the interface must be in *<logical_interfacename> <id>* format; physical interface name can be *fortyGigE 1/1*
|
||||
- For interface ranges, the interface name must be in *range <interface_type> <node/slot/port[:subport]-node/slot/port[:subport]>* format;
|
||||
- Logical interface names can be *vlan 1* or *port-channel 1* for os9 devices
|
||||
- Logical interface names can be *vlan 1* or *port-channel 1*
|
||||
- Variables and values are case-sensitive
|
||||
|
||||
> **NOTE**: Only define supported variables for the interface type. For example, do not define the *switchport* variable for a logical interface; do not configure portmode when *switchport* is present in os9 devices;
|
||||
> **NOTE**: Only define supported variables for the interface type. For example, do not define the *switchport* variable for a logical interface, and do not configure port mode when *switchport* is present in OS9 devices.
|
||||
|
||||
**interface name keys**
|
||||
|
||||
| Key | Type | Description | Support |
|
||||
|------------|---------------------------|---------------------------------------------------------|-----------------------|
|
||||
| ``desc`` | string | Configures a single line interface description | os9 |
|
||||
| ``portmode`` | string | Configures port-mode according to the device type | (access and trunk), os9 (hybrid) |
|
||||
| ``portmode`` | string | Configures port-mode according to the device type | access and trunk, os9 (hybrid) |
|
||||
| ``switchport`` | boolean: true,false\* | Configures an interface in L2 mode | os9 |
|
||||
| ``admin`` | string: up,down\* | Configures the administrative state for the interface; configuring the value as administratively "up" enables the interface; configuring the value as administratively "down" disables the interface | os9 |
|
||||
| ``mtu`` | integer | Configures the MTU size for L2 and L3 interfaces; example, MTU range is 594 to 12000 for os9 devices, 1280 to 65535 o devices, and set globally on devices | os9 |
|
||||
| ``fanout`` | string:dual, single, quad (os9); string:10g-4x, 40g-1x, 25g-4x, 100g-1x, 50g-2x) | Configures fanout to the appropriate value in os9* devices.| os9 |
|
||||
| ``mtu`` | integer | Configures the MTU size for L2 and L3 interfaces (594 to 12000; 1280 to 65535 to set globally) | os9 |
|
||||
| ``fanout`` | string:dual, single, quad (os9); string:10g-4x, 40g-1x, 25g-4x, 100g-1x, 50g-2x) | Configures fanout to the appropriate value | os9 |
|
||||
| ``fanout_speed`` | string: 10G, 25G, 40G, 50G | Configures speed for the fanout port based on the fanout mode specified | os9 |
|
||||
| ``fanout_state`` | string: present, absent* | Configures the fanout mode to a port if state is set to present | os9 |
|
||||
| ``keepalive`` | boolean: true,false | Configures keepalive on the port if set to true | os9 |
|
||||
|
@ -44,14 +44,14 @@ Role variables
|
|||
| ``class_vendor_identifier`` | string: present,absent,string | Configures the vendor-class identifier without a user-defined string if set to present; configures a vendor-class identifier with a user-defined string when a string is specified; ignored when *ip_type_dynamic* is set to false | os9 |
|
||||
| ``option82`` | boolean: true,false\* | Configures option82 with the remote-id MAC address if *remote_id* is undefined; ignored when *ip_type_dynamic* is set to false | os9 |
|
||||
| ``remote_id`` |string: hostname,mac,string | Configures option82 with the specified *remote-id*; ignored when *option82* is set to false | os9 |
|
||||
| ``vrf`` | string | Configures the specified VRF to be associated to the interface o devices |
|
||||
| ``min_ra`` | string | Configures RA minimum interval time period |
|
||||
| ``max_ra`` | string | Configures RA maximum interval time period |
|
||||
| ``ip_and_mask`` | string | Configures the specified IP address to the interface on os9 an devices; configures the specified IP address to the interface VLAN on devices (192.168.11.1/24 format) | os9 |
|
||||
| ``vrf`` | string | Configures the specified VRF to be associated to the interface | os9 |
|
||||
| ``min_ra`` | string | Configures RA minimum interval time period | os9 |
|
||||
| ``max_ra`` | string | Configures RA maximum interval time period | os9 |
|
||||
| ``ip_and_mask`` | string | Configures the specified IP address to the interface; configures the specified IP address to the interface VLAN on devices (192.168.11.1/24 format) | os9 |
|
||||
| ``ip_and_mask_secondary`` | string | Configures the specified IP address as secondary address to the interface on os9 an devices (192.168.11.2/24 format) | os9 |
|
||||
| ``ip_virtual_gateway_ip`` | string | Configures an anycast gateway IP address for a VXLAN virtual network |
|
||||
| ``ip_virtual_gateway_ip`` | string | Configures an anycast gateway IP address for a VxLAN virtual network |
|
||||
| ``secondary_ip_state`` | string: absent,present\* | Deletes the secondary IP address if set to absent | os9 |
|
||||
| ``ipv6_and_mask`` | string | Configures a specified IPv6 address to the interface on os9 an devices; configures a specified IP address to the interface VLAN on devices (2001:4898:5808:ffa2::1/126 format) | os9 |
|
||||
| ``ipv6_and_mask`` | string | Configures a specified IPv6 address to the interface; configures a specified IP address to the interface VLAN on devices (2001:4898:5808:ffa2::1/126 format) | os9 |
|
||||
| ``state_ipv6`` | string: absent,present\* | Deletes the IPV6 address if set to absent |
|
||||
| ``ipv6_reachabletime`` | integer | Configures the reachability time for IPv6 neighbor discovery (0 to 3600000) | os9 |
|
||||
| ``ip_helper`` | list | Configures DHCP server address objects (see ``ip_helper.*``) | os9 |
|
||||
|
@ -63,27 +63,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | /os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the` ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | /os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_interface* role to set up description, MTU, admin status, portmode, and switchport details for an interface. The example creates a *hosts* file with the switch details and orresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_interface* role to set up description, MTU, admin status, portmode, and switchport details for an interface. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, this variable is set to false. The example writes a simple playbook that only references the *os9_interface* role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, this variable is set to false. The example writes a simple playbook that only references the *os9_interface* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -160,7 +160,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
max_ra: 4
|
||||
admin: up
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf3
|
||||
roles:
|
||||
|
@ -170,4 +170,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
LAG role
|
||||
========
|
||||
|
||||
This role facilitates the configuration of link aggregation group (LAG) attributes, and supports the creation and deletion of a LAG and its member ports. It also supports the configuration of an interface type as a static or dynamic LAG and minimum required link. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of link aggregation group (LAG) attributes, and supports the creation and deletion of a LAG and its member ports. It also supports the configuration of an interface type as a static or dynamic LAG and minimum required link. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The LAG role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The LAG role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- Object drives the tasks in this role
|
||||
- *os9_lag* (dictionary) contains the hostname (dictionary)
|
||||
- `os9_lag` (dictionary) contains the hostname (dictionary)
|
||||
- Hostname is the value of the *hostname* variable that corresponds to the name of the OS device
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value
|
||||
- Any role variable with a corresponding state variable setting to absent negates the configuration of that variable
|
||||
- Setting an empty value to any variable negates the corresponding configuration
|
||||
- *os9_lag* (dictionary) holds a dictionary with the port-channel ID key in `Po <ID>` format (1 to 4096 for os9)
|
||||
- `os9_lag` (dictionary) holds a dictionary with the port-channel ID key in `Po <ID>` format (1 to 4096)
|
||||
- Variables and values are case-sensitive
|
||||
|
||||
**port-channel ID keys**
|
||||
|
@ -26,7 +26,7 @@ Role variables
|
|||
| ``lacp`` | dictionary | Specifies LACP fast-switchover or long timeout options | os9 |
|
||||
| ``lacp.fast_switchover`` | boolean | Configures the fast-switchover option if set to true | os9 |
|
||||
| ``lacp.long_timeout`` | boolean | Configures the long-timeout option if set to true | os9 |
|
||||
| ``lacp_system_priority`` | integer | Configures the LACP system-priority value (1 to 65535 for os9) | os9 |
|
||||
| ``lacp_system_priority`` | integer | Configures the LACP system-priority value (1 to 65535) | os9 |
|
||||
| ``lacp_ungroup_vlt`` | boolean | Configures all VLT LACP members to be switchports if set to true | os9 |
|
||||
| ``lacp_ungroup`` | list | Specifies the list of port-channels to become switchports (see ``lacp_ungroup.*``) | os9 |
|
||||
| ``lacp_ungroup.port_channel`` | integer (required) | Specifies valid port-channel numbers | os9 |
|
||||
|
@ -41,26 +41,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_lag* role to setup port channel ID and description, and configures hash algorithm and minimum links for the LAG. Channel members can be configured for the port-channel either in static or dynamic mode. You can also delete the LAG with the port-channel ID or delete the members associated to it. This example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_lag* role to setup port channel ID and description, and configures hash algorithm and minimum links for the LAG. Channel members can be configured for the port-channel either in static or dynamic mode. You can also delete the LAG with the port-channel ID or delete the members associated to it. This example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_lag* role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_lag* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -96,7 +97,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
state: present
|
||||
state: present
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -106,4 +107,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
LLDP role
|
||||
=========
|
||||
|
||||
This role facilitates the configuration of link layer discovery protocol (LLDP) attributes at a global and interface level. It supports the configuration of hello, mode, multiplier, advertise tlvs, management interface, FCoE, ISCSI at global and interface level. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of link layer discovery protocol (LLDP) attributes at a global and interface level. It supports the configuration of hello, mode, multiplier, advertise TLVs, management interface, FCoE, iSCSI at global and interface level. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The LLDP role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The LLDP role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -24,7 +24,7 @@ Role variables
|
|||
| ``mode`` | string: rx,tx | Configures global LLDP mode configuration | os9 |
|
||||
| ``multiplier`` | integer | Configures the global LLDP multiplier (2 to 10) | os9 |
|
||||
| ``fcoe_priority_bits`` | integer | Configures priority bits for FCoE traffic (1 to FF) | os9 |
|
||||
| ``iscsi_priority_bits`` | integer | Configures priority bits for ISCSI traffic (1 to FF) | os9 |
|
||||
| ``iscsi_priority_bits`` | integer | Configures priority bits for iSCSI traffic (1 to FF) | os9 |
|
||||
| ``dcbx`` | dictionary | Configures DCBx parameters at the global level (see ``dcbx.*``) | os9 |
|
||||
| ``dcbx.version`` | string | Configures the DCBx version | os9 |
|
||||
| ``advertise`` | dictionary | Configures LLDP-MED and TLV advertisement at the global level (see ``advertise.*``) | os9 |
|
||||
|
@ -56,7 +56,7 @@ Role variables
|
|||
| ``location_identification.value`` | string | Configures location information values | os9 |
|
||||
| ``location_identification.state`` | string: absent,present | Deletes the location information if set to absent | os9 |
|
||||
| ``management_interface`` | dictionary | Configures LLDP on the management interface (see ``management_interface.*``) | os9 |
|
||||
| ``management_interface.enable`` | boolean | Enables or disables LLDP on the management interface | os9 |
|
||||
| ``management_interface.enable`` | boolean | Enables/disables LLDP on the management interface | os9 |
|
||||
| ``management_interface.hello`` | integer | Configures LLDP hello interval on the management interface (5 to 180) | os9 |
|
||||
| ``management_interface.mode`` | string: rx,tx | Configures LLDP mode on the management interface | os9 |
|
||||
| ``management_interface.multiplier`` | integer | Configures LLDP multiplier on the management interface (2 to 10) | os9 |
|
||||
|
@ -65,7 +65,7 @@ Role variables
|
|||
| ``advertise.management_tlv`` | string | Configures management TLVs advertisement | os9 |
|
||||
| ``advertise.management_tlv_state`` | string: absent,present | Deletes management TLVs advertisement if set to absent | os9 |
|
||||
| ``local_interface`` | dictionary | Configures LLDP at the interface level (see ``local_interface.*``) | os9 |
|
||||
| ``local_interface.<interface name>`` | dictionary | Configures LLDP at the interface level (see ``<interface name>.*``) | os9 |
|
||||
| ``local_interface.<interface name>`` | dictionary | Configures LLDP at the interface level (see ``interface name.*``) | os9 |
|
||||
| ``<interface name>.state`` | string: absent,present | Deletes LLDP at the interface level if set to absent | os9 |
|
||||
| ``<interface name>.enable`` | boolean | Enables or disables LLDP at the interface level | os9 |
|
||||
| ``<interface name>.hello`` | integer | Configures LLDP hello interval at the interface level (5 to 180) | os9 |
|
||||
|
@ -107,25 +107,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_lldp* role to configure protocol lldp. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name. When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_lldp* role.
|
||||
This example uses the *os9_lldp* role to configure protocol lldp. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_lldp* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -232,7 +234,7 @@ This example uses the *os9_lldp* role to configure protocol lldp. It creates a *
|
|||
- loc_info: ecs-elin
|
||||
value: 12345678911
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -242,4 +244,4 @@ This example uses the *os9_lldp* role to configure protocol lldp. It creates a *
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -17,4 +17,3 @@ galaxy_info:
|
|||
- emc
|
||||
- dellemc
|
||||
- os9
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
Logging role
|
||||
============
|
||||
|
||||
This role facilitates the configuration of global logging attributes, and it supports the configuration of logging servers. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of global logging attributes, and it supports the configuration of logging servers. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The Logging role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The Logging role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value
|
||||
- If the *os9_cfg_generate* variable is set to true, it generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If the `os9_cfg_generate` variable is set to true, it generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
- Variables and values are case-sensitive
|
||||
|
||||
**os9_logging keys**
|
||||
|
||||
|
@ -57,31 +57,33 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USE`R environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_logging* role to completely set up logging servers. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name. When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false.
|
||||
This example uses the *os9_logging* role to completely set up logging servers. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
leaf1 ansible_host= <ip_address>
|
||||
|
||||
#### Sample host_vars/leaf1
|
||||
**Sample host_vars/leaf1**
|
||||
|
||||
hostname: leaf1
|
||||
ansible_become: yes
|
||||
|
@ -133,7 +135,7 @@ This example uses the *os9_logging* role to completely set up logging servers. I
|
|||
state: present
|
||||
source_interface: "fortyGigE 1/9"
|
||||
|
||||
**Simple playbook to setup logging - leaf.yaml**
|
||||
**Simple playbook to setup logging — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -143,4 +145,4 @@ This example uses the *os9_logging* role to completely set up logging servers. I
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
NTP role
|
||||
========
|
||||
|
||||
This role facilitates the configuration of network time protocol (NTP) attributes. This role is abstracted for Dell EMC platforms running os9. It specifically enables configuration of NTP server for OS9.
|
||||
This role facilitates the configuration of network time protocol (NTP) attributes, and it specifically enables configuration of NTP server. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The NTP role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The NTP role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value.
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value.
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -29,27 +29,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-------------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_ntp* role to set the NTP server, source ip, authentication and broadcast service. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name. When the *os9_cfg_generate* variable is set to true, it generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. The example writes a simple playbook that only references the *os9_ntp* role.
|
||||
This example uses the *os9_ntp* role to set the NTP server, source ip, authentication and broadcast service. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
By including the role, you automatically get access to all of the tasks to configure NTP attributes. The sample *host_vars* is for os9.
|
||||
When the `os9_cfg_generate` variable is set to true, it generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. The example writes a simple playbook that only references the *os9_ntp* role. By including the role, you automatically get access to all of the tasks to configure NTP attributes.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -85,7 +85,7 @@ By including the role, you automatically get access to all of the tasks to confi
|
|||
disable: true
|
||||
broadcast: true
|
||||
|
||||
**Simple playbook to setup NTP - leaf.yaml**
|
||||
**Simple playbook to setup NTP — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -95,4 +95,4 @@ By including the role, you automatically get access to all of the tasks to confi
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
Prefix-list role
|
||||
================
|
||||
|
||||
This role facilitates the configuration of a prefix-list. It supports the configuration of an IP prefix-list, and assigns the prefix-list to line terminals. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of a prefix-list. It supports the configuration of an IP prefix-list, and assigns the prefix-list to line terminals. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The prefix-list role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables.
|
||||
The prefix-list role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value.
|
||||
- If *os9_cfg_generate* set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -37,27 +37,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_prefix_list* role to configure prefix_list for both IPv4 and IPv6. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_prefix_list* role to configure prefix_list for both IPv4 and IPv6. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_prefix_list* role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_prefix_list* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -97,7 +97,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
state: present
|
||||
state: present
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -107,4 +107,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
sFlow role
|
||||
==========
|
||||
|
||||
This role facilitates the configuration of global and interface level sFlow attributes. It supports the configuration of sFlow collectors at the global level, enable/disable, and specification of sFlow polling-interval, sample-rate, max-datagram size, and so on are supported at the interface and global level. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of global and interface level sFlow attributes. It supports the configuration of sFlow collectors at the global level, enable/disable, and specification of sFlow polling-interval, sample-rate, max-datagram size, and so on are supported at the interface and global level. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The os9_sflow role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables.
|
||||
The sFlow role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take the dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take the `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- *os9_sflow* (dictionary) contains keys along with *interface name* (dictionary)
|
||||
- `os9_sflow` (dictionary) contains keys along with *interface name* (dictionary)
|
||||
- Interface name can correspond to any of the valid os9 physical interfaces with the unique interface identifier name
|
||||
- Interface name must be in *<interfacename> <tuple>* format; physical interface name can be in *fortyGigE 1/1* format for os9 devices
|
||||
- Interface name must be in *<interfacename> <tuple>* format; physical interface name can be in *fortyGigE 1/1* format
|
||||
- Variables and values are case-sensitive
|
||||
|
||||
**os9_sflow keys**
|
||||
|
@ -51,27 +51,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories,or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories,or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_sflow* role to configure sFlow attributes at interface and global level. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with the corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_sflow* role to configure sFlow attributes at interface and global level. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_sflow* role. By including the role, you automatically get access to all of the tasks to configure sFlow features.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_sflow* role. By including the role, you automatically get access to all of the tasks to configure sFlow features.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -107,7 +107,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
sample_rate: 1024
|
||||
max_header_size: true
|
||||
|
||||
**Simple playbook to setup sflow - leaf.yaml**
|
||||
**Simple playbook to setup sflow — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -117,4 +117,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
SNMP role
|
||||
=========
|
||||
|
||||
This role facilitates the configuration of global SNMP attributes. It supports the configuration of SNMP server attributes including users, group, community, location, and traps. This role is abstracted for Dell EMC platforms running OS9
|
||||
This role facilitates the configuration of global SNMP attributes. It supports the configuration of SNMP server attributes including users, group, community, location, and traps. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The SNMP role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The SNMP role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -31,7 +31,7 @@ Role variables
|
|||
| ``snmp_host.ipv6`` | stirng | Configures the IPv6 address for the SNMP trap host | os9 |
|
||||
| ``snmp_host.communitystring`` | string | Configures the SNMP community string of the trap host | os9 |
|
||||
| ``snmp_host.udpport`` | string | Configures the UDP number of the SNMP trap host (0 to 65535) | os9 |
|
||||
| ``snmp_host.version`` | string (required) | Specifies the SNMP version of the host (either 1 or 2c or 3 in os9) | os9 |
|
||||
| ``snmp_host.version`` | string (required) | Specifies the SNMP version of the host (either 1 or 2c or 3) | os9 |
|
||||
| ``snmp_host.vrf`` | list | Configures the SNMP VRF trap for the SNMP host (list of VRF names) | os9 |
|
||||
| ``snmp_host.state`` | string: absent,present\* | Deletes the SNMP trap host if set to absent | os9 |
|
||||
| ``snmp_traps`` | list | Configures SNMP traps (see ``snmp_traps.*``) | os9 |
|
||||
|
@ -39,7 +39,7 @@ Role variables
|
|||
| ``snmp_traps.state`` | string: absent,present\* | Deletes the SNMP trap if set to absent | os9 |
|
||||
| ``snmp_engine_id`` | string | Configures the SNMPv3 engineID for the local agent | os9 |
|
||||
| ``snmp_view`` | list | Configures SNMPv3 view information (see ``snmp_view.*``) | os9 |
|
||||
| ``snmp_view.name`` | string | Configures the SNMP view name (20 characters maximum) | os9 |
|
||||
| ``snmp_view.name`` | string | Configures the SNMP view name (up to 20 characters) | os9 |
|
||||
| ``snmp_view.oid_subtree`` | integer | Configures the SNMP view for the OID subtree | os9 |
|
||||
| ``snmp_view.include`` | boolean: true,false | Specifies whether the MIB family should be included or excluded from the view | os9 |
|
||||
| ``snmp_user`` | list | Configures SNMP users for each group name (see ``snmp_user.*``) | os9 |
|
||||
|
@ -80,27 +80,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_snmp* role to completely set up the SNMP server attributes. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_snmp* role to completely set up the SNMP server attributes. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_snmp* role. By including the role, you automatically get access to all of the tasks to configure SNMP features.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_snmp* role. By including the role, you automatically get access to all of the tasks to configure SNMP features.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -179,7 +179,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
state: present
|
||||
state: present
|
||||
|
||||
**Simple playbook to setup snmp - leaf.yaml**
|
||||
**Simple playbook to setup snmp — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -189,4 +189,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
System role
|
||||
===========
|
||||
|
||||
This role facilitates the configuration of global system attributes, and is abstracted for Dell EMC platforms running OS9. It specifically enables configuration of hostname and enable password. It supports the configuration of management route, hash alogrithm, clock, line terminal, banner, and reload type.
|
||||
This role facilitates the configuration of global system attributes, and it specifically enables configuration of hostname and enable password. It supports the configuration of management route, hash alogrithm, clock, line terminal, banner, and reload type. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The os9_system role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The System role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc_netowrking.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc_netowrking.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -95,27 +95,27 @@ Role variables
|
|||
Connection variables
|
||||
********************
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_system role* to completely set the NTP server, hostname, enable password, management route, hash alogrithm, clock, line terminal, banner and reload type. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_system role* to completely set the NTP server, hostname, enable password, management route, hash alogrithm, clock, line terminal, banner and reload type. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. The system role writes a simple playbook that only references the *os9_system* role. By including the role, you automatically get access to all of the tasks to configure system features.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. The system role writes a simple playbook that only references the *os9_system* role. By including the role, you automatically get access to all of the tasks to configure system features.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -210,7 +210,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
exec_timeout: 40 200
|
||||
motd_banner: true
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -220,4 +220,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
Users role
|
||||
==========
|
||||
|
||||
This role facilitates the configuration of global system user attributes. It supports the configuration of CLI users, and is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of global system user attributes, and it supports the configuration of CLI users. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The users role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The users role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -23,7 +23,7 @@ Role variables
|
|||
| ``username`` | string (required) | Configures the username which must adhere to specific format guidelines (valid usernames begin with A-Z, a-z, or 0-9 and can also contain `@#$%^&*-_= +;<>,.~` characters) | os9 |
|
||||
| ``password`` | string | Configures the password set for the username; | os9 |
|
||||
| ``role`` | string | Configures the role assigned to the user | os9 |
|
||||
| ``privilege`` | int | Configures the privilege level for the user; integers between 0 and 15 for os9 devices; if this key is ommitted, the default privilege is 1 for both os9 | os9 |
|
||||
| ``privilege`` | int | Configures the privilege level for the user (0 to 15); if this key is ommitted, the default privilege is 1 for both os9 | os9 |
|
||||
| ``access_class`` | string | Configures the access-class for the user | os9 |
|
||||
| ``pass_key`` | integer: 0\*,7 | Configures the password as encrypted if set to 7 in os9 devices | os9 |
|
||||
| ``secret`` | string | Configures line password as secret in os9 devices | os9 |
|
||||
|
@ -35,25 +35,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value. If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file. It writes a simple playbook that only references the *os9_users* role. By including the role, you automatically get access to all of the tasks to configure user features.
|
||||
This example uses the *os9_users* role to configure global system user attributes. The example creates a hosts file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file. It writes a simple playbook that only references the *os9_users* role. By including the role, you automatically get access to all of the tasks to configure user features.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -92,7 +94,7 @@ This role is abstracted using the *ansible_network_os* variable that can take de
|
|||
role: sysadmin
|
||||
state: present
|
||||
|
||||
**Simple playbook to setup users - leaf.yaml**
|
||||
**Simple playbook to setup users — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -102,4 +104,4 @@ This role is abstracted using the *ansible_network_os* variable that can take de
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
VLAN role
|
||||
=========
|
||||
|
||||
This role facilitates configuring virtual LAN (VLAN) attributes. It supports the creation and deletion of a VLAN and its member ports. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates configuring virtual LAN (VLAN) attributes. It supports the creation and deletion of a VLAN and its member ports. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The VLAN role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables.
|
||||
The VLAN role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value.
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- For variables with no state variable, setting an empty value for the variable negates the corresponding configuration
|
||||
- *os9_vlan* (dictionary) holds the key with the VLAN ID key and default-vlan key.
|
||||
- `os9_vlan` (dictionary) holds the key with the VLAN ID key and default-vlan key.
|
||||
- VLAN ID key should be in format "vlan <ID>" (1 to 4094)
|
||||
- Variables and values are case-sensitive
|
||||
|
||||
|
@ -41,27 +41,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars directories* or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars directories* or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
## Example playbook
|
||||
|
||||
This example uses the *os9_vlan* role to setup the VLAN ID and name, and it configures tagged and untagged port members for the VLAN. You can also delete the VLAN with the ID or delete the members associated to it. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_vlan* role to setup the VLAN ID and name, and it configures tagged and untagged port members for the VLAN. You can also delete the VLAN with the ID or delete the members associated to it. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the os9_vlan role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the os9_vlan role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -92,7 +92,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
state: present
|
||||
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -102,4 +102,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
VLT role
|
||||
========
|
||||
|
||||
This role facilitates the configuration of the basics of virtual link trunking (VLT) to provide a loop-free topology. This role is abstracted for Dell EMC platform running OS9.
|
||||
This role facilitates the configuration of the basics of virtual link trunking (VLT) to provide a loop-free topology. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The VLT role requires an SSH connection for connectivity to your Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The VLT role requires an SSH connection for connectivity to your Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value.
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -57,27 +57,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking OS roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
Ansible Dell EMC network OS roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_vlt* role to setup a VLT-domain. It creates a *hosts* file with the switch details and corresponding variables.The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_vlt* role to setup a VLT-domain. It creates a *hosts* file with the switch details and corresponding variables.The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_vlt* role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_vlt* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -120,7 +120,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
peer_lag: 13
|
||||
state: present
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -130,4 +130,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
VRF role
|
||||
========
|
||||
|
||||
This role facilitates to configure the basics of virtual routing and forwarding (VRF) that helps in the partition of physical routers to multiple virtual routers. This role is abstracted Dell EMC platforms running OS9.
|
||||
This role facilitates to configure the basics of virtual routing and forwarding (VRF) that helps in the partition of physical routers to multiple virtual routers. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The vrf role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The vrf role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the variable *ansible_network_os* that can take the dellemc.os9.os9 as a value.
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the variable `ansible_network_os` that can take the `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration.
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
||||
**os9_vrf keys**
|
||||
|
@ -20,7 +20,7 @@ Role variables
|
|||
|------------|---------------------------|---------------------------------------------------------|-----------------------|
|
||||
| ``vrfdetails`` | list | Configures the list of VRF instances (see ``instances.*``) | os9 |
|
||||
| ``vrfdetails.vrf_name`` | string | Specifies the VRF instance name (default is management) | os9 |
|
||||
| ``vrfdetails.vrf_id`` | integer (required) | Configures the VRF ID for the corresponding vrf | os9 |
|
||||
| ``vrfdetails.vrf_id`` | integer (required) | Configures the VRF ID for the corresponding VRF | os9 |
|
||||
| ``vrfdetails.description`` | string | Configures a one line description for the VRF | os9 |
|
||||
| ``vrfdetails.state`` | string | Deletes the VRF instance name if set to absent | os9 |
|
||||
| ``vrfdetails.tagged_portname`` | list | Specifies list of valid interface names | os9 |
|
||||
|
@ -32,29 +32,34 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
The *os9_vrf* role is built on modules included in the core Ansible code. These modules were added in Ansible version 2.2.0
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_vrf* role to setup a VRF and associate it to an interface. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_vrf* role to setup a VRF and associate it to an interface. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that references the *os9_vrf* role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that references the *os9_vrf* role.
|
||||
|
||||
*upd_src_ip_loopback_id* has an dependency with association of the interface in a VRF. So the *os9_vrf* role needs to be invoked twice with different input dictionary one for the create and one for *upd_src_ip_loopback_id*, refer the example playbook for more details.
|
||||
*upd_src_ip_loopback_id* has an dependency with association of the interface in a VRF, and the *os9_vrf* role needs to be invoked twice with different input dictionary one for the create and one for *upd_src_ip_loopback_id*.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -96,13 +101,13 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
state: "present"
|
||||
upd_src_ip_loopback_id: 11
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
- dellemc.os9.os9_vrf
|
||||
|
||||
**Simple playbook to setup os9 with upd_src_ip_loopback_id - leaf.yaml**
|
||||
**Simple playbook to setup os9 with upd_src_ip_loopback_id — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -117,4 +122,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
VRRP role
|
||||
=========
|
||||
|
||||
This role facilitates configuring virtual router redundancy protocol (VRRP) attributes. It supports the creation of VRRP groups for interfaces and setting the VRRP group attributes. This role is abstracted for Dell EMC platforms running os9.
|
||||
This role facilitates configuring virtual router redundancy protocol (VRRP) attributes. It supports the creation of VRRP groups for interfaces and setting the VRRP group attributes. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The VRRP role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in Dell EMC Networking OS connection variables.
|
||||
The VRRP role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take the dellemc.os9.os9 as a value
|
||||
- If *os9_cfg_generate* is set to true, the variable generates the role configuration commands in a file
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take the `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value for any variable negates the corresponding configuration
|
||||
- *os9_vrrp* (dictionary) holds a dictionary with the interface name key
|
||||
- `os9_vrrp` (dictionary) holds a dictionary with the interface name key
|
||||
- Interface name can correspond to any of the valid os9 interface with a unique interface identifier name
|
||||
- Physical interfaces names must be in *<interfacename> <tuple>* format (for example *fortyGigE 1/1*)
|
||||
- Logical interface names must be in *<logical_interfacename> <id>* format (for example, *vlan 1* for os9)
|
||||
|
@ -51,27 +51,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-----------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_vrrp* role to configure VRRP commands at the interfaces. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the *ansible_network_os* variable with corresponding Dell EMC networking OS name.
|
||||
This example uses the *os9_vrrp* role to configure VRRP commands at the interfaces. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
When *os9_cfg_generate* is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_vrrp* role.
|
||||
When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_vrrp* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -135,7 +135,7 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
key_string: vrrpkey
|
||||
state: present
|
||||
|
||||
**Simple playbook to setup system - leaf.yaml**
|
||||
**Simple playbook to setup system — leaf.yaml**
|
||||
|
||||
- hosts: leaf1
|
||||
roles:
|
||||
|
@ -145,4 +145,4 @@ When *os9_cfg_generate* is set to true, the variable generates the configuration
|
|||
|
||||
ansible-playbook -i hosts leaf.yaml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
# xSTP role
|
||||
|
||||
This role facilitates the configuration of xSTP attributes. It supports multiple version of spanning-tree protocol (STP), rapid spanning-tree (RSTP), rapid per-VLAN spanning-tree (Rapid PVST+), multiple spanning-tree (MST), and per-VLAN spanning-tree (PVST). It supports the configuration of bridge priority, enabling and disabling spanning-tree, creating and deleting instances, and mapping virtual LAN (VLAN) to instances. This role is abstracted for Dell EMC platforms running OS9.
|
||||
This role facilitates the configuration of xSTP attributes. It supports multiple version of spanning-tree protocol (STP), rapid spanning-tree (RSTP), rapid per-VLAN spanning-tree (Rapid PVST+), multiple spanning-tree (MST), and per-VLAN spanning-tree (PVST). It supports the configuration of bridge priority, enabling and disabling spanning-tree, creating and deleting instances, and mapping virtual LAN (VLAN) to instances. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.
|
||||
|
||||
The xSTP role requires an SSH connection for connectivity to a Dell EMC Networking device. You can use any of the built-in OS connection variables .
|
||||
The xSTP role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.
|
||||
|
||||
Role variables
|
||||
--------------
|
||||
|
||||
- *os9_xstp*(dictionary) contains the hostname (dictionary)
|
||||
- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
|
||||
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
|
||||
- `os9_xstp` (dictionary) contains the hostname (dictionary)
|
||||
- Hostname is the value of the *hostname* variable that corresponds to the name of the OS device
|
||||
- Role is abstracted using the *ansible_network_os* variable that can take dellemc.os9.os9 as a value.
|
||||
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
|
||||
- Setting an empty value to any variable negates the corresponding configuration
|
||||
- Variables and values are case-sensitive
|
||||
|
@ -18,24 +19,24 @@ Role variables
|
|||
|
||||
| Key | Type | Description | Support |
|
||||
|------------|---------------------------|---------------------------------------------------------|----------------------|
|
||||
| ``type`` | string (required) | Configures the type of spanning-tree mode specified that can vary according to the OS device; os9 devices include STP, RSTP, PVST, MSTP; | os9 |
|
||||
| ``type`` | string (required) | Configures the type of spanning-tree mode specified including STP, RSTP, PVST, and MSTP | os9 |
|
||||
| ``enable`` | boolean: true,false | Enables/disables the spanning-tree protocol specified in the type variable | os9 |
|
||||
| ``stp`` | dictionary | Configures simple spanning-tree protocol (see ``stp.* keys``) | os9 |
|
||||
| ``stp.bridge_priority`` | integer | Configures bridge-priority for the spanning-tree (0 to 61440 range in multiples of 4096) | os9 |
|
||||
| ``stp.bridge_priority`` | integer | Configures bridge-priority for the spanning-tree (0 to 61440 in multiples of 4096) | os9 |
|
||||
| ``stp.state`` | string: absent,present\* | Deletes the configured STP if set to absent | os9 |
|
||||
| ``rstp`` | dictionary | Configures rapid spanning-tree (see ``rstp.*``) | os9 |
|
||||
| ``rstp.bridge_priority`` | integer | Configures bridge-priority for the spanning-tree (0 to 61440 range in multiples of 4096) | os9 |
|
||||
| ``rstp.bridge_priority`` | integer | Configures bridge-priority for the spanning-tree (0 to 61440 in multiples of 4096) | os9 |
|
||||
| ``rstp.state ``| string: absent,present\* | Deletes the configured RSTP in os9 devices if set to absent | os9 |
|
||||
| ``pvst`` | dictionary | Configures per-VLAN spanning-tree protocol (see ``pvst.*``) | os9 |
|
||||
| ``pvst.vlan`` | list | Configures the VLAN for PVST (see ``vlan.*``) | os9 |
|
||||
| ``vlan.range_or_id`` | string | Configures a VLAN/range of VLANs for the per-VLAN spanning-tree protocol | os9 |
|
||||
| ``vlan.bridge_priority`` | integer | Configures bridge-priority for the per-VLAN spanning-tree (0 to 61440 range in multiples of 4096); mutually exclusive with *vlan.root* | os9 |
|
||||
| ``vlan.bridge_priority`` | integer | Configures bridge-priority for the per-VLAN spanning-tree (0 to 61440 in multiples of 4096); mutually exclusive with *vlan.root* | os9 |
|
||||
| ``pvst.state`` | string: absent,present\* | Deletes the configured PVST if set to absent | os9 |
|
||||
| ``mstp`` | dictionary | Configures multiple spanning-tree protocol (see ``mstp.*``) | os9 |
|
||||
| ``mstp.mstp_instances`` | list | Configures a MSTP instance (see ``mstp_instances.*``) | os9 |
|
||||
| ``mstp_instances.number`` | integer | Configures the multiple spanning-tree instance number | os9 |
|
||||
| ``mstp_instances.vlans`` | string | Configures a VLAN/range of VLANs by mapping it to the instance number in os9 devices | os9 |
|
||||
| ``mstp_instances.bridge_priority`` | integer | Configures the bridge-priority for the spanning-tree (0 to 61440 range in multiples of 4096); mutually exclusive with *mstp_instances.root* | os9 |
|
||||
| ``mstp_instances.bridge_priority`` | integer | Configures the bridge-priority for the spanning-tree (0 to 61440 in multiples of 4096); mutually exclusive with *mstp_instances.root* | os9 |
|
||||
| ``mstp_instances.vlans_state`` | string: absent,present\* | Deletes a set of VLANs mapped to the spanning-tree instance if set to absent | os9 |
|
||||
| ``mstp.state`` | string: absent,present\* | Deletes the configured MSTP if set to absent | os9 |
|
||||
| ``intf`` | list | Configures multiple spanning-tree in an interface (see ``intf.*``) | os9 |
|
||||
|
@ -48,26 +49,27 @@ Role variables
|
|||
Connection variables
|
||||
--------------------
|
||||
|
||||
Ansible Dell EMC Networking roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself.
|
||||
Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself.
|
||||
|
||||
| Key | Required | Choices | Description |
|
||||
|-------------|----------|------------|-------------------------------------------------------|
|
||||
| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_PORT option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the ANSIBLE_REMOTE_USER environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device. |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the ANSIBLE_BECOME environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the ANSIBLE_BECOME_METHOD environment variable value is used. |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable. |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | This value is used to load the correct terminal and cliconf plugins to communicate with the remote device. |
|
||||
| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
|
||||
| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used |
|
||||
| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device |
|
||||
| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
|
||||
| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
|
||||
| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
|
||||
| ``ansible_network_os`` | yes | os9, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device |
|
||||
|
||||
> **NOTE**: Asterisk (\*) denotes the default value if none is specified.
|
||||
|
||||
Example playbook
|
||||
----------------
|
||||
|
||||
This example uses the *os9_xstp* role to configure different variants of spanning-tree. Based on the type of STP and defined objects, VLANs are associated and bridge priorities are assigned. It creates a *hosts* file with the switch details, and a *host_vars* file with connection variables. The corresponding role variables are defined in the *vars/main.yml* file at the role path.
|
||||
It writes a simple playbook that only references the *os9_xstp* role. By including the role, you automatically get access to all of the tasks to configure xSTP.
|
||||
This example uses the *os9_xstp* role to configure different variants of spanning-tree. Based on the type of STP and defined objects, VLANs are associated and bridge priorities are assigned. It creates a *hosts* file with the switch details, and a *host_vars* file with connection variables. The corresponding role variables are defined in the *vars/main.yml* file at the role path. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name.
|
||||
|
||||
It writes a simple playbook that only references the *os9_xstp* role. By including the role, you automatically get access to all of the tasks to configure xSTP. When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in build_dir path. By default, this variable is set to false. The example writes a simple playbook that only references the *os9_xstp* role.
|
||||
|
||||
**Sample hosts file**
|
||||
|
||||
|
@ -112,7 +114,7 @@ It writes a simple playbook that only references the *os9_xstp* role. By includi
|
|||
- mstp
|
||||
edge_port: true
|
||||
|
||||
**Simple playbook to setup system - spine.yml**
|
||||
**Simple playbook to setup system — spine.yml**
|
||||
|
||||
- hosts: spine
|
||||
roles:
|
||||
|
@ -122,4 +124,4 @@ It writes a simple playbook that only references the *os9_xstp* role. By includi
|
|||
|
||||
ansible-playbook -i hosts spine.yml
|
||||
|
||||
(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
||||
(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
|
||||
|
|
|
@ -11,5 +11,3 @@
|
|||
- name: run test case
|
||||
include: "{{ item }}"
|
||||
with_items: "{{ test_items }}"
|
||||
|
||||
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
---
|
||||
- { include: cli.yaml, tags: ['cli'] }
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
- name: COnfigure managemnet protocol telnet
|
||||
os9_config:
|
||||
lines: ['hostname {{ inventory_hostname }}','ip telnet server enable']
|
||||
lines: ['hostname {{ inventory_hostname }}', 'ip telnet server enable']
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
|
|
|
@ -53,4 +53,3 @@
|
|||
|
||||
|
||||
- debug: msg="START cli/testcases_facts.yaml"
|
||||
|
||||
|
|
|
@ -1,31 +1,3 @@
|
|||
plugins/module_utils/network/dellos9/dellos9.py future-import-boilerplate
|
||||
plugins/module_utils/network/dellos9/dellos9.py metaclass-boilerplate
|
||||
plugins/modules/dellos9_command.py validate-modules:doc-default-does-not-match-spec
|
||||
plugins/modules/dellos9_command.py validate-modules:doc-missing-type
|
||||
plugins/modules/dellos9_command.py validate-modules:doc-required-mismatch
|
||||
plugins/modules/dellos9_command.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/dellos9_command.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/dellos9_command.py validate-modules:undocumented-parameter
|
||||
plugins/modules/dellos9_config.py validate-modules:doc-default-does-not-match-spec
|
||||
plugins/modules/dellos9_config.py validate-modules:doc-missing-type
|
||||
plugins/modules/dellos9_config.py validate-modules:doc-required-mismatch
|
||||
plugins/modules/dellos9_config.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/dellos9_config.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/dellos9_config.py validate-modules:undocumented-parameter
|
||||
plugins/modules/dellos9_facts.py validate-modules:doc-default-does-not-match-spec
|
||||
plugins/modules/dellos9_facts.py validate-modules:doc-missing-type
|
||||
plugins/modules/dellos9_facts.py validate-modules:doc-required-mismatch
|
||||
plugins/modules/dellos9_facts.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/dellos9_facts.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/dellos9_facts.py validate-modules:undocumented-parameter
|
||||
plugins/action/dellos9.py action-plugin-docs # base class for deprecated network platform modules using `connection: local`
|
||||
plugins/doc_fragments/dellos9.py future-import-boilerplate
|
||||
plugins/doc_fragments/dellos9.py metaclass-boilerplate
|
||||
tests/unit/mock/path.py future-import-boilerplate
|
||||
tests/unit/mock/path.py metaclass-boilerplate
|
||||
tests/unit/mock/yaml_helper.py future-import-boilerplate
|
||||
tests/unit/mock/yaml_helper.py metaclass-boilerplate
|
||||
tests/unit/modules/conftest.py future-import-boilerplate
|
||||
tests/unit/modules/conftest.py metaclass-boilerplate
|
||||
tests/unit/modules/utils.py future-import-boilerplate
|
||||
tests/unit/modules/utils.py metaclass-boilerplate
|
||||
plugins/action/os9.py action-plugin-docs
|
||||
plugins/modules/os9_config.py validate-modules:parameter-list-no-elements
|
||||
plugins/modules/os9_facts.py validate-modules:parameter-list-no-elements
|
|
@ -40,7 +40,7 @@ def load_fixture(name):
|
|||
|
||||
try:
|
||||
data = json.loads(data)
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
fixture_data[path] = data
|
||||
|
|
Loading…
Reference in a new issue