cisco.dnac.lan_automation_workflow_manager 模块 – 使用 Cisco Catalyst Center 中的 LAN 自动化来自动执行网络发现、部署和设备配置。
注意
此模块是 cisco.dnac 集合 (版本 6.25.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install cisco.dnac
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在剧本中使用它,请指定: cisco.dnac.lan_automation_workflow_manager
。
cisco.dnac 6.20.0 中的新增功能
概要
在 Cisco Catalyst Center 中配置 LAN 自动化会话,以自动发现设备并将其集成到网络中。
更新 LAN 自动化设备配置,包括环回地址、主机名和链路配置。
根据超时或发现设备列表完成等条件自动停止正在进行的 LAN 自动化会话,无需显式调用停止 API。
此外,它还提供停止正在进行的 LAN 自动化会话和处理 PnP 设备授权的功能。
要求
执行此模块的主机需要以下要求。
dnacentersdk >= 2.9.2
python >= 3.9
参数
参数 |
注释 |
---|---|
包含用于创建和停止 LAN 自动化会话以及更新 LAN 自动化设备的环回地址、主机名和链路配置的详细配置的列表。列表中的每个元素都表示要在 LAN 自动化基础设施上执行的特定操作。 |
|
用于更新通过 LAN 自动化发现的设备设置的配置。 |
|
要更新新主机名的设备列表。 |
|
设备的管理 IP 地址。 |
|
设备的新主机名。 |
|
在两台设备之间添加新链路。 |
|
目标设备上的接口名称。 |
|
目标设备的管理 IP 地址。 |
|
在 LAN 自动化中配置的 IP 池的名称,从中将为新链路分配 IP 地址。 |
|
源设备上的接口名称。 |
|
源设备的管理 IP 地址。 |
|
删除两台设备之间现有的链路。 |
|
目标设备上的接口名称。 |
|
目标设备的管理 IP 地址。 |
|
源设备上的接口名称。 |
|
源设备的管理 IP 地址。 |
|
要更新新环回 IP 地址的设备列表。 |
|
设备的管理 IP 地址。 |
|
设备的新 Loopback0 IP 地址,来自与设备发现站点关联的 LAN 池。 |
|
用于启动或停止 LAN 自动化会话的配置。 |
|
要在会话期间授权的设备序列号列表。 |
|
将发现的设备放置到的站点层次结构。 |
|
在 LAN 自动化会话期间要发现的设备列表。如果只提供设备列表而没有超时,则一旦发现列表中的所有设备,停止处理就会发生。可以为会话提供的最大设备数量为 50 个。如果同时提供发现设备列表和超时,则将尝试哪一个先发生停止处理。用户可以选择使用 LAN 自动化“已删除”状态随时停止处理。 |
|
要发现的设备的主机名。 |
|
设备的管理 IP 地址。 |
|
要发现的设备的序列号。 |
|
发现后设备将被放置到的站点层次结构。 |
|
LAN 自动化期间发现的深度(例如,主种子设备下方的 1-5 级)。 默认值: |
|
LAN 自动化期间设备发现的超时时间(以分钟为单位)。在此时间之前,不会触发停止处理。在此发现超时后联系的任何设备都不会被处理,并且将尝试重置和重新加载设备以将其恢复到 PnP 代理状态,然后才能完成处理。支持的超时范围(以分钟为单位)为 [20-10080]。如果同时提供了“discovery_timeout”和“discovery_devices”,则处理将根据先发生的情况停止。用户始终可以使用 LAN 自动化已删除状态强制停止处理。 |
|
在 LAN 自动化会话期间用于自动生成主机名的前缀。 |
|
在 LAN 自动化会话期间使用的 IP 池列表。 |
|
IP 池的名称。 |
|
IP 池在自动化会话中的角色,可以是 MAIN_POOL 或 PHYSICAL_LINK_POOL。 选项
|
|
IS-IS 域配置的密码。 |
|
指示任务是否应暂停,直到 LAN 自动化会话完成才能继续执行后续任务的标志。如果设置为 false,则进程将立即移动到下一个任务。 选项
|
|
启用 LAN 自动化会话中多播路由的标志。 选项
|
|
LAN 自动化会话中对等设备的管理 IP 地址。 |
|
启用会话期间发现的设备的即插即用 (PnP) 授权的标志。 选项
|
|
要在 LAN 自动化中使用的主设备上的接口名称列表。 |
|
LAN 自动化会话中主设备或种子设备的管理 IP 地址。 |
|
启用将 IS-IS 路由重新分发到 BGP 的标志。 选项
|
|
应用 playbook 配置后,设置为 true 以验证 LAN 自动化配置。 选项
|
|
等待 Cisco DNA Center LAN 自动化任务完成的最大时间。 默认值: |
|
指示 Cisco Catalyst Center SDK 中是否启用了调试。 选项
|
|
Cisco Catalyst Center 的主机名。 |
|
启用/禁用 playbook 执行日志记录的标志。 当为 true 且提供 dnac_log_file_path 时,- 在执行位置创建指定名称的日志文件。 当为 true 且未提供 dnac_log_file_path 时,- 在执行位置创建名为“dnac.log”的日志文件。 当为 false 时,- 日志记录被禁用。 如果日志文件不存在,- 根据“dnac_log_append”标志以追加或写入模式创建它。 如果日志文件存在,- 根据“dnac_log_append”标志将其覆盖或追加。 选项
|
|
确定文件的模式。设置为 True 表示“追加”模式。设置为 False 表示“写入”模式。 选项
|
|
控制日志记录。如果 dnac_log 为 True,则记录日志。 如果未指定路径,- 当“dnac_log_append”为 True 时,在当前 Ansible 目录中生成“dnac.log”;日志被追加。- 当“dnac_log_append”为 False 时,生成“dnac.log”;日志被覆盖。 如果指定了路径,- 当“dnac_log_append”为 True 时,文件以追加模式打开。- 当“dnac_log_append”为 False 时,文件以写入 (w) 模式打开。- 在共享文件场景中,如果没有追加模式,则每次模块执行后内容都会被覆盖。- 对于共享日志文件,将第一个模块的追加设置为 False(以覆盖);对于后续模块,将追加设置为 True。 默认值: |
|
设置日志级别的阈值。级别等于或高于此级别的消息将被记录。级别按严重性顺序排列 [CRITICAL,ERROR,WARNING,INFO,DEBUG]。 CRITICAL 指示严重错误导致程序停止。仅显示 CRITICAL 消息。 ERROR 指示阻止功能出现的问题。显示 ERROR 和 CRITICAL 消息。 WARNING 指示潜在的未来问题。显示 WARNING、ERROR、CRITICAL 消息。 INFO 跟踪正常运行。显示 INFO、WARNING、ERROR、CRITICAL 消息。 DEBUG 提供详细的诊断信息。显示所有日志消息。 默认值: |
|
Cisco Catalyst Center 身份验证的密码。 |
|
指定与 Cisco Catalyst Center 关联的端口号。 默认值: |
|
轮询任务完成的间隔(秒)。 默认值: |
|
Cisco Catalyst Center 身份验证的用户名。 默认值: |
|
启用或禁用 SSL 证书验证的标志。 选项
|
|
指定 SDK 应使用的 Cisco Catalyst Center 版本。 默认值: |
|
模块完成后的 Cisco Catalyst Center 状态。 选项
|
|
Cisco Catalyst Center SDK 的标志,用于启用根据 JSON 模式验证请求正文。 选项
|
注释
注意
等待 LAN 自动化会话完成时,将首先考虑超时和要发现的设备列表。如果既未提供超时也未提供设备列表,则 LAN 自动化将持续运行直到停止。
要停止 LAN 自动化会话,请使用“deleted”状态执行相同的详细信息。仅需要种子设备 IP 即可终止会话。
如果在 Catalyst Center 中选择了设备授权,则将执行 PnP 授权。LAN 自动化将持续运行,直到提供的序列号获得授权,并持续检查设备的状态。如果启用了 PnP 授权,而没有用于授权或发现的设备列表,则模块将不会等待 LAN 自动化任务完成。但是,如果设备处于错误状态或在 Catalyst Center 上未选中授权,则 playbook 将持续运行,直到设备状态变为活动状态或达到超时值。
使用的 SDK 方法为 ccc_lan_automation.lanautomation.lan_automation_start_v2 ccc_lan_automation.lanautomation.lan_automation_stop ccc_lan_automation.lanautomation.lan_automation_device_update ccc_lan_automation.lanautomation.lan_automation_active_sessions ccc_lan_automation.lanautomation.lan_automation_status ccc_lan_automation.lanautomation.lan_automation_log ccc_lan_automation.devices.get_device_list ccc_lan_automation.devices.get_interface_details ccc_lan_automation.deviceonboardingpnp.authorize_device ccc_lan_automation.deviceonboardingpnp.get_device_list
不支持
check_mode
插件在控制节点上运行,不使用任何 Ansible 连接插件,而是使用来自 Cisco Catalyst Center SDK 的嵌入式连接管理器。
以 dnac_ 开头的参数由 Cisco Catalyst Center Python SDK 用于建立连接。
示例
- name: Start a LAN Automation session without waiting for it to finish
cisco.dnac.lan_automation_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log: true
config_verify: false
state: merged
config:
- lan_automation:
discovered_device_site_name_hierarchy: "Global/USA/SAN JOSE"
peer_device_management_ip_address: "204.1.1.2"
primary_device_management_ip_address: "204.1.1.1"
primary_device_interface_names:
- "HundredGigE1/0/2"
- "HundredGigE1/0/29"
ip_pools:
- ip_pool_name: "underlay_sub"
ip_pool_role: "MAIN_POOL"
- ip_pool_name: "underlay_sub_sj"
ip_pool_role: "PHYSICAL_LINK_POOL"
multicast_enabled: true
redistribute_isis_to_bgp: true
host_name_prefix: "San-Jose"
isis_domain_pwd: "cisco"
discovery_level: 5
discovery_timeout: 40
discovery_devices:
- device_serial_number: "FJC27172JDW"
device_host_name: "SR-LAN-9300-IM1"
device_site_name_hierarchy: "Global/USA/SAN JOSE/BLD23"
device_management_ip_address: "204.1.1.10"
- device_serial_number: "FJC2721261A"
device_host_name: "SR-LAN-9300-IM2"
device_site_name_hierarchy: "Global/USA/SAN JOSE/BLD20"
device_management_ip_address: "204.1.1.11"
launch_and_wait: false
pnp_authorization: false
- name: Start a LAN Automation session with device authorization and waiting for the task to complete
cisco.dnac.lan_automation_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log: true
config_verify: false
state: merged
config:
- lan_automation:
discovered_device_site_name_hierarchy: "Global/USA/SAN JOSE"
peer_device_management_ip_address: "204.1.1.2"
primary_device_management_ip_address: "204.1.1.1"
primary_device_interface_names:
- "HundredGigE1/0/2"
- "HundredGigE1/0/29"
ip_pools:
- ip_pool_name: "underlay_sub"
ip_pool_role: "MAIN_POOL"
- ip_pool_name: "underlay_sub_sj"
ip_pool_role: "PHYSICAL_LINK_POOL"
multicast_enabled: true
redistribute_isis_to_bgp: true
host_name_prefix: "San-Jose"
isis_domain_pwd: "cisco"
discovery_level: 5
discovery_timeout: 40
discovery_devices:
- device_serial_number: "FJC27172JDW"
device_host_name: "SR-LAN-9300-IM1"
device_site_name_hierarchy: "Global/USA/SAN JOSE/BLD23"
device_management_ip_address: "204.1.1.10"
- device_serial_number: "FJC2721261A"
device_host_name: "SR-LAN-9300-IM2"
device_site_name_hierarchy: "Global/USA/SAN JOSE/BLD20"
device_management_ip_address: "204.1.1.11"
launch_and_wait: true
pnp_authorization: true
device_serial_number_authorization:
- "FJC27172JDW"
- "FJC2721261A"
- name: Stop a LAN Automation session
cisco.dnac.lan_automation_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log: true
config_verify: false
state: deleted
config:
- lan_automation:
discovered_device_site_name_hierarchy: "Global/USA/SAN JOSE"
primary_device_management_ip_address: "204.1.1.1"
- name: Update loopback for LAN Automated devices
cisco.dnac.lan_automation_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log: true
config_verify: false
state: merged
config:
- lan_automated_device_update:
loopback_update_device_list:
- device_management_ip_address: "204.1.3.160"
new_loopback0_ip_address: "91.1.2.6"
- device_management_ip_address: "204.1.2.163"
new_loopback0_ip_address: "91.1.2.5"
- name: Update hostname for LAN Automated devices
cisco.dnac.lan_automation_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log: true
config_verify: false
state: merged
config:
- lan_automated_device_update:
hostname_update_devices:
- device_management_ip_address: "204.1.1.1"
new_host_name: "SR-LAN-9300-im1"
- device_management_ip_address: "91.1.1.6"
new_host_name: "Test"
- name: Add link for LAN Automated devices
cisco.dnac.lan_automation_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log: true
config_verify: false
state: merged
config:
- lan_automated_device_update:
link_add:
source_device_management_ip_address: "204.1.1.1"
source_device_interface_name: "HundredGigE1/0/2"
destination_device_management_ip_address: "204.1.1.4"
destination_device_interface_name: "HundredGigE1/0/5"
ip_pool_name: "underlay_sj"
- name: Delete link between LAN Automated devices
cisco.dnac.lan_automation_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log: true
config_verify: false
state: merged
config:
- lan_automated_device_update:
link_delete:
source_device_management_ip_address: "204.1.1.1"
source_device_interface_name: "HundredGigE1/0/2"
destination_device_management_ip_address: "204.1.1.4"
destination_device_interface_name: "HundredGigE1/0/5"
- name: Apply loopback and hostname updates for LAN Automated devices
cisco.dnac.lan_automation_workflow_manager:
dnac_host: "{{dnac_host}}"
dnac_username: "{{dnac_username}}"
dnac_password: "{{dnac_password}}"
dnac_verify: "{{dnac_verify}}"
dnac_port: "{{dnac_port}}"
dnac_version: "{{dnac_version}}"
dnac_debug: "{{dnac_debug}}"
dnac_log: true
config_verify: false
state: merged
config:
- lan_automated_device_update:
loopback_update_device_list:
- device_management_ip_address: "204.1.1.160"
new_loopback0_ip_address: "10.4.18.101"
hostname_update_devices:
- device_management_ip_address: "91.1.3.2"
new_host_name: "SR-LAN-9300-SJ"
- device_management_ip_address: "204.1.1.5"
new_host_name: "SR-LAN-9500-SJ"
返回值
常用返回值已在此处记录,以下是此模块特有的字段
键 |
描述 |
---|---|
包含 Cisco Catalyst Center Python SDK 返回的响应的字典或列表。 返回: 始终 示例: |