Dell EMC OpenManage Ansible Modules Version 2.1 User’s Guide June 2020 Rev.
Notes, cautions, and warnings NOTE: A NOTE indicates important information that helps you make better use of your product. CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid the problem. WARNING: A WARNING indicates a potential for property damage, personal injury, or death. Dell EMC OpenManage Ansible Modules Version 2.1 © Copyright 2019 - 2020 Dell Inc. GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.
Contents Chapter 1: Overview........................................................................................................................5 Key Features.......................................................................................................................................................................... 5 What's new?......................................................................................................................................................................
Attach or detach an identity pool ............................................................................................................................... 73 Set tagged and untagged vLANs in a template.........................................................................................................74 Manage the device firmware............................................................................................................................................. 76 Update device firmware...
1 Overview Dell EMC OpenManage Ansible Modules allows data center and IT administrators to use RedHat Ansible to automate and orchestrate the configuration, deployment, and update of Dell EMC PowerEdge Servers (12th generation of PowerEdge servers and later) and modular infrastructure by leveraging the management automation capabilities in-built into the Integrated Dell Remote Access Controller (iDRAC) and OpenManage Enterprise (OME) respectively.
What's new? • OpenManage Ansible allows the use of standard Redfish URIs supported by iDRAC. • • • ○ The new redfish_firmware module performs a component firmware update using an image file available on the local or remote system. ○ The new redfish_storage_volume module manages the storage volume configuration. The new ome_firmware_baseline module allows to create a firmware baseline from existing catalog. The new ome_firmware_baseline_info module allows to view the list of available firmware baselines.
2 Getting Started Topics: • • How OpenManage Ansible Modules works Running your first Playbook How OpenManage Ansible Modules works • • • How OpenManage Ansible Modules work with iDRAC How OpenManage Ansible Modules work with OME How OpenManage Ansible Modules work with Redfish APIs Running your first Playbook Playbooks are essentially sets of instructions (plays) that you send to run on a single target or groups of targets (hosts).
3 Modules for iDRAC Topics: • • • • • • • • How OpenManage Ansible Modules work with iDRAC Running your first iDRAC Playbook Updating Firmware Configuring PowerEdge Servers Deploying operating system Server Inventory Server administration tasks Storage controller How OpenManage Ansible Modules work with iDRAC OpenManage Ansible modules uses iDRAC REST APIs based on Redfish standards and Server Configuration Profiles (SCP) for automated configuration, deployment and update of PowerEdge servers.
tasks: - name: Get hardware inventory dellemc_get_system_inventory: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" 4. Now run the playbook. Run the following command from the directory where you created the inventory and the playbook: ansible-playbook playbook.yml -i inventory 5. Press Enter.
Table 2. Return Values Name Description • Firmware Inventory • Components of a server and their firmware versions. List of dictionaries, 1 dictionary per firmware. Returned Type Sample Success String https://github.com/dell/Dell-EMC-AnsibleModules-for-iDRAC/blob/master/samples/ dellemc_get_firmware_inventory.md Examples -name: Get Installed Firmware Inventory dellemc_get_firmware_inventory: idrac_ip: "xx.xx.xx.
Table 3. idrac_firmware (continued) Parameter/aliases Required Default Choices Comments share_user No NA NA User name required to access the network share must be provided as either 'user@domain' or 'domain\user'. This option is mandatory for CIFS network share. share_password/ share_pwd No NA NA Network share user password. This option is mandatory for CIFS Network share. share_mnt Yes NA NA Local mount path of the network share with read/write permission for the Ansible user.
idrac_password: "user_password" share_name: "\\\\192.168.0.0\\cifs" share_user: "share_user" share_password: "share_password" share_mnt: "/mnt_path" reboot: True job_wait: True apply_update: True catalog_file_name: "Catalog.xml" - name: Update firmware from a repository on a HTTP share. idrac_firmware: idrac_ip: "192.168.0.1" idrac_user: "user_name" idrac_password: "user_password" share_name: "http://downloads.dell.
Table 4. dellemc_idrac_firmware (continued) Parameter Required Default Choices Comments catalog_file_name No Catalog.xml NA Catalog file name relative to the I(share_name). reboot No False NA Whether to reboot after applying the updates or not. share_name Yes NA NA CIFS or NFS Network share NA Network share user in the format 'user@domain' or 'domain\\user' if user is part of a domain else 'user'. This option is mandatory for CIFS Network share. NA Network share user password.
job_wait: True catalog_file_name: "Catalog.xml" Module: dellemc_install_firmware Synopsis You can install the firmware from a repository on a network share (CIFS, NFS) to keep the system updated. For 12th and 13th generation of PowerEdge servers, firmware update from a network repository is performed using WS-Man APIs. For 14th generation of PowerEdge servers, firmware update from a network repository is performed using the SCP.
Table 6. Return Values Name Description Returned Type Sample Firmware Updates firmware from a repository on a network share (CIFS, NFS). Success String https://github.com/dell/Dell-EMC-AnsibleModules-for-iDRAC/blob/master/samples/ dellemc_install_firmware.md Example -name: Update firmware from a repository on a Network Share dellemc_install_firmware: idrac_ip: "xx.xx.xx.xx" idrac_user: "xxxx" idrac_pwd: "xxxxxxxx" share_name: "xx.xx.xx.
Table 8. Return Values Name Description Returned LC status Displays the LC status on Success a PowerEdge server Type Sample String https://github.com/dell/Dell-EMCAnsible-Modules-for-iDRAC/blob/ master/samples/ dellemc_get_lcstatus.md Example -name: Get LC Status dellemc_get_lcstatus: idrac_ip: "xx.xx.xx.
Table 9. idrac_server_config_profile (continued) Parameter/aliases Required Default Choices Comments • • • If C(BIOS), the module imports BIOS configuration from SCP file. If C(NIC), the module imports NIC configuration from SCP file. If C(RAID), the module imports RAID configuration from SCP file. This option is applicable for C(import) state.
share_user: "share_user_name" share_password:"share_user_password" scp_file: "scp_filename.xml" scp_components:"ALL" job_wait: True - name: Import SCP from a local path and wait for this job to get completed. dellemc_idrac_server_config_profile: idrac_ip: "192.168.0.1" idrac_user: "user_name" idrac_password:"user_password" command: "import" share_name: "/scp_folder" share_user: "share_user_name" share_password:"share_user_password" scp_file: "scp_filename.
Table 10. dellemc_idrac_server_config_profile (continued) Parameter Required Default Choices Comments share_user No NA NA Network share user in the format 'user@domain' or 'domain\\user' if user is a part of a domain, else 'user'. This option is mandatory for CIFS Network Share. share_pwd No NA NA Network share user password. This option is mandatory for CIFS Network Share. scp_file No NA NA Server Configuration Profile file name. This option is mandatory for C(import) state.
"PercentComplete": 100, "StartTime": "TIME_NOW", "Status": "Success", "TargetSettingsURI": null, "retval": true } Examples - name: Import Server Configuration Profile from a network share dellemc_idrac_server_config_profile: idrac_ip: "192.168.0.1" idrac_user: "user_name" idrac_pwd: "user_pwd" command: "import" share_name: "192.168.0.2:/share" share_user: "share_user_name" share_pwd: "share_user_pwd" scp_file: "scp_filename.
NOTE: This module is deprecated and replaced with idrac_server_config_profile. Options Table 11.
Example -name: Import Server Configuration Profile dellemc_import_server_config_profile idrac_ip: "xx.xx.xx.xx" idrac_user: "xxxx" idrac_pwd: "xxxxxxxx" share_name: "xx.xx.xx.xx:/share" share_user: "xxxx" share_pwd: "xxxxxxxx" scp_file: "scp_file.xml" scp_components: "ALL" job_wait: "True" Module: dellemc_export_server_config_profile Synopsis You can export Server Configuration Profile (SCP) with various components such as iDRAC, BIOS, NIC, RAID together or with one of these components.
Table 13. dellemc_export_server_config_profile (continued) Parameter Required Default Choices Comments • • • • • IDRAC BIOS NIC RAID • • • • If ALL, the module exports all components configurations in SCP file If IDRAC, the module exports iDRAC configuration in SCP file If BIOS, the module exports BIOS configuration in SCP file If NIC, the module exports NIC configuration in SCP file If RAID, the module exports RAID configuration in SCP file Table 14.
Table 15. dellemc_configure_idrac_users (continued) Parameter/aliases Required Default Choices Comments idrac_password/ idrac_pwd Yes NA NA iDRAC user password idrac_port No 443 NA iDRAC port share_name Yes NA NA CIFS or NFS Network share or a local path share_user No NA NA Network share user in the format 'user@domain' or 'domain\user' if user is part of a domain else 'user'. This option is mandatory for CIFS Network share.
Table 15. dellemc_configure_idrac_users (continued) Parameter/aliases Required Default Choices • • Comments DES AES Table 16. Return Values Name Description Returned Type Sample iDRAC users Configures the iDRAC users attributes Success String https://github.com/dell/Dell-EMC-Ansible-Modulesfor-iDRAC/blob/master/samples/ dellemc_configure_idrac_users.md Example -name: Configure the iDRAC users attributes dellemc_configure_idrac_users: idrac_ip: "xx.xx.xx.
Table 17. dellemc_configure_idrac_timezone (continued) Parameter/aliases Required Default Choices Comments share_password/ share_pwd No NA NA Network share user password. This option is mandatory for CIFS Network share. share_mnt No NA NA Local mount path of the network share with read-write permission for Ansible user. This option is mandatory for CIFS or NFS Network share.
Table 19. dellemc_configure_idrac_eventing (continued) Parameter/aliases Required Default Choices Comments share_name Yes NA NA CIFS or NFS Network share or a local path share_user No NA NA Network share user in the format 'user@domain' or 'domain\user' if user is part of a domain else 'user'. This option is mandatory for CIFS Network share. share_password/ share_pwd No NA NA Network share user password. This option is mandatory for CIFS Network share.
idrac_password: share_name: share_password: share_user: share_mnt: destination_number: destination: snmp_v3_username: snmp_trap_state: email_alert_state: alert_number: address: custom_message: enable_alerts: authentication: smtp_ip_address: smtp_port: username: password: "xxxxxxxx" "xx.xx.xx.xx:/share" "xxxxxxxx" "xxxx" "/mnt/share" "xxxx" "xxxx" "xxxx" "xxxx" "xxxx" "xxxx" "xxxxxxxxxx" "xxxx" "xxxxxx" "xxxxxx" "x.x.x.
Table 21.
tls_protocol: timeout: snmp_enable: snmp_protocol: community_name: alert_port: discovery_port: trap_format: "TLS_1_2_Only" "1800" "Enabled" "SNMPv3" "test" "None" "162" "None" Configure iDRAC network Module: dellemc_configure_idrac_network Synopsis This module configures the iDRAC networking attributes. Check_mode support: Yes Options Table 23.
Table 23.
idrac_user: idrac_password: share_name: share_password: share_user: share_mnt: register_idrac_on_dns: dns_idrac_name: auto_config: static_dns: setup_idrac_nic_vlan: vlan_id: vlan_priority: enable_nic: nic_selection: failover_network: auto_detect: auto_negotiation: network_speed: duplex_mode: nic_mtu: ip_address: enable_dhcp: dns_from_dhcp: enable_ipv4: static_dns_1: static_dns_2: static_gateway: static_net_mask: "xxxx" "xxxxxxxx" "xx.xx.xx.
Table 25. dellemc_configure_bios (continued) Parameter/aliases boot_mode Required No Default NA Choices • • Bios Uefi Comments (deprecated) Configures the boot mode to BIOS or UEFI. NOTE: This option has been deprecated, and will be removed in the later version. Please use the I(attributes) for BIOS attributes configuration instead. NOTE: I(boot_mode) is mutually exclusive with I(boot_sources). (deprecated) Boot devices' FQDDs in the sequential order for BIOS or UEFI Boot Sequence.
Table 25. dellemc_configure_bios (continued) Parameter/aliases Required Default Choices • • • • attributes No NA Comments OneTimeCustomHddSeqSt r OneTimeCustomUefiBootS eqStr OneTimeHddSeq OneTimeUefiBootSeq I(attributes) for BIOS attributes configuration instead. NOTE: I(onetime_boot_mode) is mutually exclusive with I(boot_sources). Dictionary of BIOS attributes and value pair. Attributes should be part of the Redfish Dell BIOS Attribute Registry.
Examples -name: Configure BIOS Generic attributes dellemc_configure_bios: idrac_ip: "xx.xx.xx.xx" idrac_user: "xxxx" idrac_password: "xxxxxxxx" attributes: BootMode : "Bios" OneTimeBootMode: "Enabled" BootSeqRetry: "Enabled" - name: Configure PXE Generic Attributes dellemc_configure_bios: idrac_ip: "xx.xx.xx.xx" idrac_user: "xxxx" idrac_password: "xxxxxxxx" attributes: PxeDev1EnDis: "Enabled" PxeDev1Protocol: "IPV4" PxeDev1VlanEnDis: "Enabled" PxeDev1VlanId: x PxeDev1Interface: "NIC.Embedded.
Configure RAID Module: dellemc_configure_raid Synopsis This module hosts the RAID configuration related attributes. NOTE: This module is deprecated and replaced with dellemc_idrac_storage_volume. Options Table 27.
Table 27. dellemc_configure_raid (continued) Parameter/aliases Required Default Choices Comments write_cache_policy No WriteThrough • • • WriteThrough WriteBack WriteBackForce Write cache policy read_cache_policy No NoReadAhead • • • NoReadAhead ReadAhead Adaptive Read cache policy stripe_size No 65536 NA Provide stripe size value in multiples of 64 * 1024 controller_fqdd Yes NA NA Fully Qualified Device Descriptor (FQDD) of the storage controller, for e.g. RAID.Integrated.
Table 29.
Table 29. dellemc_idrac_storage_volume (continued) Parameter/aliases Required Default Choices Comments • • view • volumes No NA NA C(delete) performs remove volume operations. C(view) returns the storage view. A list of virtual disk-specific iDRAC attributes. This is applicable for C(create) and C(delete) operations. • • For C(create) operation, name and drives are applicable options, other volume options can also be specified.
state: volumes: - drives: location: "create" [5] -name: Create multiple volume dellemc_idrac_storage_volume: idrac_ip: "192.168.0.1" idrac_user: "username" idrac_password: "password" raid_reset_config: "True" state: "create" controller_id: "RAID.Slot.
idrac_ip: "192.168.0.1" idrac_user: "username" idrac_password: "password" state: "delete" volumes: - name: "volume_1" - name: "volume_2" Configure Collect System Inventory on Restart Module: dellemc_idrac_lc_attributes Synopsis This module is responsible for enabling or disabling of Collect System Inventory on Restart (CSIOR) property for all iDRAC or LC jobs.
share_user: "xxxxx" share_password: "xxxxxxxx" share_mnt: "/mnt/share" csior: "xxxxxxx" Configure syslog Module: dellemc_setup_idrac_syslog Synopsis This module enables or disables syslog parameters for iDRAC. Check_mode support: Yes Options Table 32.
share_user: "xxxx" share_password:"xxxxxxxx" share_mnt: "/mnt/share" syslog: "xxxxxxx" Deploying operating system To provision a bare metal server, it is essential to deploy the required operating system in the device before you start using it. This section describes the process of deploying the operating system on the PowerEdge servers using Ansible.
Table 35. Return Values Name Description Returned Boot to Network ISO Boots to a network ISO Image Success Type Sample String https://github.com/dell/Dell-EMCAnsible-Modules-for-iDRAC/blob/ master/samples/ dellemc_boot_to_network_iso.md Example -name: Boot to Network ISO idrac_os_deployment: idrac_ip: "192.168.0.1" idrac_user: "user_name" idrac_password: "user_password" share_name: "192.168.0.
Table 36. dellemc_boot_to_network_iso (continued) Parameter/aliases Required Default Choices Comments share_user No NA NA Network share user in the format 'user@domain' or 'domain\user' if user is part of a domain else 'user'. This option is mandatory for CIFS Network share. share_password/ share_pwd No NA NA Network share user password. This option is mandatory for CIFS Network share. Table 37.
Table 39. Return Values Name Description Returned Type Sample System Inventory Displays the PowerEdge Server System Inventory Success String https://github.com/dell/Dell-EMC-Ansible-Modulesfor-iDRAC/blob/master/samples/ dellemc_get_system_inventory.md Example -name: Get System Inventory dellemc_get_system_inventory: idrac_ip: "xx.xx.xx.xx" idrac_user: "xxxx" idrac_password:"xxxxxxxx" Server administration tasks This section describes the tasks that you can run using OpenManage Ansible Modules.
Table 41. Return Values Name Description Returned Type Sample Power state of a server Configures the power control options on a PowerEdge server Success String https://github.com/dell/Dell-EMC-AnsibleModules-for-iDRAC/blob/master/samples/ dellemc_change_power_state.md Example -name: Change Power State dellemc_change_power_state: idrac_ip: "xx.xx.xx.
Options Table 44. dellemc_get_lc_job_status Parameter/aliases Required Default Choices Comments idrac_ip Yes NA NA iDRAC IP Address idrac_user Yes NA NA iDRAC username idrac_password/ idrac_pwd Yes NA NA iDRAC user password idrac_port No 443 NA iDRAC port job_id Yes NA NA JOB ID in the format "JID_123456789012" Table 45. Return Values Name Description Returned Type Sample LC Job Status Displays the status of an LC job Success String https://github.
Table 46. dellemc_export_lc_logs (continued) Parameter/aliases Required Default Choices Comments share_password/ share_pwd No NA NA Network share user password. This option is mandatory for CIFS Network share. NA • • • job_wait Yes True False • If the value is True, it waits for the job to complete and returns the job completion status If the value is False, it returns immediately with a JOB ID after queuing the job in LC job queue Table 47.
Table 49. Return Values Name Description Returned Delete LC job Deletes an LC job for a given a Success JOB ID Type Sample String https://github.com/dell/Dell-EMC-Ansible-Modulesfor-iDRAC/blob/master/samples/ dellemc_delete_lc_job.md Examples -name: Delete LC Job dellemc_delete_lc_job: idrac_ip: "xx.xx.xx.
This module is responsible for enabling or disabling the lockdown mode of a system. When System Lockdown Mode is enabled, the system’s configuration is locked and system cannot be configured or updated until the lockdown mode is disabled. Check_mode support: No Options Table 52.
This module configures the storage controller settings using Redfish APIs. Options Table 54. idrac_redfish-storage-controller Parameter Required Default Choices Comments baseuri True NA NA IP address of the target iDRAC. For example- : username True NA NA Username of the target iDRAC. password True NA NA Password of the target iDRAC. command False AssignSpare ResetConfig, AssignSpare, SetControllerKey, RemoveControllerKey,or ReKey.
Table 54. idrac_redfish-storage-controller (continued) Parameter Required Default Choices Comments C(RemoveControllerKey) and C(ReKey). key False NA NA • • • key_id False NA NA • • old_key False NA NA • • mode False NA LKM or SEKM • • • A new security key passphrase that the encryption-capable controller uses to create the encryption key. The controller uses the encryption key to lock or unlock access to the Self Encryption Disk(SED).
description: Details of a http error. returned: on http error sample: { "error": { "@Message.ExtendedInfo": [ { "Message": "Cannot run the method because the requested HTTP method is not allowed.", "MessageArgs": [], "MessageArgs@odata.count": 0, "MessageId": "iDRAC.1.6.SYS402", "RelatedProperties": [], "RelatedProperties@odata.count": 0, "Resolution": "Enter a valid HTTP method and retry the operation. For information about valid methods, see the Redfish Users Guide available on the support site.
username: "user_name" password: "user_password" command: "ReKey" controller_id: "RAID.Slot.1-1" mode: "SEKM" tags: - rekey_sekm - name: Remove [the] controller key. idrac_redfish_storage_controller: baseuri: "192.168.0.1:443" username: "user_name" password: "user_password" command: "RemoveControllerKey" controller_id: "RAID.Slot.1-1" tags: - remove_controller_key - name: Reset configuration. idrac_redfish_storage_controller: baseuri: "192.168.0.
4 Modules for OpenManage Enterprise (OME) Topics: • • • • • • • • • How OpenManage Ansible Modules work with OME Running your first OME Playbook View device information Manage device configuration templates Manage the device firmware Manage jobs Manage users Manage identity pool Manage network settings How OpenManage Ansible Modules work with OME OpenManage Enterprise (OME) is a system management and monitoring application that provides rich sets of features to manage the Dell EMC servers, chassis, storag
tasks: - name: Retrieve basic inventory of all devices. ome_device_info: hostname: "192.168.0.1" username: "username" password: "password" 4. Now run the playbook. Run the following command from the directory where you created the inventory and the playbook: ansible-playbook playbook.yml -i inventory 5. Press Enter.
Table 55. ome_device_info (continued) Parameter Required Default Choices • • system_query_options No NA • • device_id: A list of unique identifier is applicable for C(detailed_inventory) and C(subsystem_health). device_service_tag: A list of service tags is applicable for C(detailed_inventory) and C(subsystem_health). inventory_type: For C(detailed_inventory), it returns details of the specified inventory type. filter: For C(basic_inventory), it filters the collection of devices.
} ] Examples - name: Retrieve basic inventory of all devices. ome_device_info: hostname: "192.168.0.1" username: "username" password: "password" - name: Retrieve basic inventory for devices identified by IDs 33333 or 11111 using filtering. ome_device_info: hostname: "192.168.0.1" username: "username" password: "password" fact_subset: "basic_inventory" system_query_options: filter: "Id eq 33333 or Id eq 11111" - name: Retrieve inventory details of specified devices identified by IDs 11111 and 22222.
- MXL1234 - MXL4567 Module: dellemc_ome_device_facts Synopsis This module retrieves the list of all devices with the exhaustive inventory of each device discovered using OpenManage Enterprise. NOTE: This module is deprecated and replaced with ome_device_info. Options Table 56.
} ] } "ConnectionState": true, "DeviceManagement": [ { "DnsName": "dnsname.host.com", "InstrumentationName": "MX-12345", "MacAddress": "11:10:11:10:11:10" "ManagementId": 12345, "ManagementProfile": [ { "HasCreds": 0, "ManagementId": 12345, "ManagementProfileId": 12345, "ManagementURL": "https://192.168.0.1:443", "Status": 1000, "StatusDateTime": "2019-01-21 06:30:08.501" } ], "ManagementType": 2, "NetworkAddress": "192.168.0.
password: "password" fact_subset: "detailed_inventory" system_query_options: device_service_tag: - MXL1234 - MXL4567 - name: Retrieve details of specified inventory type of specified devices identified by ID and service tags. dellemc_ome_device_facts: hostname: "192.168.0.
Table 57. ome_template_info (continued) Parameter Required Default Choices Comments template_id No NA NA ID of the template. filter: Filter records by the supported values. Provides the option to filter the output for the supported values. I(filter) query format must be aligned with OData standards. system_query_options No NA Return Values msg: type: str description: Overall template facts status.
Synopsis This module retrieves the list and details of all templates or details of a specific template. NOTE: This module is deprecated and replaced with ome_template_info. Options Table 58.
Template operations Module: ome_template Synopsis This module creates, modifies, deploys, deletes, exports, imports, or clones a template. Options Table 59. ome_template Parameter Required Default Choices Comments hostname True NA NA Target IP Address or hostname username True NA NA Target username password True NA NA Target user password port False 443 NA Target device HTTPS port create, modify, deploy, delete, export, import or clone.
Table 59. ome_template (continued) Parameter Required Default Choices Comments • • • • • • • • • • Name: Name of the template. This is mandatory when I(command) is C(create), C(import), C(clone), and optional when I(command) is C(modify). Description for the template. This is applicable when I(command) is C(deploy) or C(modify). Fqdds: This allows to create [Creates] a template using components from a specified reference server.
sample: "\n\nTrue\nClear\n\n\n Ready\nNo\n \n
- 12765 - 10173 device_service_tag: - 'SVTG123' - 'SVTG456' - name: Deploy template on multiple devices along with the attribute values to be modified on the target devices. ome_template: hostname: "192.168.0.1" username: "username" password: "password" command: "deploy" template_id: 12 device_id: - 12765 - 10173 device_service_tag: - 'SVTG123' attributes: # Device specific attributes to be modified during deployment.
hostname: "192.168.0.1" username: "username" password: "password" command: "deploy" template_id: 12 device_id: - 12765 - 10173 device_service_tag: - 'SVTG123' - 'SVTG456' attributes: Attributes: - DeviceId: 12765 Attributes: - Id : 15645 Value : "0.0.0.0" IsIgnored : false - DeviceId: 10173 Attributes: - Id : 18968, Value : "hostname-1" IsIgnored : false NetworkBootIsoModel: BootToNetwork: false ShareType: "NFS" IsoPath: "/home/iso_path/filename.iso" ShareDetail: IpAddress: "192.168.0.
ome_template: hostname: "192.168.0.1" username: "username" password: "password" command: "clone" template_id: 12 attributes: Name: "New Cloned Template Name" - name: Import template from XML content. ome_template: hostname: "192.168.0.1" username: "username" password: "password" command: "import" attributes: Name: "Imported Template Name" # Template Type from TemplateService/TemplateTypes Type: 2 # xml string content Content: "
Table 60. dellemc_ome_template (continued) Parameter Require d Default Choices Comments template_id No NA NA Unique ID of the template to be modified or deployed. This option is mandatory for C(modify) and C(deploy) operations. device_id No [] NA List of targeted device id(s) for C(deploy) or a single id for C(create) operation. Either I(device_id) or I(device_service_tag) is mandatory or both can be applicable.
"code": "Base.1.0.GeneralError", "message": "A general error has occurred. See ExtendedInfo for more information.", "@Message.ExtendedInfo": [ { "MessageId": "GEN1234", "RelatedProperties": [], "Message": "Unable to process the request because an error occurred.", "MessageArgs": [], "Severity": "Critical", "Resolution": "Retry the operation. If the issue persists, contact your system administrator." } ] } } Examples - name: create template. dellemc_ome_template: hostname: "192.168.0.
RunLater: true RunNow: false Attach or detach an identity pool ome_template_identity_pool Synopisis This module allows to• • Attach an identity pool to a requested template. Detach an identity pool from a requested template. Options Table 61.
} } ] } Examples - name: Attach an identity pool to a template. ome_template_identity_pool: hostname: "192.168.0.1" username: "username" password: "password" template_name: template_name identity_pool_name: identity_pool_name - name: Detach an identity pool from a template. ome_template_identity_pool: hostname: "192.168.0.
Table 62. ome_template_network_vlan (continued) Parameter Required Default Choices Comments ○ This option is mutually exclusive with I(untagged_network_name). ○ To get the vLAN network ID use the API U( https://I(hostname)/api/ NetworkConfigurationService/ Networks) • untagged_network_name○ Name of the untagged vLAN ○ Enter 0 to clear the untagged vLAN from the port. ○ This option is mutually exclusive with I(untagged_network_id).
''' "Severity": "Critical" }], "code": "Base.1.0.GeneralError", "message": "A general error has occurred. See ExtendedInfo for more information." }} Examples - name: Add tagged or untagged vLANs to a template using vLAN ID and name. ome_template_network_vlan: hostname: "192.168.0.
Update device firmware Module: ome_firmware Synopsis This module updates the firmware of PowerEdge devices and all its components. Options Table 63.
'LastRunStatus': { 'Id': 1111, 'Name': 'NotRun' }, 'Builtin': False, 'Editable': True, 'NextRun': None, 'JobStatus': { 'Id': 1111, 'Name': 'New' }, 'JobName': 'Firmware Update Task', 'Visible': True, 'State': 'Enabled', 'JobDescription': 'dup test', 'Params': [{ 'Value': 'true', 'Key': 'signVerify', 'JobId': 11111}, { 'Value': 'false', 'Key': 'stagingValue', 'JobId': 11112}, { 'Value': 'false', 'Key': 'complianceUpdate', 'JobId': 11113}, { 'Value': 'INSTALL_FIRMWARE', 'Key': 'operationName', 'JobId': 11114}
- 22222 dup_file: "/path/Chassis-System-Management_Firmware_6N9WN_WN64_1.00.01_A00.EXE" - name: Update firmware from a DUP file using device service tags. dellemc_ome_firmware: hostname: "192.168.0.1" username: "username" password: "password" device_service_tag: - KLBR111 - KLBR222 dup_file: "/path/Network_Firmware_NTRW0_WN64_14.07.07_A00-00_01.EXE" -name: Update firmware from a DUP file using a device group name. ome_firmware: hostname: "192.168.0.
} type: dict description: "Firmware Update job and progress details from the OME.
- KLBR222 dup_file: "/path/Network_Firmware_NTRW0_WN64_14.07.07_A00-00_01.EXE" Create a firmware catalog Module: ome_firmware_catalog Synopsis This module triggers the job to create a catalog. Options Table 65.
Return Values msg: description: Overall status of the firmware catalog creation returned: always type: str sample: "Successfully triggered the job to create a catalog with Task Id : 10094" catalog_status: description: Details of the catalog creation. returned: on success type: dict sample: { "AssociatedBaselines": [], "BaseLocation": null, "BundlesCount": 0, "Filename": "catalog.
- name: create catalog from a repository on a HTTP. ome_firmware_catalog: hostname: "192.168.0.1" username: "username" catalog_name: "catalog_name" catalog_description: "catalog_description" repository_type: "HTTP" source: "downloads.dell.com" source_path: "catalog" file_name: "catalog.gz" - name: create catalog from a CIFS network share. ome_firmware_catalog: hostname: "192.168.0.
Table 66. ome_firmware_baseline (continued) Parameter Required Default Choices Comments is_64_bit False True NA Indicates if 64 bit is supported. device_ids False NA NA List olf device ids. I(device_ids) is mutually exclusive with I(device_service_tags) and I(device_group_names). device_service_tags False NA NA List of service tags I(device_service_tags) is mutually exclusive with I(device_ids) and I(device_group_names). device_group_names False NA NA List of group names.
"@Message.ExtendedInfo": [ { "Message": "Unable to retrieve baseline list either because the device ID(s) entered are invalid", "Resolution": "Make sure the entered device ID(s) are valid and retry the operation.", "Severity": "Critical" } ], "code": "Base.1.0.GeneralError", "message": "A general error has occurred. See ExtendedInfo for more information." } } Examples - name: create baseline from device Ids. ome_firmware_baseline: hostname: "192.168.0.
Table 67. ome_firmware_baseline_info (continued) Paramter Required Default Choices Comments password True NA NA Target password port False 443 NA Target HTTPS port baseline_name: False NA NA Name of the baseline. If I(baseline_name) is not provided, all the available firmware baselines are returned. Return Values msg: type: str description: Overall baseline information. returned: on error sample: "Successfully fetched firmware baseline information.
password: "password" baseline_name: "baseline_name" Retrieve firmware baseline compliance details Module: ome_firmware_baseline_compliance_info Synopsis This module allows to retrieve firmware compliance for a list of devices, or against a specified baseline. Options Table 68. ome_firmware_baseline_compliance_info Parameter Required Default Choices Comments hostname True NA NA Target share address or hostname. username True NA NA Target username.
Table 68. ome_firmware_baseline_compliance_info (continued) Parameter Required Default Choices Comments • • device_group_names False NA NA • • • • I(device_service_tags) is mutually exclusive with I(device_ids), I(device_group_names), and I(baseline_name). Devices without reports are ignored. A list of group names for which the device based compliance report is generated.
DriversDetails?driverId=XXXXX", }, { Drive", "TargetIdentifier": "101734", "UniqueIdentifier": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "UpdateAction": "DOWNGRADE", "Uri": "http://www.dell.com/support/home/us/en/19/Drivers/ "Version": "4.0" "ComplianceDependencies": [], "ComplianceStatus": "CRITICAL", "Criticality": "Recommended", "CurrentVersion": "DN02", "Id": 1259, "ImpactAssessment": "", "Name": "TOSHIBA AL14SE 1.8 TB 2.
operation.", } } } "Severity": "Critical" ], "code": "Base.1.0.GeneralError", "message": "A general error has occurred. See ExtendedInfo for more information." Examples - name: Retrieves baseline based compliance report for specific device IDs. ome_firmware_baseline_compliance_info: hostname: "192.168.0.1" username: "username" password: "password" device_ids: - 11111 - 22222 - name: Retrieves device based compliance report for specific device service Tags.
Table 69. dellemc_ome_job_facts Parameter Required Default Choices Comments hostname Yes NA NA Target IP Address or hostname username Yes NA NA Target username password Yes NA NA Target user password port No 443 NA Target HTTPS port job_id No NA NA Unique ID of the job • system_query_options No NA • • top: Number of records to return. Default value is 100. skip: Number of records to skip. Default value is 0. filter: Filter records by the values supported.
], "UpdatedBy": null, "Visible": true } ]} Examples - name: Get all jobs details. dellemc_ome_job_facts: hostname: "192.168.0.1" username: "username" password: "password" - name: Get job details for id. dellemc_ome_job_facts: hostname: "192.168.0.1" username: "username" password: "password" job_id: 12345 - name: Get filtered job details. dellemc_ome_job_facts: hostname: "192.168.0.
Table 70. ome_power_state (continued) Parameter Require d Default Choices Comments NOTE: I(device_service_tag) is mutually exclusive with I(device_id). Return Values msg: type: str description: "Overall power state operation job status." returned: always sample: "Power State operation job submitted successfully." job_status: type: dict description: "Power state operation job and progress details from the OME.
Examples - name: Power state operation based on device id. ome_powerstate: hostname: "192.168.0.1" username: "username" password: "password" device_id: 11111 power_state: "off" - name: Power state operation based on device service tag. ome_powerstate: hostname: "192.168.0.1" username: "username" password: "password" device_service_tag: "KLBR111" power_state: "on" - name: Power state operation based on list of device ids. ome_powerstate: hostname: "192.168.0.
Table 71. ome_user_info (continued) Parameter Required Default Choices Comments password Yes NA NA Target user password port No 443 NA Target device HTTPS port account_id No NA NA Unique ID of the account filter: Filter records for the supported values Provides the option to filter the output for the supported values. I(filter) query format must be aligned with OData standards.
Synopsis This module retrieves the list and basic details of all user accounts or details of a specific user account. NOTE: This module is deprecated and replaced with ome_user_info. Options Table 72.
Synopsis This module: • • creates a new user account. modifies or deletes an existing user account. Options Table 73. ome_user Parameter Required Default Choices Comments hostname Yes NA NA Target IP Address or hostname username Yes NA NA Target username password Yes NA NA Target user password port No 443 NA Target device HTTPS port • state No present • • present absent • • C(present) creates a user in case the I(UserName) provided inside I(attributes) does not exist .
"DirectoryServiceId": 0, "Enabled": true, "Id": "61546", "IsBuiltin": false, "Locked": false, "Name": "test", "ObjectGuid": null, "Oem": null, "Password": null, "PlainTextPassword": null, "RoleId": "10", "UserName": "test", "UserTypeId": 1 } Examples - name: Create user with required parameters. ome_user: hostname: "192.168.0.
Manage identity pool Identity pools are used in template-based deployment of servers. They facilitate the virtualization of network identities required for accessing systems using Ethernet, iSCSI, FCoE, or Fibre Channel (FC). This section describes how to manage the settings of an identity pool. Manage Identity pool settings Module: ome_identity_pool Synopsis This module allows to create, modify, or delete a single identity pool on OpenManage Enterprise. Options Table 74.
Table 74. ome_identity_pool (continued) Parameter Required Default Choices Comments fcoe_settings False NA NA Applicable for creating and modifying an identity pool using FCoE settings. I(starting_mac_address) and I(identity_count) are required to create an identity pool. Suboptions• • iSCI_settings False NA NA starting_mac_addressStarting MAC address of the FCoE setting. identity_count- Number of MAC addresses. Applicable for creating and modifying an identity pool using iSCSI settings.
Table 74. ome_identity_pool (continued) Parameter Required Default Choices Comments I(starting_address) and I(identity_count) are required to create an identity pool. This option allows OpenManage Enterprise to generate a Worldwide port name (WWPN) and Worldwide node name (WWNN) address. The value 0x2001 is prefixed to the beginning address for the generation of a WWPN, and 0x2000 for a WWNN.
password: "password" state: present pool_name: "pool1" pool_description: "Identity pool with Ethernet, FCoE, ISCSI and FC settings" ethernet_settings: starting_mac_address: "50:50:50:50:50:00" identity_count: 60 fcoe_settings: starting_mac_address: "70:70:70:70:70:00" identity_count: 75 iscsi_settings: starting_mac_address: "60:60:60:60:60:00" identity_count: 30 initiator_config: iqn_prefix: "iqn.myprefix." initiator_ip_pool_settings: ip_range: "10.33.0.1-10.33.0.255" subnet_mask: "255.255.255.
password: "password" state: "absent" pool_name: "pool2" Manage network settings This section describes how to manage the following network settings on OpenManage enterprise• • • • • Manage proxy configuration Manage a network configuration Manage a web server configuration Manage time configuration Generate and upload a certificate signing request Manage proxy configuration Module: ome_application_network_proxy Synopsis This module allows the configuration of a network proxy. Options Table 75.
Table 75. ome_application_network_proxy (continued) Parameter Required Default Choices Comments • username and password must be provided. If I(enable_authenticati on) is false, the proxy username and password are set to its default values. proxy_username False NA NA Username of the proxy server. This option is mandatory when I(enable_authentication) is true. proxy_password False NA NA Password of the proxy server. This option is mandatory when I(enable_authentication) is true.
''' } Examples - name: Update proxy configuration and enable authentication. ome_application_network_proxy: hostname: "192.168.0.1" username: "username" password: "password" enable_proxy: true ip_address: "192.168.0.2" proxy_port: 444 enable_authentication: true proxy_username: "proxy_username" proxy_password: "proxy_password" - name: Reset proxy authentication. ome_application_network_proxy: hostname: "192.168.0.1" username: "username" password: "password" enable_proxy: true ip_address: "192.168.0.
Table 76. ome_application_network_address (continued) Parameter Required Default Choices Comments interface_name False NA NA • • ipv4_configuration False NA ipv4 options If there are multiple interfaces, network configuration changes can be applied to a single interface using the interface name of the NIC. If this option is not specified, the primary interface is chosen by default.
Table 76. ome_application_network_address (continued) Parameter Required Default Choices Comments • • • • • • management_vlan • • static_ip_address: Static IPv6 address. This is applicable when I(enable_auto_configuration) is false. static_prefix_le.ngth: Static IPv6 prefix length. This is applicable when I(enable_auto_configuration) is false. static_gateway: Static IPv6 gateway address. This is applicable when I(enable_auto_configuration) is false.
returned: always sample: Successfully updated network address configuration network_configuration: type: dict description: Updated application network address configuration.
Examples - name: IPv4 network configuration for primary interface ome_application_network_address: hostname: "192.168.0.1" username: "username" password: "password" enable_nic: true ipv4_configuration: enable: true enable_dhcp: false static_ip_address: 192.168.0.2 static_subnet_mask: 255.255.254.0 static_gateway: 192.168.0.3 use_dhcp_for_dns_server_names: false static_preferred_dns_server: 192.168.0.4 static_alternate_dns_server: 192.168.0.
ome_application_network_address: hostname: "192.168.0.1" username: "username" password: "password" enable_nic: true interface_name: eth1 ipv4_configuration: enable: true enable_dhcp: false static_ip_address: 192.168.0.2 static_subnet_mask: 255.255.254.0 static_gateway: 192.168.0.3 use_dhcp_for_dns_server_names: false static_preferred_dns_server: 192.168.0.4 static_alternate_dns_server: 192.168.0.
Return Values msg: type: str description: Overall status of the network web server configuration change. returned: always sample: "Successfully updated network web server configuration." webserver_configuration: type: dict description: Updated application network web server configuration. returned: success sample: { "TimeOut": 20, "PortNumber": 443, "EnableWebServer": true } error_info: description: Details of the HTTP error. returned: on HTTP error type: dict sample: { "error": { "@Message.
This module allows the configuration of network time. Options Table 78. ome_application_network_time Parameters Required Default Choices Comments hostname True NA NA Target IP Address or hostname username True NA NA Target username password True NA NA Target user password port False 443 NA Target HTTPS port enable_ntp True NA NA • • system_time False NA NA • • • This option enables or disables Network Time Protocol(NTP).
"TimeZoneIdLinux": null, "TimeZoneIdWindows": null, "UtcTime": null } error_info: description: Details of the HTTP error. returned: on HTTP error type: dict sample: { "error": { "@Message.ExtendedInfo": [ { "Message": "Unable to complete the request because the input value for SystemTime is missing or an invalid value is entered.", "MessageArgs": [ "SystemTime" ], "MessageId": "CGEN6002", "RelatedProperties": [], "Resolution": "Enter a valid value and retry the operation.
Table 79. ome_application_certifcate (continued) Parameters Required Default Choices Comments port False 443 NA Target HTTPS port command False NA NA C(generate_csr) allows the generation of a CSR and C(upload) uploads the certificate. distinguished_name False NA NA Name of the certificate issuer. This option is applicable for C(generate_csr). department_name False NA NA Name of the department that issued the certificate. This option is applicable for C(generate_csr).
sample: { "error": { "code": "Base.1.0.GeneralError", "message": "A general error has occurred. See ExtendedInfo for more information.", "@Message.ExtendedInfo": [ { "MessageId": "CSEC9002", "RelatedProperties": [], "Message": "Unable to upload the certificate because the certificate file provided is invalid.", "MessageArgs": [], "Severity": "Critical", "Resolution": "Make sure the CA certificate and private key are correct and retry the operation.
5 Modules for Redfish APIs Topics: • • • How OpenManage Ansible Modules work with Redfish APIs Firmware update using standard Redfish URI Manage storage volume configuration How OpenManage Ansible Modules work with Redfish APIs The Redfish Scalable Platforms Management API is a standard defined by the Distributed Management Task Force (DMTF). Redfish is a next-generation systems management interface standard which enables scalable, secure, and open server management.
Table 80. redfish_firmware (continued) Parameter Required Default Choices Comments transfer_protocol False HTTP HTTP, HTTPS, FTP, NSF, CIFS, FTP, OEM, SCP, SFTP, or TFTP • • Protocol used to transfer the firmware image file. Applicable for URIbased update. NOTE: Dell PowerEdge servers support transfer protocols only through HTTPbased shares. Return values msg: description: Overall status of the firmware update task.
image_uri: "http://192.168.0.2/firmware_repo/component.exe" transfer_protocol: "HTTP" - name: Update the firmware from a single executable file available in a local path redfish_firmware: baseuri: "192.168.0.1" username: "user_name" password: "user_password" image_uri: "/home/firmware_repo/component.exe" Manage storage volume configuration Module: redfish_storage_volume Synopsis This module allows to create, modify, initialize, or delete a single storage volume. Options Table 81.
Table 81. redfish_storage_volume (continued) Parameter Required Default Choices Comments state False NA Present, or absent. • • C(present) creates a storage volume for a specified I (controller_id), or modifies the storage volume for a specified I (volume_id). NOTE: Modification of an existing volume depends on drive and controller capabilities. C(absent) deletes the volume for a specified I(volume_id).
Table 81. redfish_storage_volume (continued) Parameter Required Default Choices Comments when creating a new volume. block_size_bytes False NA NA Block size in bytes.Only applicable when I(state) is C(present). capacity_bytes False NA NA • • Virtual disk size in bytes. Only applicable when I(state) is C(present). optimum_io_size_bytes False NA NA • Stripe size value must be in multiples of 64 * 1024. Only applicable when I(state) is C(present).
Return Values msg: description: Overall status of the storage configuration operation. returned: always type: str sample: "Successfully submitted create volume task." task: type: dict description: Returns ID and URI of the created task. returned: success sample: { "id": "JID_XXXXXXXXXXXXX", "uri": "/redfish/v1/TaskService/Tasks/JID_XXXXXXXXXXXXX" } error_info: type: dict description: Details of a http error. returned: on http error sample: { "error": { "@Message.
- name: Modify a volume's encryption type settings. redfish_storage_volume: baseuri: "192.168.0.1" username: "username" password: "password" state: "present" volume_id: "Disk.Virtual.5:RAID.Slot.1-1" encryption_types: "ControllerAssisted" encrypted: true - name: Delete an existing volume. redfish_storage_volume: baseuri: "192.168.0.1" username: "username" password: "password" state: "absent" volume_id: "Disk.Virtual.5:RAID.Slot.1-1" - name: Initialize an existing volume.
6 Accessing documents from the Dell EMC support site You can access the required documents in one of the following ways: • Using the following links: ○ For Dell EMC Enterprise Systems Management, Dell EMC Remote Enterprise Systems Management, and Dell EMC Virtualization Solutions documents — www.dell.com/esmmanuals ○ For Dell EMC OpenManage documents — www.dell.com/openmanagemanuals ○ For iDRAC documents — www.dell.