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
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.7.17
Parameters
Parameter |
Comments |
---|---|
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. Choices:
|
|
Provide a cron expression based on Quartz cron format. |
|
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
|
|
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. |
|
Intelligent Platform Management Interface (IPMI) |
|
KgKey for the IPMI protocol. |
|
Provide a password for the protocol. |
|
Enter the number of repeated attempts required to discover a device. Default: 3 |
|
Enter the time in seconds after which a job must stop running. Default: 60 |
|
Provide a username for the protocol. |
|
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
Sample Invalid IP Range Formats
|
|
REDFISH protocol. |
|
Enable the Certificate Authority (CA) check. Choices:
|
|
Provide certificate data for the CA check. |
|
Enable the Common Name (CN) check. Choices:
|
|
Provide a domain for the protocol. |
|
Provide a password for the protocol. |
|
Enter the port number that the job must use to discover the devices. Default: 443 |
|
Enter the number of repeated attempts required to discover a device. Default: 3 |
|
Enter the time in seconds after which a job must stop running. Default: 60 |
|
Provide a username for the protocol. |
|
Simple Network Management Protocol (SNMP). |
|
Community string for the SNMP protocol. |
|
Enter the port number that the job must use to discover the devices. Default: 161 |
|
Enter the number of repeated attempts required to discover a device. Default: 3 |
|
Enter the time in seconds after which a job must stop running. Default: 3 |
|
Secure Shell (SSH). |
|
Verify the known host key. Choices:
|
|
Use the SUDO option. Choices:
|
|
Provide a password for the protocol. |
|
Enter the port number that the job must use to discover the devices. Default: 22 |
|
Enter the number of repeated attempts required to discover a device. Default: 3 |
|
Enter the time in seconds after which a job must stop running. Default: 60 |
|
Provide a username for the protocol. |
|
HTTPS Storage protocol. |
|
Enable the Certificate Authority (CA) check. Choices:
|
|
Provide certificate data for the CA check. |
|
Enable the Common Name (CN) check. Choices:
|
|
Provide a domain for the protocol. |
|
Provide a password for the protocol. |
|
Enter the port number that the job must use to discover the devices. Default: 443 |
|
Enter the number of repeated attempts required to discover a device. Default: 3 |
|
Enter the time in seconds after which a job must stop running. Default: 60 |
|
Provide a username for the protocol. |
|
VMWARE protocol. |
|
Enable the Certificate Authority (CA) check. Choices:
|
|
Provide certificate data for the CA check. |
|
Enable the Common Name (CN) check. Choices:
|
|
Provide a domain for the protocol. |
|
Provide a password for the protocol. |
|
Enter the port number that the job must use to discover the devices. Default: 443 |
|
Enter the number of repeated attempts required to discover a device. Default: 3 |
|
Enter the time in seconds after which a job must stop running. Default: 60 |
|
Provide a username for the protocol. |
|
Web Services-Management (WS-Man). |
|
Enable the Certificate Authority (CA) check. Choices:
|
|
Provide certificate data for the CA check. |
|
Enable the Common Name (CN) check. Choices:
|
|
Provide a domain for the protocol. |
|
Provide a password for the protocol. |
|
Enter the port number that the job must use to discover the devices. Default: 443 |
|
Enter the number of repeated attempts required to discover a device. Default: 3 |
|
Enter the time in seconds after which a job must stop running. Default: 60 |
|
Provide a username for the protocol. |
|
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. |
|
Name of the discovery configuration job. It is mutually exclusive with discovery_id. |
|
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. |
|
OpenManage Enterprise IP address or hostname. |
|
Provides the option to ignore partial failures. Partial failures occur when there is a combination of both discovered and undiscovered IPs. If If This option is only applicable if job_wait is Choices:
|
|
Provides the option to wait for job completion. This option is applicable when state is Choices:
|
|
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 Default: 10800 |
|
New name of the discovery configuration job. |
|
OpenManage Enterprise password. |
|
OpenManage Enterprise HTTPS port. Default: 443 |
|
Provides the option to schedule the discovery job. If Choices:
|
|
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.
Choices:
|
|
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. Choices:
|
|
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 |
Description |
---|---|
IDs of the discoveries with duplicate names. Returned: when discoveries with duplicate name exist for state is Sample: [1234, 5678] |
|
Details of the discovery job created or modified. If job_wait is true, Completed and Failed IPs are also listed. Returned: when state is Sample: {“Completed”: [“192.168.24.17”, “192.168.24.20”, “192.168.24.22”], “DiscoveredDevicesByType”: [{“Count”: 3, “DeviceType”: “SERVER”}], “DiscoveryConfigDiscoveredDeviceCount”: 3, “DiscoveryConfigEmailRecipient”: “myemail@dell.com”, “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”: null, “JobProgress”: “100”, “JobSchedule”: “startnow”, “JobStartTime”: “2021-01-01 06:24:10.071”, “JobStatusId”: 2090, “LastUpdateTime”: “2021-01-01 06:27:30.001”, “UpdatedBy”: “admin”} |
|
Details of the HTTP Error. Returned: on 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.”}} |
|
Overall status of the discovery operation. Returned: always Sample: “Successfully deleted 1 discovery job(s).” |
Authors
Jagadeesh N V (@jagadeeshnv)
Sajna Shetty (@Sajna-Shetty)