cisco.mso.ndo_service_device_cluster module – Manage Service Device Clusters on Cisco Nexus Dashboard Orchestrator (NDO).
Note
This module is part of the cisco.mso collection (version 2.11.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install cisco.mso
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: cisco.mso.ndo_service_device_cluster
.
New in cisco.mso 2.11.0
Synopsis
Manage Service Device Clusters on Cisco Nexus Dashboard Orchestrator (NDO).
This module is supported on ND v3.2 (NDO v4.4) and later.
Requirements
The below requirements are needed on the host that executes this module.
Multi Site Orchestrator v2.1 or newer
Parameters
Parameter |
Comments |
---|---|
The description of the Service Device Cluster. |
|
Specifies the operational mode of the device. Choices:
|
|
Defines the type of device being configured. Choices:
|
|
IP Address or hostname of the ACI Multi Site Orchestrator host. If the value is not specified in the task, the value of environment variable |
|
A list containing interface configuration. The old |
|
Indicates if anycast is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
bd configuration details. This parameter or |
|
The name associated with the bd. |
|
Schema associated with the bd. This parameter or |
|
ID of the schema associated with the bd. This parameter or |
|
Template associated with the bd. This parameter or |
|
ID of the template associated with the bd. This parameter or |
|
UUID of the bd. This parameter or |
|
Indicates if static MAC configuration is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
external_epg configuration details. This parameter or |
|
The name associated with the external_epg. |
|
Schema associated with the external_epg. This parameter or |
|
ID of the schema associated with the external_epg. This parameter or |
|
Template associated with the external_epg. This parameter or |
|
ID of the template associated with the external_epg. This parameter or |
|
UUID of the external_epg. This parameter or |
|
IPSLA monitoring policy configuration. |
|
Name of the IPSLA monitoring policy. |
|
Template for the IPSLA monitoring policy. This parameter or |
|
ID of the template for the IPSLA monitoring policy. This parameter or |
|
UUID of the IP SLA monitoring policy. |
|
Indicates if it is a backup redirect IP. If this parameter is unspecified, it defaults to False. Choices:
|
|
Load balancing hashing method. If this parameter is unspecified, it defaults to Choices:
|
|
Maximum threshold value for redirect. If this parameter is unspecified, it defaults to 0. This value must be between 0 and 100. |
|
Minimum threshold value for redirect. If this parameter is unspecified, it defaults to 0. This value must be between 0 and 100. This value cannot be greater than or equal to maximum threshold. |
|
The name of the interface. |
|
Indicates if pod-aware redirection is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
Whether the interface belongs to a preferred group. If this parameter is unspecified, it defaults to False. Choices:
|
|
Quality of Service (QoS) policy configuration. |
|
Name of the QoS policy. |
|
Template for the QoS policy. This parameter or |
|
ID of the template for the QoS policy. This parameter or |
|
UUID of the QoS policy. |
|
Indicates if resilient hashing is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
Whether to rewrite the source MAC address. If this parameter is unspecified, it defaults to False. Choices:
|
|
Indicates if tag-based sorting is enabled. If this parameter is unspecified, it defaults to False. Choices:
|
|
Action to take when the threshold is down. Choices:
|
|
The login domain name to use for authentication. The default value is Local. If the value is not specified in the task, the value of environment variable When using a HTTPAPI connection plugin the inventory variable |
|
The name of the Service Device Cluster. |
|
Influence the output of this MSO module.
If the value is not specified in the task, the value of environment variable Choices:
|
|
The password to use for authentication. If the value is not specified in the task, the value of environment variables |
|
Port number to be used for the REST connection. The default value depends on parameter `use_ssl`. If the value is not specified in the task, the value of environment variable |
|
Use Use Use Choices:
|
|
The name of the template. The template must be a service device template. This parameter or |
|
The ID of the service device template. This parameter or |
|
The socket level timeout in seconds. The default value is 30 seconds. If the value is not specified in the task, the value of environment variable |
|
If If the value is not specified in the task, the value of environment variable The default is Choices:
|
|
If If the value is not specified in the task, the value of environment variable When using a HTTPAPI connection plugin the inventory variable The default is Choices:
|
|
The username to use for authentication. If the value is not specified in the task, the value of environment variables |
|
The UUID of the Service Device Cluster. |
|
If This should only set to If the value is not specified in the task, the value of environment variable The default is Choices:
|
Notes
Note
The
template
must exist before using this module in your playbook. Use cisco.mso.ndo_template to create the service device template.This module was written to support Multi Site Orchestrator v2.1 or newer. Some or all functionality may not work on earlier versions.
See Also
See also
- cisco.mso.ndo_template
Manage Templates on Cisco Nexus Dashboard Orchestrator (NDO).
Examples
- name: Create a service device cluster with one arm
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
name: device1
device_mode: layer3
device_type: firewall
interface_properties:
- name: interface1
external_epg:
name: ansible_test_epg
template: ansible_template
schema: ansible_test
ipsla_monitoring_policy:
name: ansible_test_ipsla_monitoring_policy
template: ansible_tenant_template
qos_policy:
name: ansible_custom_qos_policy
template: ansible_tenant_template
preferred_group: true
rewrite_source_mac: false
config_static_mac: false
is_backup_redirect_ip: true
load_balance_hashing: source_ip
pod_aware_redirection: false
resilient_hashing: true
tag_based_sorting: false
min_threshold: 10
max_threshold: 100
threshold_down_action: permit
state: present
register: add_device1
- name: Update the service device cluster to advanced
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
name: device1
device_mode: layer3
device_type: firewall
interface_properties:
- name: interface1
external_epg::
name: ansible_test_epg
template: ansible_template
schema: ansible_test
ipsla_monitoring_policy:
name: ansible_test_ipsla_monitoring_policy
template: ansible_tenant_template
qos_policy:
name: ansible_custom_qos_policy
template: ansible_tenant_template
preferred_group: true
rewrite_source_mac: false
config_static_mac: false
is_backup_redirect_ip: true
load_balance_hashing: source_ip
pod_aware_redirection: false
resilient_hashing: true
tag_based_sorting: false
min_threshold: 10
max_threshold: 100
threshold_down_action: permit
- name: interface2
bd_uuid: '{{ ansible_test_bd_query.current.uuid }}'
ipsla_monitoring_policy_uuid: '{{ ipsla_monitoring_policy.current.uuid }}'
qos_policy:
name: ansible_custom_qos_policy
template_id: '{{ ansible_test_policy.current.templateId }}'
preferred_group: true
rewrite_source_mac: false
config_static_mac: false
is_backup_redirect_ip: true
load_balance_hashing: source_ip
pod_aware_redirection: false
resilient_hashing: true
tag_based_sorting: false
min_threshold: 10
max_threshold: 100
threshold_down_action: permit
- name: interface3
bd:
name: ansible_test_bd
template: ansible_template
schema_id: '{{ ansible_test_bd.current.vrfRef.schemaId }}'
qos_policy:
name: ansible_custom_qos_policy
template_id: '{{ ansible_test_policy.current.templateId }}'
anycast: true
rewrite_source_mac: false
config_static_mac: false
is_backup_redirect_ip: true
load_balance_hashing: destination_ip
pod_aware_redirection: false
resilient_hashing: true
tag_based_sorting: false
min_threshold: 10
max_threshold: 100
threshold_down_action: deny
state: present
- name: Query the service device cluster using name
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
name: device1
state: query
register: query_device
- name: Query the service device cluster using UUID
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
uuid: '{{ add_device1.current.uuid }}'
state: query
register: query_device_uuid
- name: Query all the device clusters
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
state: query
register: query_all
- name: Remove the service device cluster
cisco.mso.ndo_service_device_cluster:
host: mso_host
username: admin
password: SomeSecretPassword
template: ansible_device_template
name: device1
state: absent