dellemc.openmanage.ome_discovery – Create, modify, or delete a discovery job on OpenManage Enterprise
Note
This plugin is part of the dellemc.openmanage collection (version 3.6.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 dellemc.openmanage
.
To use it in a playbook, specify: dellemc.openmanage.ome_discovery
.
New in version 3.3.0: of dellemc.openmanage
Synopsis
- This module allows to create, modify, or delete a discovery job.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.7.17
Parameters
Parameter | Choices/Defaults | Comments | ||
---|---|---|---|---|
community_string boolean |
| Enable the use of SNMP community strings to receive SNMP traps using Application Settings in OpenManage Enterprise. This option is available only for the discovered iDRAC servers and MX7000 chassis. | ||
cron string | Provide a cron expression based on Quartz cron format. | |||
discovery_config_targets list / elements=dictionary | Provide the list of discovery targets. Each discovery target is a set of network_address_detail, device_types, and one or more protocol credentials. This is mandatory when state is present .WARNING Modification of this field is not supported, this field is overwritten every time. Ensure to provide all the required details for this field. | |||
device_types list / elements=string / required | Provide the type of devices to be discovered. The accepted types are SERVER, CHASSIS, NETWORK SWITCH, and STORAGE. A combination or all of the above can be provided. Supported protocols for each device type are: SERVER - wsman, redfish, snmp, ipmi, ssh, and vmware. CHASSIS - wsman, and redfish. NETWORK SWITCH - snmp. STORAGE - storage, and snmp. | |||
ipmi dictionary | Intelligent Platform Management Interface (IPMI) | |||
kgkey string | KgKey for the IPMI protocol. | |||
password string / required | Provide a password for the protocol. | |||
retries integer | Default: 3 | Enter the number of repeated attempts required to discover a device. | ||
timeout integer | Default: 60 | Enter the time in seconds after which a job must stop running. | ||
username string / required | Provide a username for the protocol. | |||
network_address_detail list / elements=string / required | Provide the list of IP addresses, host names, or the range of IP addresses of the devices to be discovered or included. Sample Valid IP Range Formats 192.35.0.0 192.36.0.0-10.36.0.255 192.37.0.0/24 2345:f2b1:f083:135::5500/118 2345:f2b1:f083:135::a500-2607:f2b1:f083:135::a600 hostname.domain.tld hostname 2345:f2b1:f083:139::22a Sample Invalid IP Range Formats 192.35.0.* 192.36.0.0-255 192.35.0.0/255.255.255.0 NOTE The range size for the number of IP addresses is limited to 16,385 (0x4001).NOTE Both IPv6 and IPv6 CIDR formats are supported. | |||
redfish dictionary | REDFISH protocol. | |||
ca_check boolean |
| Enable the Certificate Authority (CA) check. | ||
certificate_data string | Provide certificate data for the CA check. | |||
cn_check boolean |
| Enable the Common Name (CN) check. | ||
domain string | Provide a domain for the protocol. | |||
password string / required | Provide a password for the protocol. | |||
port integer | Default: 443 | Enter the port number that the job must use to discover the devices. | ||
retries integer | Default: 3 | Enter the number of repeated attempts required to discover a device. | ||
timeout integer | Default: 60 | Enter the time in seconds after which a job must stop running. | ||
username string / required | Provide a username for the protocol. | |||
snmp dictionary | Simple Network Management Protocol (SNMP). | |||
community string / required | Community string for the SNMP protocol. | |||
port integer | Default: 161 | Enter the port number that the job must use to discover the devices. | ||
retries integer | Default: 3 | Enter the number of repeated attempts required to discover a device. | ||
timeout integer | Default: 3 | Enter the time in seconds after which a job must stop running. | ||
ssh dictionary | Secure Shell (SSH). | |||
check_known_hosts boolean |
| Verify the known host key. | ||
is_sudo_user boolean |
| Use the SUDO option. | ||
password string / required | Provide a password for the protocol. | |||
port integer | Default: 22 | Enter the port number that the job must use to discover the devices. | ||
retries integer | Default: 3 | Enter the number of repeated attempts required to discover a device. | ||
timeout integer | Default: 60 | Enter the time in seconds after which a job must stop running. | ||
username string / required | Provide a username for the protocol. | |||
storage dictionary | HTTPS Storage protocol. | |||
ca_check boolean |
| Enable the Certificate Authority (CA) check. | ||
certificate_data string | Provide certificate data for the CA check. | |||
cn_check boolean |
| Enable the Common Name (CN) check. | ||
domain string | Provide a domain for the protocol. | |||
password string / required | Provide a password for the protocol. | |||
port integer | Default: 443 | Enter the port number that the job must use to discover the devices. | ||
retries integer | Default: 3 | Enter the number of repeated attempts required to discover a device. | ||
timeout integer | Default: 60 | Enter the time in seconds after which a job must stop running. | ||
username string / required | Provide a username for the protocol. | |||
vmware dictionary | VMWARE protocol. | |||
ca_check boolean |
| Enable the Certificate Authority (CA) check. | ||
certificate_data string | Provide certificate data for the CA check. | |||
cn_check boolean |
| Enable the Common Name (CN) check. | ||
domain string | Provide a domain for the protocol. | |||
password string / required | Provide a password for the protocol. | |||
port integer | Default: 443 | Enter the port number that the job must use to discover the devices. | ||
retries integer | Default: 3 | Enter the number of repeated attempts required to discover a device. | ||
timeout integer | Default: 60 | Enter the time in seconds after which a job must stop running. | ||
username string / required | Provide a username for the protocol. | |||
wsman dictionary | Web Services-Management (WS-Man). | |||
ca_check boolean |
| Enable the Certificate Authority (CA) check. | ||
certificate_data string | Provide certificate data for the CA check. | |||
cn_check boolean |
| Enable the Common Name (CN) check. | ||
domain string | Provide a domain for the protocol. | |||
password string / required | Provide a password for the protocol. | |||
port integer | Default: 443 | Enter the port number that the job must use to discover the devices. | ||
retries integer | Default: 3 | Enter the number of repeated attempts required to discover a device. | ||
timeout integer | Default: 60 | Enter the time in seconds after which a job must stop running. | ||
username string / required | Provide a username for the protocol. | |||
discovery_id integer | ID of the discovery configuration group. This value is DiscoveryConfigGroupId in the return values under discovery_status. It is mutually exclusive with discovery_job_name. | |||
discovery_job_name string | Name of the discovery configuration job. It is mutually exclusive with discovery_id. | |||
email_recipient string | Enter the email address to which notifications are to be sent about the discovery job status. Configure the SMTP settings to allow sending notifications to an email address. | |||
hostname string / required | OpenManage Enterprise IP address or hostname. | |||
ignore_partial_failure boolean |
| Provides the option to ignore partial failures. Partial failures occur when there is a combination of both discovered and undiscovered IPs. If False , then the partial failure is not ignored, and the module will error out.If True , then the partial failure is ignored.This option is only applicable if job_wait is True . | ||
job_wait boolean |
| Provides the option to wait for job completion. This option is applicable when state is present . | ||
job_wait_timeout integer | Default: 10800 | The maximum wait time of job_wait in seconds. The job is tracked only for this duration. This option is applicable when job_wait is True . | ||
new_name string | New name of the discovery configuration job. | |||
password string / required | OpenManage Enterprise password. | |||
port integer | Default: 443 | OpenManage Enterprise HTTPS port. | ||
schedule string |
| Provides the option to schedule the discovery job. If RunLater is selected, then cron must be specified. | ||
state string |
| present creates a discovery job or modifies an existing discovery job.
discovery_job_name is mandatory for the creation of a new discovery job. If multiple discoveries of the same discovery_job_name exist, then the new discovery job will not be created. absent deletes an existing discovery job(s) with the specified discovery_job_name. | ||
trap_destination boolean |
| Enable OpenManage Enterprise to receive the incoming SNMP traps from the discovered devices. This is effective only for servers discovered by using their iDRAC interface. | ||
username string / required | OpenManage Enterprise username. |
Notes
Note
- Run this module from a system that has direct access to Dell EMC OpenManage Enterprise.
- This module does not support
check_mode
. - If state is
present
, then Idempotency is not supported.
Examples
--- - name: Discover servers in a range dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" discovery_job_name: "Discovery_server_1" discovery_config_targets: - network_address_detail: - 192.96.24.1-192.96.24.255 device_types: - SERVER wsman: username: user password: password - name: Discover chassis in a range dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" discovery_job_name: "Discovery_chassis_1" discovery_config_targets: - network_address_detail: - 192.96.24.1-192.96.24.255 device_types: - CHASSIS wsman: username: user password: password - name: Discover switches in a range dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" discovery_job_name: "Discover_switch_1" discovery_config_targets: - network_address_detail: - 192.96.24.1-192.96.24.255 device_types: - NETWORK SWITCH snmp: community: snmp_creds - name: Discover storage in a range dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" discovery_job_name: "Discover_storage_1" discovery_config_targets: - network_address_detail: - 192.96.24.1-192.96.24.255 device_types: - STORAGE storage: username: user password: password snmp: community: snmp_creds - name: Delete a discovery job dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" state: "absent" discovery_job_name: "Discovery-123" - name: Schedule the discovery of multiple devices ignoring partial failure and enable trap to receive alerts dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" state: "present" discovery_job_name: "Discovery-123" discovery_config_targets: - network_address_detail: - 192.96.24.1-192.96.24.255 - 192.96.0.0/24 - 192.96.26.108 device_types: - SERVER - CHASSIS - STORAGE - NETWORK SWITCH wsman: username: wsman_user password: wsman_pwd redfish: username: redfish_user password: redfish_pwd snmp: community: snmp_community - network_address_detail: - 192.96.25.1-192.96.25.255 - ipmihost - esxiserver - sshserver device_types: - SERVER ssh: username: ssh_user password: ssh_pwd vmware: username: vm_user password: vmware_pwd ipmi: username: ipmi_user password: ipmi_pwd schedule: RunLater cron: "0 0 9 ? * MON,WED,FRI *" ignore_partial_failure: True trap_destination: True community_string: True email_recipient: [email protected] - name: Discover servers with ca check enabled dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" discovery_job_name: "Discovery_server_ca1" discovery_config_targets: - network_address_detail: - 192.96.24.108 device_types: - SERVER wsman: username: user password: password ca_check: True certificate_data: "{{ lookup('ansible.builtin.file', '/path/to/certificate_data_file') }}" - name: Discover chassis with ca check enabled data dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" discovery_job_name: "Discovery_chassis_ca1" discovery_config_targets: - network_address_detail: - 192.96.24.108 device_types: - CHASSIS redfish: username: user password: password ca_check: True certificate_data: "-----BEGIN CERTIFICATE-----\r\n ABCDEFGHIJKLMNOPQRSTUVWXYZaqwertyuiopasdfghjklzxcvbnmasdasagasvv\r\n ABCDEFGHIJKLMNOPQRSTUVWXYZaqwertyuiopasdfghjklzxcvbnmasdasagasvv\r\n ABCDEFGHIJKLMNOPQRSTUVWXYZaqwertyuiopasdfghjklzxcvbnmasdasagasvv\r\n aqwertyuiopasdfghjklzxcvbnmasdasagasvv=\r\n -----END CERTIFICATE-----"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
discovery_ids list / elements=string | when discoveries with duplicate name exist for state is present
| IDs of the discoveries with duplicate names. Sample: [1234, 5678] |
discovery_status dictionary | when state is present
| Details of the discovery job created or modified. If job_wait is true, Completed and Failed IPs are also listed. Sample: {'Completed': ['192.168.24.17', '192.168.24.20', '192.168.24.22'], 'DiscoveredDevicesByType': [{'Count': 3, 'DeviceType': 'SERVER'}], 'DiscoveryConfigDiscoveredDeviceCount': 3, 'DiscoveryConfigEmailRecipient': '[email protected]', 'DiscoveryConfigExpectedDeviceCount': 9, 'DiscoveryConfigGroupId': 125, 'Failed': ['192.168.24.15', '192.168.24.16', '192.168.24.18', '192.168.24.19', '192.168.24.21', 'host123'], 'JobDescription': 'D1', 'JobEnabled': True, 'JobEndTime': '2021-01-01 06:27:29.99', 'JobId': 12666, 'JobName': 'D1', 'JobNextRun': None, 'JobProgress': '100', 'JobSchedule': 'startnow', 'JobStartTime': '2021-01-01 06:24:10.071', 'JobStatusId': 2090, 'LastUpdateTime': '2021-01-01 06:27:30.001', 'UpdatedBy': 'admin'} |
error_info dictionary | on HTTP error | Details of the HTTP Error. Sample: {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'MessageId': 'GEN1234', 'RelatedProperties': [], 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}} |
msg string | always | Overall status of the discovery operation. Sample: Successfully deleted 1 discovery job(s). |
Authors
- Jagadeesh N V (@jagadeeshnv)
- Sajna Shetty (@Sajna-Shetty)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/dellemc/openmanage/ome_discovery_module.html