diff options
Diffstat (limited to 'ansible_collections/dellemc/openmanage/playbooks')
152 files changed, 5943 insertions, 4445 deletions
diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/dellemc_idrac_storage_volume.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/dellemc_idrac_storage_volume.yml index d81640658..d3d561ca4 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/dellemc_idrac_storage_volume.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/dellemc_idrac_storage_volume.yml @@ -1,32 +1,29 @@ --- -- hosts: idrac - connection: local - name: iDRAC storage volume configuration. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Storage volume configuration on iDRAC. + hosts: idrac + gather_facts: false tasks: - - name: Create single volume. - dellemc_idrac_storage_volume: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - state: "create" - controller_id: "RAID.Slot.1-1" - volumes: - - drives: - location: [5] - tags: + - name: Create single volume. + dellemc.openmanage.dellemc_idrac_storage_volume: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "create" + controller_id: "RAID.Slot.1-1" + volumes: + - drives: + location: [5] + delegate_to: localhost + tags: - create_single_volume - - - name: Create multiple volume. - dellemc_idrac_storage_volume: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" + + - name: Create multiple volume. + dellemc.openmanage.dellemc_idrac_storage_volume: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" ca_path: "/path/to/ca_cert.pem" raid_reset_config: "True" state: "create" @@ -44,67 +41,74 @@ volumes: - name: "volume_1" drives: - id: ["Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1", - "Disk.Bay.2:Enclosure.Internal.0-1:RAID.Slot.1-1"] + id: + [ + "Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1", + "Disk.Bay.2:Enclosure.Internal.0-1:RAID.Slot.1-1", + ] - name: "volume_2" volume_type: "RAID 5" span_length: 3 - span_depth: 1 + span_depth: 1 drives: - location: [7, 3, 5] + location: [7, 3, 5] disk_cache_policy: "Disabled" write_cache_policy: "WriteBack" read_cache_policy: "NoReadAhead" stripe_size: 131072 capacity: "200" raid_init_operation: "None" - tags: - - create_multiple_volume - - - name: Delete single volume. - dellemc_idrac_storage_volume: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - state: "delete" - volumes: - - name: "volume_1" - tags: + delegate_to: localhost + tags: + - create_multiple_volume + + - name: Delete single volume. + dellemc.openmanage.dellemc_idrac_storage_volume: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "delete" + volumes: + - name: "volume_1" + delegate_to: localhost + tags: - delete_single_volume - - - name: Delete multiple volume. - dellemc_idrac_storage_volume: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - state: "delete" - volumes: - - name: "volume_1" - - name: "volume_2" - tags: + - name: Delete multiple volume. + dellemc.openmanage.dellemc_idrac_storage_volume: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "delete" + volumes: + - name: "volume_1" + - name: "volume_2" + delegate_to: localhost + tags: - delete_multiple_volume - - - name: View specific volume details. - dellemc_idrac_storage_volume: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - state: "view" - controller_id: "RAID.Slot.1-1" - volume_id: "Disk.Virtual.0:RAID.Slot.1-1" - tags: + + - name: View specific volume details. + dellemc.openmanage.dellemc_idrac_storage_volume: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "view" + controller_id: "RAID.Slot.1-1" + volume_id: "Disk.Virtual.0:RAID.Slot.1-1" + delegate_to: localhost + tags: - view_specific_volume - - - name: View all volume details. - dellemc_idrac_storage_volume: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - state: "view" - tags: - - view_all_volume
\ No newline at end of file + + - name: View all volume details. + dellemc.openmanage.dellemc_idrac_storage_volume: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "view" + delegate_to: localhost + tags: + - view_all_volume diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_configure_idrac_eventing.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_configure_idrac_eventing.yml index c712288e7..8f4a25086 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_configure_idrac_eventing.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_configure_idrac_eventing.yml @@ -1,62 +1,58 @@ --- -- hosts: idrac - connection: local - name: Configure the iDRAC eventing attributes - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure the iDRAC eventing attributes + hosts: idrac + gather_facts: false tasks: - - name: Setup iDRAC SMTP - dellemc_configure_idrac_eventing: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - smtp_ip_address: "0.0.0.0" - authentication: "Enabled" - username: "test" - password: "test" - - tags: - - idrac_smtp - - - name: Setup iDRAC SNMP Trap - dellemc_configure_idrac_eventing: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - snmp_trap_state: "Enabled" - destination_number: "2" - snmp_v3_username: "None" - destination: "1.1.1.1" - - tags: - - idrac_snmptrap - - - name: Setup iDRAC Email Alerts - dellemc_configure_idrac_eventing: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - email_alert_state: "Disabled" - address: "test@test.com" - alert_number: "1" - custom_message: "test" - - tags: - - idrac_email_alerts - - - name: Setup iDRAC Alerts - dellemc_configure_idrac_eventing: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - enable_alerts: "Disabled" - - tags: - - idrac_alerts
\ No newline at end of file + - name: Setup iDRAC SMTP + dellemc.openmanage.dellemc_configure_idrac_eventing: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + smtp_ip_address: "0.0.0.0" + authentication: "Enabled" + username: "test" + password: "test" + delegate_to: localhost + tags: + - idrac_smtp + + - name: Setup iDRAC SNMP Trap + dellemc.openmanage.dellemc_configure_idrac_eventing: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + snmp_trap_state: "Enabled" + destination_number: "2" + snmp_v3_username: "None" + destination: "1.1.1.1" + delegate_to: localhost + tags: + - idrac_snmptrap + + - name: Setup iDRAC Email Alerts + dellemc.openmanage.dellemc_configure_idrac_eventing: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + email_alert_state: "Disabled" + address: "test@test.com" + alert_number: "1" + custom_message: "test" + delegate_to: localhost + tags: + - idrac_email_alerts + + - name: Setup iDRAC Alerts + dellemc.openmanage.dellemc_configure_idrac_eventing: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + enable_alerts: "Disabled" + delegate_to: localhost + tags: + - idrac_alerts diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_configure_idrac_services.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_configure_idrac_services.yml index e0d4bbe87..de80ffe89 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_configure_idrac_services.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_configure_idrac_services.yml @@ -1,46 +1,44 @@ --- -- hosts: idrac - connection: local - name: Configure the iDRAC services attributes - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure the iDRAC services attributes + hosts: idrac + gather_facts: false tasks: - - name: Setup iDRAC Webserver - dellemc_configure_idrac_services: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - ssl_encryption: "T_168_Bit_or_higher" - tls_protocol: "TLS_1_0_and_Higher" - - tags: - - idrac_webserver + - name: Setup iDRAC Webserver + dellemc.openmanage.dellemc_configure_idrac_services: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + ssl_encryption: "T_168_Bit_or_higher" + tls_protocol: "TLS_1_0_and_Higher" + delegate_to: localhost + tags: + - idrac_webserver - - name: Setup iDRAC SNMP - dellemc_configure_idrac_services: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - snmp_enable: "Enabled" - snmp_protocol: "All" + - name: Setup iDRAC SNMP + dellemc.openmanage.dellemc_configure_idrac_services: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + snmp_enable: "Enabled" + snmp_protocol: "All" + delegate_to: localhost - tags: - - idrac_snmp + tags: + - idrac_snmp - - name: Setup iDRAC SNMP settings - dellemc_configure_idrac_services: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - ipmi_lan: - community_name: public - alert_port: 161 - trap_format: SNMPv3 - tags: - - idrac-snmp-settings + - name: Setup iDRAC SNMP settings + dellemc.openmanage.dellemc_configure_idrac_services: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + ipmi_lan: + community_name: public + alert_port: 161 + trap_format: SNMPv3 + delegate_to: localhost + tags: + - idrac-snmp-settings diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_get_firmware_inventory.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_get_firmware_inventory.yml deleted file mode 100644 index ac4736c5f..000000000 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_get_firmware_inventory.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- hosts: idrac - connection: local - name: Get Installed Firmware Inventory - gather_facts: False - - collections: - - dellemc.openmanage - - tasks: - - name: Get Installed Firmware Inventory - dellemc_get_firmware_inventory: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_get_system_inventory.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_get_system_inventory.yml deleted file mode 100644 index 085b14bfe..000000000 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_get_system_inventory.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- hosts: idrac - connection: local - name: Get system inventory - gather_facts: False - - collections: - - dellemc.openmanage - - tasks: - - name: Get system inventory - dellemc_get_system_inventory: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_idrac_lc_attributes.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_idrac_lc_attributes.yml index 51a06ad1e..cf3c7eb9f 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_idrac_lc_attributes.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_idrac_lc_attributes.yml @@ -1,17 +1,14 @@ --- -- hosts: idrac - connection: local - name: Configure iDRAC CSIOR Setting - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure iDRAC CSIOR Setting + hosts: idrac + gather_facts: false tasks: - - name: Configure iDRAC CSIOR Setting - dellemc_idrac_lc_attributes: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - csior: "Enabled" + - name: Configure iDRAC CSIOR Setting + dellemc.openmanage.dellemc_idrac_lc_attributes: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + csior: "Enabled" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_system_lockdown_mode.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_system_lockdown_mode.yml index 61260e3eb..9a480db0b 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_system_lockdown_mode.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/dellemc_system_lockdown_mode.yml @@ -1,17 +1,14 @@ --- -- hosts: idrac - connection: local - name: Configure System lockdown mode - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure System lockdown mode + hosts: idrac + gather_facts: false tasks: - - name: Configure System lockdown mode - dellemc_system_lockdown_mode: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - lockdown_mode: "Disabled"
\ No newline at end of file + - name: Configure System lockdown mode + dellemc.openmanage.dellemc_system_lockdown_mode: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + lockdown_mode: "Disabled" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/idrac_network.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/idrac_network.yml index 9ee11728a..0a9b35723 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/idrac_network.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/idrac_network.yml @@ -1,75 +1,71 @@ --- -- hosts: idrac - connection: local - name: Configure the iDRAC network attributes - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure the iDRAC network attributes + hosts: idrac + gather_facts: false tasks: - - name: Register iDRAC on DNS - idrac_network: - idrac_ip: "{{idrac_ip}}" - idrac_user: "{{idrac_user}}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - register_idrac_on_dns: "Enabled" - dns_idrac_name: "idrac-3CZWCK2" - auto_config: "Enabled" - static_dns: "dell.com" - - tags: - - dns_register - - - name: Setup VLAN attributes - idrac_network: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - setup_idrac_nic_vlan: "Enabled" - - tags: - - setup_vlan - - - name: Setup iDRAC NIC - idrac_network: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - enable_nic: "Enabled" - nic_selection: "Dedicated" - failover_network: "T_None" - auto_detect: "Disabled" - auto_negotiation: "Enabled" - network_speed: "T_1000" - duplex_mode: "Full" - - tags: - - idrac_nic + - name: Register iDRAC on DNS + dellemc.openmanage.idrac_network: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + register_idrac_on_dns: "Enabled" + dns_idrac_name: "idrac-3CZWCK2" + auto_config: "Enabled" + static_dns: "dell.com" + delegate_to: localhost + tags: + - dns_register - - name: Setup iDRAC IPv4 - idrac_network: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - enable_dhcp: "Enabled" - dns_from_dhcp: "Enabled" - enable_ipv4: "Enabled" + - name: Setup VLAN attributes + dellemc.openmanage.idrac_network: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + setup_idrac_nic_vlan: "Enabled" + delegate_to: localhost + tags: + - setup_vlan - tags: - - idrac_ipv4 + - name: Setup iDRAC NIC + dellemc.openmanage.idrac_network: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + enable_nic: "Enabled" + nic_selection: "Dedicated" + failover_network: "T_None" + auto_detect: "Disabled" + auto_negotiation: "Enabled" + network_speed: "T_1000" + duplex_mode: "Full" + delegate_to: localhost + tags: + - idrac_nic - - name: Setup iDRAC Static IPv4 - idrac_network: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - dns_from_dhcp: "Disabled" + - name: Setup iDRAC IPv4 + dellemc.openmanage.idrac_network: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + enable_dhcp: "Enabled" + dns_from_dhcp: "Enabled" + enable_ipv4: "Enabled" + delegate_to: localhost + tags: + - idrac_ipv4 - tags: - - idrac_staticipv4
\ No newline at end of file + - name: Setup iDRAC Static IPv4 + dellemc.openmanage.idrac_network: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + dns_from_dhcp: "Disabled" + delegate_to: localhost + tags: + - idrac_staticipv4 diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/idrac_timezone_ntp.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/idrac_timezone_ntp.yml index c5fe77911..df3f3ebfb 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/idrac_timezone_ntp.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/deprecated/idrac_timezone_ntp.yml @@ -1,24 +1,20 @@ --- -- hosts: idrac - connection: local - name: Configure the iDRAC timezone attributes - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure the iDRAC timezone attributes + hosts: idrac + gather_facts: false tasks: - - name: Setup iDRAC Timezone - idrac_timezone_ntp: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - setup_idrac_timezone: "Singapore" - enable_ntp: "Disabled" - ntp_server_1: "100.100.25.1" - ntp_server_2: "100.100.26.2" - ntp_server_3: "100.100.27.3" - - tags: - - idrac_timezone
\ No newline at end of file + - name: Setup iDRAC Timezone + dellemc.openmanage.idrac_timezone_ntp: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + setup_idrac_timezone: "Singapore" + enable_ntp: "Disabled" + ntp_server_1: "100.100.25.1" + ntp_server_2: "100.100.26.2" + ntp_server_3: "100.100.27.3" + delegate_to: localhost + tags: + - idrac_timezone diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_attributes.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_attributes.yml index 9a3621761..a19f085a4 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_attributes.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_attributes.yml @@ -1,25 +1,22 @@ --- -- hosts: idrac - connection: local - name: Dell OpenManage Ansible iDRAC Certificates management. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible iDRAC Certificates management. + hosts: idrac + gather_facts: false tasks: - name: Update iDRAC attributes - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" + idrac_password: "{{ idrac_password }}" ca_path: "/path/to/ca_cert.pem" idrac_attributes: SNMP.1.AgentCommunity: Enabled tags: idrac + delegate_to: localhost - name: Update System attributes - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" @@ -27,9 +24,10 @@ system_attributes: ThermalSettings.1.ThermalProfile: Sound Cap tags: system + delegate_to: localhost - name: Update Lifecycle Controller attributes - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" @@ -37,9 +35,10 @@ lifecycle_controller_attributes: LCAttributes.1.AutoUpdate: Enabled tags: lc + delegate_to: localhost - name: Configure the iDRAC attributes for email alert settings. - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" @@ -49,9 +48,10 @@ EmailAlert.1.Enable: Enabled EmailAlert.1.Address: test@test.com tags: email-alerts + delegate_to: localhost - name: Configure the iDRAC attributes for SNMP alert settings. - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" @@ -61,9 +61,10 @@ SNMPAlert.1.State: Enabled SNMPAlert.1.SNMPv3Username: username tags: snmp-alerts + delegate_to: localhost - name: Configure the iDRAC attributes for SMTP alert settings. - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" @@ -75,9 +76,10 @@ RemoteHosts.1.SMTPUserName: username RemoteHosts.1.SMTPPassword: password tags: smtp-alerts + delegate_to: localhost - name: Configure the iDRAC attributes for webserver settings. - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" @@ -86,9 +88,10 @@ WebServer.1.SSLEncryptionBitLength: 128-Bit or higher WebServer.1.TLSProtocol: TLS 1.1 and Higher tags: webserver-settings + delegate_to: localhost - name: Configure the iDRAC attributes for SNMP settings. - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" @@ -100,9 +103,10 @@ SNMP.1.AlertPort: 162 SNMP.1.AgentCommunity: public tags: snmp-settings + delegate_to: localhost - name: Configure the iDRAC LC attributes for collecting system inventory. - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" idrac_password: "{{ idrac_password }}" @@ -110,9 +114,10 @@ lifecycle_controller_attributes: LCAttributes.1.CollectSystemInventoryOnRestart: Enabled tags: collect-inventory + delegate_to: localhost - name: Configure the iDRAC system attributes for LCD settings. - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "192.168.0.1" idrac_user: "user_name" idrac_password: "user_password" @@ -123,20 +128,22 @@ LCD.1.FrontPanelLocking: Full-Access LCD.1.UserDefinedString: custom lcd string tags: lcd-config + delegate_to: localhost - name: Configure the iDRAC attributes for Timezone settings. - idrac_attributes: + dellemc.openmanage.idrac_attributes: idrac_ip: "192.168.0.1" idrac_user: "user_name" idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" idrac_attributes: - Time.1.TimeZone: CST6CDT + Time.1.Timezone: CST6CDT NTPConfigGroup.1.NTPEnable: Enabled NTPConfigGroup.1.NTP1: 192.168.0.5 NTPConfigGroup.1.NTP2: 192.168.0.6 NTPConfigGroup.1.NTP3: 192.168.0.7 tags: timezone-settings + delegate_to: localhost - name: Configure all attributes dellemc.openmanage.idrac_attributes: @@ -153,3 +160,4 @@ lifecycle_controller_attributes: LCAttributes.1.AutoUpdate: Disabled tags: all-attributes + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_bios.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_bios.yml index a541dce7a..feb8eb7e7 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_bios.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_bios.yml @@ -1,115 +1,119 @@ --- -- hosts: idrac - connection: local - name: Configure Boot Mode Setting - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure Boot Mode Setting + hosts: idrac + gather_facts: false tasks: - - name: Configure Bios Generic Attributes - idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - attributes: - BootMode: "Bios" - OneTimeBootMode: "Enabled" - BootSeqRetry: "Enabled" - tags: + - name: Configure Bios Generic Attributes + dellemc.openmanage.idrac_bios: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + attributes: + BootMode: "Bios" + OneTimeBootMode: "Enabled" + BootSeqRetry: "Enabled" + tags: - bootconfig - - - name: Configure PXE Generic Attributes - idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - attributes: - PxeDev1EnDis: "Enabled" - PxeDev1Protocol: "IPV4" - PxeDev1VlanEnDis: "Enabled" - PxeDev1VlanId: x - PxeDev1Interface: "NIC.Embedded.x-x-x" - PxeDev1VlanPriority: x - tags: + delegate_to: localhost + + - name: Configure PXE Generic Attributes + dellemc.openmanage.idrac_bios: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + attributes: + PxeDev1EnDis: "Enabled" + PxeDev1Protocol: "IPV4" + PxeDev1VlanEnDis: "Enabled" + PxeDev1VlanId: x + PxeDev1Interface: "NIC.Embedded.x-x-x" + PxeDev1VlanPriority: x + tags: - pxeconfig + delegate_to: localhost - - name: Configure attributes of the BIOS at Maintenance window - idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - apply_time: AtMaintenanceWindowStart - maintenance_window: - start_time: "2022-09-30T05:15:40-05:00" - duration: 600 - attributes: - BootMode: "Bios" - OneTimeBootMode: "Enabled" - BootSeqRetry: "Enabled" - tags: + - name: Configure attributes of the BIOS at Maintenance window + dellemc.openmanage.idrac_bios: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + attributes: + BootMode: "Bios" + OneTimeBootMode: "Enabled" + BootSeqRetry: "Enabled" + tags: - at_maintenance_start + delegate_to: localhost - - name: Clear pending BIOS attributes - idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - clear_pending: yes - tags: - - clear_pending + - name: Clear pending BIOS attributes + dellemc.openmanage.idrac_bios: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + clear_pending: true + tags: + - clear_pending + delegate_to: localhost - - name: Reset BIOS attributes to default settings. - idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_pwd }}" - ca_path: "/path/to/ca_cert.pem" - reset_bios: yes - tags: - - reset_bios + - name: Reset BIOS attributes to default settings. + dellemc.openmanage.idrac_bios: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_pwd }}" + ca_path: "/path/to/ca_cert.pem" + reset_bios: true + tags: + - reset_bios + delegate_to: localhost - - name: Configure Boot Sources - idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - boot_sources: - - Name: "NIC.Integrated.x-x-x" - Enabled: true - Index: 1 - - Name: "NIC.Integrated.x-x-x" - Enabled: true - Index: 0 - tags: + - name: Configure Boot Sources + dellemc.openmanage.idrac_bios: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + boot_sources: + - Name: "NIC.Integrated.x-x-x" + Enabled: true + Index: 1 + - Name: "NIC.Integrated.x-x-x" + Enabled: true + Index: 0 + tags: - boot_sources + delegate_to: localhost - - name: Configure Boot Sources - Enabled - idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - boot_sources: - - Name: "HardDisk.List.1-1" - Enabled: true - tags: + - name: Configure Boot Sources - Enabled + dellemc.openmanage.idrac_bios: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + boot_sources: + - Name: "HardDisk.List.1-1" + Enabled: true + tags: - boot_sources_enabled + delegate_to: localhost - - name: Configure Boot Sources - Index - idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - boot_sources: - - Name: "NIC.Integrated.x-x-x" - Index: 1 - tags: - - boot_sources_index
\ No newline at end of file + - name: Configure Boot Sources - Index + dellemc.openmanage.idrac_bios: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + boot_sources: + - Name: "NIC.Integrated.x-x-x" + Index: 1 + tags: + - boot_sources_index + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_boot.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_boot.yml index 22afb949a..f6f3ac2b1 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_boot.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_boot.yml @@ -1,69 +1,69 @@ --- -- hosts: idrac - connection: local - name: Configure the boot order settings - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure the boot order settings + hosts: idrac + gather_facts: false tasks: + - name: Configure the system boot options settings. + dellemc.openmanage.idrac_boot: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + boot_options: + - display_name: Hard drive C + enabled: true + - boot_option_reference: NIC.PxeDevice.2-1 + enabled: true + tags: boot-option + delegate_to: localhost - - name: Configure the system boot options settings. - idrac_boot: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - boot_options: - - display_name: Hard drive C - enabled: true - - boot_option_reference: NIC.PxeDevice.2-1 - enabled: true - tags: boot-option - - - name: Configure the boot order settings. - idrac_boot: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - boot_order: - - Boot0001 - - Boot0002 - - Boot0004 - - Boot0003 - tags: boot-order + - name: Configure the boot order settings. + dellemc.openmanage.idrac_boot: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + boot_order: + - Boot0001 + - Boot0002 + - Boot0004 + - Boot0003 + tags: boot-order + delegate_to: localhost - - name: Configure the boot source override mode. - idrac_boot: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - boot_source_override_mode: legacy - boot_source_override_target: cd - boot_source_override_enabled: once - tags: boot-mode + - name: Configure the boot source override mode. + dellemc.openmanage.idrac_boot: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + boot_source_override_mode: legacy + boot_source_override_target: cd + boot_source_override_enabled: once + tags: boot-mode + delegate_to: localhost - - name: Configure the UEFI target settings. - idrac_boot: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - boot_source_override_mode: uefi - boot_source_override_target: uefi_target - uefi_target_boot_source_override: "VenHw(3A191845-5F86-4E78-8FCE-C4CFF59F9DAA)" - tags: uefi-target + - name: Configure the UEFI target settings. + dellemc.openmanage.idrac_boot: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + boot_source_override_mode: uefi + boot_source_override_target: uefi_target + uefi_target_boot_source_override: "VenHw(3A191845-5F86-4E78-8FCE-C4CFF59F9DAA)" + tags: uefi-target + delegate_to: localhost - - name: Configure the boot source override mode as pxe. - idrac_boot: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - boot_source_override_mode: legacy - boot_source_override_target: pxe - boot_source_override_enabled: continuous - tags: pxe-boot-mode + - name: Configure the boot source override mode as pxe. + dellemc.openmanage.idrac_boot: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + boot_source_override_mode: legacy + boot_source_override_target: pxe + boot_source_override_enabled: continuous + tags: pxe-boot-mode + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_boot_virtual_media_workflow.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_boot_virtual_media_workflow.yml index aa6d43ed5..fcf13d9be 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_boot_virtual_media_workflow.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_boot_virtual_media_workflow.yml @@ -1,7 +1,6 @@ --- -- hosts: idrac - connection: local - name: Dell OpenManage Ansible iDRAC boot operations. +- name: Dell OpenManage Ansible iDRAC boot operations. + hosts: idrac vars: ansible_python_interpreter: /usr/bin/python3 virtual_media_uri: "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia" @@ -9,48 +8,48 @@ nfs_dir: "192.168.0.1:/nfsshare" iso_file: "boot_image.iso" ca_path: "/path/to/ca_cert.pem" - boot_source_mode: "legacy" #other options are UEFI + boot_source_mode: "legacy" # other options are UEFI - gather_facts: False + gather_facts: false tasks: + # Mount the ISO image as a virtual media CD. + - name: "Insert virtual media" + ansible.builtin.uri: + url: "https://{{ idrac_ip }}{{ virtual_media_uri }}" + user: "{{ idrac_user }}" + password: "{{ idrac_password }}" + method: "POST" + body_format: json + body: + Image: "{{ file_location }}" + Inserted: true + WriteProtected: true + use_proxy: true + status_code: 204 + return_content: false + ca_path: "{{ ca_path }}" + force_basic_auth: true + headers: + Content-Type: "application/json" + Accept: "application/json" + tags: + - virtual_media + - vm_boot + delegate_to: localhost -# Mount the ISO image as a virtual media CD. - - name: "Insert virtual media" - ansible.builtin.uri: - url: "https://{{ idrac_ip }}{{ virtual_media_uri }}" - user: "{{ idrac_user }}" - password: "{{ idrac_password }}" - method: "POST" - body_format: json - body: - Image: "{{ file_location }}" - Inserted: true - WriteProtected: true - use_proxy: yes - status_code: 204 - return_content: no - ca_path: "{{ ca_path }}" - force_basic_auth: yes - headers: - Content-Type: "application/json" - Accept: "application/json" - tags: - - virtual_media - - vm_boot - -# One-time boot with virtual media. - - name: Boot once from mounted CD. - dellemc.openmanage.idrac_boot: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "{{ ca_path }}" - boot_source_override_mode: "{{ boot_source_mode }}" - boot_source_override_target: cd - boot_source_override_enabled: once - tags: - - boot_cd - - vm_boot - + # One-time boot with virtual media. + - name: Boot once from mounted CD. + dellemc.openmanage.idrac_boot: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "{{ ca_path }}" + boot_source_override_mode: "{{ boot_source_mode }}" + boot_source_override_target: cd + boot_source_override_enabled: once + tags: + - boot_cd + - vm_boot + delegate_to: localhost # Eject the virtual media after boot. diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_certificates.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_certificates.yml index 801f12ed5..c32ac21bd 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_certificates.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_certificates.yml @@ -1,21 +1,17 @@ --- -- hosts: idrac - connection: local - name: Dell OpenManage Ansible iDRAC Certificates management. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible iDRAC Certificates management. + hosts: idrac + gather_facts: false tasks: - name: Generate https signing request - idrac_certificates: + dellemc.openmanage.idrac_certificates: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" + idrac_password: "{{ idrac_password }}" ca_path: "/path/to/ca_cert.pem" - command: "generate_csr" - certificate_type: "HTTPS" + command: "generate_csr" + certificate_type: "HTTPS" certificate_path: "/home/omam/mycert_dir" cert_params: common_name: "sample.domain.com" @@ -27,43 +23,72 @@ organization_name: "OrgName" subject_alt_name: - 192.198.2.1 + delegate_to: localhost - name: Import a SSL certificate. - idrac_certificates: + dellemc.openmanage.idrac_certificates: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" + idrac_password: "{{ idrac_password }}" ca_path: "/path/to/ca_cert.pem" command: "import" certificate_type: "HTTPS" certificate_path: "/path/to/cert.pem" + delegate_to: localhost + + - name: Import an HTTPS certificate along with its private key. + dellemc.openmanage.idrac_certificates: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: "import" + certificate_type: "HTTPS" + certificate_path: "/path/to/cert.pem" + ssl_key: "/path/to/private_key.pem" + delegate_to: localhost - name: Export a SSL certificate. - idrac_certificates: + dellemc.openmanage.idrac_certificates: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" + idrac_password: "{{ idrac_password }}" ca_path: "/path/to/ca_cert.pem" command: "export" certificate_type: "HTTPS" certificate_path: "/home/omam/mycert_dir" + delegate_to: localhost - name: Import a CSC certificate. - idrac_certificates: + dellemc.openmanage.idrac_certificates: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" + idrac_password: "{{ idrac_password }}" ca_path: "/path/to/ca_cert.pem" command: "import" certificate_type: "CSC" - certificate_file: "/path/to/cert.pem" + certificate_path: "/path/to/cert.pem" + delegate_to: localhost + + - name: Import a custom certificate with a passphrase. + dellemc.openmanage.idrac_certificates: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + command: "import" + certificate_type: "CUSTOMCERTIFICATE" + certificate_path: "/path/to/idrac_cert.p12" + passphrase: "cert_passphrase" + reset: false + delegate_to: localhost - name: Export a Client trust certificate. - idrac_certificates: + dellemc.openmanage.idrac_certificates: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" + idrac_password: "{{ idrac_password }}" ca_path: "/path/to/ca_cert.pem" command: "export" certificate_type: "CLIENT_TRUST_CERTIFICATE" - certificate_path: "/home/omam/mycert_dir"
\ No newline at end of file + certificate_path: "/home/omam/mycert_dir" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_firmware.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_firmware.yml index c1a2c891e..dbb3e315f 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_firmware.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_firmware.yml @@ -1,69 +1,88 @@ --- -- hosts: idrac - connection: local - name: Update Firmware Inventory - gather_facts: False - - collections: - - dellemc.openmanage +- name: Update Firmware Inventory + hosts: idrac + gather_facts: false tasks: - - name: Update firmware from repository on a HTTP/HTTP/FTP repository - idrac_firmware: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "https://downloads.dell.com" - reboot: True - job_wait: True - apply_update: True + - name: Update firmware from repository on a HTTP/HTTP/FTP repository + dellemc.openmanage.idrac_firmware: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "https://downloads.dell.com" + reboot: true + job_wait: true + apply_update: true + delegate_to: localhost + + - name: Update firmware from repository on a HTTP/HTTP/FTP repository via proxy + dellemc.openmanage.idrac_firmware: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "https://downloads.dell.com" + reboot: true + job_wait: true + apply_update: true + proxy_support: ParametersProxy + proxy_server: 192.168.1.10 + proxy_type: HTTP + proxy_port: 80 + proxy_uname: "proxy_user" + proxy_passwd: "proxy_pwd" + delegate_to: localhost - - name: Update firmware from repository on a internally hosted HTTP repository. - idrac_firmware: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password}}" - ca_path: "/path/to/ca_cert.pem" - share_name: "http://192.168.0.1/path_to_folder/" - reboot: True - job_wait: True - apply_update: True - catalog_file_name: "Catalog.xml" + - name: Update firmware from repository on a internally hosted HTTP repository. + dellemc.openmanage.idrac_firmware: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "http://192.168.0.1/path_to_folder/" + reboot: true + job_wait: true + apply_update: true + catalog_file_name: "Catalog.xml" + delegate_to: localhost - - name: Update firmware from repository on a NFS Share - idrac_firmware: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password}}" - ca_path: "/path/to/ca_cert.pem" - share_name: "192.168.0.1:/complete_share_path" - reboot: True - job_wait: True - apply_update: True - catalog_file_name: "Catalog.xml" + - name: Update firmware from repository on a NFS Share + dellemc.openmanage.idrac_firmware: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "192.168.0.1:/complete_share_path" + reboot: true + job_wait: true + apply_update: true + catalog_file_name: "Catalog.xml" + delegate_to: localhost - - name: Update firmware from repository on a CIFS Share - idrac_firmware: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password}}" - ca_path: "/path/to/ca_cert.pem" - share_name: "\\\\192.168.0.1\\share_path" - share_user: "{{ share_user }}" - share_password: "{{ share_password }}" - share_mnt: "/mnt/cifs_share" - reboot: False - job_wait: True - catalog_file_name: "Catalog.xml" + - name: Update firmware from repository on a CIFS Share + dellemc.openmanage.idrac_firmware: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "\\\\192.168.0.1\\share_path" + share_user: "{{ share_user }}" + share_password: "{{ share_password }}" + share_mnt: "/mnt/cifs_share" + reboot: false + job_wait: true + catalog_file_name: "Catalog.xml" + delegate_to: localhost - - name: Firmware compliance report using HTTPS repository. - idrac_firmare: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "https://downloads.dell.com" - reboot: False - job_wait: True - apply_update: False + - name: Firmware compliance report using HTTPS repository. + dellemc.openmanage.idrac_firmware: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "https://downloads.dell.com" + reboot: false + job_wait: true + apply_update: false + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_firmware_info.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_firmware_info.yml index aaca53a58..b19baec42 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_firmware_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_firmware_info.yml @@ -1,16 +1,13 @@ --- -- hosts: idrac - connection: local - name: Get Installed Firmware Inventory - gather_facts: False - - collections: - - dellemc.openmanage +- name: Get Installed Firmware Inventory + hosts: idrac + gather_facts: false tasks: - - name: Get Installed Firmware Inventory. - idrac_firmware_info: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" + - name: Get Installed Firmware Inventory. + dellemc.openmanage.idrac_firmware_info: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_license.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_license.yml new file mode 100644 index 000000000..2304fa5b6 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_license.yml @@ -0,0 +1,183 @@ +--- +- name: Dell OpenManage Ansible iDRAC License Management. + hosts: idrac + gather_facts: false + + tasks: + - name: Export a license from iDRAC to local + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "local" + share_name: "/path/to/share" + file_name: "license_file" + delegate_to: localhost + + - name: Export a license from iDRAC to NFS share + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "nfs" + share_name: "/path/to/share" + file_name: "license_file" + ip_address: "192.168.0.1" + delegate_to: localhost + + - name: Export a license from iDRAC to CIFS share + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "cifs" + share_name: "/path/to/share" + file_name: "license_file" + ip_address: "192.168.0.1" + username: "username" + password: "password" + workgroup: "workgroup" + delegate_to: localhost + + - name: Export a license from iDRAC to HTTP share via proxy + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "http" + share_name: "/path/to/share" + file_name: "license_file" + ip_address: "192.168.0.1" + username: "username" + password: "password" + proxy_support: "parameters_proxy" + proxy_type: socks + proxy_server: "192.168.0.2" + proxy_port: 1080 + proxy_username: "proxy_username" + proxy_password: "proxy_password" + delegate_to: localhost + + - name: Export a license from iDRAC to HTTPS share + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "https" + share_name: "/path/to/share" + file_name: "license_file" + ip_address: "192.168.0.1" + username: "username" + password: "password" + ignore_certificate_warning: "on" + delegate_to: localhost + + - name: Import a license to iDRAC from local + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: local + share_name: "/path/to/share" + delegate_to: localhost + + - name: Import a license to iDRAC from NFS share + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: nfs + ip_address: "192.168.0.1" + share_name: "/path/to/share" + delegate_to: localhost + + - name: Import a license to iDRAC from CIFS share + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: cifs + ip_address: "192.168.0.1" + share_name: "/path/to/share" + username: "username" + password: "password" + delegate_to: localhost + + - name: Import a license to iDRAC from HTTP share + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: http + ip_address: "192.168.0.1" + share_name: "/path/to/share" + username: "username" + password: "password" + delegate_to: localhost + + - name: Import a license to iDRAC from HTTPS share via proxy + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: https + ip_address: "192.168.0.1" + share_name: "/path/to/share" + username: "username" + password: "password" + proxy_support: "parameters_proxy" + proxy_server: "192.168.0.2" + proxy_port: 808 + proxy_username: "proxy_username" + proxy_password: "proxy_password" + delegate_to: localhost + + - name: Delete a License from iDRAC + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENCE_123" + delete: true + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_job_status_info.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_job_status_info.yml index 9f0f61deb..a1a95f19e 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_job_status_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_job_status_info.yml @@ -1,17 +1,14 @@ --- -- hosts: idrac - connection: local - name: Get LC job Status - gather_facts: False - - collections: - - dellemc.openmanage +- name: Get LC job Status + hosts: idrac + gather_facts: false tasks: - - name: Get LC job Status - idrac_lifecycle_controller_job_status_info: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: "JID_844222910040" + - name: Get LC job Status + dellemc.openmanage.idrac_lifecycle_controller_job_status_info: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: "JID_844222910040" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_jobs.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_jobs.yml index 495e84a66..ca78d8f91 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_jobs.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_jobs.yml @@ -1,28 +1,26 @@ --- -- hosts: idrac - connection: local - name: Delete LC job - gather_facts: False - - collections: - - dellemc.openmanage +- name: Delete LC job + hosts: idrac + gather_facts: false tasks: - - name: Delete LC job Queue - idrac_lifecycle_controller_jobs: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - tags: - - delete_all_jobs + - name: Delete LC job Queue + dellemc.openmanage.idrac_lifecycle_controller_jobs: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + tags: + - delete_all_jobs + delegate_to: localhost - - name: Delete a LC job - idrac_lifecycle_controller_jobs: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: "JID_123456789" - tags: - - delete_job
\ No newline at end of file + - name: Delete a LC job + dellemc.openmanage.idrac_lifecycle_controller_jobs: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: "JID_123456789" + tags: + - delete_job + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_logs.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_logs.yml index 99c9d0cef..8cda54fe6 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_logs.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_logs.yml @@ -1,18 +1,15 @@ --- -- hosts: idrac - connection: local - name: Export Lifecycle Controller Logs - gather_facts: False - - collections: - - dellemc.openmanage +- name: Export Lifecycle Controller Logs + hosts: idrac + gather_facts: false tasks: - - name: Export Lifecycle Controller Logs - idrac_lifecycle_controller_logs: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "{{ playbook_dir }}" - job_wait: "True"
\ No newline at end of file + - name: Export Lifecycle Controller Logs + dellemc.openmanage.idrac_lifecycle_controller_logs: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "{{ playbook_dir }}" + job_wait: true + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_status_info.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_status_info.yml index 1798ab99e..a68a37187 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_status_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_lifecycle_controller_status_info.yml @@ -1,16 +1,13 @@ --- -- hosts: idrac - connection: local - name: Check LC Ready Status - gather_facts: False - - collections: - - dellemc.openmanage +- name: Check LC Ready Status + hosts: idrac + gather_facts: false tasks: - - name: Check LC Ready Status - idrac_lifecycle_controller_status_info: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" + - name: Check LC Ready Status + dellemc.openmanage.idrac_lifecycle_controller_status_info: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_network_attributes.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_network_attributes.yml new file mode 100644 index 000000000..006172964 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_network_attributes.yml @@ -0,0 +1,139 @@ +--- +- name: Dell OpenManage Ansible iDRAC Network Attributes. + hosts: idrac + gather_facts: false + + tasks: + - name: Configure OEM network attributes + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: "NIC.Integrated.1" + network_device_function_id: "NIC.Integrated.1-1-1" + apply_time: "Immediate" + oem_network_attributes: + BannerMessageTimeout: "4" + delegate_to: localhost + + - name: Configure OEM network attributes to apply on reset + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: NIC.Integrated.1 + network_device_function_id: "NIC.Integrated.1-1-1" + oem_network_attributes: + BannerMessageTimeout: "4" + apply_time: OnReset + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + delegate_to: localhost + + - name: Configure OEM network attributes to apply at maintainance window + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: NIC.Integrated.1 + network_device_function_id: "NIC.Integrated.1-1-1" + oem_network_attributes: + BannerMessageTimeout: "4" + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + delegate_to: localhost + + - name: Clearing the OEM pending attributes + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: NIC.Integrated.1 + network_device_function_id: "NIC.Integrated.1-1-1" + apply_time: "Immediate" + clear_pending: true + delegate_to: localhost + + - name: Configure OEM network attributes and wait for the job + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: NIC.Integrated.1 + network_device_function_id: "NIC.Integrated.1-1-1" + apply_time: "Immediate" + oem_network_attributes: + LnkSpeed: "10MbpsHalf" + WakeOnLan: "Enabled" + VLanMode: "Enabled" + job_wait: true + job_wait_timeout: 2000 + delegate_to: localhost + + - name: Configure redfish network attributes to update fiber channel on reset + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: NIC.Integrated.1 + network_device_function_id: "NIC.Integrated.1-1-1" + apply_time: OnReset + network_attributes: + Ethernet: + VLAN: + VLANEnable: true + delegate_to: localhost + + - name: Configure redfish network attributes to apply on reset + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: NIC.Integrated.1 + network_device_function_id: "NIC.Integrated.1-1-1" + network_attributes: + Ethernet: + VLAN: + VLANEnable: true + apply_time: OnReset + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + delegate_to: localhost + + - name: Configure redfish network attributes of iscsi to apply at maintainance window start + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: NIC.Integrated.1 + network_device_function_id: "NIC.Integrated.1-1-1" + network_attributes: + iSCSIBoot: + InitiatorIPAddress: 1.0.0.1 + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + delegate_to: localhost + + - name: Configure redfish network attributes to apply at maintainance window on reset + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_adapter_id: NIC.Integrated.1 + network_device_function_id: "NIC.Integrated.1-1-1" + network_attributes: + Ethernet: + VLAN: + VLANEnable: false + VLANId: 1 + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_os_deployment.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_os_deployment.yml index 3ad52adc1..fa5d3ef04 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_os_deployment.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_os_deployment.yml @@ -1,22 +1,18 @@ ---- -- hosts: idrac - connection: local +--- +- name: Booting to Network Operating System image + hosts: idrac gather_facts: false - name: Booting to Network Operating System image - collections: - - dellemc.openmanage - - tasks: + tasks: - name: "Booting to Network Operating System image" - idrac_os_deployment: + dellemc.openmanage.idrac_os_deployment: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" + idrac_password: "{{ idrac_password }}" ca_path: "/path/to/ca_cert.pem" share_name: "{{ playbook_dir }}" - iso_image: "uninterrupted_os_installation_image.iso." + iso_image: "uninterrupted_os_installation_image.iso." expose_duration: 180 - + delegate_to: localhost tags: - - network_iso
\ No newline at end of file + - network_iso diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_redfish_storage_controller.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_redfish_storage_controller.yml index 2cb447883..bcf96ddd9 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_redfish_storage_controller.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_redfish_storage_controller.yml @@ -1,216 +1,290 @@ --- -- hosts: idrac - connection: local - name: Dell OpenManage Ansible iDRAC Redfish Storage Controller service. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible iDRAC Redfish Storage Controller service. + hosts: idrac + gather_facts: false tasks: - - name: Assign dedicated hot spare. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - volume_id: - - "Disk.Virtual.0:RAID.Slot.1-1" - target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" - tags: - - assign_dedicated_hot_spare - - - name: Assign global hot spare. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" - tags: - - assign_global_hot_spare - - - name: Unassign hot spare - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" - command: UnassignSpare - tags: - - un-assign-hot-spare - - - name: Set controller encryption key. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "SetControllerKey" - controller_id: "RAID.Slot.1-1" - key: "PassPhrase@123" - key_id: "mykeyid123" - tags: - - set_controller_key - - - name: Rekey in LKM mode. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "ReKey" - controller_id: "RAID.Slot.1-1" - key: "NewPassPhrase@123" - key_id: "newkeyid123" - old_key: "OldPassPhrase@123" - tags: - - rekey_lkm - - - name: Rekey in SEKM mode. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "ReKey" - controller_id: "RAID.Slot.1-1" - mode: "SEKM" - tags: - - rekey_sekm - - - name: Remove controller key. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "RemoveControllerKey" - controller_id: "RAID.Slot.1-1" - tags: - - remove_controller_key - - - name: Reset controller configuration. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "ResetConfig" - controller_id: "RAID.Slot.1-1" - tags: - - reset_config - - - name: Enable controller encryption - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "EnableControllerEncryption" - controller_id: "RAID.Slot.1-1" - mode: "LKM" - key: "your_Key@123" - key_id: "your_Keyid@123" - tags: - - enable-encrypt - - - name: Blink physical disk. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "BlinkTarget" - target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" - tags: - - blink-target - - - name: Blink virtual drive. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "BlinkTarget" - volume_id: "Disk.Virtual.0:RAID.Slot.1-1" - tags: - - blink-volume - - - name: Unblink physical disk. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "UnBlinkTarget" - target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" - tags: - - unblink-target - - - name: Unblink virtual drive. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "UnBlinkTarget" - volume_id: "Disk.Virtual.0:RAID.Slot.1-1" - tags: - - unblink-drive - - - name: Convert physical disk to RAID - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "ConvertToRAID" - target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" - tags: - - convert-raid - - - name: Convert physical disk to non-RAID - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "ConvertToNonRAID" - target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" - tags: - - convert-non-raid - - - name: Change physical disk state to online. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "ChangePDStateToOnline" - target: "Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1" - tags: - - pd-state-online - - - name: Change physical disk state to offline. - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "ChangePDStateToOnline" - target: "Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1" - tags: - - pd-state-offline - - - name: Lock virtual drive - idrac_redfish_storage_controller: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "LockVirtualDisk" - volume_id: "Disk.Virtual.0:RAID.SL.3-1" - tags: - - lock + - name: Assign dedicated hot spare. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + command: "AssignSpare" + ca_path: "/path/to/ca_cert.pem" + volume_id: + - "Disk.Virtual.0:RAID.Slot.1-1" + target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" + tags: + - assign_dedicated_hot_spare + delegate_to: localhost + + - name: Assign global hot spare. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + command: "AssignSpare" + ca_path: "/path/to/ca_cert.pem" + target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" + tags: + - assign_global_hot_spare + delegate_to: localhost + + - name: Unassign hot spare + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" + command: UnassignSpare + tags: + - un-assign-hot-spare + delegate_to: localhost + + - name: Set controller encryption key. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "SetControllerKey" + controller_id: "RAID.Slot.1-1" + key: "PassPhrase@123" + key_id: "mykeyid123" + tags: + - set_controller_key + delegate_to: localhost + + - name: Rekey in LKM mode. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "ReKey" + controller_id: "RAID.Slot.1-1" + key: "NewPassPhrase@123" + key_id: "newkeyid123" + old_key: "OldPassPhrase@123" + tags: + - rekey_lkm + delegate_to: localhost + + - name: Rekey in SEKM mode. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "ReKey" + controller_id: "RAID.Slot.1-1" + mode: "SEKM" + tags: + - rekey_sekm + delegate_to: localhost + + - name: Remove controller key. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "RemoveControllerKey" + controller_id: "RAID.Slot.1-1" + tags: + - remove_controller_key + delegate_to: localhost + + - name: Reset controller configuration. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "ResetConfig" + controller_id: "RAID.Slot.1-1" + tags: + - reset_config + delegate_to: localhost + + - name: Enable controller encryption + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "EnableControllerEncryption" + controller_id: "RAID.Slot.1-1" + mode: "LKM" + key: "your_Key@123" + key_id: "your_Keyid@123" + tags: + - enable-encrypt + delegate_to: localhost + + - name: Blink physical disk. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "BlinkTarget" + target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" + tags: + - blink-target + delegate_to: localhost + + - name: Blink virtual drive. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "BlinkTarget" + volume_id: "Disk.Virtual.0:RAID.Slot.1-1" + tags: + - blink-volume + delegate_to: localhost + + - name: Unblink physical disk. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "UnBlinkTarget" + target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" + tags: + - unblink-target + delegate_to: localhost + + - name: Unblink virtual drive. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "UnBlinkTarget" + volume_id: "Disk.Virtual.0:RAID.Slot.1-1" + tags: + - unblink-drive + delegate_to: localhost + + - name: Convert physical disk to RAID + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "ConvertToRAID" + target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" + tags: + - convert-raid + delegate_to: localhost + + - name: Convert physical disk to non-RAID + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "ConvertToNonRAID" + target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" + tags: + - convert-non-raid + delegate_to: localhost + + - name: Change physical disk state to online. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "ChangePDStateToOnline" + target: "Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1" + tags: + - pd-state-online + delegate_to: localhost + + - name: Change physical disk state to offline. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "ChangePDStateToOnline" + target: "Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1" + tags: + - pd-state-offline + delegate_to: localhost + + - name: Lock virtual drive + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "LockVirtualDisk" + volume_id: "Disk.Virtual.0:RAID.SL.3-1" + tags: + - lock + delegate_to: localhost + + - name: Online Capacity Expansion of a volume using target + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "OnlineCapacityExpansion" + volume_id: "Disk.Virtual.0:RAID.Integrated.1-1" + target: + - "Disk.Bay.3:Enclosure.Internal.0-0:RAID.Integrated.1-1" + tags: + - oce_target + delegate_to: localhost + + - name: Online Capacity Expansion of a volume using size + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "OnlineCapacityExpansion" + volume_id: "Disk.Virtual.0:RAID.Integrated.1-1" + size: 363786 + tags: + - oce_size + delegate_to: localhost + + - name: Set controller attributes. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + controller_id: "RAID.Slot.1-1" + attributes: + ControllerMode: "HBA" + apply_time: "OnReset" + tags: + - controller + delegate_to: localhost + + - name: Configure Controller attributes at Maintenance window + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + controller_id: "RAID.Slot.1-1" + attributes: + CheckConsistencyMode: Normal + CopybackMode: "Off" + LoadBalanceMode: Disabled + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 1200 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_redfish_storage_controller_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_redfish_storage_controller_job_tracking.yml index d61112f0f..1d8d2489e 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_redfish_storage_controller_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_redfish_storage_controller_job_tracking.yml @@ -1,51 +1,51 @@ --- -- hosts: idrac - connection: local - name: iDRAC Redfish storage controller service with job tracking. - gather_facts: False +- name: Redfish storage controller service with job tracking for iDRAC. + hosts: idrac + gather_facts: false vars: - retries_count: 100 - polling_interval: 10 - all_ctrl_task_tags: - - assign_dedicated_hot_spare - - assign_global_hot_spare - - set_controller_key - - rekey_lkm - - rekey_sekm - - remove_controller_key - - reset_config + retries_count: 100 + polling_interval: 10 + all_ctrl_task_tags: + - assign_dedicated_hot_spare + - assign_global_hot_spare + - set_controller_key + - rekey_lkm + - rekey_sekm + - remove_controller_key + - reset_config - collections: - - dellemc.openmanage - -# Use a single tag to run each task with job tracker + # Use a single tag to run each task with job tracker tasks: - name: Assign dedicated hot spare. - idrac_redfish_storage_controller: + dellemc.openmanage.idrac_redfish_storage_controller: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" + command: "AssignSpare" volume_id: - "Disk.Virtual.0:RAID.Slot.1-1" target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" register: result tags: - assign_dedicated_hot_spare + delegate_to: localhost - name: Assign global hot spare. - idrac_redfish_storage_controller: + dellemc.openmanage.idrac_redfish_storage_controller: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" + command: "AssignSpare" target: "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1" register: result tags: - assign_global_hot_spare + delegate_to: localhost - name: Set controller encryption key. - idrac_redfish_storage_controller: + dellemc.openmanage.idrac_redfish_storage_controller: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -57,9 +57,10 @@ register: result tags: - set_controller_key + delegate_to: localhost - name: Rekey in LKM mode. - idrac_redfish_storage_controller: + dellemc.openmanage.idrac_redfish_storage_controller: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -72,9 +73,10 @@ register: result tags: - rekey_lkm + delegate_to: localhost - name: Rekey in SEKM mode. - idrac_redfish_storage_controller: + dellemc.openmanage.idrac_redfish_storage_controller: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -85,9 +87,10 @@ register: result tags: - rekey_sekm + delegate_to: localhost - name: Remove controller key. - idrac_redfish_storage_controller: + dellemc.openmanage.idrac_redfish_storage_controller: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -97,9 +100,10 @@ register: result tags: - remove_controller_key + delegate_to: localhost - name: Reset controller configuration. - idrac_redfish_storage_controller: + dellemc.openmanage.idrac_redfish_storage_controller: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -109,18 +113,19 @@ register: result tags: - reset_config + delegate_to: localhost - - name: "iDRAC Job tracking" - uri: + - name: Job tracking iDRAC + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -129,10 +134,12 @@ retries: "{{ retries_count }}" delay: "{{ polling_interval }}" tags: "{{ all_ctrl_task_tags }}" + delegate_to: localhost - - name: "iDRAC job result." - set_fact: + - name: Job result of iDRAC + ansible.builtin.set_fact: job_details: "{{ result.json }}" failed_when: result.json.Message == "Failed" changed_when: result.json.Message != "Failed" - tags: "{{ all_ctrl_task_tags }}"
\ No newline at end of file + tags: "{{ all_ctrl_task_tags }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_reset.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_reset.yml index 209befd22..69e4ac36f 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_reset.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_reset.yml @@ -1,19 +1,15 @@ --- -- hosts: idrac - connection: local - name: Reset iDRAC - gather_facts: False - - collections: - - dellemc.openmanage +- name: Reset iDRAC + hosts: idrac + gather_facts: false tasks: - - name: Reset iDRAC - idrac_reset: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - - tags: - - idrac_reset
\ No newline at end of file + - name: Reset iDRAC + dellemc.openmanage.idrac_reset: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + tags: + - idrac_reset + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_reset_result_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_reset_result_tracking.yml index 534b22274..8c266c184 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_reset_result_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_reset_result_tracking.yml @@ -1,39 +1,38 @@ --- -- hosts: idrac - connection: local - name: Reset iDRAC - gather_facts: False - - collections: - - dellemc.openmanage +- name: Reset iDRAC + hosts: idrac + gather_facts: false tasks: - name: Reset iDRAC - idrac_reset: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" + dellemc.openmanage.idrac_reset: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" register: result failed_when: result is changed + delegate_to: localhost - name: Wait for port 443 to become open on the host - wait_for: - host: "{{idrac_ip}}" - port: 443 - delay: 30 - connect_timeout: 5 - timeout: 500 + ansible.builtin.wait_for: + host: "{{ idrac_ip }}" + port: 443 + delay: 30 + connect_timeout: 5 + timeout: 500 register: result failed_when: result.elapsed < 20 + delegate_to: localhost - name: Get LC status. - idrac_lifecycle_controller_status_info: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" + dellemc.openmanage.idrac_lifecycle_controller_status_info: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" register: result until: result.msg.LCStatus == 'Ready' or result.msg.LCReady is true retries: 30 delay: 10 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_server_config_profile.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_server_config_profile.yml index 0d61f54c7..80136f456 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_server_config_profile.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_server_config_profile.yml @@ -1,220 +1,309 @@ --- -- hosts: idrac - connection: local - name: Server Configuration Profile - gather_facts: False - - collections: - - dellemc.openmanage +- name: Server Configuration Profile + hosts: idrac + gather_facts: false tasks: + - name: Export SCP with IDRAC components in JSON format to a local path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "/scp_folder" + scp_components: + - IDRAC + scp_file: example_file + export_format: JSON + export_use: Clone + job_wait: true + tags: export-scp-local + delegate_to: localhost + + - name: Import SCP with IDRAC components in JSON format from a local path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "/scp_folder" + command: import + scp_components: + - IDRAC + scp_file: example_file.json + shutdown_type: Graceful + end_host_power_state: "On" + job_wait: false + tags: import-scp-local + delegate_to: localhost + + - name: Export SCP with BIOS components in XML format to a NFS share path with auto-generated file name + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "192.168.0.2:/share" + scp_components: + - BIOS + export_format: XML + export_use: Default + job_wait: true + tags: export-scp-nfs + delegate_to: localhost + + - name: Import SCP with BIOS components in XML format from a NFS share path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "192.168.0.2:/share" + command: import + scp_components: + - BIOS + scp_file: 192.168.0.1_20210618_162856.xml + shutdown_type: NoReboot + end_host_power_state: "Off" + job_wait: false + tags: import-scp-nfs + delegate_to: localhost + + - name: Export SCP with RAID components in XML format to a CIFS share path with share user domain name + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "\\\\192.168.0.2\\share" + share_user: share_username@domain + share_password: share_password + scp_file: example_file.xml + scp_components: + - RAID + export_format: XML + export_use: Default + job_wait: true + tags: export-scp-cifs + delegate_to: localhost + + - name: Import SCP with RAID components in XML format from a CIFS share path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "\\\\192.168.0.2\\share" + share_user: share_username + share_password: share_password + command: import + scp_components: + - RAID + scp_file: example_file.xml + shutdown_type: Forced + end_host_power_state: "On" + job_wait: true + tags: import-scp-cifs + delegate_to: localhost + + - name: Export SCP with ALL components in JSON format to a HTTP share path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "http://192.168.0.3/share" + share_user: share_username + share_password: share_password + scp_file: example_file.json + scp_components: + - ALL + export_format: JSON + job_wait: false + tags: export-scp-http + delegate_to: localhost + + - name: Import SCP with ALL components in JSON format from a HTTP share path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: import + share_name: "http://192.168.0.3/share" + share_user: share_username + share_password: share_password + scp_file: example_file.json + shutdown_type: Graceful + end_host_power_state: "On" + job_wait: true + tags: import-scp-http + delegate_to: localhost + + - name: Export SCP with ALL components in XML format to a HTTPS share path without SCP file name + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "https://192.168.0.4/share" + share_user: share_username + share_password: share_password + scp_components: + - ALL + export_format: XML + export_use: Replace + job_wait: true + tags: export-scp-https + delegate_to: localhost + + - name: Import SCP with ALL components in XML format from a HTTPS share path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: import + share_name: "https://192.168.0.4/share" + share_user: share_username + share_password: share_password + scp_file: 192.168.0.1_20160618_164647.xml + shutdown_type: Graceful + end_host_power_state: "On" + job_wait: false + tags: import-scp-https + delegate_to: localhost + + - name: Preview SCP with ALL components in XML format from a CIFS share path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "\\\\192.168.0.2\\share" + share_user: share_username + share_password: share_password + command: preview + scp_components: + - ALL + scp_file: example_file.xml + job_wait: true + tags: preview-scp-cifs + delegate_to: localhost + + - name: Preview SCP with IDRAC components in JSON format from a NFS share path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "192.168.0.2:/share" + command: preview + scp_components: + - IDRAC + scp_file: example_file.xml + job_wait: true + tags: preview-scp-nfs + delegate_to: localhost + + - name: Preview SCP with ALL components in XML format from a HTTP share path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "http://192.168.0.1/http-share" + share_user: share_username + share_password: share_password + command: preview + scp_components: + - ALL + scp_file: example_file.xml + job_wait: true + tags: preview-scp-http + delegate_to: localhost + + - name: Preview SCP with IDRAC components in XML format from a local path + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "/scp_folder" + command: preview + scp_components: + - IDRAC + scp_file: example_file.json + job_wait: false + tags: import-scp-local + delegate_to: localhost + + - name: Import SCP with IDRAC components in XML format from the XML content. + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: import + scp_components: + - IDRAC + job_wait: true + import_buffer: "<SystemConfiguration><Component FQDD='iDRAC.Embedded.1'><Attribute Name='IPMILan.1#Enable'> + Disabled</Attribute></Component></SystemConfiguration>" + tags: import-buffer-xml + delegate_to: localhost + + - name: Export SCP with ALL components in XML format using HTTP proxy. + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + scp_components: + - ALL + share_name: "https://192.168.0.1/http-share" + proxy_support: true + proxy_server: 192.168.0.5 + proxy_port: 8080 + proxy_username: proxy_username + proxy_password: proxy_password + proxy_type: http + include_in_export: passwordhashvalues + job_wait: true + tags: export-http-proxy + delegate_to: localhost + + - name: Import SCP with IDRAC and BIOS components in XML format using SOCKS4 proxy + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: import + scp_components: + - IDRAC + - BIOS + share_name: "https://192.168.0.1/http-share" + proxy_support: true + proxy_server: 192.168.0.6 + proxy_port: 8080 + proxy_type: socks4 + scp_file: filename.xml + job_wait: true + tags: import-scp-proxy + delegate_to: localhost - - name: Export SCP with IDRAC components in JSON format to a local path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "/scp_folder" - scp_components: IDRAC - scp_file: example_file - export_format: JSON - export_use: Clone - job_wait: True - tags: export-scp-local - - - name: Import SCP with IDRAC components in JSON format from a local path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "/scp_folder" - command: import - scp_components: "IDRAC" - scp_file: example_file.json - shutdown_type: Graceful - end_host_power_state: "On" - job_wait: False - tags: import-scp-local - - - name: Export SCP with BIOS components in XML format to a NFS share path with auto-generated file name - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "192.168.0.2:/share" - scp_components: "BIOS" - export_format: XML - export_use: Default - job_wait: True - tags: export-scp-nfs - - - name: Import SCP with BIOS components in XML format from a NFS share path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "192.168.0.2:/share" - command: import - scp_components: "BIOS" - scp_file: 192.168.0.1_20210618_162856.xml - shutdown_type: NoReboot - end_host_power_state: "Off" - job_wait: False - tags: import-scp-nfs - - - name: Export SCP with RAID components in XML format to a CIFS share path with share user domain name - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "\\\\192.168.0.2\\share" - share_user: share_username@domain - share_password: share_password - share_mnt: /mnt/cifs - scp_file: example_file.xml - scp_components: "RAID" - export_format: XML - export_use: Default - job_wait: True - tags: export-scp-cifs - - - name: Import SCP with RAID components in XML format from a CIFS share path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "\\\\192.168.0.2\\share" - share_user: share_username - share_password: share_password - share_mnt: /mnt/cifs - command: import - scp_components: "RAID" - scp_file: example_file.xml - shutdown_type: Forced - end_host_power_state: "On" - job_wait: True - tags: import-scp-cifs - - - name: Export SCP with ALL components in JSON format to a HTTP share path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "http://192.168.0.3/share" - share_user: share_username - share_password: share_password - scp_file: example_file.json - scp_components: ALL - export_format: JSON - job_wait: False - tags: export-scp-http - - - name: Import SCP with ALL components in JSON format from a HTTP share path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - command: import - share_name: "http://192.168.0.3/share" - share_user: share_username - share_password: share_password - scp_file: example_file.json - shutdown_type: Graceful - end_host_power_state: "On" - job_wait: True - tags: import-scp-http - - - name: Export SCP with ALL components in XML format to a HTTPS share path without SCP file name - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "https://192.168.0.4/share" - share_user: share_username - share_password: share_password - scp_components: ALL - export_format: XML - export_use: Replace - job_wait: True - tags: export-scp-https - - - name: Import SCP with ALL components in XML format from a HTTPS share path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - command: import - share_name: "https://192.168.0.4/share" - share_user: share_username - share_password: share_password - scp_file: 192.168.0.1_20160618_164647.xml - shutdown_type: Graceful - end_host_power_state: "On" - job_wait: False - tags: import-scp-https - - - name: Preview SCP with ALL components in XML format from a CIFS share path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "\\\\192.168.0.2\\share" - share_user: share_username - share_password: share_password - command: preview - scp_components: "ALL" - scp_file: example_file.xml - job_wait: True - tags: preview-scp-cifs - - - name: Preview SCP with ALL components in JSON format from a NFS share path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "192.168.0.2:/share" - command: preview - scp_components: "IDRAC" - scp_file: example_file.xml - job_wait: True - tags: preview-scp-nfs - - - name: Preview SCP with ALL components in XML format from a HTTP share path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "http://192.168.0.1/http-share" - share_user: share_username - share_password: share_password - command: preview - scp_components: "ALL" - scp_file: example_file.xml - job_wait: True - tags: preview-scp-http - - - name: Preview SCP with ALL components in XML format from a local path - dellemc.openmanage.idrac_server_config_profile: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "/scp_folder" - command: preview - scp_components: "IDRAC" - scp_file: example_file.json - job_wait: False - tags: import-scp-local + - name: Import SCP with IDRAC components in JSON format from the JSON content. + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: import + scp_components: + - IDRAC + job_wait: true + import_buffer: "{\"SystemConfiguration\": {\"Components\": [{\"FQDD\": \"iDRAC.Embedded.1\",\"Attributes\": + [{\"Name\": \"SNMP.1#AgentCommunity\",\"Value\": \"public1\"}]}]}}" + tags: import-scp-json + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_syslog.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_syslog.yml index 9820b6b69..08e753af3 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_syslog.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_syslog.yml @@ -1,18 +1,15 @@ --- -- hosts: idrac - connection: local - name: Configure iDRAC syslog attributes - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure iDRAC syslog attributes + hosts: idrac + gather_facts: false tasks: - - name: Configure iDRAC syslog attributes - idrac_syslog: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - share_name: "{{ playbook_dir }}" - syslog: "Disabled"
\ No newline at end of file + - name: Configure iDRAC syslog attributes + dellemc.openmanage.idrac_syslog: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + share_name: "{{ playbook_dir }}" + syslog: "Disabled" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_system_info.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_system_info.yml index b2f1e1ecc..f4eafcf42 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_system_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_system_info.yml @@ -1,16 +1,13 @@ --- -- hosts: idrac - connection: local - name: Get system inventory - gather_facts: False - - collections: - - dellemc.openmanage +- name: Get system inventory + hosts: idrac + gather_facts: false tasks: - - name: Get system inventory. - idrac_system_info: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" + - name: Get system inventory. + dellemc.openmanage.idrac_system_info: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_user.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_user.yml index ab011e13a..847446f0d 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_user.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_user.yml @@ -1,71 +1,71 @@ --- -- hosts: idrac - connection: local - name: Configure the iDRAC users attributes - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure the iDRAC users attributes + hosts: idrac + gather_facts: false tasks: - - name: Configure the create iDRAC users attributes - idrac_user: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - state: "present" - user_name: "user_name" - user_password: "user_password" - privilege: "Administrator" - ipmi_lan_privilege: "User" - enable: "true" - sol_enable: "true" - protocol_enable: "true" - authentication_protocol: "MD5" - privacy_protocol: "DES" - tags: - - create-user + - name: Configure the create iDRAC users attributes + dellemc.openmanage.idrac_user: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "present" + user_name: "user_name" + user_password: "user_password" + privilege: "Administrator" + ipmi_lan_privilege: "User" + enable: true + sol_enable: true + protocol_enable: true + authentication_protocol: "MD5" + privacy_protocol: "DES" + tags: + - create-user + delegate_to: localhost - - name: Configure the modify iDRAC users attributes - idrac_user: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - action: "present" - user_name: "user_name" - new_user_name: "new_user_name" - privilege: "Administrator" - ipmi_lan_privilege: "User" - enable: "true" - sol_enable: "true" - protocol_enable: "true" - authentication_protocol: "MD5" - privacy_protocol: "DES" - tags: - - modify-user + - name: Configure the modify iDRAC users attributes + dellemc.openmanage.idrac_user: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "present" + user_name: "user_name" + new_user_name: "new_user_name" + privilege: "Administrator" + ipmi_lan_privilege: "User" + enable: true + sol_enable: true + protocol_enable: true + authentication_protocol: "MD5" + privacy_protocol: "DES" + tags: + - modify-user + delegate_to: localhost - - name: Configure the modify iDRAC username and password attributes. - idrac_user: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - action: "present" - user_name: "user_name" - new_user_name: "new_user_name" - user_password: "user_password" - tags: - - modify-username + - name: Configure the modify iDRAC username and password attributes. + dellemc.openmanage.idrac_user: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "present" + user_name: "user_name" + new_user_name: "new_user_name" + user_password: "user_password" + tags: + - modify-username + delegate_to: localhost - - name: Configure the delete iDRAC users attributes - idrac_user: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - state: "absent" - user_name: "user_name" - tags: - - remove-user + - name: Configure the delete iDRAC users attributes + dellemc.openmanage.idrac_user: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + state: "absent" + user_name: "user_name" + tags: + - remove-user + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_user_info.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_user_info.yml new file mode 100644 index 000000000..e49cb0bfe --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_user_info.yml @@ -0,0 +1,31 @@ +--- +- name: Fetching idrac user facts. + hosts: idrac + gather_facts: false + + tasks: + - name: Retrieve basic details of all accounts. + dellemc.openmanage.idrac_user_info: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost + + - name: Retreive user details of a specific user_id + dellemc.openmanage.idrac_user_info: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + user_id: 1 + delegate_to: localhost + + - name: Retreive user details of a specific username + dellemc.openmanage.idrac_user_info: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + username: user_name + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_virtual_media.yml b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_virtual_media.yml index 9a2cc5209..7ed4d9ba4 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_virtual_media.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/idrac/idrac_virtual_media.yml @@ -1,107 +1,109 @@ --- -- hosts: idrac - connection: local - name: Configure the boot order settings - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure the boot order settings + hosts: idrac + gather_facts: false tasks: + - name: Insert image file to Remote File Share 1 using CIFS share. + dellemc.openmanage.idrac_virtual_media: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + virtual_media: + - insert: true + image: "//192.168.0.2/file_path/file.iso" + username: "username" + password: "password" + tags: insert-media-cifs + delegate_to: localhost - - name: Insert image file to Remote File Share 1 using CIFS share. - idrac_virtual_media: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - virtual_media: - - insert: true - image: "//192.168.0.2/file_path/file.iso" - username: "username" - password: "password" - tags: insert-media-cifs + - name: Insert image file to Remote File Share 2 using NFS share. + dellemc.openmanage.idrac_virtual_media: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + virtual_media: + - index: 2 + insert: true + image: "192.168.0.4:/file_path/file.iso" + tags: insert-media-nfs + delegate_to: localhost - - name: Insert image file to Remote File Share 2 using NFS share. - idrac_virtual_media: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - virtual_media: - - index: 2 - insert: true - image: "192.168.0.4:/file_path/file.iso" - tags: insert-media-nfs + - name: Insert image file to Remote File Share 1 and 2 using HTTP. + dellemc.openmanage.idrac_virtual_media: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + force: true + virtual_media: + - index: 1 + insert: true + image: "http://192.168.0.4/file_path/file.img" + - index: 2 + insert: true + image: "http://192.168.0.4/file_path/file.img" + tags: insert-media-http + delegate_to: localhost - - name: Insert image file to Remote File Share 1 and 2 using HTTP. - idrac_virtual_media: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - force: true - virtual_media: - - index: 1 - insert: true - image: "http://192.168.0.4/file_path/file.img" - - index: 2 - insert: true - image: "http://192.168.0.4/file_path/file.img" - tags: insert-media-http + - name: Insert image file using HTTPS. + dellemc.openmanage.idrac_virtual_media: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + force: true + virtual_media: + - index: 1 + insert: true + image: "https://192.168.0.5/file_path/file.img" + username: username + password: password + tags: insert-media-http + delegate_to: localhost - - name: Insert image file using HTTPS. - idrac_virtual_media: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - force: true - virtual_media: - - index: 1 - insert: true - image: "https://192.168.0.5/file_path/file.img" - username: username - password: password - tags: insert-media-http + - name: Eject multiple virtual media. + dellemc.openmanage.idrac_virtual_media: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + virtual_media: + - index: 1 + insert: false + - index: 2 + insert: false + tags: eject-media + delegate_to: localhost - - name: Eject multiple virtual media. - idrac_virtual_media: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - virtual_media: - - index: 1 - insert: false - - index: 2 + - name: Ejection of image file from Remote File Share 1. + dellemc.openmanage.idrac_virtual_media: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + force: true + virtual_media: insert: false - tags: eject-media + tags: eject-media-rfs1 + delegate_to: localhost - - name: Ejection of image file from Remote File Share 1. - idrac_virtual_media: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - force: true - virtual_media: - insert: false - tags: eject-media-rfs1 - - - name: Insertion and ejection of image file in single task. - idrac_virtual_media: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_password }}" - ca_path: "/path/to/ca_cert.pem" - force: true - virtual_media: - - index: 1 - insert: true - image: https://192.168.0.5/file/file.iso - username: username - password: password - - index: 2 - insert: false - tags: insert-eject-media + - name: Insertion and ejection of image file in single task. + dellemc.openmanage.idrac_virtual_media: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + force: true + virtual_media: + - index: 1 + insert: true + image: https://192.168.0.5/file/file.iso + username: username + password: password + - index: 2 + insert: false + tags: insert-eject-media + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies.yml new file mode 100644 index 000000000..b9fbcb12b --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies.yml @@ -0,0 +1,110 @@ +--- +- name: Dell OpenManage Ansible Alert policies. + hosts: ome + gather_facts: false + + tasks: + - name: "Create an alert policy" + dellemc.openmanage.ome_alert_policies: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: "Alert Policy One" + device_service_tag: + - ABCD123 + - SVC7845 + category: + - catalog_name: Application + catalog_category: + - category_name: Audit + sub_category_names: + - Generic + - Devices + - catalog_name: iDRAC + catalog_category: + - category_name: Audit + sub_category_names: + - BIOS Management + - iDRAC Service Module + date_and_time: + date_from: "2023-10-10" + date_to: "2023-10-11" + time_from: "11:00" + time_to: "12:00" + time_interval: true + severity: + - unknown + - critical + actions: + - action_name: Trap + parameters: + - name: "192.1.2.3:162" + value: true + - name: "traphostname.domain.com:162" + value: true + tags: create_alert_policy + delegate_to: localhost + + - name: "Update an alert Policy" + dellemc.openmanage.ome_alert_policies: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: "Existing Policy Name" + new_name: "Update Policy Name" + device_group: "Group Name" + message_ids: + - AMP400 + - CTL201 + - BIOS101 + date_and_time: + date_from: "2023-10-10" + date_to: "2023-10-11" + time_from: "11:00" + time_to: "12:00" + time_interval: true + actions: + - action_name: Trap + parameters: + - name: "192.1.2.3:162" + value: true + tags: update_alert_policy + delegate_to: localhost + + - name: "Enable an alert policy" + dellemc.openmanage.ome_alert_policies: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: "Policy Name" + enable: true + tags: enable_alert_policy + delegate_to: localhost + + - name: "Disable multiple alert policies" + dellemc.openmanage.ome_alert_policies: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: + - "Policy Name 1" + - "Policy Name 2" + enable: false + tags: disable_alert_policy + delegate_to: localhost + + - name: "Delete an alert policy" + dellemc.openmanage.ome_alert_policies: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: + - "Policy Name" + state: absent + tags: delete_alert_policy + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_actions_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_actions_info.yml new file mode 100644 index 000000000..f5aec1d90 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_actions_info.yml @@ -0,0 +1,13 @@ +--- +- name: Dell OpenManage Ansible User service. + hosts: ome + gather_facts: false + + tasks: + - name: Get action details of all alert policies. + dellemc.openmanage.ome_alert_policies_actions_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_category_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_category_info.yml new file mode 100644 index 000000000..45eb038ef --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_category_info.yml @@ -0,0 +1,13 @@ +--- +- name: Dell OpenManage Ansible Alert policy categories info + hosts: ome + gather_facts: false + + tasks: + - name: Retrieve information about all the OME alert policies + dellemc.openmanage.ome_alert_policies_category_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_info.yml new file mode 100644 index 000000000..9951b6b59 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_info.yml @@ -0,0 +1,21 @@ +- name: Dell OpenManage Ansible Alert policy info + hosts: ome + gather_facts: false + + tasks: + - name: Retrieve information about all the OME alert policies. + dellemc.openmanage.ome_alert_policies_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost + + - name: Retrieve information about specific OME alert policy. + dellemc.openmanage.ome_alert_policies_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + policy_name: "Mobile Push Notification - Critical Alerts" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_message_id_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_message_id_info.yml new file mode 100644 index 000000000..20d6e865a --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/alert_policy/ome_alert_policies_message_id_info.yml @@ -0,0 +1,13 @@ +--- +- name: Fetching message ids of ome alert policies . + hosts: ome + gather_facts: false + + tasks: + - name: Retrieve mesaage ids of alert policies. + dellemc.openmanage.ome_alert_policies_message_id_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_alerts_smtp.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_alerts_smtp.yml index f77eabdd0..3b2852bf5 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_alerts_smtp.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_alerts_smtp.yml @@ -1,37 +1,36 @@ --- -- hosts: ome - connection: local - name: Configure the SMTP settings of OME and OME-M. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure the SMTP settings of OME and OME-M. + hosts: ome + gather_facts: false tasks: - - name: Update SMTP destination server configuration with authentication - ome_application_alerts_smtp: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - destination_address: "localhost" - port_number: 25 - use_ssl: true - enable_authentication: true - credentials: - username: "username" - password: "password" - tags: - - smtp_auth - - name: Update SMTP destination server configuration without authentication - ome_application_alerts_smtp: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - destination_address: "localhost" - port_number: 25 - use_ssl: false - enable_authentication: false - tags: - - smtp_no_auth
\ No newline at end of file + - name: Update SMTP destination server configuration with authentication + dellemc.openmanage.ome_application_alerts_smtp: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + destination_address: "localhost" + port_number: 25 + use_ssl: true + enable_authentication: true + credentials: + username: "username" + password: "password" + delegate_to: localhost + tags: + - smtp_auth + + - name: Update SMTP destination server configuration without authentication + dellemc.openmanage.ome_application_alerts_smtp: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + destination_address: "localhost" + port_number: 25 + use_ssl: false + enable_authentication: false + delegate_to: localhost + tags: + - smtp_no_auth diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_alerts_syslog.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_alerts_syslog.yml index 9fce647e3..f83e4e29f 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_alerts_syslog.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_alerts_syslog.yml @@ -1,40 +1,38 @@ --- -- hosts: ome - connection: local - name: Configure syslog forwarding settings on OpenManage Enterprise and OpenManage Enterprise Modular - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure syslog forwarding settings on OpenManage Enterprise and OpenManage Enterprise Modular + hosts: ome + gather_facts: false tasks: - - name: Configure single server to forward syslog - ome_application_alerts_syslog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - syslog_servers: - - id: 1 - enabled: true - destination_address: 192.168.0.2 - port_number: 514 + - name: Configure single server to forward syslog + dellemc.openmanage.ome_application_alerts_syslog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + syslog_servers: + - id: 1 + enabled: true + destination_address: 192.168.0.2 + port_number: 514 + delegate_to: localhost - - name: Configure multiple server to forward syslog - ome_application_alerts_syslog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - syslog_servers: - - id: 1 - port_number: 523 - - id: 2 - enabled: true - destination_address: sysloghost1.lab.com - - id: 3 - enabled: false - - id: 4 - enabled: true - destination_address: 192.168.0.4 - port_number: 514
\ No newline at end of file + - name: Configure multiple server to forward syslog + dellemc.openmanage.ome_application_alerts_syslog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + syslog_servers: + - id: 1 + port_number: 523 + - id: 2 + enabled: true + destination_address: sysloghost1.lab.com + - id: 3 + enabled: false + - id: 4 + enabled: true + destination_address: 192.168.0.4 + port_number: 514 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_certificate.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_certificate.yml index ab0fb9ebc..90e4cd8a7 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_certificate.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_certificate.yml @@ -1,53 +1,54 @@ --- -- hosts: ome - connection: local - name: Dell OME Application Certificate Signing Request. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OME Application Certificate Signing Request. + hosts: ome + gather_facts: false tasks: - - name: generate certificate signing request. - ome_application_certificate: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "generate_csr" - distinguished_name: "hostname.com" - department_name: "Remote Access Group" - business_name: "Dell Inc." - locality: "Round Rock" - country_state: "Texas" - country: "US" - email: "support@dell.com" - register: result - tags: - - generate + - name: Generate certificate signing request. + dellemc.openmanage.ome_application_certificate: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "generate_csr" + distinguished_name: "hostname.com" + department_name: "Remote Access Group" + business_name: "Dell Inc." + locality: "Round Rock" + country_state: "Texas" + country: "US" + email: "support@dell.com" + register: result + tags: + - generate + delegate_to: localhost - - name: copy CSR data into a file. - ansible.builtin.copy: - content: "{{ result.csr_status.CertificateData }}" - dest: "csr_data.txt" - tags: - - csr-data + - name: Copy CSR data into a file. + ansible.builtin.copy: + content: "{{ result.csr_status.CertificateData }}" + dest: "csr_data.txt" + mode: "0600" + tags: + - csr-data + delegate_to: localhost - - name: upload the certificate. - ome_application_certificate: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - command: "upload" - upload_file: "/path/certificate.cer" - tags: - - upload + - name: Upload the certificate. + dellemc.openmanage.ome_application_certificate: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "upload" + upload_file: "/path/certificate.cer" + tags: + - upload + delegate_to: localhost - - name: "once certificate uploaded, OME cannot be accessed for few seconds, hence wait for 10 seconds." - wait_for: - host: "{{ hostname }}" - port: "{{ port }}" - delay: 10 - tags: - - upload + - name: Once certificate uploaded, OME cannot be accessed for few seconds, hence wait for 10 seconds. + ansible.builtin.wait_for: + host: "{{ hostname }}" + port: "{{ port }}" + delay: 10 + tags: + - upload + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_console_preferences.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_console_preferences.yml index b0b29ae97..00a2ce003 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_console_preferences.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_console_preferences.yml @@ -1,97 +1,98 @@ --- -- hosts: ome - connection: local - name: Dell OME Application Console Preferences. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OME Application Console Preferences. + hosts: ome + gather_facts: false tasks: - - name: Update Console preferences with all the settings. - ome_application_console_preferences: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - report_row_limit: 123 - device_health: - health_check_interval: 1 - health_check_interval_unit: "Hourly" - health_and_power_state_on_connection_lost: "last_known" - discovery_settings: - general_device_naming: "DNS" - server_device_naming: "IDRAC_HOSTNAME" - invalid_device_hostname: "localhost" - common_mac_addresses: "::" - server_initiated_discovery: - device_discovery_approval_policy: "Automatic" - set_trap_destination: True - mx7000_onboarding_preferences: "all" - builtin_appliance_share: - share_options: "CIFS" - cifs_options: "V1" - email_sender_settings: "admin@dell.com" - trap_forwarding_format: "Original" - metrics_collection_settings: 31 - tags: - - all_settings + - name: Update Console preferences with all the settings. + dellemc.openmanage.ome_application_console_preferences: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + report_row_limit: 123 + device_health: + health_check_interval: 1 + health_check_interval_unit: "Hourly" + health_and_power_state_on_connection_lost: "last_known" + discovery_settings: + general_device_naming: "DNS" + server_device_naming: "IDRAC_HOSTNAME" + invalid_device_hostname: "localhost" + common_mac_addresses: "::" + server_initiated_discovery: + device_discovery_approval_policy: "Automatic" + set_trap_destination: true + mx7000_onboarding_preferences: "all" + builtin_appliance_share: + share_options: "CIFS" + cifs_options: "V1" + email_sender_settings: "admin@dell.com" + trap_forwarding_format: "Original" + metrics_collection_settings: 31 + tags: + - all_settings + delegate_to: localhost - - name: Update Console preferences with report and device health settings. - ome_application_console_preferences: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - report_row_limit: 236 - device_health: - health_check_interval: 10 - health_check_interval_unit: "Hourly" - health_and_power_state_on_connection_lost: "last_known" - tags: - - valid_report_device + - name: Update Console preferences with report and device health settings. + dellemc.openmanage.ome_application_console_preferences: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + report_row_limit: 236 + device_health: + health_check_interval: 10 + health_check_interval_unit: "Hourly" + health_and_power_state_on_connection_lost: "last_known" + tags: + - valid_report_device + delegate_to: localhost - - name: Update Console preferences with invalid device health settings. - ome_application_console_preferences: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_health: - health_check_interval: 65 - health_check_interval_unit: "Minutes" - tags: - - invalid_device + - name: Update Console preferences with invalid device health settings. + dellemc.openmanage.ome_application_console_preferences: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_health: + health_check_interval: 65 + health_check_interval_unit: "Minutes" + tags: + - invalid_device + delegate_to: localhost - - name: Update Console preferences with discovery and built in appliance share settings. - ome_application_console_preferences: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - discovery_settings: - general_device_naming: "DNS" - server_device_naming: "IDRAC_SYSTEM_HOSTNAME" - invalid_device_hostname: "localhost" - common_mac_addresses: "00:53:45:00:00:00" - builtin_appliance_share: - share_options: "CIFS" - cifs_options: "V1" - tags: - - valid_discovery + - name: Update Console preferences with discovery and built in appliance share settings. + dellemc.openmanage.ome_application_console_preferences: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + discovery_settings: + general_device_naming: "DNS" + server_device_naming: "IDRAC_SYSTEM_HOSTNAME" + invalid_device_hostname: "localhost" + common_mac_addresses: "00:53:45:00:00:00" + builtin_appliance_share: + share_options: "CIFS" + cifs_options: "V1" + tags: + - valid_discovery + delegate_to: localhost - - name: Update Console preferences with server initiated discovery, mx7000 onboarding preferences, email sender, trap forwarding format, and metrics collection settings. - ome_application_console_preferences: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - server_initiated_discovery: - device_discovery_approval_policy: "Automatic" - set_trap_destination: True - mx7000_onboarding_preferences: "chassis" - email_sender_settings: "admin@dell.com" - trap_forwarding_format: "Normalized" - metrics_collection_settings: 361 - tags: + - name: Update Console preferences with various settings + dellemc.openmanage.ome_application_console_preferences: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + server_initiated_discovery: + device_discovery_approval_policy: "Automatic" + set_trap_destination: true + mx7000_onboarding_preferences: "chassis" + email_sender_settings: "admin@dell.com" + trap_forwarding_format: "Normalized" + metrics_collection_settings: 361 + tags: - valid_metrics + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_address.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_address.yml index 3eff08bc3..22565bcc3 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_address.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_address.yml @@ -1,115 +1,117 @@ --- -- hosts: ome - connection: local - name: Dell OME Application network settings. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OME Application network settings. + hosts: ome + gather_facts: false tasks: - - name: IPv4 network settings - ome_application_network_address: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - 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: "" - reboot_delay: 5 - tags: - - ipv4_config + - name: IPv4 network settings + dellemc.openmanage.ome_application_network_address: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + 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: "" + reboot_delay: 5 + tags: + - ipv4_config + delegate_to: localhost - - name: IPv6 network settings - ome_application_network_address: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - ipv6_configuration: - enable: true - enable_auto_configuration: true - static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 - static_prefix_length: 10 - static_gateway: 2626:f2f2:f081:9:1c1c:f1f1:4747:2 - use_dhcp_for_dns_server_names: true - static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 - static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 - reboot_delay: 10 - tags: - - ipv6_config + - name: IPv6 network settings + dellemc.openmanage.ome_application_network_address: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + ipv6_configuration: + enable: true + enable_auto_configuration: true + static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 + static_prefix_length: 10 + static_gateway: 2626:f2f2:f081:9:1c1c:f1f1:4747:2 + use_dhcp_for_dns_server_names: true + static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 + static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 + reboot_delay: 10 + tags: + - ipv6_config + delegate_to: localhost - - name: Management vLAN settings for primary interface - ome_application_network_address: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - management_vlan: - enable_vlan: true - vlan_id: 3344 - dns_configuration: - register_with_dns: false - reboot_delay: 1 - tags: - - mgmt_vlan + - name: Management vLAN settings for primary interface + dellemc.openmanage.ome_application_network_address: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + management_vlan: + enable_vlan: true + vlan_id: 3344 + dns_configuration: + register_with_dns: false + reboot_delay: 1 + tags: + - mgmt_vlan + delegate_to: localhost - - name: DNS settings - ome_application_network_address: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - ipv4_configuration: - enable: true - use_dhcp_for_dns_server_names: false - static_preferred_dns_server: 192.168.0.4 - static_alternate_dns_server: 192.168.0.5 - dns_configuration: - register_with_dns: true - use_dhcp_for_dns_domain_name: false - dns_name: "MX-SVCTAG" - dns_domain_name: "localdomainname" - reboot_delay: 1 - tags: - - dns_config + - name: DNS settings + dellemc.openmanage.ome_application_network_address: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + ipv4_configuration: + enable: true + enable_dhcp: true + use_dhcp_for_dns_server_names: false + static_preferred_dns_server: 192.168.0.4 + static_alternate_dns_server: 192.168.0.5 + dns_configuration: + register_with_dns: true + use_dhcp_for_dns_domain_name: false + dns_name: "MX-SVCTAG" + dns_domain_name: "localdomainname" + reboot_delay: 1 + tags: + - dns_config + delegate_to: localhost - - name: Complete network settings - ome_application_network_address: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - 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.5 - ipv6_configuration: - enable: true - enable_auto_configuration: true - static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 - static_prefix_length: 10 - static_gateway: 2626:f2f2:f081:9:1c1c:f1f1:4747:2 - use_dhcp_for_dns_server_names: true - static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 - static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 - dns_configuration: - register_with_dns: true - use_dhcp_for_dns_domain_name: false - dns_name: "MX-SVCTAG" - dns_domain_name: "localdomainname" - reboot_delay: 1 - tags: - - all_network_config
\ No newline at end of file + - name: Complete network settings + dellemc.openmanage.ome_application_network_address: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + 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.5 + ipv6_configuration: + enable: true + enable_auto_configuration: true + static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 + static_prefix_length: 10 + static_gateway: 2626:f2f2:f081:9:1c1c:f1f1:4747:2 + use_dhcp_for_dns_server_names: true + static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 + static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 + dns_configuration: + register_with_dns: true + use_dhcp_for_dns_domain_name: false + dns_name: "MX-SVCTAG" + dns_domain_name: "localdomainname" + reboot_delay: 1 + tags: + - all_network_config + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_address_with_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_address_with_job_tracking.yml index 1f4cf709d..b978a157f 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_address_with_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_address_with_job_tracking.yml @@ -1,65 +1,64 @@ --- -- hosts: ome +- name: OME - Complete network settings with details tracking + hosts: ome + gather_facts: false vars: retries_count: 50 polling_interval: 5 # in seconds - connection: local - name: OME - Complete network settings with details tracking - gather_facts: False - - collections: - - dellemc.openmanage tasks: - - name: Complete network settings - ome_application_network_address: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - 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.5 - ipv6_configuration: - enable: true - enable_auto_configuration: true - static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 - static_prefix_length: 10 - static_gateway: 2626:f2f2:f081:9:1c1c:f1f1:4747:2 - use_dhcp_for_dns_server_names: true - static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 - static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 - dns_configuration: - register_with_dns: true - use_dhcp_for_dns_domain_name: false - dns_name: "MX-SVCTAG" - dns_domain_name: "localdomainname" - reboot_delay: 1 - register: facts_result + - name: Complete network settings + dellemc.openmanage.ome_application_network_address: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + 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.5 + ipv6_configuration: + enable: true + enable_auto_configuration: true + static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 + static_prefix_length: 10 + static_gateway: 2626:f2f2:f081:9:1c1c:f1f1:4747:2 + use_dhcp_for_dns_server_names: true + static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 + static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 + dns_configuration: + register_with_dns: true + use_dhcp_for_dns_domain_name: false + dns_name: "MX-SVCTAG" + dns_domain_name: "localdomainname" + reboot_delay: 1 + register: facts_result + delegate_to: localhost - # To end play when no job_info - - name: "End the play when no job_info" - meta: end_play - when: - - facts_result.changed == false - - "'job_info' not in facts_result" + # To end play when no job_info + - name: End the play when no job_info # noqa: no-handler + ansible.builtin.meta: end_play + when: + - not facts_result.changed + - "'job_info' not in facts_result" + delegate_to: localhost - - name: "Get job details using job id from network address config task." - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: "{{ facts_result.job_info.Id }}" - register: job_result - failed_when: job_result.job_info.LastRunStatus.Name == 'Failed' - changed_when: job_result.job_info.LastRunStatus.Name == 'Completed' - until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' - retries: "{{ retries_count }}" - delay: "{{ polling_interval }}" + - name: Get job details using job id from network address config task. + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: "{{ facts_result.job_info.Id }}" + register: job_result + failed_when: job_result.job_info.LastRunStatus.Name == 'Failed' + changed_when: job_result.job_info.LastRunStatus.Name == 'Completed' + until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' + retries: "{{ retries_count }}" + delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_proxy.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_proxy.yml index 0c0e8abf9..7ccb3e581 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_proxy.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_proxy.yml @@ -1,18 +1,14 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible Application network proxy setting. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible Application network proxy setting. + hosts: ome + gather_facts: false tasks: - - name: Update proxy configuration and enable authentication. - ome_application_network_proxy: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Update proxy configuration and enable authentication. + dellemc.openmanage.ome_application_network_proxy: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" enable_proxy: true ip_address: "192.168.0.2" @@ -20,25 +16,28 @@ enable_authentication: true proxy_username: "root" proxy_password: "proxy_password" - tags: setting1 - - - name: Reset proxy authentication. - ome_application_network_proxy: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + tags: setting1 + delegate_to: localhost + + - name: Reset proxy authentication. + dellemc.openmanage.ome_application_network_proxy: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" enable_proxy: true ip_address: "192.168.0.2" proxy_port: 444 enable_authentication: false - tags: setting2 + tags: setting2 + delegate_to: localhost - - name: Reset proxy configuration. - ome_application_network_proxy: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Reset proxy configuration. + dellemc.openmanage.ome_application_network_proxy: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" enable_proxy: false - tags: setting3 + tags: setting3 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_settings.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_settings.yml index 68340ba9f..1a853bcaf 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_settings.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_settings.yml @@ -1,18 +1,14 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible Application network setting. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible Application network setting. + hosts: ome + gather_facts: false tasks: - name: Configure universal inactivity timeout - ome_application_network_settings: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_application_network_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" session_inactivity_timeout: enable_universal_timeout: true @@ -23,51 +19,58 @@ serial_sessions: 1 tags: - enable_universal_timeout + delegate_to: localhost + - name: Configure API and GUI timeout and sessions - ome_application_network_settings: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - session_inactivity_timeout: - api_timeout: 20 - api_sessions: 100 - gui_timeout: 25 - gui_sessions: 5 + dellemc.openmanage.ome_application_network_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + session_inactivity_timeout: + api_timeout: 20 + api_sessions: 100 + gui_timeout: 25 + gui_sessions: 5 tags: - enable_api_gui_timout_sessions + delegate_to: localhost + - name: Configure timeout and sessions for all parameters - ome_application_network_settings: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - session_inactivity_timeout: - api_timeout: 20 - api_sessions: 100 - gui_timeout: 15 - gui_sessions: 5 - ssh_timeout: 30 - ssh_sessions: 2 - serial_timeout: 35 - serial_sessions: 1 + dellemc.openmanage.ome_application_network_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + session_inactivity_timeout: + api_timeout: 20 + api_sessions: 100 + gui_timeout: 15 + gui_sessions: 5 + ssh_timeout: 30 + ssh_sessions: 2 + serial_timeout: 35 + serial_sessions: 1 tags: - enable_all_timeout_sessions + delegate_to: localhost + - name: Disable universal timeout and configure timeout and sessions for other parameters - ome_application_network_settings: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - session_inactivity_timeout: - enable_universal_timeout: false - api_timeout: 20 - api_sessions: 100 - gui_timeout: 15 - gui_sessions: 5 - ssh_timeout: 30 - ssh_sessions: 2 - serial_timeout: 35 - serial_sessions: 1 + dellemc.openmanage.ome_application_network_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + session_inactivity_timeout: + enable_universal_timeout: false + api_timeout: 20 + api_sessions: 100 + gui_timeout: 15 + gui_sessions: 5 + ssh_timeout: 30 + ssh_sessions: 2 + serial_timeout: 35 + serial_sessions: 1 tags: - - disa_all_timeout_sessions
\ No newline at end of file + - disa_all_timeout_sessions + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_time.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_time.yml index 7dd4edade..00c1a77f7 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_time.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_time.yml @@ -1,33 +1,31 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible Application network time setting. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible Application network time setting. + hosts: ome + gather_facts: false tasks: - - name: Configure system time. - ome_application_network_time: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Configure system time. + dellemc.openmanage.ome_application_network_time: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" enable_ntp: false system_time: "2020-03-31 21:35:18" time_zone: "TZ_ID_11" - tags: time_setting1 - - - name: Configure NTP server for time synchronization. - ome_application_network_time: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + tags: time_setting1 + delegate_to: localhost + + - name: Configure NTP server for time synchronization. + dellemc.openmanage.ome_application_network_time: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" time_zone: "TZ_ID_66" enable_ntp: true primary_ntp_address: "192.168.0.2" secondary_ntp_address1: "192.168.0.3" secondary_ntp_address2: "192.168.0.4" - tags: time_setting2 + tags: time_setting2 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_time_zone_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_time_zone_info.yml index a57e0b905..cc34fa8a1 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_time_zone_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_time_zone_info.yml @@ -1,31 +1,29 @@ --- -- hosts: ome - connection: local +- name: "Ome application network time zone informaion - Ansible Module" + hosts: ome gather_facts: false - name: "Ome application network time zone informaion - Ansible Module" vars: time_zone_uri: "/api/ApplicationService/Network/TimeZones" - collections: - - dellemc.openmanage - tasks: - name: "Get list of all available times zones along with information specific to each time zone." - uri: + ansible.builtin.uri: url: "https://{{ baseuri }}{{ time_zone_uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200 - validate_certs: no - force_basic_auth: yes + validate_certs: false + force_basic_auth: true register: time_zone_result failed_when: "'value' not in time_zone_result.json" - + delegate_to: localhost + - name: Get specific time zone ID using time zone name with_items: - "{{ time_zone_result.json.value }}" - debug: - msg: "{{item['Id']}}" - when: item['Name']=='(GMT+05:30) Sri Jayawardenepura' + ansible.builtin.debug: + msg: "{{ item['Id'] }}" + when: item['Name'] == '(GMT+05:30) Sri Jayawardenepura' + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_webserver.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_webserver.yml index e445ed849..00680fb7e 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_webserver.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_webserver.yml @@ -1,40 +1,39 @@ --- -- hosts: ome - connection: local - name: Dell OME Application network webserver settings. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OME Application network webserver settings. + hosts: ome + gather_facts: false tasks: - - name: Update webserver port and session time out configuration. - ome_application_network_webserver: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - webserver_port: 443 - webserver_timeout: 10 - tags: - - port_timeout_update + - name: Update webserver port and session time out configuration. + dellemc.openmanage.ome_application_network_webserver: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + webserver_port: 443 + webserver_timeout: 10 + tags: + - port_timeout_update + delegate_to: localhost - - name: Update session time out - ome_application_network_webserver: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - webserver_timeout: 30 - tags: - - timeout_update + - name: Update session time out + dellemc.openmanage.ome_application_network_webserver: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + webserver_timeout: 30 + tags: + - timeout_update + delegate_to: localhost - - name: Update web server port. - ome_application_network_webserver: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - webserver_port: 8443 - tags: - - port_update
\ No newline at end of file + - name: Update web server port. + dellemc.openmanage.ome_application_network_webserver: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + webserver_port: 8443 + tags: + - port_update + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_webserver_port_changed_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_webserver_port_changed_tracking.yml index 28911b801..6fbae4b13 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_webserver_port_changed_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_network_webserver_port_changed_tracking.yml @@ -1,61 +1,58 @@ --- -- hosts: ome - connection: local - name: "Dell OME Application network webserver port change and track web - server till the service restarts." - gather_facts: False +- name: Dell OME Application network webserver port change and track webserver till the service restarts. + hosts: ome + gather_facts: false vars: # 5 minutes wait max retries_count: 30 polling_interval: 10 webserver_uri: "/api/ApplicationService/Network/WebServerConfiguration" - collections: - - dellemc.openmanage - tasks: - # Update web server configuration - - name: Update webserver port and timeout of OME - ome_application_network_webserver: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - port: "{{ ome_webserver_port }}" - webserver_port: "{{ new_port }}" - webserver_timeout: 21 - register: result + # Update web server configuration + - name: Update webserver port and timeout of OME + dellemc.openmanage.ome_application_network_webserver: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + port: "{{ ome_webserver_port }}" + webserver_port: "{{ new_port }}" + webserver_timeout: 21 + register: result + delegate_to: localhost - # To end play when no port change or failure - - name: "End the play when no port change" - meta: end_play - when: - - result.changed == false - - "'webserver_configuration' not in result" + # To end play when no port change or failure + - name: End the play when no port change # noqa: no-handler + ansible.builtin.meta: end_play + when: + - not result.changed + - "'webserver_configuration' not in result" + delegate_to: localhost - # Loop till OME webserver is active by using the new port and webserver config GET call - - name: "Pause play until webserver URL is reachable from this host with new port" - uri: - url: "https://{{ hostname }}:{{ result.webserver_configuration.PortNumber - }}{{ webserver_uri }}" - user: "{{ username }}" - password: "{{ password }}" - method: "GET" - use_proxy: yes - return_content: yes - validate_certs: no - force_basic_auth: yes - headers: - Content-Type: "application/json" - Accept: "application/json" - register: webport_result - until: "'PortNumber' in webport_result or webport_result.status == 200" - retries: "{{ retries_count }}" - delay: "{{ polling_interval }}" + # Loop till OME webserver is active by using the new port and webserver config GET call + - name: Pause play until webserver URL is reachable from this host with new port + ansible.builtin.uri: + url: "https://{{ hostname }}:{{ result.webserver_configuration.PortNumber }}{{ webserver_uri }}" + user: "{{ username }}" + password: "{{ password }}" + method: "GET" + use_proxy: true + return_content: true + validate_certs: false + force_basic_auth: true + headers: + Content-Type: "application/json" + Accept: "application/json" + register: webport_result + until: "'PortNumber' in webport_result or webport_result.status == 200" + retries: "{{ retries_count }}" + delay: "{{ polling_interval }}" + delegate_to: localhost - # Output the webserver_configuration values to be used further - - name: "Output the webserver config" - vars: - webserver_configuration: "{{ webport_result.json }}" - debug: - var: webserver_configuration
\ No newline at end of file + # Output the webserver_configuration values to be used further + - name: "Output the webserver config" + vars: + webserver_configuration: "{{ webport_result.json }}" + ansible.builtin.debug: + var: webserver_configuration diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_security_settings.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_security_settings.yml index 6a259e961..8bdd9c475 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_security_settings.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/application/ome_application_security_settings.yml @@ -1,57 +1,57 @@ --- -- hosts: ome - connection: local - name: Configure login security settings - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure login security settings + hosts: ome + gather_facts: false tasks: - - name: Configure restricted allowed IP range - ome_application_security_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - restrict_allowed_ip_range: - enable_ip_range: true - ip_range: 192.1.2.3/24 + - name: Configure restricted allowed IP range + dellemc.openmanage.ome_application_security_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + restrict_allowed_ip_range: + enable_ip_range: true + ip_range: 192.1.2.3/24 + delegate_to: localhost - - name: Configure login lockout policy - ome_application_security_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - login_lockout_policy: - by_user_name: true - by_ip_address: true - lockout_fail_count: 3 - lockout_fail_window: 30 - lockout_penalty_time: 900 + - name: Configure login lockout policy + dellemc.openmanage.ome_application_security_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + login_lockout_policy: + by_user_name: true + by_ip_address: true + lockout_fail_count: 3 + lockout_fail_window: 30 + lockout_penalty_time: 900 + delegate_to: localhost - - name: Configure restricted allowed IP range and login lockout policy with job wait time out of 60 seconds - ome_application_security_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - restrict_allowed_ip_range: - enable_ip_range: true - ip_range: 192.1.2.3/24 - login_lockout_policy: - by_user_name: true - by_ip_address: true - lockout_fail_count: 3 - lockout_fail_window: 30 - lockout_penalty_time: 900 - job_wait_timeout: 60 + - name: Configure restricted allowed IP range and login lockout policy with job wait time out of 60 seconds + dellemc.openmanage.ome_application_security_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + restrict_allowed_ip_range: + enable_ip_range: true + ip_range: 192.1.2.3/24 + login_lockout_policy: + by_user_name: true + by_ip_address: true + lockout_fail_count: 3 + lockout_fail_window: 30 + lockout_penalty_time: 900 + job_wait_timeout: 60 + delegate_to: localhost - - name: Enable FIPS mode - ome_application_security_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - fips_mode_enable: yes + - name: Enable FIPS mode + dellemc.openmanage.ome_application_security_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + fips_mode_enable: true + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_baseline.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_baseline.yml index 1d5f23753..510700f06 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_baseline.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_baseline.yml @@ -1,18 +1,14 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible configuration compliance baseline. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible configuration compliance baseline. + hosts: ome + gather_facts: false tasks: - name: Create a configuration compliance baseline using device IDs - ome_configuration_compliance_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_configuration_compliance_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: create template_name: "template 1" @@ -23,12 +19,13 @@ - 2222 tags: - create_compliance_baseline_device_id + delegate_to: localhost - name: Create a configuration compliance baseline using device service tags - ome_configuration_compliance_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_configuration_compliance_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: create template_name: "template 1" @@ -39,12 +36,13 @@ - "SVCTAG2" tags: - create_compliance_baseline_tags + delegate_to: localhost - name: Create a configuration compliance baseline using group names - ome_configuration_compliance_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_configuration_compliance_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: create template_name: "template 1" @@ -56,12 +54,13 @@ - "Group2" tags: - create_compliance_baseline_group_id + delegate_to: localhost - name: Delete the configuration compliance baselines - ome_configuration_compliance_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_configuration_compliance_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: delete names: @@ -69,9 +68,10 @@ - baseline2 tags: - delete_compliance_baseline + delegate_to: localhost - name: Modify a configuration compliance baseline using group names - ome_configuration_compliance_baseline: + dellemc.openmanage.ome_configuration_compliance_baseline: hostname: "192.168.0.1" username: "username" password: "password" @@ -83,9 +83,10 @@ job_wait_timeout: 1000 device_group_names: - Group1 + delegate_to: localhost - name: Remediate specific non-compliant devices to a configuration compliance baseline using device IDs - ome_configuration_compliance_baseline: + dellemc.openmanage.ome_configuration_compliance_baseline: hostname: "192.168.0.1" username: "username" password: "password" @@ -94,9 +95,10 @@ names: "baseline1" device_ids: - 1111 + delegate_to: localhost - name: Remediate specific non-compliant devices to a configuration compliance baseline using device service tags - ome_configuration_compliance_baseline: + dellemc.openmanage.ome_configuration_compliance_baseline: hostname: "192.168.0.1" username: "username" password: "password" @@ -107,13 +109,15 @@ device_service_tags: - "SVCTAG1" - "SVCTAG2" + delegate_to: localhost - name: Remediate all the non-compliant devices to a configuration compliance baseline - ome_configuration_compliance_baseline: + dellemc.openmanage.ome_configuration_compliance_baseline: hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" command: "remediate" job_wait_timeout: 2000 - names: "baseline1"
\ No newline at end of file + names: "baseline1" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_baseline_workflow.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_baseline_workflow.yml index 076ce84d7..3fd901e1c 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_baseline_workflow.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_baseline_workflow.yml @@ -1,16 +1,11 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible configuration compliance baseline workflow. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible configuration compliance baseline workflow. + hosts: ome + gather_facts: false tasks: - - name: Create a configuration compliance baseline using group names - ome_configuration_compliance_baseline: + dellemc.openmanage.ome_configuration_compliance_baseline: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -23,25 +18,29 @@ device_group_names: - "Group1" - "Group2" + delegate_to: localhost - name: Retrieve the compliance report of all of the devices in the specified configuration compliance baseline. - ome_configuration_compliance_info: + dellemc.openmanage.ome_configuration_compliance_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" baseline: "baseline1" register: compliance_report + delegate_to: localhost # This tasks returns list of device ids. # In case if you want to get devices based on service tag change attribute ServiceTag # and next task device_ids attribute replaced with device_service_tag. - name: Filter the non compliant device based on the retrieved compliance report. ansible.builtin.set_fact: - non_compliance_devices: "{{ compliance_report.compliance_info | json_query(\"value[?ComplianceStatus=='NONCOMPLIANT']\") | map(attribute='Id') | list }}" + non_compliance_devices: "{{ compliance_report.compliance_info | json_query(jquery | default('')) | map(attribute='Id') | list }}" + vars: + jquery: 'value[?ComplianceStatus==''NONCOMPLIANT'']' - - name: Remediate a specified non-complaint devices to a configuration compliance baseline using device IDs - ome_configuration_compliance_baseline: + - name: Remediate a specified non-complaint devices to a configuration compliance baseline using device IDs # noqa: args[module] + dellemc.openmanage.ome_configuration_compliance_baseline: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -49,4 +48,5 @@ command: "remediate" names: "baseline1" device_ids: "{{ non_compliance_devices }}" - when: "non_compliance_devices|length>0" + when: "non_compliance_devices | length > 0" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_info.yml index a24557030..3b52b3eff 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/compliance/ome_configuration_compliance_info.yml @@ -1,35 +1,34 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible Module for Device compliance information - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible Module for Device compliance information + hosts: ome + gather_facts: false tasks: - - name: Retrieve the compliance report of all of the devices in the specified configuration compliance baseline. - ome_configuration_compliance_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline: baseline_name + - name: Retrieve the compliance report of all of the devices in the specified configuration compliance baseline. + dellemc.openmanage.ome_configuration_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline: baseline_name + delegate_to: localhost - - name: Retrieve the compliance report for a specific device associated with the baseline using the device ID. - ome_configuration_compliance_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline: baseline_name - device_id: 10001 + - name: Retrieve the compliance report for a specific device associated with the baseline using the device ID. + dellemc.openmanage.ome_configuration_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline: baseline_name + device_id: 10001 + delegate_to: localhost - - name: Retrieve the compliance report for a specific device associated with the baseline using the device service tag. - ome_configuration_compliance_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline: baseline_name - device_service_tag: 2HFGH3 + - name: Retrieve the compliance report for a specific device associated with the baseline using the device service tag. + dellemc.openmanage.ome_configuration_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline: baseline_name + device_service_tag: 2HFGH3 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/component_reports_filtering/component_complaince_report_with_baseline.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/component_reports_filtering/component_complaince_report_with_baseline.yml index 48259af68..87df15e12 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/component_reports_filtering/component_complaince_report_with_baseline.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/component_reports_filtering/component_complaince_report_with_baseline.yml @@ -1,26 +1,23 @@ --- -- hosts: ome - connection: local +- name: OME - Ansible Modules + hosts: ome gather_facts: false - name: "OME - Ansible Modules" - - collections: - - dellemc.openmanage tasks: + - name: "Retrieve baseline information for specific baseline." + dellemc.openmanage.ome_firmware_baseline_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "baseline_name" + register: result + delegate_to: localhost - - name: "Retrieve baseline information for specific baseline." - ome_firmware_baseline_compliance_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: "baseline_name" - register: result - - - name: "Filter out device compliance reports." - loop: "{{ result.baseline_compliance_info }}" - debug: - msg: "{{item.ComponentComplianceReports}}" - loop_control: - label: "{{ item.DeviceId }}"
\ No newline at end of file + - name: Filter out device compliance reports. + loop: "{{ result.baseline_compliance_info }}" + ansible.builtin.debug: + msg: "{{ item.ComponentComplianceReports }}" + loop_control: + label: "{{ item.DeviceId }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/component_reports_filtering/component_complaince_report_with_devices.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/component_reports_filtering/component_complaince_report_with_devices.yml index 77d4eddf4..4cd2cb294 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/component_reports_filtering/component_complaince_report_with_devices.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/component_reports_filtering/component_complaince_report_with_devices.yml @@ -1,28 +1,25 @@ --- -- hosts: ome - connection: local +- name: "OME - Ansible Modules" + hosts: ome gather_facts: false - name: "OME - Ansible Modules" - - collections: - - dellemc.openmanage tasks: + - name: Retrieve baseline information for specified devices. + dellemc.openmanage.ome_firmware_baseline_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_ids: + - 11111 + - 22222 + register: result + delegate_to: localhost - - name: "Retrieve baseline information for specified devices." - ome_firmware_baseline_compliance_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_ids: - - 11111 - - 22222 - register: result - - - name: "Filter out device compliance reports." - debug: - msg: "{{ item.DeviceComplianceReports.0.ComponentComplianceReports }}" - loop: "{{ result.baseline_compliance_info }}" - loop_control: - label: "{{ item.Name }}"
\ No newline at end of file + - name: Filter out device compliance reports. + ansible.builtin.debug: + msg: "{{ item.DeviceComplianceReports.0.ComponentComplianceReports }}" + loop: "{{ result.baseline_compliance_info }}" + loop_control: + label: "{{ item.Name }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline.yml index 35f0eb234..a9f8c70de 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline.yml @@ -1,75 +1,118 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible OME firmware baseline operations. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible OME firmware baseline operations. + hosts: ome + gather_facts: false tasks: - - name: Create baseline for device IDs - ome_firmware_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: "baseline_name" - baseline_description: "baseline_description" - catalog_name: "catalog_name" - device_ids: - - 1010 - - 2020 + - name: Create baseline for device IDs + dellemc.openmanage.ome_firmware_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "baseline_name" + baseline_description: "baseline_description" + catalog_name: "catalog_name" + device_ids: + - 1010 + - 2020 + delegate_to: localhost + + - name: Create baseline for device IDs with no reboot required + dellemc.openmanage.ome_firmware_baseline: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "baseline_name" + baseline_description: "baseline_description" + catalog_name: "catalog_name" + filter_no_reboot_required: true + device_ids: + - 1010 + - 2020 + delegate_to: localhost + + - name: Create baseline for servicetags + dellemc.openmanage.ome_firmware_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "baseline_name" + baseline_description: "baseline_description" + catalog_name: "catalog_name" + device_service_tags: + - "SVCTAG1" + - "SVCTAG2" + delegate_to: localhost + + - name: Create baseline for servicetags with no reboot required + dellemc.openmanage.ome_firmware_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "baseline_name" + baseline_description: "baseline_description" + catalog_name: "catalog_name" + filter_no_reboot_required: true + device_service_tags: + - "SVCTAG1" + - "SVCTAG2" + delegate_to: localhost - - name: Create baseline for servicetags - ome_firmware_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: "baseline_name" - baseline_description: "baseline_description" - catalog_name: "catalog_name" - device_service_tags: - - "SVCTAG1" - - "SVCTAG2" + - name: Create baseline for device groups without job_tracking + dellemc.openmanage.ome_firmware_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "baseline_name" + baseline_description: "baseline_description" + catalog_name: "catalog_name" + device_group_names: + - "Group1" + - "Group2" + job_wait: false + delegate_to: localhost - - name: create baseline for device groups without job_tracking - ome_firmware_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: "baseline_name" - baseline_description: "baseline_description" - catalog_name: "catalog_name" - device_group_names: - - "Group1" - - "Group2" - job_wait: no + - name: Modify an existing baseline + dellemc.openmanage.ome_firmware_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "existing_baseline_name" + new_baseline_name: "new_baseline_name" + baseline_description: "new baseline_description" + catalog_name: "catalog_other" + device_group_names: + - "Group3" + - "Group4" + - "Group5" + downgrade_enabled: false + is_64_bit: true + filter_no_reboot_required: true + delegate_to: localhost - - name: Modify an existing baseline - ome_firmware_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: "existing_baseline_name" - new_baseline_name: "new_baseline_name" - baseline_description: "new baseline_description" - catalog_name: "catalog_other" - device_group_names: - - "Group3" - - "Group4" - - "Group5" - downgrade_enabled: no - is_64_bit: yes + - name: Modify no reboot filter in existing baseline + dellemc.openmanage.ome_firmware_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "existing_baseline_name" + new_baseline_name: "new_baseline_name" + filter_no_reboot_required: true + delegate_to: localhost - - name: Delete a baseline - ome_firmware_baseline: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - state: absent - baseline_name: "baseline_name"
\ No newline at end of file + - name: Delete a baseline + dellemc.openmanage.ome_firmware_baseline: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: absent + baseline_name: "baseline_name" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_compliance_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_compliance_info.yml index cb42e1740..f1a7afd03 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_compliance_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_compliance_info.yml @@ -1,51 +1,51 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible template inventory details. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible template inventory details. + hosts: ome + gather_facts: false tasks: - name: Retrieves device based compliance report for specified device IDs.. - ome_firmware_baseline_compliance_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_firmware_baseline_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_ids: - - 11111 - - 22222 + - 11111 + - 22222 tags: device_ids + delegate_to: localhost - name: Retrieves device based compliance report for specified service Tags. - ome_firmware_baseline_compliance_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_firmware_baseline_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_service_tags: - - MXL1234 - - MXL4567 + - MXL1234 + - MXL4567 tags: device_service_tags + delegate_to: localhost - name: Retrieves device based compliance report for specified group names. - ome_firmware_baseline_compliance_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_firmware_baseline_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_group_names: - - group1 - - group2 + - group1 + - group2 tags: device_group_names + delegate_to: localhost - name: Retrieves device compliance report for a specified baseline. - ome_firmware_baseline_compliance_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_firmware_baseline_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" baseline_name: "baseline_name" - tags: baseline_device
\ No newline at end of file + tags: baseline_device + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_compliance_info_filters.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_compliance_info_filters.yml index bbbf5f0d2..1a4cb13ba 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_compliance_info_filters.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_compliance_info_filters.yml @@ -1,63 +1,58 @@ --- -- hosts: ome - connection: local +- name: "OME - Ansible Modules" + hosts: ome gather_facts: false - name: "OME - Ansible Modules" - - collections: - - dellemc.openmanage tasks: - - - name: "Retrieve baseline information for specific device ids." - ome_firmware_baseline_compliance_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_ids: - - 11111 - - 11112 - register: result - - tags: - - overall-compliance-report - - - name: "Firmware baseline compliance info based on FirmwareStatus - Non-Compliant" - set_fact: - non_compliance_fact: "{{ item }}" - when: - - item.DeviceComplianceReports.0.FirmwareStatus=='Non-Compliant' - with_items: - - "{{ result.baseline_compliance_info }}" - loop_control: - label: "{{ item.Name }} - {{ item.DeviceComplianceReports.0.FirmwareStatus }}" - - tags: - - non-compliance-report - - - name: "Firmware baseline compliance info based on Device ID" - set_fact: - device_fact: "{{ item }}" - when: - - item.DeviceComplianceReports.0.DeviceId==11111 - with_items: - - "{{ result.baseline_compliance_info }}" - loop_control: - label: "{{ item.Name }} - {{ item.DeviceComplianceReports.0.DeviceId }}" - - tags: - - device-id-report - - - name: "Firmware baseline compliance info based on Device Service Tag" - set_fact: - service_tag_fact: "{{ item }}" - when: - - item.DeviceComplianceReports.0.ServiceTag=='1X1X1' - with_items: - - "{{ result.baseline_compliance_info }}" - loop_control: - label: "{{ item.Name }} - {{ item.DeviceComplianceReports.0.ServiceTag }}" - - tags: - - device-service-tag-report
\ No newline at end of file + - name: Retrieve baseline information for specific device ids. + dellemc.openmanage.ome_firmware_baseline_compliance_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_ids: + - 11111 + - 11112 + register: result + delegate_to: localhost + tags: + - overall-compliance-report + + - name: Firmware baseline compliance info based on FirmwareStatus - Non-Compliant + ansible.builtin.set_fact: + non_compliance_fact: "{{ item }}" + when: + - item.DeviceComplianceReports.0.FirmwareStatus=='Non-Compliant' + with_items: + - "{{ result.baseline_compliance_info }}" + loop_control: + label: "{{ item.Name }} - {{ item.DeviceComplianceReports.0.FirmwareStatus }}" + delegate_to: localhost + tags: + - non-compliance-report + + - name: Firmware baseline compliance info based on Device ID + ansible.builtin.set_fact: + device_fact: "{{ item }}" + when: + - item.DeviceComplianceReports.0.DeviceId==11111 + with_items: + - "{{ result.baseline_compliance_info }}" + loop_control: + label: "{{ item.Name }} - {{ item.DeviceComplianceReports.0.DeviceId }}" + delegate_to: localhost + tags: + - device-id-report + + - name: Firmware baseline compliance info based on Device Service Tag + ansible.builtin.set_fact: + service_tag_fact: "{{ item }}" + when: + - item.DeviceComplianceReports.0.ServiceTag=='1X1X1' + with_items: + - "{{ result.baseline_compliance_info }}" + loop_control: + label: "{{ item.Name }} - {{ item.DeviceComplianceReports.0.ServiceTag }}" + delegate_to: localhost + tags: + - device-service-tag-report diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_info.yml index 7993db51e..110901de7 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/baseline/ome_firmware_baseline_info.yml @@ -1,26 +1,24 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible firmware baseline details. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible firmware baseline details. + hosts: ome + gather_facts: false tasks: - name: Retrieve details of all the available firmware baselines. - ome_firmware_baseline_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_firmware_baseline_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" tags: firmware_baselines + delegate_to: localhost - - name: Retrieve details of a specific firmware baseline identified by its baseline name. - ome_firmware_baseline_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Retrieve details of a specific firmware baseline identified by its baseline name. + dellemc.openmanage.ome_firmware_baseline_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" baseline_name: "baseline_name" - tags: firmware_baseline
\ No newline at end of file + tags: firmware_baseline + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/catalog/ome_firmware_catalog.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/catalog/ome_firmware_catalog.yml index a065a3c0c..b16398e6b 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/catalog/ome_firmware_catalog.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/catalog/ome_firmware_catalog.yml @@ -1,121 +1,126 @@ --- -- hosts: ome - connection: local - name: "OME - Create Catalog using Repository." - gather_facts: False - - collections: - - dellemc.openmanage +- name: "OME - Create Catalog using Repository." + hosts: ome + gather_facts: false tasks: - - name: Create a catalog from HTTPS repository - ome_firmware_catalog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - catalog_name: catalog1 - catalog_description: catalog description - source: downloads.company.com - repository_type: HTTPS - source_path: "catalog" - file_name: "catalog.gz" - check_certificate: True - - - name: Create a catalog from HTTP repository - ome_firmware_catalog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - catalog_name: "{{ catalog_name }}" - catalog_description: catalog description - source: downloads.company.com - repository_type: HTTP - source_path: "catalog" - file_name: "catalog.gz" + - name: Create a catalog from HTTPS repository + dellemc.openmanage.ome_firmware_catalog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + catalog_name: catalog1 + catalog_description: catalog description + source: downloads.company.com + repository_type: HTTPS + source_path: "catalog" + file_name: "catalog.gz" + check_certificate: true + delegate_to: localhost + + - name: Create a catalog from HTTP repository + dellemc.openmanage.ome_firmware_catalog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + catalog_name: "{{ catalog_name }}" + catalog_description: catalog description + source: downloads.company.com + repository_type: HTTP + source_path: "catalog" + file_name: "catalog.gz" + delegate_to: localhost + + - name: Create a catalog using CIFS share + dellemc.openmanage.ome_firmware_catalog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + catalog_name: "{{ catalog_name }}" + catalog_description: catalog description + source: "192.166.0.1" + repository_type: CIFS + source_path: "cifs/R940" + file_name: "catalog.gz" + repository_username: "{{ repository_username }}" + repository_password: "{{ repository_password }}" + repository_domain: "{{ repository_domain }}" + delegate_to: localhost - - name: Create a catalog using CIFS share - ome_firmware_catalog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - catalog_name: "{{ catalog_name }}" - catalog_description: catalog description - source: "192.166.0.1" - repository_type: CIFS - source_path: "cifs/R940" - file_name: "catalog.gz" - repository_username: "{{ repository_username }}" - repository_password: "{{ repository_password }}" - repository_domain: "{{ repository_domain }}" - - - name: Create a catalog using NFS share - ome_firmware_catalog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - catalog_name: "{{ catalog_name }}" - catalog_description: catalog description - source: "192.166.0.2" - repository_type: NFS - source_path: "/nfs/R940" - file_name: "catalog.xml" + - name: Create a catalog using NFS share + dellemc.openmanage.ome_firmware_catalog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + catalog_name: "{{ catalog_name }}" + catalog_description: catalog description + source: "192.166.0.2" + repository_type: NFS + source_path: "/nfs/R940" + file_name: "catalog.xml" + delegate_to: localhost - - name: Create a catalog using repository from Dell.com - ome_firmware_catalog: - hostname: "192.168.0.1" - username: "username" - password: "password" - ca_path: "/path/to/ca_cert.pem" - catalog_name: "catalog_name" - catalog_description: "catalog_description" - repository_type: "DELL_ONLINE" - check_certificate: True + - name: Create a catalog using repository from Dell.com + dellemc.openmanage.ome_firmware_catalog: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + catalog_name: "catalog_name" + catalog_description: "catalog_description" + repository_type: "DELL_ONLINE" + check_certificate: true + delegate_to: localhost - - name: Modify a catalog using a repository from CIFS share - ome_firmware_catalog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - catalog_name: "{{ catalog_name }}" - catalog_description: new catalog description - source: "192.166.0.2" - repository_type: CIFS - source_path: "cifs/R941" - file_name: "catalog1.gz" - repository_username: "{{ repository_username }}" - repository_password: "{{ repository_password }}" - repository_domain: "{{ repository_domain }}" + - name: Modify a catalog using a repository from CIFS share + dellemc.openmanage.ome_firmware_catalog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + catalog_name: "{{ catalog_name }}" + catalog_description: new catalog description + source: "192.166.0.2" + repository_type: CIFS + source_path: "cifs/R941" + file_name: "catalog1.gz" + repository_username: "{{ repository_username }}" + repository_password: "{{ repository_password }}" + repository_domain: "{{ repository_domain }}" + delegate_to: localhost - - name: Modify a catalog using a repository from Dell.com - ome_firmware_catalog: - hostname: "192.168.0.1" - username: "username" - password: "password" - ca_path: "/path/to/ca_cert.pem" - catalog_id: 10 - repository_type: DELL_ONLINE - new_catalog_name: "new_catalog_name" - catalog_description: "new_catalog_description" + - name: Modify a catalog using a repository from Dell.com + dellemc.openmanage.ome_firmware_catalog: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + catalog_id: 10 + repository_type: DELL_ONLINE + new_catalog_name: "new_catalog_name" + catalog_description: "new_catalog_description" + delegate_to: localhost - - name: Delete catalog using catalog name - ome_firmware_catalog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - state: absent - catalog_name: ["catalog_name1", "catalog_name2"] + - name: Delete catalog using catalog name + dellemc.openmanage.ome_firmware_catalog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: absent + catalog_name: ["catalog_name1", "catalog_name2"] + delegate_to: localhost - - name: Delete catalog using catalog id - ome_firmware_catalog: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - state: absent - catalog_id: [11, 34]
\ No newline at end of file + - name: Delete catalog using catalog id + dellemc.openmanage.ome_firmware_catalog: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: absent + catalog_id: [11, 34] + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/ome_firmware.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/ome_firmware.yml index 198e2cce9..05e32fdde 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/ome_firmware.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/ome_firmware.yml @@ -1,142 +1,161 @@ --- -- hosts: ome - connection: local - name: "OME - Update Firmware" - gather_facts: False - - collections: - - dellemc.openmanage +- name: "OME - Update Firmware" + hosts: ome + gather_facts: false tasks: - - name: Update firmware from a DUP file using a device ids - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: - - 11111 - - 22222 - dup_file: "/path/Chassis-System-Management_Firmware_6N9WN_WN64_1.00.01_A00.EXE" + - name: Update firmware from a DUP file using a device ids + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: + - 11111 + - 22222 + dup_file: "/path/Chassis-System-Management_Firmware_6N9WN_WN64_1.00.01_A00.EXE" + delegate_to: localhost + + - name: Update firmware from a DUP file using a device service tags + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: + - KLBR111 + - KLBR222 + dup_file: "/path/Network_Firmware_NTRW0_WN64_14.07.07_A00-00_01.EXE" + delegate_to: localhost - - name: Update firmware from a DUP file using a device service tags - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - 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 names + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_group_names: + - servers + dup_file: "/path/BIOS_87V69_WN64_2.4.7.EXE" + delegate_to: localhost - - name: Update firmware from a DUP file using a device group names - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_group_names: - - servers - dup_file: "/path/BIOS_87V69_WN64_2.4.7.EXE" + - name: Update firmware using baseline name + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + delegate_to: localhost - - name: Update firmware using baseline name - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices + - name: Stage firmware for the next reboot using baseline name + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + schedule: StageForNextReboot + delegate_to: localhost - - name: Stage firmware for the next reboot using baseline name - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices - schedule: StageForNextReboot + - name: Update firmware using baseline name and components + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + components: + - BIOS + delegate_to: localhost - - name: Update firmware using baseline name and components - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices - components: - - BIOS + - name: Update firmware of device components from a DUP file using a device ids in a baseline + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + device_id: + - 11111 + - 22222 + components: + - iDRAC with Lifecycle Controller + delegate_to: localhost - - name: Update firmware of device components from a DUP file using a device ids in a baseline - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices - device_id: - - 11111 - - 22222 - components: - - iDRAC with Lifecycle Controller + - name: Update firmware of device components from a baseline using a device service tags under a baseline + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + device_service_tag: + - KLBR111 + - KLBR222 + components: + - IOM-SAS + delegate_to: localhost - - name: Update firmware of device components from a baseline using a device service tags under a baseline - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices - device_service_tag: - - KLBR111 - - KLBR222 - components: - - IOM-SAS + - name: Update firmware using baseline name with a device id and required components + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + devices: + - id: 12345 + components: + - Lifecycle Controller + - id: 12346 + components: + - Enterprise UEFI Diagnostics + - BIOS + delegate_to: localhost - - name: Update firmware using baseline name with a device id and required components - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices - devices: - - id: 12345 - components: - - Lifecycle Controller - - id: 12346 - components: - - Enterprise UEFI Diagnostics - - BIOS + - name: Update firmware using baseline name with a device service tag and required components + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + devices: + - service_tag: ABCDE12 + components: + - PERC H740P Adapter + - BIOS + - service_tag: GHIJK34 + components: + - OS Drivers Pack + delegate_to: localhost - - name: Update firmware using baseline name with a device service tag and required components - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices - devices: - - service_tag: ABCDE12 - components: - - PERC H740P Adapter - - BIOS - - service_tag: GHIJK34 - components: - - OS Drivers Pack + - name: Update firmware using baseline name with a device service tag or device id and required components + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + devices: + - service_tag: ABCDE12 + components: + - BOSS-S1 Adapter + - PowerEdge Server BIOS + - id: 12345 + components: + - iDRAC with Lifecycle Controller + delegate_to: localhost - - name: Update firmware using baseline name with a device service tag or device id and required components - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices - devices: - - service_tag: ABCDE12 - components: - - BOSS-S1 Adapter - - PowerEdge Server BIOS - - id: 12345 - components: - - iDRAC with Lifecycle Controller + - name: "Update firmware using baseline name and components and perform Powercycle." + dellemc.openmanage.ome_firmware: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + components: + - BIOS + reboot_type: PowerCycle + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/ome_firmware_with_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/ome_firmware_with_job_tracking.yml index c104f3f5b..d475277f2 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/ome_firmware_with_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/firmware/ome_firmware_with_job_tracking.yml @@ -1,8 +1,7 @@ --- -- hosts: ome - connection: local - name: "OME - Update Firmware" - gather_facts: False +- name: "OME - Update Firmware" + hosts: ome + gather_facts: false vars: retries_count: 100 polling_interval: 10 @@ -13,99 +12,95 @@ - baseline-name - baseline-name-dup - collections: - - dellemc.openmanage - tasks: - - name: "Update firmware from a DUP file using a device ids." - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: - - 11111 - - 22222 - dup_file: "/path/Chassis-System-Management_Firmware_6N9WN_WN64_1.00.01_A00.EXE" - register: result - tags: - - device-ids + - name: Update firmware from a DUP file using a device ids. + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: + - 11111 + - 22222 + dup_file: "/path/Chassis-System-Management_Firmware_6N9WN_WN64_1.00.01_A00.EXE" + register: result + tags: + - device-ids + delegate_to: localhost - - name: "Update firmware from a DUP file using a device service tags." - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: - - KLBR111 - - KLBR222 - dup_file: "/path/Network_Firmware_NTRW0_WN64_14.07.07_A00-00_01.EXE" - register: result - tags: - - service-tags + - name: Update firmware from a DUP file using a device service tags. + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: + - KLBR111 + - KLBR222 + dup_file: "/path/Network_Firmware_NTRW0_WN64_14.07.07_A00-00_01.EXE" + register: result + tags: + - service-tags + delegate_to: localhost - - name: "Update firmware from a DUP file using a device group names." - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_group_names: - - servers - dup_file: "/path/BIOS_87V69_WN64_2.4.7.EXE" - register: result - tags: - - group-name + - name: Update firmware from a DUP file using a device group names. + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_group_names: + - servers + dup_file: "/path/BIOS_87V69_WN64_2.4.7.EXE" + register: result + tags: + - group-name + delegate_to: localhost - - name: "Update firmware using baseline name." - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: baseline_devices - register: result - tags: - - baseline-name - - - name: "Update firmware from a DUP file using a baseline names." - ome_firmware: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - baseline_name: "baseline_devices, baseline_groups" - dup_file: "/path/BIOS_87V69_WN64_2.4.7.EXE" - tags: - - baseline-name-dup + - name: Update firmware using baseline name. + dellemc.openmanage.ome_firmware: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + register: result + tags: + - baseline-name + delegate_to: localhost - - name: "Track job details for the ome firmware update operation using a job id." - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: "{{ result.update_status.Id }}" - register: job_result - until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' or job_result.job_info.LastRunStatus.Name == 'Warning' - retries: "{{ retries_count }}" - delay: "{{ polling_interval }}" - tags: "{{ all_firmware_task_tags }}" + - name: Track job details for the ome firmware update operation using a job id. + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: "{{ result.update_status.Id }}" + register: job_result + until: job_result.job_info.LastRunStatus.Name == 'Completed' + or job_result.job_info.LastRunStatus.Name == 'Failed' + or job_result.job_info.LastRunStatus.Name == 'Warning' + retries: "{{ retries_count }}" + delay: "{{ polling_interval }}" + tags: "{{ all_firmware_task_tags }}" + delegate_to: localhost - - name: "Set job fact details if the task status is warning." - set_fact: - ome_firmware_job_fact: "{{ job_result | combine(job_msg, recursive=true) }}" - failed_when: job_result.job_info.LastRunStatus.Name == 'Warning' - vars: - job_msg: {'msg': 'Completed with {{ job_result.job_info.LastRunStatus.Name|lower}}'} - when: job_result.job_info.LastRunStatus.Name == 'Warning' - tags: "{{ all_firmware_task_tags }}" + - name: Set job fact details if the task status is warning. + ansible.builtin.set_fact: + ome_firmware_job_fact: "{{ job_result | combine(job_msg, recursive=true) }}" + failed_when: job_result.job_info.LastRunStatus.Name == 'Warning' + vars: + job_msg: + { + "msg": "Completed with {{ job_result.job_info.LastRunStatus.Name | lower }}", + } + when: job_result.job_info.LastRunStatus.Name == 'Warning' + tags: "{{ all_firmware_task_tags }}" - - name: "Set job fact details if the task status is completed or failed." - set_fact: - ome_firmware_job_fact: "{{ job_result }}" - failed_when: job_result.job_info.LastRunStatus.Name == 'Failed' - changed_when: job_result.job_info.LastRunStatus.Name == 'Completed' - when: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' - tags: "{{ all_firmware_task_tags }}"
\ No newline at end of file + - name: Set job fact details if the task status is completed or failed. + ansible.builtin.set_fact: + ome_firmware_job_fact: "{{ job_result }}" + failed_when: job_result.job_info.LastRunStatus.Name == 'Failed' + changed_when: job_result.job_info.LastRunStatus.Name == 'Completed' + when: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' + tags: "{{ all_firmware_task_tags }}" diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_all_groups.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_all_groups.yml new file mode 100644 index 000000000..18a52b8be --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_all_groups.yml @@ -0,0 +1,6 @@ +--- +# To retrieve all the groups host details. +plugin: dellemc.openmanage.ome_inventory +hostname: "192.168.0.1" +username: username +password: password diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_by_group_with_host_vars.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_by_group_with_host_vars.yml new file mode 100644 index 000000000..84d08b277 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_by_group_with_host_vars.yml @@ -0,0 +1,10 @@ +--- +# To set host variables to specific group host. +plugin: dellemc.openmanage.ome_inventory +hostname: "192.168.0.3" +username: username +password: password +ome_group_name: group_name +host_vars: + idrac_user: username + idrac_password: password diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_by_groups.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_by_groups.yml new file mode 100644 index 000000000..83e713955 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_by_groups.yml @@ -0,0 +1,7 @@ +--- +# To retrieve specific group host details. +plugin: dellemc.openmanage.ome_inventory +hostname: "192.168.0.2" +username: username +password: password +ome_group_name: group_name diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_groups_with_host_and_group_vars.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_groups_with_host_and_group_vars.yml new file mode 100644 index 000000000..2fc9e45db --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/inventory/ome_inventory_groups_with_host_and_group_vars.yml @@ -0,0 +1,14 @@ +--- +# To set host variables and multiple group variables. +plugin: dellemc.openmanage.ome_inventory +hostname: "192.168.0.4" +username: username +password: password +host_vars: + idrac_user: username + idrac_password: password +group_vars: + group_name: + attribute: value + group_name_one: + new_attribute: new_value diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_active_directory.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_active_directory.yml index 160118093..70bec68bb 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_active_directory.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_active_directory.yml @@ -1,15 +1,11 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible Active Directory service configuration. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible Active Directory service configuration. + hosts: ome + gather_facts: false tasks: - name: Add Active Directory service using DNS lookup along with the test connection - ome_active_directory: + dellemc.openmanage.ome_active_directory: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -18,12 +14,13 @@ domain_server: - domainname.com group_domain: domainname.com - test_connection: yes + test_connection: true domain_username: user@domainname domain_password: domain_password + delegate_to: localhost - name: Add Active Directory service using IP address of the domain controller with certificate validation - ome_active_directory: + dellemc.openmanage.ome_active_directory: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -33,11 +30,12 @@ domain_server: - 192.68.20.181 group_domain: domainname.com - validate_certificate: yes + validate_certificate: true certificate_file: "/path/to/certificate/file.cer" + delegate_to: localhost - name: Modify domain controller IP address, network_timeout and group_domain - ome_active_directory: + dellemc.openmanage.ome_active_directory: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -48,25 +46,28 @@ - 192.68.20.189 group_domain: newdomain.in network_timeout: 150 + delegate_to: localhost - name: Delete Active Directory service - ome_active_directory: + dellemc.openmanage.ome_active_directory: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" name: my_ad2 state: absent + delegate_to: localhost - name: Test connection to existing Active Directory service with certificate validation - ome_active_directory: + dellemc.openmanage.ome_active_directory: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" name: my_ad2 - test_connection: yes + test_connection: true domain_username: user@domainname domain_password: domain_password - validate_certificate: yes + validate_certificate: true certificate_file: "/path/to/certificate/file.cer" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_chassis_slots.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_chassis_slots.yml index 0099fc800..d696f35e3 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_chassis_slots.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_chassis_slots.yml @@ -1,15 +1,11 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible slot name configuration. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible slot name configuration. + hosts: ome + gather_facts: false tasks: - name: Rename the slots in multiple chassis using slot number and chassis service tag. - ome_chassis_slots: + dellemc.openmanage.ome_chassis_slots: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -27,9 +23,10 @@ slot_name: sled_name_1 - slot_number: 2 slot_name: sled_name_2 + delegate_to: localhost - name: Rename single slot name of the sled using sled ID - ome_chassis_slots: + dellemc.openmanage.ome_chassis_slots: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -37,9 +34,10 @@ device_options: - device_id: 10054 slot_name: slot_device_name_1 + delegate_to: localhost - name: Rename single slot name of the sled using sled service tag - ome_chassis_slots: + dellemc.openmanage.ome_chassis_slots: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -47,9 +45,10 @@ device_options: - device_service_tag: ABC1234 slot_name: service_tag_slot + delegate_to: localhost - name: Rename multiple slot names of the devices - ome_chassis_slots: + dellemc.openmanage.ome_chassis_slots: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -63,3 +62,4 @@ slot_name: sled_name_3 - device_service_tag: PQR1234 slot_name: sled_name_4 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_group.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_group.yml index d7af342ab..341becdc8 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_group.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_group.yml @@ -1,27 +1,24 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible device inventory details. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible device inventory details. + hosts: ome + gather_facts: false tasks: - name: Add devices to a static device group by using the group name and device IDs - ome_device_group: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_device_group: + hostname: "{{ hostname }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" name: "Storage Services" device_ids: - 11111 - 11112 tags: device-id + delegate_to: localhost - name: Add devices to a static device group by using the group name and device service tags - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -31,9 +28,10 @@ - GHRT2R - KJHDF3 tags: device-service-tags + delegate_to: localhost - name: Add devices to a static device group by using the group ID and device service tags - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -43,9 +41,10 @@ - GHRT2R - KJHDF3 tags: group_id_device-service-tags + delegate_to: localhost - name: Add devices to a static device group by using the group name and IPv4 addresses - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -55,9 +54,10 @@ - 192.35.0.1 - 192.35.0.5 tags: group_name_ipv4 + delegate_to: localhost - name: Add devices to a static device group by using the group ID and IPv6 addresses - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -67,9 +67,10 @@ - fe80::ffff:ffff:ffff:ffff - fe80::ffff:ffff:ffff:2222 tags: group_id_ipv6 + delegate_to: localhost - name: Add devices to a static device group by using the group ID and supported IPv4 and IPv6 address formats. - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -83,12 +84,13 @@ - ::ffff:192.0.2.0/125 - fe80::ffff:ffff:ffff:1111-fe80::ffff:ffff:ffff:ffff tags: group_id_ipv4_ipv6 - + delegate_to: localhost + - name: Remove devices from a static device group by using the group name and device IDs - ome_device_group: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_device_group: + hostname: "{{ hostname }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "absent" name: "Storage Services" @@ -96,9 +98,10 @@ - 11111 - 11112 tags: device-id + delegate_to: localhost - name: Remove devices from a static device group by using the group name and device service tags - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -109,9 +112,10 @@ - GHRT2R - KJHDF3 tags: device-service-tags + delegate_to: localhost - name: Remove devices from a static device group by using the group ID and device service tags - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -122,9 +126,10 @@ - GHRT2R - KJHDF3 tags: group_id_device-service-tags + delegate_to: localhost - name: Remove devices from a static device group by using the group name and IPv4 addresses - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -135,9 +140,10 @@ - 192.35.0.1 - 192.35.0.5 tags: group_name_ipv4 + delegate_to: localhost - name: Remove devices from a static device group by using the group ID and IPv6 addresses - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -148,9 +154,10 @@ - fe80::ffff:ffff:ffff:ffff - fe80::ffff:ffff:ffff:2222 tags: group_id_ipv6 + delegate_to: localhost - name: Remove devices from a static device group by using the group ID and supported IPv4 and IPv6 address formats. - ome_device_group: + dellemc.openmanage.ome_device_group: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -165,3 +172,4 @@ - ::ffff:192.0.2.0/125 - fe80::ffff:ffff:ffff:1111-fe80::ffff:ffff:ffff:ffff tags: group_id_ipv4_ipv6 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_info.yml index 6b3077490..729021694 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_info.yml @@ -1,22 +1,19 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible device inventory details. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible device inventory details. + hosts: ome + gather_facts: false tasks: - name: Retrieve basic inventory of all devices. - ome_device_info: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_device_info: + hostname: "{{ hostname }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost - name: Retrieve basic inventory for devices identified by IDs 33333 or 11111 using filtering. - ome_device_info: + dellemc.openmanage.ome_device_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -24,10 +21,11 @@ fact_subset: "basic_inventory" system_query_options: filter: "Id eq 33333 or Id eq 11111" + delegate_to: localhost - name: Retrieve inventory details of specified devices identified by IDs 11111 and 22222. - ome_device_info: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_device_info: + hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" @@ -36,9 +34,10 @@ device_id: - 11111 - 22222 - + delegate_to: localhost + - name: Retrieve inventory details of specified devices identified by service tags MXL1234 and MXL4567. - ome_device_info: + dellemc.openmanage.ome_device_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -48,9 +47,10 @@ device_service_tag: - MXL1234 - MXL4567 + delegate_to: localhost - name: Retrieve details of specified inventory type of specified devices identified by ID and service tags. - ome_device_info: + dellemc.openmanage.ome_device_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -63,9 +63,10 @@ - MXL1234 - MXL4567 inventory_type: "serverDeviceCards" + delegate_to: localhost - name: Retrieve subsystem health of specified devices identified by service tags. - ome_device_info: + dellemc.openmanage.ome_device_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -75,5 +76,4 @@ device_service_tag: - MXL1234 - MXL4567 - - + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_local_access_configuration.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_local_access_configuration.yml index 6f282c8a5..7d0484531 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_local_access_configuration.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_local_access_configuration.yml @@ -1,68 +1,68 @@ --- -- hosts: ome - connection: local - name: OpenManage Ansible Modules for local access settings. +- name: OpenManage Ansible Modules for local access settings. + hosts: ome gather_facts: false - collections: dellemc.openmanage tasks: + - name: Configure KVM, direct access and power button settings of the chassis using device ID. + dellemc.openmanage.ome_device_local_access_configuration: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 25011 + enable_kvm_access: true + enable_chassis_direct_access: false + chassis_power_button: + enable_chassis_power_button: false + enable_lcd_override_pin: true + disabled_button_lcd_override_pin: "123456" + tags: lac-device-id + delegate_to: localhost - - name: Configure KVM, direct access and power button settings of the chassis using device ID. - ome_device_local_access_configuration: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 25011 - enable_kvm_access: true - enable_chassis_direct_access: false - chassis_power_button: - enable_chassis_power_button: false - enable_lcd_override_pin: true - disabled_button_lcd_override_pin: 123456 - tags: lac-device-id + - name: Configure Quick sync and LCD settings of the chassis using device service tag. + dellemc.openmanage.ome_device_local_access_configuration: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: GHRT2RL + quick_sync: + quick_sync_access: READ_ONLY + enable_read_authentication: true + enable_quick_sync_wifi: true + enable_inactivity_timeout: true + timeout_limit: 10 + timeout_limit_unit: MINUTES + lcd: + lcd_access: VIEW_ONLY + lcd_language: en + user_defined: "LCD Text" + tags: lac-tag + delegate_to: localhost - - name: Configure Quick sync and LCD settings of the chassis using device service tag. - ome_device_local_access_configuration: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: GHRT2RL - quick_sync: - quick_sync_access: READ_ONLY - enable_read_authentication: true - enable_quick_sync_wifi: true - enable_inactivity_timeout: true - timeout_limit: 10 - timeout_limit_unit: MINUTES - lcd: - lcd_access: VIEW_ONLY - lcd_language: en - user_defined: "LCD Text" - tags: lac-tag - - - name: Configure all local access settings of the host chassis. - ome_device_local_access_configuration: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - enable_kvm_access: true - enable_chassis_direct_access: false - chassis_power_button: - enable_chassis_power_button: false - enable_lcd_override_pin: true - disabled_button_lcd_override_pin: 123456 - quick_sync: - quick_sync_access: READ_WRITE - enable_read_authentication: true - enable_quick_sync_wifi: true - enable_inactivity_timeout: true - timeout_limit: 120 - timeout_limit_unit: SECONDS - lcd: - lcd_access: VIEW_MODIFY - lcd_language: en - user_defined: "LCD Text" - tags: lac-host + - name: Configure all local access settings of the host chassis. + dellemc.openmanage.ome_device_local_access_configuration: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + enable_kvm_access: true + enable_chassis_direct_access: false + chassis_power_button: + enable_chassis_power_button: false + enable_lcd_override_pin: true + disabled_button_lcd_override_pin: "123456" + quick_sync: + quick_sync_access: READ_WRITE + enable_read_authentication: true + enable_quick_sync_wifi: true + enable_inactivity_timeout: true + timeout_limit: 120 + timeout_limit_unit: SECONDS + lcd: + lcd_access: VIEW_MODIFY + lcd_language: en + user_defined: "LCD Text" + tags: lac-host + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_location.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_location.yml index d2d860508..d68ba0944 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_location.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_location.yml @@ -1,52 +1,52 @@ --- -- hosts: ome - connection: local - name: OpenManage Ansible Modules +- name: OpenManage Ansible Modules + hosts: ome gather_facts: false - collections: dellemc.openmanage tasks: + - name: Update device location settings of a chassis using the device ID. + dellemc.openmanage.ome_device_location: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 25011 + data_center: data center 1 + room: room 1 + aisle: aisle 1 + rack: rack 1 + rack_slot: 2 + location: location 1 + tags: location-device-id + delegate_to: localhost - - name: Update device location settings of a chassis using the device ID. - ome_device_location: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 25011 - data_center: data center 1 - room: room 1 - aisle: aisle 1 - rack: rack 1 - rack_slot: 2 - location: location 1 - tags: location-device-id + - name: Update device location settings of a chassis using the device service tag. + dellemc.openmanage.ome_device_location: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: GHRT2RL + data_center: data center 1 + room: room 1 + aisle: aisle 1 + rack: rack 1 + rack_slot: 2 + location: location 1 + tags: location-device-service-tag + delegate_to: localhost - - name: Update device location settings of a chassis using the device service tag. - ome_device_location: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: GHRT2RL - data_center: data center 1 - room: room 1 - aisle: aisle 1 - rack: rack 1 - rack_slot: 2 - location: location 1 - tags: location-device-service-tag - - - name: Update device location settings of the host chassis. - ome_device_location: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - data_center: data center 1 - room: room 1 - aisle: aisle 1 - rack: rack 1 - rack_slot: 2 - location: location 1 - tags: location-chassis + - name: Update device location settings of the host chassis. + dellemc.openmanage.ome_device_location: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + data_center: data center 1 + room: room 1 + aisle: aisle 1 + rack: rack 1 + rack_slot: 2 + location: location 1 + tags: location-chassis + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_mgmt_network.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_mgmt_network.yml index e05a3772d..048f99ff8 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_mgmt_network.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_mgmt_network.yml @@ -1,105 +1,105 @@ --- -- hosts: ome - connection: local - name: Dell OME Modular device network settings. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OME Modular device network settings. + hosts: ome + gather_facts: false tasks: - - name: Network settings for chassis - ome_device_mgmt_network: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: CHAS123 - delay: 10 - ipv4_configuration: - enable_ipv4: 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_to_obtain_dns_server_address: false - static_preferred_dns_server: 192.168.0.4 - static_alternate_dns_server: 192.168.0.5 - ipv6_configuration: - enable_ipv6: true - enable_auto_configuration: false - static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 - static_prefix_length: 10 - static_gateway: ffff::2607:f2b1:f081:9 - use_dhcpv6_to_obtain_dns_server_address: false - static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 - static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 - dns_configuration: - register_with_dns: true - use_dhcp_for_dns_domain_name: false - dns_name: MX-SVCTAG - dns_domain_name: dnslocaldomain - auto_negotiation: no - network_speed: 100_MB + - name: Network settings for chassis + dellemc.openmanage.ome_device_mgmt_network: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: CHAS123 + delay: 10 + ipv4_configuration: + enable_ipv4: 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_to_obtain_dns_server_address: false + static_preferred_dns_server: 192.168.0.4 + static_alternate_dns_server: 192.168.0.5 + ipv6_configuration: + enable_ipv6: true + enable_auto_configuration: false + static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 + static_prefix_length: 10 + static_gateway: ffff::2607:f2b1:f081:9 + use_dhcpv6_to_obtain_dns_server_address: false + static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 + static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 + dns_configuration: + register_with_dns: true + use_dhcp_for_dns_domain_name: false + dns_name: MX-SVCTAG + dns_domain_name: dnslocaldomain + auto_negotiation: false + network_speed: 100_MB + delegate_to: localhost - - name: Network settings for server - ome_device_mgmt_network: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: SRVR123 - ipv4_configuration: - enable_ipv4: 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_to_obtain_dns_server_address: false - static_preferred_dns_server: 192.168.0.4 - static_alternate_dns_server: 192.168.0.5 - ipv6_configuration: - enable_ipv6: true - enable_auto_configuration: false - static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 - static_prefix_length: 10 - static_gateway: ffff::2607:f2b1:f081:9 - use_dhcpv6_to_obtain_dns_server_address: false - static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 - static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 + - name: Network settings for server + dellemc.openmanage.ome_device_mgmt_network: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: SRVR123 + ipv4_configuration: + enable_ipv4: 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_to_obtain_dns_server_address: false + static_preferred_dns_server: 192.168.0.4 + static_alternate_dns_server: 192.168.0.5 + ipv6_configuration: + enable_ipv6: true + enable_auto_configuration: false + static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 + static_prefix_length: 10 + static_gateway: ffff::2607:f2b1:f081:9 + use_dhcpv6_to_obtain_dns_server_address: false + static_preferred_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:3 + static_alternate_dns_server: 2626:f2f2:f081:9:1c1c:f1f1:4747:4 + delegate_to: localhost - - name: Network settings for I/O module - ome_device_mgmt_network: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: IOM1234 - ipv4_configuration: - enable_ipv4: true - enable_dhcp: false - static_ip_address: 192.168.0.2 - static_subnet_mask: 255.255.254.0 - static_gateway: 192.168.0.3 - ipv6_configuration: - enable_ipv6: true - enable_auto_configuration: false - static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 - static_prefix_length: 10 - static_gateway: ffff::2607:f2b1:f081:9 - dns_server_settings: - preferred_dns_server: 192.168.0.4 - alternate_dns_server1: 192.168.0.5 + - name: Network settings for I/O module + dellemc.openmanage.ome_device_mgmt_network: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: IOM1234 + ipv4_configuration: + enable_ipv4: true + enable_dhcp: false + static_ip_address: 192.168.0.2 + static_subnet_mask: 255.255.254.0 + static_gateway: 192.168.0.3 + ipv6_configuration: + enable_ipv6: true + enable_auto_configuration: false + static_ip_address: 2626:f2f2:f081:9:1c1c:f1f1:4747:1 + static_prefix_length: 10 + static_gateway: ffff::2607:f2b1:f081:9 + dns_server_settings: + preferred_dns_server: 192.168.0.4 + alternate_dns_server1: 192.168.0.5 + delegate_to: localhost - - name: Management VLAN configuration of chassis using device id - ome_device_mgmt_network: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" - ca_path: "/path/to/ca_cert.pem" - device_id: 12345 - management_vlan: - enable_vlan: true - vlan_id: 2345 - dns_configuration: - register_with_dns: false
\ No newline at end of file + - name: Management VLAN configuration of chassis using device id + dellemc.openmanage.ome_device_mgmt_network: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 12345 + management_vlan: + enable_vlan: true + vlan_id: 2345 + dns_configuration: + register_with_dns: false + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_network_services.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_network_services.yml index 0a47d2ddc..8de818434 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_network_services.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_network_services.yml @@ -1,59 +1,59 @@ --- -- hosts: ome - connection: local - name: OpenManage Ansible Modules for network services settings. +- name: OpenManage Ansible Modules for network services settings. + hosts: ome gather_facts: false - collections: dellemc.openmanage tasks: + - name: Update network services settings of a chassis using the device ID. + dellemc.openmanage.ome_device_network_services: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 25011 + snmp_settings: + enabled: true + port_number: 161 + community_name: public + ssh_settings: + enabled: false + remote_racadm_settings: + enabled: false + tags: snmp-settings + delegate_to: localhost - - name: Update network services settings of a chassis using the device ID. - ome_device_power_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 25011 - snmp_settings: - enabled: true - port_number: 161 - community_name: public - ssh_settings: - enabled: false - remote_racadm_settings: - enabled: false - tags: snmp-settings + - name: Update network services settings of a chassis using the device service tag. + dellemc.openmanage.ome_device_network_services: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: GHRT2RL + snmp_settings: + enabled: false + ssh_settings: + enabled: true + port_number: 22 + max_sessions: 1 + max_auth_retries: 3 + idle_timeout: 1 + remote_racadm_settings: + enabled: false + tags: ssh-settings + delegate_to: localhost - - name: Update network services settings of a chassis using the device service tag. - ome_device_power_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: GHRT2RL - snmp_settings: - enabled: false - ssh_settings: - enabled: true - port_number: 22 - max_sessions: 1 - max_auth_retries: 3 - idle_timeout: 1 - remote_racadm_settings: - enabled: false - tags: ssh-settings - - - name: Update network services settings of the host chassis. - ome_device_power_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 25012 - snmp_settings: - enabled: false - ssh_settings: - enabled: false - remote_racadm_settings: - enabled: true - tags: racadm-settings + - name: Update network services settings of the host chassis. + dellemc.openmanage.ome_device_network_services: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 25012 + snmp_settings: + enabled: false + ssh_settings: + enabled: false + remote_racadm_settings: + enabled: true + tags: racadm-settings + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_power_settings.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_power_settings.yml index 4b68a29ba..cb3a9ad8c 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_power_settings.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_power_settings.yml @@ -1,54 +1,55 @@ --- -- hosts: ome - connection: local - name: OpenManage Ansible Modules +- name: OpenManage Ansible Modules + hosts: ome gather_facts: false - collections: dellemc.openmanage tasks: + - name: Update power configuration settings of a chassis using the device ID. + dellemc.openmanage.ome_device_power_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 25011 + power_configuration: + enable_power_cap: true + power_cap: 3424 + tags: power-config + delegate_to: localhost - - name: Update power configuration settings of a chassis using the device ID. - ome_device_power_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 25011 - power_configuration: - enable_power_cap: true - power_cap: 3424 - tags: power-config + - name: Update redundancy configuration settings of a chassis using the device service tag. + dellemc.openmanage.ome_device_power_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: GHRT2RL + redundancy_configuration: + redundancy_policy: GRID_REDUNDANCY + tags: redundancy-config + delegate_to: localhost - - name: Update redundancy configuration settings of a chassis using the device service tag. - ome_device_power_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: GHRT2RL - redundancy_configuration: - redundancy_policy: GRID_REDUNDANCY - tags: redundancy-config + - name: Update hot spare configuration settings of a chassis using device ID. + dellemc.openmanage.ome_device_power_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 25012 + hot_spare_configuration: + enable_hot_spare: true + primary_grid: GRID_1 + tags: hostspare-config + delegate_to: localhost - - name: Update hot spare configuration settings of a chassis using device ID. - ome_device_power_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 25012 - hot_spare_configuration: - enable_hot_spare: true - primary_grid: GRID_1 - tags: hostspare-config - - - name: Update power configuration settings of a host chassis. - ome_device_power_settings: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - power_configuration: - enable_power_cap: true - power_cap: 3425 - tags: power-config-chassis + - name: Update power configuration settings of a host chassis. + dellemc.openmanage.ome_device_power_settings: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + power_configuration: + enable_power_cap: true + power_cap: 3425 + tags: power-config-chassis + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_quick_deploy.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_quick_deploy.yml index 71a07e685..8c54d3db3 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_quick_deploy.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_device_quick_deploy.yml @@ -1,66 +1,65 @@ --- -- hosts: ome - connection: local - name: OpenManage Ansible Modules for Quick Deploy settings. +- name: OpenManage Ansible Modules for Quick Deploy settings. + hosts: ome gather_facts: false - collections: dellemc.openmanage tasks: + - name: Configure server Quick Deploy settings of the chassis using device ID. + dellemc.openmanage.ome_device_quick_deploy: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 25011 + setting_type: ServerQuickDeploy + quick_deploy_options: + password: "password" + ipv4_enabled: true + ipv4_network_type: Static + ipv4_subnet_mask: 255.255.255.0 + ipv4_gateway: 192.168.0.1 + ipv6_enabled: true + ipv6_network_type: Static + ipv6_prefix_length: 1 + ipv6_gateway: "::" + slots: + - slot_id: 1 + slot_ipv4_address: 192.168.0.2 + slot_ipv6_address: "::" + vlan_id: 1 + - slot_id: 2 + slot_ipv4_address: 192.168.0.3 + slot_ipv6_address: "::" + vlan_id: 2 + tags: server-quick-deploy + delegate_to: localhost - - name: Configure server Quick Deploy settings of the chassis using device ID. - ome_device_quick_deploy: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 25011 - setting_type: ServerQuickDeploy - quick_deploy_options: - password: "password" - ipv4_enabled: True - ipv4_network_type: Static - ipv4_subnet_mask: 255.255.255.0 - ipv4_gateway: 192.168.0.1 - ipv6_enabled: True - ipv6_network_type: Static - ipv6_prefix_length: 1 - ipv6_gateway: "::" - slots: - - slot_id: 1 - slot_ipv4_address: 192.168.0.2 - slot_ipv6_address: "::" - vlan_id: 1 - - slot_id: 2 - slot_ipv4_address: 192.168.0.3 - slot_ipv6_address: "::" - vlan_id: 2 - tags: server-quick-deploy - - - name: Configure server Quick Deploy settings of the chassis using device service tag. - ome_device_quick_deploy: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: GHRT2RL - setting_type: IOMQuickDeploy - quick_deploy_options: - password: "password" - ipv4_enabled: True - ipv4_network_type: Static - ipv4_subnet_mask: 255.255.255.0 - ipv4_gateway: 192.168.0.1 - ipv6_enabled: True - ipv6_network_type: Static - ipv6_prefix_length: 1 - ipv6_gateway: "::" - slots: - - slot_id: 1 - slot_ipv4_address: 192.168.0.2 - slot_ipv6_address: "::" - vlan_id: 1 - - slot_id: 2 - slot_ipv4_address: 192.168.0.3 - slot_ipv6_address: "::" - vlan_id: 2 - tags: iom-quick-deploy + - name: Configure server Quick Deploy settings of the chassis using device service tag. + dellemc.openmanage.ome_device_quick_deploy: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: GHRT2RL + setting_type: IOMQuickDeploy + quick_deploy_options: + password: "password" + ipv4_enabled: true + ipv4_network_type: Static + ipv4_subnet_mask: 255.255.255.0 + ipv4_gateway: 192.168.0.1 + ipv6_enabled: true + ipv6_network_type: Static + ipv6_prefix_length: 1 + ipv6_gateway: "::" + slots: + - slot_id: 1 + slot_ipv4_address: 192.168.0.2 + slot_ipv6_address: "::" + vlan_id: 1 + - slot_id: 2 + slot_ipv4_address: 192.168.0.3 + slot_ipv6_address: "::" + vlan_id: 2 + tags: iom-quick-deploy + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_devices.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_devices.yml index ba93eb006..d5ba7cb6c 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_devices.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_devices.yml @@ -1,60 +1,61 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible device operations. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible device operations. + hosts: ome + gather_facts: false tasks: - name: Refresh Inventory - ome_devices: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_devices: + hostname: "{{ hostname }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_action: refresh_inventory device_service_tags: - 2HB7NX2 + delegate_to: localhost - name: Clear iDRAC job queue - ome_devices: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_devices: + hostname: "{{ hostname }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_action: clear_idrac_job_queue device_service_tags: - 2HB7NX2 + delegate_to: localhost - name: Reset iDRAC using the service tag - ome_devices: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_devices: + hostname: "{{ hostname }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_action: reset_idrac device_service_tags: - 2H7HNX2 + delegate_to: localhost - name: Remove devices using servicetags - ome_devices: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_devices: + hostname: "{{ hostname }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: absent device_service_tags: - SVCTAG1 - SVCTAF2 + delegate_to: localhost - name: Remove devices using IDs - ome_devices: - hostname: "{{ hostname }}" + dellemc.openmanage.ome_devices: + hostname: "{{ hostname }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: absent device_ids: - 10235 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_diagnostics.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_diagnostics.yml index b5f0fc970..dae4e5dbf 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_diagnostics.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_diagnostics.yml @@ -1,15 +1,11 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible diagnostics operation. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible diagnostics operation. + hosts: ome + gather_facts: false tasks: - name: Application log extraction using CIFS share location - ome_diagnostics: + dellemc.openmanage.ome_diagnostics: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -23,9 +19,10 @@ mask_sensitive_info: false test_connection: true tags: app-cifs-log + delegate_to: localhost - name: Application log extraction using NFS share location - ome_diagnostics: + dellemc.openmanage.ome_diagnostics: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -37,9 +34,10 @@ mask_sensitive_info: true test_connection: true tags: app-nfs-log + delegate_to: localhost - name: Support assist log extraction using CIFS share location - ome_diagnostics: + dellemc.openmanage.ome_diagnostics: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -56,9 +54,10 @@ log_selectors: [OS_LOGS] test_connection: true tags: tsr-cifs-log + delegate_to: localhost - name: Support assist log extraction using NFS share location - ome_diagnostics: + dellemc.openmanage.ome_diagnostics: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -70,3 +69,4 @@ device_group_name: group_name test_connection: true tags: tsr-nfs-log + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_discovery.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_discovery.yml index 1a16e3287..b524ab3f3 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_discovery.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_discovery.yml @@ -1,18 +1,14 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible discovery operations. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible discovery operations. + hosts: ome + gather_facts: false tasks: - name: Discover servers in a range - ome_discovery: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_discovery: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" discovery_job_name: "Discovery_server_1" discovery_config_targets: @@ -25,12 +21,13 @@ password: password tags: - server_discovery + delegate_to: localhost - name: Discover chassis in a range - ome_discovery: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_discovery: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" discovery_job_name: "Discovery_chassis_1" discovery_config_targets: @@ -43,12 +40,13 @@ password: password tags: - chassis_discovery + delegate_to: localhost - name: Discover switches in a range - ome_discovery: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_discovery: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" discovery_job_name: "Discover_switch_1" discovery_config_targets: @@ -60,12 +58,13 @@ community: snmp_creds tags: - switch_discovery + delegate_to: localhost - name: Discover storage in a range - ome_discovery: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_discovery: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" discovery_job_name: "Discover_storage_1" discovery_config_targets: @@ -80,23 +79,25 @@ community: community_str tags: - storage_discovery + delegate_to: localhost - name: Delete a discovery job - ome_discovery: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_discovery: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "absent" discovery_job_name: "Discovery-123" tags: - delete_discovery + delegate_to: localhost - name: Schedule the discovery of multiple devices ignoring partial failure and enable trap to receive alerts - ome_discovery: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_discovery: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "present" discovery_job_name: "Discovery-123" @@ -136,18 +137,19 @@ password: ipmi_pwd schedule: RunLater cron: "0 0 9 ? * MON,WED,FRI *" - ignore_partial_failure: True - trap_destination: True - community_string: True + ignore_partial_failure: true + trap_destination: true + community_string: true email_recipient: test_email@company.com tags: - schedule_discovery + delegate_to: localhost - name: Discover servers with ca check enabled - ome_discovery: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_discovery: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" discovery_job_name: "Discovery_server_ca1" discovery_config_targets: @@ -158,13 +160,14 @@ wsman: username: user password: password - ca_check: True + ca_check: true certificate_data: "{{ lookup('ansible.builtin.file', '/path/to/certificate_data_file') }}" tags: - server_ca_check + delegate_to: localhost - name: Discover chassis with ca check enabled data - ome_discovery: + dellemc.openmanage.ome_discovery: hostname: "192.168.0.1" username: "username" password: "password" @@ -178,12 +181,13 @@ 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-----" + ca_check: true + certificate_data: " -----BEGIN CERTIFICATE----- + ABCDEFGHIJKLMNOPQRSTUVWXYZaqwertyuiopasdfghjklzxcvbnmasdasagasvv + ABCDEFGHIJKLMNOPQRSTUVWXYZaqwertyuiopasdfghjklzxcvbnmasdasagasvv + ABCDEFGHIJKLMNOPQRSTUVWXYZaqwertyuiopasdfghjklzxcvbnmasdasagasvv + aqwertyuiopasdfghjklzxcvbnmasdasagasvv= + -----END CERTIFICATE----- " tags: - - chassis_ca_check_data
\ No newline at end of file + - chassis_ca_check_data + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_domain_user_groups.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_domain_user_groups.yml index 7229f6385..e39dedff8 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_domain_user_groups.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_domain_user_groups.yml @@ -1,16 +1,11 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible AD directory user group operation. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible AD directory user group operation. + hosts: ome + gather_facts: false tasks: - - name: Create Active Directory user groups. - ome_domain_user_groups: + dellemc.openmanage.ome_domain_user_groups: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -22,9 +17,10 @@ domain_username: username@domain domain_password: domain_password tags: user-group-add + delegate_to: localhost - name: Create Active Directory user groups with different domain format. - ome_domain_user_groups: + dellemc.openmanage.ome_domain_user_groups: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -36,9 +32,10 @@ domain_username: domain\\username domain_password: domain_password tags: user-group-add-domain + delegate_to: localhost - name: Update Active Directory user groups. - ome_domain_user_groups: + dellemc.openmanage.ome_domain_user_groups: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -47,9 +44,10 @@ group_name: account operators role: chassis administrator tags: user-group-update + delegate_to: localhost - name: Remove Active Directory user groups. - ome_domain_user_groups: + dellemc.openmanage.ome_domain_user_groups: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -57,3 +55,44 @@ state: "absent" group_name: "Administrators" tags: user-group-remove + delegate_to: localhost + + - name: Create LDAP user groups. + dellemc.openmanage.ome_domain_user_groups: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: present + group_name: group_name1 + directory_id: 10779 + directory_type: LDAP + role: VIEWER + domain_username: domain_username + domain_password: domain_password + delegate_to: localhost + + - name: Create LDAP user groups with different domain format. + dellemc.openmanage.ome_domain_user_groups: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: present + group_name: group_name1 + directory_name: directory_name + directory_type: LDAP + role: administrator + domain_username: domain\\username + domain_password: domain_password + delegate_to: localhost + + - name: Remove LDAP user groups. + dellemc.openmanage.ome_domain_user_groups: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: "absent" + group_name: group_name1 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_group_device_action.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_group_device_action.yml index 08b03786e..95334b010 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_group_device_action.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_group_device_action.yml @@ -1,12 +1,11 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible group device operations. - gather_facts: False +- name: Dell OpenManage Ansible group device operations. + hosts: ome + gather_facts: false vars: group_name: Dell iDRAC Servers - device_action: refresh_inventory #other options are clear_idrac_job_queue, reset_idrac - validate_certs: True + device_action: refresh_inventory # other options are clear_idrac_job_queue, reset_idrac + validate_certs: true ca_path: "/path/to/ca_cert.pem" tasks: @@ -16,20 +15,22 @@ user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200 - return_content: yes + return_content: true validate_certs: "{{ validate_certs }}" ca_path: "{{ ca_path }}" - force_basic_auth: yes + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" register: group_id + delegate_to: localhost - name: Assign group ID to a variable. - set_fact: + ansible.builtin.set_fact: group_id_value: "{{ group_id.json.value[0].Id }}" + delegate_to: localhost - name: Retrieve all devices under the group ID. ansible.builtin.uri: @@ -37,28 +38,31 @@ user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200 - return_content: yes + return_content: true validate_certs: "{{ validate_certs }}" ca_path: "{{ ca_path }}" - force_basic_auth: yes + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" register: all_devices + delegate_to: localhost - name: Empty list to store device IDs. - set_fact: + ansible.builtin.set_fact: devices_list: [] + delegate_to: localhost - name: Add devices retrieved from a group to the list. - set_fact: + ansible.builtin.set_fact: devices_list: "{{ devices_list + [item.Id] }}" with_items: - "{{ all_devices.json.value }}" + delegate_to: localhost - - name: Perform device action tasks on devices. + - name: Perform device action tasks on devices. # noqa: args[module] dellemc.openmanage.ome_devices: hostname: "{{ hostname }}" username: "{{ username }}" @@ -67,3 +71,4 @@ ca_path: "{{ ca_path }}" device_action: "{{ device_action }}" device_ids: "{{ devices_list }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_groups.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_groups.yml index 027a53d09..ca6c61079 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_groups.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_groups.yml @@ -1,15 +1,11 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible Group configuration. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible Group configuration. + hosts: ome + gather_facts: false tasks: - name: Create a new device group - ome_groups: + dellemc.openmanage.ome_groups: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -19,9 +15,10 @@ parent_group_name: "group parent 1" tags: - create_group + delegate_to: localhost - name: Modify a device group using the group ID - ome_groups: + dellemc.openmanage.ome_groups: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -31,9 +28,10 @@ parent_group_name: "group parent 2" tags: - modify_group + delegate_to: localhost - name: Delete a device group using the device group name - ome_groups: + dellemc.openmanage.ome_groups: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -42,9 +40,10 @@ name: "group 1" tags: - delete_name + delegate_to: localhost - name: Delete multiple device groups using the group IDs - ome_groups: + dellemc.openmanage.ome_groups: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -55,3 +54,4 @@ - 5678 tags: - delete_ids + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_identity_pool.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_identity_pool.yml index b5d960ca1..b55cb751d 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_identity_pool.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_identity_pool.yml @@ -1,96 +1,96 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible identity pool operations. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible identity pool operations. + hosts: ome + gather_facts: false tasks: - - name: "Create an identity pool using ethernet, FCoE, iSCSI and FC settings." - ome_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Create an identity pool using ethernet, FCoE, iSCSI and FC settings. + dellemc.openmanage.ome_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" 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 + starting_mac_address: "50:50:50:50:50:00" + identity_count: 60 fcoe_settings: - starting_mac_address: "aabb.ccdd.7070" - identity_count: 75 + starting_mac_address: "aabb.ccdd.7070" + 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.0" - gateway: "192.168.4.1" - primary_dns_server: "10.8.8.8" - secondary_dns_server: "8.8.8.8" + 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.0" + gateway: "192.168.4.1" + primary_dns_server: "10.8.8.8" + secondary_dns_server: "8.8.8.8" fc_settings: - starting_address: "10-10-10-10-10-10" - identity_count: 45 + starting_address: "10-10-10-10-10-10" + identity_count: 45 tags: create1 - - - name: "Create an identity pool using only ethernet settings." - ome_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + delegate_to: localhost + + - name: Create an identity pool using only ethernet settings. + dellemc.openmanage.ome_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" pool_name: "pool2" pool_description: "Identity pool with ethernet" ethernet_settings: - starting_mac_address: "aa-bb-cc-dd-ee-aa" - identity_count: 80 + starting_mac_address: "aa-bb-cc-dd-ee-aa" + identity_count: 80 tags: create2 - - - name: "Create an identity pool using only iSCSI settings" - ome_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + delegate_to: localhost + + - name: Create an identity pool using only iSCSI settings + dellemc.openmanage.ome_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" pool_name: "pool3" pool_description: "Identity pool with iscsi" iscsi_settings: - starting_mac_address: "10:10:10:10:10:00" - identity_count: 30 - initiator_config: - iqn_prefix: "iqn.myprefix." - initiator_ip_pool_settings: - ip_range: "20.33.0.1-20.33.0.255" - subnet_mask: "255.255.255.0" - gateway: "192.168.4.1" - primary_dns_server: "10.8.8.8" - secondary_dns_server: "8.8.8.8" + starting_mac_address: "10:10:10:10:10:00" + identity_count: 30 + initiator_config: + iqn_prefix: "iqn.myprefix." + initiator_ip_pool_settings: + ip_range: "20.33.0.1-20.33.0.255" + subnet_mask: "255.255.255.0" + gateway: "192.168.4.1" + primary_dns_server: "10.8.8.8" + secondary_dns_server: "8.8.8.8" tags: create3 - - - name: "Modify an identity pool using FC settings." - ome_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + delegate_to: localhost + + - name: Modify an identity pool using FC settings. + dellemc.openmanage.ome_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" pool_name: "pool2" pool_description: "Identity pool with fc_settings" fc_settings: - starting_address: "40:40:40:40:40:22" - identity_count: 48 + starting_address: "40:40:40:40:40:22" + identity_count: 48 tags: modify1 + delegate_to: localhost - - name: "Modify an identity pool." - ome_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify an identity pool. + dellemc.openmanage.ome_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" pool_name: "pool1" new_pool_name: "pool_new" @@ -102,12 +102,13 @@ starting_mac_address: "aabb.ccdd.5050" identity_count: 77 tags: modify2 + delegate_to: localhost - - name: "Modify an identity pool using iSCSI and FC settings." - ome_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify an identity pool using iSCSI and FC settings. + dellemc.openmanage.ome_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" pool_name: "pool_new" new_pool_name: "pool_new2" @@ -122,13 +123,15 @@ starting_address: "10:10:10:10:10:10" identity_count: 98 tags: modify3 + delegate_to: localhost - - name: "Delete an identity pool" - ome_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Delete an identity pool + dellemc.openmanage.ome_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "absent" pool_name: "pool1" tags: delete + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_job_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_job_info.yml index f90892adb..90cd83a44 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_job_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_job_info.yml @@ -1,35 +1,44 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible job details. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible job details. + hosts: ome + gather_facts: false tasks: - - name: Get all jobs details. - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" + - name: Get all jobs details. + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost + + - name: Get job details for id. + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: 12345 + delegate_to: localhost - - name: Get job details for id. - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: 12345 + - name: Get filtered job details. + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + system_query_options: + top: 2 + skip: 1 + filter: "JobType/Id eq 8" + delegate_to: localhost - - name: Get filtered job details. - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - system_query_options: - top: 2 - skip: 1 - filter: "JobType/Id eq 8"
\ No newline at end of file + - name: Get detail job execution history with last execution detail for a job. + dellemc.openmanage.ome_job_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + job_id: 12345 + fetch_execution_history: true + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_port_breakout.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_port_breakout.yml index c9a8db75e..b6f8960b4 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_port_breakout.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_port_breakout.yml @@ -1,32 +1,29 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage ansible port breakout configuration. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage ansible port breakout configuration. + hosts: ome + gather_facts: false tasks: - - name: Port breakout configuration. - ome_network_port_breakout: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_network_port_breakout: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" target_port: "2HB7NX2:phy-port1/1/11" breakout_type: "1X40GE" tags: - port-config + delegate_to: localhost - name: Revoke the default breakout configuration. - ome_network_port_breakout: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_network_port_breakout: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" target_port: "2HB7NX2:phy-port1/1/11" breakout_type: "HardwareDefault" tags: - port-default + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_port_breakout_job_traking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_port_breakout_job_traking.yml index b94b6b48a..9162ecc7d 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_port_breakout_job_traking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_port_breakout_job_traking.yml @@ -1,29 +1,25 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage ansible port breakout configuration. - gather_facts: False +- name: Dell OpenManage ansible port breakout configuration. + hosts: ome + gather_facts: false vars: retries_count: 50 polling_interval: 5 # in seconds - collections: - - dellemc.openmanage - tasks: - - name: Port breakout configuration. - ome_network_port_breakout: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_network_port_breakout: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" target_port: "2HB7NX2:phy-port1/1/11" breakout_type: "1X40GE" register: result + delegate_to: localhost - - name: "Get job details using job id from port breakout configuration task." - ome_job_info: + - name: Get job details using job id from port breakout configuration task. + dellemc.openmanage.ome_job_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -35,3 +31,4 @@ until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_vlan.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_vlan.yml index d92ef99ff..84234478a 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_vlan.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_vlan.yml @@ -1,18 +1,14 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible VLAN operations. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible VLAN operations. + hosts: ome + gather_facts: false tasks: - - name: "Create a VLAN range" - ome_network_vlan: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Create a VLAN range + dellemc.openmanage.ome_network_vlan: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: present name: "vlan1" @@ -21,12 +17,13 @@ vlan_minimum: 35 vlan_maximum: 40 tags: create_vlan_range + delegate_to: localhost - - name: "Create a VLAN with a single value" - ome_network_vlan: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Create a VLAN with a single value + dellemc.openmanage.ome_network_vlan: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: present name: "vlan2" @@ -35,12 +32,13 @@ vlan_minimum: 127 vlan_maximum: 127 tags: create_vlan_single + delegate_to: localhost - - name: "Modify a VLAN" - ome_network_vlan: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify a VLAN + dellemc.openmanage.ome_network_vlan: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: present name: "vlan1" @@ -50,13 +48,15 @@ vlan_minimum: 45 vlan_maximum: 50 tags: modify_vlan + delegate_to: localhost - - name: "Delete a VLAN" - ome_network_vlan: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Delete a VLAN + dellemc.openmanage.ome_network_vlan: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "absent" name: "vlan1" tags: delete_vlan + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_vlan_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_vlan_info.yml index 3cf9c3c23..3b241b26a 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_vlan_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_network_vlan_info.yml @@ -1,32 +1,31 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible OpenManage Enterprise network vlan details. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible OpenManage Enterprise network vlan details. + hosts: ome + gather_facts: false tasks: - name: Retrieve information about all network VLANs(s) available in the device. - ome_network_vlan_info: + dellemc.openmanage.ome_network_vlan_info: hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost - name: Retrieve information about a network VLAN using the VLAN ID. - ome_network_vlan_info: + dellemc.openmanage.ome_network_vlan_info: hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" id: 12345 + delegate_to: localhost - name: Retrieve information about a network VLAN using the VLAN name. - ome_network_vlan_info: + dellemc.openmanage.ome_network_vlan_info: hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" name: "Network VLAN - 1" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profile_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profile_info.yml index 87c124b84..c6badbe2b 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profile_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profile_info.yml @@ -1,15 +1,11 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible server interface profile information. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible server interface profile information. + hosts: ome + gather_facts: false tasks: - name: Retrieves the server interface profiles of all the device using device ID. - ome_server_interface_profile_info: + dellemc.openmanage.ome_server_interface_profile_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -19,9 +15,10 @@ - 10002 tags: - sip-device-id + delegate_to: localhost - name: Retrieves the server interface profiles of all the device using device service tag. - ome_server_interface_profile_info: + dellemc.openmanage.ome_server_interface_profile_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -31,3 +28,4 @@ - 6KHH6H3 tags: - sip-service-tag + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profile_workflow.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profile_workflow.yml index 485a1a24b..1265aa152 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profile_workflow.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profile_workflow.yml @@ -1,20 +1,15 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible server interface profile workflow. - gather_facts: False +- name: Dell OpenManage Ansible server interface profile workflow. + hosts: ome + gather_facts: false vars: retries_count: 100 - polling_interval: 10 #in seconds + polling_interval: 10 # in seconds src_service_tag: 7GHH6H1 - collections: - - dellemc.openmanage - tasks: - - name: Create a smart fabric. - ome_smart_fabric: + dellemc.openmanage.ome_smart_fabric: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -27,14 +22,16 @@ secondary_switch_service_tag: "59HW8X2" override_LLDP_configuration: "Enabled" register: fabric_result + delegate_to: localhost - - name: "sleep for 300 seconds and continue with play" - wait_for: + - name: Sleep for 300 seconds and continue with play # noqa: no-handler + ansible.builtin.wait_for: timeout: 300 - when: fabric_result.changed == True + when: not fabric_result.changed + delegate_to: localhost - name: Create a template from a reference device service tag. - ome_template: + dellemc.openmanage.ome_template: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -45,18 +42,20 @@ Description: "New Template description" register: result failed_when: "'return_id' not in result" + delegate_to: localhost - - name: "Get the job id using return id from template." - ome_template_info: + - name: Get the job id using return id from template. + dellemc.openmanage.ome_template_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" template_id: "{{ result.return_id }}" register: facts_result + delegate_to: localhost - - name: "Get job details using job id from template task." - ome_job_info: + - name: Get job details using job id from template task. + dellemc.openmanage.ome_job_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -68,6 +67,7 @@ until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost - name: Deploy template on multiple devices dellemc.openmanage.ome_template: @@ -81,12 +81,15 @@ - 6GHH6H1 - 6GHH6H2 register: deploy_result + delegate_to: localhost - - name: "sleep for 10 seconds and continue with play" - wait_for: timeout=10 + - name: Sleep for 10 seconds and continue with play + ansible.builtin.wait_for: + timeout: 10 + delegate_to: localhost - - name: "Track the deploy job till completion" - ome_job_info: + - name: Track the deploy job till completion + dellemc.openmanage.ome_job_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -97,9 +100,10 @@ until: deploy_job_result.job_info.LastRunStatus.Name == 'Completed' or deploy_job_result.job_info.LastRunStatus.Name == 'Failed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost - name: Modify Server Interface Profile for the server using the service tag. - ome_server_interface_profiles: + dellemc.openmanage.ome_server_interface_profiles: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -109,17 +113,19 @@ nic_teaming: NoTeaming nic_configuration: - nic_identifier: NIC.Mezzanine.1A-1-1 - team: no + team: false untagged_network: 2 tagged_networks: names: - vlan + delegate_to: localhost - name: Retrieves the server interface profiles of all the device using device service tag. - ome_server_interface_profile_info: + dellemc.openmanage.ome_server_interface_profile_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_service_tag: - 6GHH6H2 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profiles.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profiles.yml index c003b7141..9a7642ebc 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profiles.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_server_interface_profiles.yml @@ -1,18 +1,14 @@ --- -- hosts: omem - connection: local - name: Dell OpenManage Ansible server interface profiles configuration. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible server interface profiles configuration. + hosts: ome + gather_facts: false tasks: - name: Modify Server Interface Profile for the server using the service tag - ome_server_interface_profiles: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_server_interface_profiles: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_service_tag: - SVCTAG1 @@ -20,23 +16,24 @@ nic_teaming: LACP nic_configuration: - nic_identifier: NIC.Mezzanine.1A-1-1 - team: no + team: false untagged_network: 2 tagged_networks: names: - vlan1 - nic_identifier: NIC.Mezzanine.1A-2-1 - team: yes + team: true untagged_network: 3 tagged_networks: names: - range120-125 + delegate_to: localhost - name: Modify Server Interface Profile for the server using the id - ome_server_interface_profiles: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_server_interface_profiles: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_id: - 34523 @@ -44,14 +41,15 @@ nic_teaming: NoTeaming nic_configuration: - nic_identifier: NIC.Mezzanine.1A-1-1 - team: no + team: false untagged_network: 2 tagged_networks: names: - vlan2 - nic_identifier: NIC.Mezzanine.1A-2-1 - team: yes + team: true untagged_network: 3 tagged_networks: names: - range120-125 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric.yml index 3813458a4..51014afb4 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric.yml @@ -1,18 +1,14 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible smart fabric operations. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible smart fabric operations. + hosts: ome + gather_facts: false tasks: - - name: "Create a smart fabric" - ome_smart_fabric: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Create a smart fabric + dellemc.openmanage.ome_smart_fabric: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: present name: "fabric1" @@ -22,26 +18,28 @@ secondary_switch_service_tag: "PXYT456" override_LLDP_configuration: "Enabled" tags: create_smart_fabric + delegate_to: localhost - - name: "Modify a smart fabric" - ome_smart_fabric: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify a smart fabric + dellemc.openmanage.ome_smart_fabric: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: present name: "fabric1" new_name: "fabric_gold1" description: "new description" tags: modify_smart_fabric + delegate_to: localhost - - - name: "Delete a smart fabric" - ome_smart_fabric: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Delete a smart fabric + dellemc.openmanage.ome_smart_fabric: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "absent" name: "fabric1" tags: delete_smart_fabric + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_info.yml new file mode 100644 index 000000000..9565de143 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_info.yml @@ -0,0 +1,31 @@ +--- +- name: Dell OpenManage Ansible smart fabric details. + hosts: ome + gather_facts: false + + tasks: + - name: Get all smart fabric info. + dellemc.openmanage.ome_smart_fabric_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost + + - name: Get specific smart fabric info using fabric ID. + dellemc.openmanage.ome_smart_fabric_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + fabric_id: "61c20a59-9ed5-4ae5-b850-5e5acf42d2f2" + delegate_to: localhost + + - name: Get specific smart fabric info using fabric name. + dellemc.openmanage.ome_smart_fabric_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + fabric_name: "f1" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_uplink.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_uplink.yml index 88b5cc62e..615e1662e 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_uplink.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_uplink.yml @@ -1,18 +1,14 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible smart fabric uplink configuration. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible smart fabric uplink configuration. + hosts: ome + gather_facts: false tasks: - - name: "Create a Uplink" - ome_smart_fabric_uplink: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Create a Uplink + dellemc.openmanage.ome_smart_fabric_uplink: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "present" fabric_name: "fabric1" @@ -33,12 +29,13 @@ - vlan3 untagged_network: vlan2 tags: create_uplink + delegate_to: localhost - - name: "modify a existing uplink1" - ome_smart_fabric_uplink: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify a existing uplink1 + dellemc.openmanage.ome_smart_fabric_uplink: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "present" fabric_name: "fabric1" @@ -60,35 +57,38 @@ - vlan33 untagged_network: vlan22 tags: modify_uplink + delegate_to: localhost - - name: "Delete a Uplink" - ome_smart_fabric_uplink: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Delete a Uplink + dellemc.openmanage.ome_smart_fabric_uplink: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "absent" fabric_name: "fabric1" name: "uplink1" tags: delete_uplink + delegate_to: localhost - - name: "Modify the Uplink name" - ome_smart_fabric_uplink: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify the Uplink name + dellemc.openmanage.ome_smart_fabric_uplink: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "present" fabric_name: "fabric1" name: "uplink1" new_name: "uplink2" tags: modify_uplink_name + delegate_to: localhost - - name: "Modify a Uplink ports" - ome_smart_fabric_uplink: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify a Uplink ports + dellemc.openmanage.ome_smart_fabric_uplink: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "present" fabric_name: "fabric1" @@ -103,12 +103,13 @@ - ethernet1/1/9 - ethernet1/1/10 tags: modify_ports + delegate_to: localhost - - name: "Modify Uplink networks" - ome_smart_fabric_uplink: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify Uplink networks + dellemc.openmanage.ome_smart_fabric_uplink: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "present" fabric_name: "fabric1" @@ -117,3 +118,4 @@ tagged_networks: - vlan4 tags: modify_networks + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_uplink_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_uplink_info.yml new file mode 100644 index 000000000..2eedc0c34 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_smart_fabric_uplink_info.yml @@ -0,0 +1,43 @@ +--- +- name: Fetch fabric uplink information. + hosts: ome + gather_facts: false + + tasks: + - name: Retrieve all fabric uplink information using fabric_id. + dellemc.openmanage.ome_smart_fabric_uplink_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + fabric_id: "61c20a59-9ed5-4ae5-b850-5e5acf42d2f2" + delegate_to: localhost + + - name: Retrieve all fabric uplink information using fabric_name. + dellemc.openmanage.ome_smart_fabric_uplink_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + fabric_name: "f1" + delegate_to: localhost + + - name: Retrieve specific fabric information using uplink_id. + dellemc.openmanage.ome_smart_fabric_uplink_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + fabric_id: "61c20a59-9ed5-4ae5-b850-5e5acf42d2f2" + uplink_id: "1ad54420-b145-49a1-9779-21a579ef6f2d" + delegate_to: localhost + + - name: Retrieve specific fabric information using uplink_name. + dellemc.openmanage.ome_smart_fabric_uplink_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + fabric_id: "61c20a59-9ed5-4ae5-b850-5e5acf42d2f2" + uplink_name: "u1" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_template_identity_pool.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_template_identity_pool.yml index 433954aa0..dc9bfa741 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/ome_template_identity_pool.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/ome_template_identity_pool.yml @@ -1,31 +1,28 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible template identity pool attach and detach operation. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible template identity pool attach and detach operation. + hosts: ome + gather_facts: false tasks: - - name: Attach an identity pool to a template. - ome_template_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" template_name: template_name identity_pool_name: identity_pool_name tags: - attach + delegate_to: localhost - name: Detach an identity pool from a template. - ome_template_identity_pool: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template_identity_pool: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" template_name: template_name tags: - - detach
\ No newline at end of file + - detach + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/powerstate/ome_powerstate.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/powerstate/ome_powerstate.yml index 517ff118d..cf5d35ee0 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/powerstate/ome_powerstate.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/powerstate/ome_powerstate.yml @@ -1,51 +1,51 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible - OME Power state operations. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible - OME Power state operations. + hosts: ome + gather_facts: false tasks: - - name: Power state operation based on device id. - ome_powerstate: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 11111 - power_state: "off" + - name: Power state operation based on device id. + dellemc.openmanage.ome_powerstate: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 11111 + power_state: "off" + delegate_to: localhost - - name: Power state operation based on device service tag. - ome_powerstate: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: "KLBR111" - power_state: "on" + - name: Power state operation based on device service tag. + dellemc.openmanage.ome_powerstate: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: "KLBR111" + power_state: "on" + delegate_to: localhost - - name: Power state operation based on list of device ids. - ome_powerstate: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: "{{ item.device_id }}" - power_state: "{{ item.state }}" - with_items: - - { "device_id": 11111, "state": "on" } - - { "device_id": 22222, "state": "off" } + - name: Power state operation based on list of device ids. + dellemc.openmanage.ome_powerstate: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: "{{ item.device_id }}" + power_state: "{{ item.state }}" + with_items: + - { "device_id": 11111, "state": "on" } + - { "device_id": 22222, "state": "off" } + delegate_to: localhost - - name: Power state operation based on list of device service tags. - ome_powerstate: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: "{{ item.service_tag }}" - power_state: "{{ item.state }}" - with_items: - - { "service_tag": "KLBR111", "state": "on" } - - { "service_tag": "KLBR222", "state": "off" }
\ No newline at end of file + - name: Power state operation based on list of device service tags. + dellemc.openmanage.ome_powerstate: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: "{{ item.service_tag }}" + power_state: "{{ item.state }}" + with_items: + - { "service_tag": "KLBR111", "state": "on" } + - { "service_tag": "KLBR222", "state": "off" } + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/powerstate/ome_powerstate_with_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/powerstate/ome_powerstate_with_job_tracking.yml index 8393992ab..70f4205d4 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/powerstate/ome_powerstate_with_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/powerstate/ome_powerstate_with_job_tracking.yml @@ -1,36 +1,34 @@ --- -- hosts: ome +- name: "OME - Power state management job tracking." + hosts: ome + gather_facts: false vars: retries_count: 5 - polling_interval: 5 #in seconds - connection: local - name: "OME - Power state management job tracking." - gather_facts: False - - collections: - - dellemc.openmanage + polling_interval: 5 # in seconds tasks: - - name: "Power state operation based on device id" - ome_powerstate: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - power_state: "off" - device_id: 11111 - register: result - failed_when: "'job_status' not in result" + - name: Power state operation based on device id + dellemc.openmanage.ome_powerstate: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + power_state: "off" + device_id: 11111 + register: result + failed_when: "'job_status' not in result" + delegate_to: localhost - - name: "Get job details using job id from power state operation." - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: "{{result.job_status.Id}}" - register: job_result - failed_when: "'job_info' not in job_result" - until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' - retries: "{{ retries_count }}" - delay: "{{ polling_interval }}"
\ No newline at end of file + - name: Get job details using job id from power state operation. + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: "{{ result.job_status.Id }}" + register: job_result + failed_when: "'job_info' not in job_result" + until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' + retries: "{{ retries_count }}" + delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile.yml index 14d43e6ac..89bad44b7 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile.yml @@ -1,18 +1,14 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible profile operations. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible profile operations. + hosts: ome + gather_facts: false tasks: - name: Create two profiles from a template - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: create template_name: "template 1" @@ -20,38 +16,40 @@ number_of_profiles: 2 tags: - create_profile + delegate_to: localhost - name: Create profile with NFS share - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: create template_name: "template 1" name_prefix: "omam_profile" number_of_profiles: 1 boot_to_network_iso: - boot_to_network: True + boot_to_network: true share_type: "NFS" share_ip: "192.168.0.1" iso_path: "/path/to/my_iso.iso" iso_timeout: 8 tags: - create_profile_nfs + delegate_to: localhost - name: Create profile with CIFS share - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: create template_name: "template 1" name_prefix: "omam_profile" number_of_profiles: 1 boot_to_network_iso: - boot_to_network: True + boot_to_network: true share_type: CIFS share_ip: "192.168.0.2" share_user: "username" @@ -61,19 +59,20 @@ iso_timeout: 8 tags: - create_profile_cifs + delegate_to: localhost - name: Modify profile name with NFS share and attributes - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: modify name: "Profile 00001" new_name: "modified profile" description: "new description" boot_to_network_iso: - boot_to_network: True + boot_to_network: true share_type: NFS share_ip: "192.168.0.1" iso_path: "/path/to/my_iso.iso" @@ -86,41 +85,44 @@ - Id: 4507 Value: "server attr 2" IsIgnored: true - - DisplayName: 'System, Server Topology, ServerTopology 1 Aisle Name' + - DisplayName: "System, Server Topology, ServerTopology 1 Aisle Name" Value: Aisle 5 IsIgnored: false tags: - modify_profile + delegate_to: localhost - name: Delete using profile name - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "delete" name: "Profile 00003" tags: - delete_profile_name + delegate_to: localhost - name: Delete using filter - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "delete" filters: - SelectAll: True + SelectAll: true Filters: =contains(ProfileName,'Profile 00002') tags: - delete_filter + delegate_to: localhost - name: Delete using profile list filter - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "delete" filters: @@ -129,18 +131,19 @@ - 12124 tags: - delete_profile_ids + delegate_to: localhost - name: Assign profile name with network share - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: assign name: "Profile 00001" device_id: 12456 boot_to_network_iso: - boot_to_network: True + boot_to_network: true share_type: NFS share_ip: "192.168.0.1" iso_path: "/path/to/my_iso.iso" @@ -154,42 +157,45 @@ ShutdownType: 0 TimeToWaitBeforeShutdown: 300 EndHostPowerState: 1 - StrictCheckingVlan: True + StrictCheckingVlan: true Schedule: - RunNow: True - RunLater: False + RunNow: true + RunLater: false tags: - assign_profile + delegate_to: localhost - name: Unassign using profile name - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "unassign" name: "Profile 00003" tags: - unassign_profile_name + delegate_to: localhost - name: "Unassign using filters" - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "unassign" filters: - SelectAll: True + SelectAll: true Filters: =contains(ProfileName,'Profile 00003') tags: - unassign_filter + delegate_to: localhost - name: Unassign using filter - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "unassign" filters: @@ -198,15 +204,17 @@ - 16123 tags: - unassign_profile_list + delegate_to: localhost - name: Migrate profile - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "migrate" name: "Profile 0001" device_id: 12456 tags: - - migrate_profile
\ No newline at end of file + - migrate_profile + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_assign_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_assign_job_tracking.yml index d4c9c7723..6e66d82cc 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_assign_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_assign_job_tracking.yml @@ -1,39 +1,45 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible profile operations. - gather_facts: False +- name: Dell OpenManage Ansible profile operations. + hosts: ome + gather_facts: false vars: retries_count: 120 polling_interval: 30 # 30 seconds x 120 times = 1 hour - failed_states: ['Failed', 'Warning', 'Aborted', 'Paused', 'Stopped', - 'Canceled'] - completed_states: ['Completed', 'Failed', 'Warning', 'Aborted', 'Paused', - 'Stopped', 'Canceled'] - - collections: - - dellemc.openmanage + failed_states: + ["Failed", "Warning", "Aborted", "Paused", "Stopped", "Canceled"] + completed_states: + [ + "Completed", + "Failed", + "Warning", + "Aborted", + "Paused", + "Stopped", + "Canceled", + ] tasks: - name: Assign a profile to target - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "assign" name: "Profile 00001" device_id: 12456 register: result + delegate_to: localhost - - name: End play when no job_id in result - meta: end_play + - name: End play when no job_id in result # noqa: no-handler + ansible.builtin.meta: end_play when: - - result.changed == false + - not result.changed - "'job_id' not in result" + delegate_to: localhost - name: Get job details using job id - ome_job_info: + dellemc.openmanage.ome_job_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -45,3 +51,4 @@ until: job_result.job_info.LastRunStatus.Name in "{{ completed_states }}" retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_info.yml new file mode 100644 index 000000000..6994d1542 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_info.yml @@ -0,0 +1,60 @@ +--- +- name: Dell OpenManage Ansible profile info. + hosts: ome + gather_facts: false + + tasks: + - name: Retrieve all profiles + dellemc.openmanage.ome_profile_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost + + - name: Retrieve profile using the name + dellemc.openmanage.ome_profile_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + profile_name: eprof 00001 + delegate_to: localhost + + - name: Retrieve profile using the id + dellemc.openmanage.ome_profile_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + profile_id: 10129 + delegate_to: localhost + + - name: Retrieve the profiles using the template name + dellemc.openmanage.ome_profile_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + template_name: t2 + delegate_to: localhost + + - name: Retrieve the profiles using the template id + dellemc.openmanage.ome_profile_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + template_id: 11 + delegate_to: localhost + + - name: Retrieve the profiles based on odata filters + dellemc.openmanage.ome_profile_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + system_query_options: + filter: TemplateName eq 'mytemplate' + orderby: ProfileState + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_migrate_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_migrate_job_tracking.yml index ae7f732b6..c51ff03f0 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_migrate_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_migrate_job_tracking.yml @@ -1,40 +1,45 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible profile operations. - gather_facts: False +- name: Dell OpenManage Ansible profile operations. + hosts: ome + gather_facts: false vars: retries_count: 120 polling_interval: 30 # 30 seconds x 120 times = 1 hour - failed_states: ['Failed', 'Warning', 'Aborted', 'Paused', 'Stopped', - 'Canceled'] - completed_states: ['Completed', 'Failed', 'Warning', 'Aborted', 'Paused', - 'Stopped', 'Canceled'] - - collections: - - dellemc.openmanage + failed_states: + ["Failed", "Warning", "Aborted", "Paused", "Stopped", "Canceled"] + completed_states: + [ + "Completed", + "Failed", + "Warning", + "Aborted", + "Paused", + "Stopped", + "Canceled", + ] tasks: - - name: Migrate a profile - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "migrate" name: "Profile 00001" device_id: 12456 register: result + delegate_to: localhost - - name: End play when no job_id in result - meta: end_play + - name: End play when no job_id in result # noqa: no-handler + ansible.builtin.meta: end_play when: - - result.changed == false + - not result.changed - "'job_id' not in result" + delegate_to: localhost - name: Get job details using job id - ome_job_info: + dellemc.openmanage.ome_job_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -46,3 +51,4 @@ until: job_result.job_info.LastRunStatus.Name in "{{ completed_states }}" retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_unassign_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_unassign_job_tracking.yml index b1a21312f..f472aafbc 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_unassign_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/profile/ome_profile_unassign_job_tracking.yml @@ -1,39 +1,44 @@ --- -- hosts: ome - connection: local - name: Dell EMC OpenManage Ansible profile operations. - gather_facts: False +- name: Dell OpenManage Ansible profile operations. + hosts: ome + gather_facts: false vars: retries_count: 120 polling_interval: 30 # 30 seconds x 120 times = 1 hour - failed_states: ['Failed', 'Warning', 'Aborted', 'Paused', 'Stopped', - 'Canceled'] - completed_states: ['Completed', 'Failed', 'Warning', 'Aborted', 'Paused', - 'Stopped', 'Canceled'] - - collections: - - dellemc.openmanage + failed_states: + ["Failed", "Warning", "Aborted", "Paused", "Stopped", "Canceled"] + completed_states: + [ + "Completed", + "Failed", + "Warning", + "Aborted", + "Paused", + "Stopped", + "Canceled", + ] tasks: - - name: Unassign using profile name - ome_profile: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_profile: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "unassign" name: "Profile 00003" register: result + delegate_to: localhost - - name: End play when no job_id in result - meta: end_play + - name: End play when no job_id in result # noqa: no-handler + ansible.builtin.meta: end_play when: - - result.changed == false + - not result.changed - "'job_id' not in result" + delegate_to: localhost - name: Get job details using job id - ome_job_info: + dellemc.openmanage.ome_job_info: hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" @@ -45,3 +50,4 @@ until: job_result.job_info.LastRunStatus.Name in "{{ completed_states }}" retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template.yml index 58ac15ffb..856e6e544 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template.yml @@ -1,29 +1,26 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible device Template service. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible device Template service. + hosts: ome + gather_facts: false tasks: - - name: "Create a template from a reference device." - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Create a template from a reference device. + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" device_id: 25123 attributes: Name: "New Template" Description: "New Template description" + delegate_to: localhost - - name: "Modify template name, description, and attribute value." - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify template name, description, and attribute value. + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "modify" template_id: 12 @@ -37,12 +34,13 @@ - Id: 1234 Value: "Test Attribute" IsIgnored: false + delegate_to: localhost - name: Modify template name, description, and attribute using detailed view - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "modify" template_id: 12 @@ -52,17 +50,18 @@ Attributes: # Enter the comma separated string as appearing in the Detailed view on GUI # NIC -> NIC.Integrated.1-1-1 -> NIC Configuration -> Wake On LAN1 - - DisplayName: 'NIC, NIC.Integrated.1-1-1, NIC Configuration, Wake On LAN' + - DisplayName: "NIC, NIC.Integrated.1-1-1, NIC Configuration, Wake On LAN" Value: Enabled IsIgnored: false # System -> LCD Configuration -> LCD 1 User Defined String for LCD - - DisplayName: 'System, LCD Configuration, LCD 1 User Defined String for LCD' + - DisplayName: "System, LCD Configuration, LCD 1 User Defined String for LCD" Value: LCD str by OMAM IsIgnored: false + delegate_to: localhost - - name: "Deploy template on multiple devices " - ome_template: - hostname: "192.168.0.1" + - name: Deploy template on multiple devices + dellemc.openmanage.ome_template: + hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" @@ -72,26 +71,28 @@ - 12765 - 10173 device_service_tag: - - 'SVTG123' - - 'SVTG456' + - "SVTG123" + - "SVTG456" + delegate_to: localhost - name: Deploy template on groups - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "deploy" template_id: 12 device_group_names: - server_group_1 - server_group_2 + delegate_to: localhost - - name: "Deploy template on multiple devices along attributes modification for target device" - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Deploy template on multiple devices along attributes modification for target device" + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "deploy" template_id: 12 @@ -99,7 +100,7 @@ - 12765 - 10173 device_service_tag: - - 'SVTG123' + - "SVTG123" attributes: # Device specific attributes to be modified during deployment. # For information on any attribute id, use API /TemplateService/Templates(Id)/Views(Id)/AttributeViewDetails @@ -118,19 +119,20 @@ - Id: 18968, Value: "hostname-1" IsIgnored: false + delegate_to: localhost - - name: "Deploy template and Operating System (OS) on multiple devices" - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Deploy template and Operating System (OS) on multiple devices" + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "deploy" template_id: 12 device_id: - 12765 device_service_tag: - - 'SVTG123' + - "SVTG123" attributes: # Include this to install OS on the devices. # This section is optional @@ -151,13 +153,15 @@ Schedule: RunLater: true RunNow: false + delegate_to: localhost - - name: "Deploy template on multiple devices and changes the device-level attributes. After the template is deployed, - install OS using its image." - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: + Deploy template on multiple devices and changes the device-level attributes. After the template is deployed, + install OS using its image. + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "deploy" template_id: 12 @@ -165,8 +169,8 @@ - 12765 - 10173 device_service_tag: - - 'SVTG123' - - 'SVTG456' + - "SVTG123" + - "SVTG456" attributes: Attributes: - DeviceId: 12765 @@ -196,60 +200,67 @@ Schedule: RunLater: true RunNow: false + delegate_to: localhost - - name: "delete template" - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Delete template" + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "delete" template_id: 12 + delegate_to: localhost - - name: "export a template" - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Export a template + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "export" template_id: 12 + delegate_to: localhost # Start of example to export template to a local xml file - - name: "export template to a local xml file" - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Export template to a local xml file + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "export" template_name: "my_template" register: result tags: - export_xml_to_file - - ansible.builtin.copy: - content: "{{ result.Content}}" + - name: Copy Task + ansible.builtin.copy: + content: "{{ result.Content }}" dest: "/path/to/exported_template.xml" + mode: "0600" tags: - export_xml_to_file # End of example to export template to a local xml file + delegate_to: localhost - - name: "clone a template" - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Clone a template + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "clone" template_id: 12 attributes: Name: "New Cloned Template Name" + delegate_to: localhost - - name: "import template from XML content" - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Import template from XML content + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "import" attributes: @@ -257,38 +268,41 @@ # Template Type from TemplateService/TemplateTypes Type: 2 # xml string content - Content: "<SystemConfiguration Model=\"PowerEdge R940\" ServiceTag=\"SVCTAG1\" - TimeStamp=\"Tue Sep 24 09:20:57.872551 2019\">\n<Component FQDD=\"AHCI.Slot.6-1\">\n<Attribute - Name=\"RAIDresetConfig\">True</Attribute>\n<Attribute Name=\"RAIDforeignConfig\">Clear</Attribute>\n - </Component>\n<Component FQDD=\"Disk.Direct.0-0:AHCI.Slot.6-1\">\n<Attribute Name=\"RAIDPDState\">Ready - </Attribute>\n<Attribute Name=\"RAIDHotSpareStatus\">No</Attribute>\n</Component>\n - <Component FQDD=\"Disk.Direct.1-1:AHCI.Slot.6-1\">\n<Attribute Name=\"RAIDPDState\">Ready</Attribute>\n - <Attribute Name=\"RAIDHotSpareStatus\">No</Attribute>\n</Component>\n</SystemConfiguration>\n" + Content: + "<SystemConfiguration Model=\"PowerEdge R940\" ServiceTag=\"SVCTAG1\" + TimeStamp=\"Tue Sep 24 09:20:57.872551 2019\">\n<Component FQDD=\"AHCI.Slot.6-1\">\n<Attribute + Name=\"RAIDresetConfig\">True</Attribute>\n<Attribute Name=\"RAIDforeignConfig\">Clear</Attribute>\n + </Component>\n<Component FQDD=\"Disk.Direct.0-0:AHCI.Slot.6-1\">\n<Attribute Name=\"RAIDPDState\">Ready + </Attribute>\n<Attribute Name=\"RAIDHotSpareStatus\">No</Attribute>\n</Component>\n + <Component FQDD=\"Disk.Direct.1-1:AHCI.Slot.6-1\">\n<Attribute Name=\"RAIDPDState\">Ready</Attribute>\n + <Attribute Name=\"RAIDHotSpareStatus\">No</Attribute>\n</Component>\n</SystemConfiguration>\n" + delegate_to: localhost - - name: "import template from local XML file" - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Import template from local XML file + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "import" attributes: Name: "Imported Template Name" Type: 2 Content: "{{ lookup('ansible.builtin.file', '/path/to/xmlfile') }}" + delegate_to: localhost - - name: "Deploy template and Operating System (OS) on multiple devices." - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Deploy template and Operating System (OS) on multiple devices." + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "deploy" template_id: 12 device_id: - 12765 device_service_tag: - - 'SVTG123' + - "SVTG123" attributes: # Include this to install OS on the devices. # This section is optional @@ -309,12 +323,13 @@ Schedule: RunLater: true RunNow: false + delegate_to: localhost - name: Create a compliance template from reference device - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "create" device_service_tag: "SVTG123" @@ -323,12 +338,13 @@ Name: "Configuration Compliance" Description: "Configuration Compliance Template" Fqdds: "BIOS" + delegate_to: localhost - name: Import a compliance template from XML file - ome_template: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" command: "import" template_view_type: "Compliance" @@ -336,3 +352,4 @@ Name: "Configuration Compliance" Content: "{{ lookup('ansible.builtin.file', './test.xml') }}" Type: 2 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_create_modify_lcd_display.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_create_modify_lcd_display.yml index 40f4c0027..6bb0acdee 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_create_modify_lcd_display.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_create_modify_lcd_display.yml @@ -1,11 +1,10 @@ --- -- hosts: ome - connection: local - name: "Creates a new template from the provided reference server device. - Track the template creation job till completion. - Fetch the Attribute specific to LCD Configuration settings from the attribute view of the created template. - Modify the created template with the user defined LCD string." - gather_facts: False +- name: "Creates a new template from the provided reference server device. + Track the template creation job till completion. + Fetch the Attribute specific to LCD Configuration settings from the attribute view of the created template. + Modify the created template with the user defined LCD string." + hosts: ome + gather_facts: false vars: retries_count: 50 polling_interval: 5 @@ -13,117 +12,121 @@ template_name: "LCD String Deploy Template" lcd_display_string: "LCD Custom Display Message" - collections: - - dellemc.openmanage - tasks: - - name: "create template from the reference server" - ome_template: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_service_tag: "{{ reference_device }}" - attributes: - Name: "{{ template_name }}" - Description: "LCD Template description" - register: result + - name: Create template from the reference server + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_service_tag: "{{ reference_device }}" + attributes: + Name: "{{ template_name }}" + Description: "LCD Template description" + register: result + delegate_to: localhost + + - name: Sleep for 30 seconds and continue with play + ansible.builtin.wait_for: + timeout: 30 - - name: "sleep for 30 seconds and continue with play" - wait_for: timeout=30 + - name: Fetch the Task ID from the Template Details using the Template ID + dellemc.openmanage.ome_template_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + template_id: "{{ result.return_id }}" + register: template_result + delegate_to: localhost - - name: "Fetch the Task ID from the Template Details using the Template ID" - ome_template_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - template_id: "{{ result.return_id }}" - register: template_result + - name: "Track the Template Creation Job till Completion" + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: "{{ template_result.template_info[hostname].TaskId }}" + register: job_result + failed_when: "'job_info' not in job_result" + until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' + retries: "{{ retries_count }}" + delay: "{{ polling_interval }}" + delegate_to: localhost - - name: "Track the Template Creation Job till Completion" - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: "{{ template_result.template_info[hostname].TaskId }}" - register: job_result - failed_when: "'job_info' not in job_result" - until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' - retries: "{{ retries_count }}" - delay: "{{ polling_interval }}" + - name: "Retrieve the Attribute ID specific to LCD Configuration" + ansible.builtin.uri: + url: "https://{{ hostname }}/api/TemplateService/Templates({{ result.return_id }})/Views(1)/AttributeViewDetails" + user: "{{ username }}" + password: "{{ password }}" + method: "GET" + use_proxy: true + status_code: 200 + return_content: true + validate_certs: false + force_basic_auth: true + headers: + Content-Type: "application/json" + Accept: "application/json" + register: config_result + delegate_to: localhost - - name: "Retrieve the Attribute ID specific to LCD Configuration" - uri: - url: "https://{{ hostname }}/api/TemplateService/Templates({{ result.return_id }})/Views(1)/AttributeViewDetails" - user: "{{ username }}" - password: "{{ password }}" - method: "GET" - use_proxy: yes - status_code: 200 - return_content: yes - validate_certs: no - force_basic_auth: yes - headers: - Content-Type: "application/json" - Accept: "application/json" - register: config_result + - name: "System Attribute Groups" + ansible.builtin.set_fact: + lcd_fact: "{{ item }}" + when: + - item.DisplayName=='System' + with_items: + - "{{ config_result.json.AttributeGroups }}" + loop_control: + label: "{{ config_result.json.Name }}" + delegate_to: localhost - - name: "System Attribute Groups" - set_fact: - lcd_fact: "{{ item }}" - when: - - item.DisplayName=='System' - with_items: - - "{{ config_result.json.AttributeGroups }}" - loop_control: - label: "{{ config_result.json.Name }}" + - name: "LCD System Attributes Groups" + ansible.builtin.set_fact: + lcdconfig: "{{ item }}" + when: + - item.DisplayName=='LCD Configuration' + with_items: + - "{{ lcd_fact.SubAttributeGroups }}" + loop_control: + label: "{{ item.DisplayName }}" - - name: "LCD System Attributes Groups" - set_fact: - lcdconfig: "{{ item }}" - when: - - item.DisplayName=='LCD Configuration' - with_items: - - "{{ lcd_fact.SubAttributeGroups }}" - loop_control: - label: "{{ item.DisplayName }}" + - name: "Retrieve LCD Display Attribute ID" + ansible.builtin.set_fact: + lcdattrid: "{{ item.AttributeId }}" + when: + - item.DisplayName=='LCD 1 User Defined String for LCD' + with_items: + - "{{ lcdconfig.Attributes }}" + loop_control: + label: "{{ item.DisplayName }}" - - name: "Retrieve LCD Display Attribute ID" - set_fact: - lcdattrid: "{{ item.AttributeId }}" - when: - - item.DisplayName=='LCD 1 User Defined String for LCD' - with_items: - - "{{ lcdconfig.Attributes }}" - loop_control: - label: "{{ item.DisplayName }}" - - - name: "Retrieve LCD Config Attribute ID" - set_fact: - lcdconfigattrid: "{{ item.AttributeId }}" - when: - - item.DisplayName=='LCD 1 LCD Configuration' - with_items: - - "{{ lcdconfig.Attributes }}" - loop_control: - label: "{{ item.DisplayName }}" + - name: "Retrieve LCD Config Attribute ID" + ansible.builtin.set_fact: + lcdconfigattrid: "{{ item.AttributeId }}" + when: + - item.DisplayName=='LCD 1 LCD Configuration' + with_items: + - "{{ lcdconfig.Attributes }}" + loop_control: + label: "{{ item.DisplayName }}" - - name: "Modify the created with Custom LCD String to be displayed" - ome_template: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - state: "modify" - template_id: "{{ result.return_id }}" - attributes: - Name: "{{ template_name }}" - Attributes: - - Id: "{{ lcdattrid }}" - Value: "{{ lcd_display_string }}" - IsIgnored: false - - Id: "{{ lcdconfigattrid }}" - Value: "User Defined" - IsIgnored: false
\ No newline at end of file + - name: "Modify the created with Custom LCD String to be displayed" + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: "modify" + template_id: "{{ result.return_id }}" + attributes: + Name: "{{ template_name }}" + Attributes: + - Id: "{{ lcdattrid }}" + Value: "{{ lcd_display_string }}" + IsIgnored: false + - Id: "{{ lcdconfigattrid }}" + Value: "User Defined" + IsIgnored: false + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_info.yml index 3fd200c00..b206ce9ed 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_info.yml @@ -1,33 +1,32 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible template inventory details. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible template inventory details. + hosts: ome + gather_facts: false tasks: - name: Retrieve basic details of all templates. - ome_template_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost - name: Retrieve details of a specific template identified by its template ID. - ome_template_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" - template_id: "{{template_id}}" + template_id: "{{ template_id }}" + delegate_to: localhost - name: Get filtered template info based on name. - ome_template_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_template_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" system_query_options: - filter: "Name eq 'new template'"
\ No newline at end of file + filter: "Name eq 'new template'" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_info_with_filter.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_info_with_filter.yml index eb040c9c0..6f5500b20 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_info_with_filter.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_info_with_filter.yml @@ -1,27 +1,25 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible device Template service. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible device Template service. + hosts: ome + gather_facts: false tasks: - - name: get template with filter option. - register: result - failed_when: "'template_info' not in result or result.template_info['{{hostname}}']['@odata.count'] == 0" - ome_template_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Get template with filter option. + register: result + failed_when: "'template_info' not in result or result.template_info['{{ hostname }}']['@odata.count'] == 0" + dellemc.openmanage.ome_template_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" system_query_options: - filter: "Name eq 'template_name'" - - name: get specific template from result - with_subelements: + filter: "Name eq 'template_name'" + delegate_to: localhost + + - name: Get specific template from result + with_subelements: - "{{ result.template_info }}" - value - debug: - msg: "{{item.1}}" - when: item.1['Name']=='template_name' + ansible.builtin.debug: + msg: "{{item.1}}" + when: item.1['Name']=='template_name' diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_lcd_display_string_deploy.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_lcd_display_string_deploy.yml index afb472fa4..40cd30991 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_lcd_display_string_deploy.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_lcd_display_string_deploy.yml @@ -1,46 +1,43 @@ --- -- hosts: ome - connection: local - name: - - Deploy this template with desired LCD string on the target servers. - - Track the template deploy operation job till completion. - gather_facts: False +- name: "Deploy this template with desired LCD string on the target servers. + Track the template deploy operation job till completion." + hosts: ome + gather_facts: false vars: retries_count: 50 polling_interval: 5 template_name: "LCD Srting Deploy Template" deployable_servicetag: - - 'MXL1234' - - 'MXL4567' - - collections: - - dellemc.openmanage + - "MXL1234" + - "MXL4567" tasks: - - name: "Deploy Previously created LCD Template " - ome_template: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - state: "deploy" - template_name: "{{ template_name }}" - device_service_tag: "{{ deployable_servicetag }}" - register: result - tags: - - deploy + - name: Deploy Previously created LCD Template + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: "deploy" + template_name: "{{ template_name }}" + device_service_tag: "{{ deployable_servicetag }}" + register: result + tags: + - deploy + delegate_to: localhost - - name: "Track the deploy job till completion" - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: "{{ result.return_id }}" - register: job_result - failed_when: "'job_info' not in job_result" - until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' - retries: "{{ retries_count }}" - delay: "{{ polling_interval }}" - tags: - - track_deploy
\ No newline at end of file + - name: Track the deploy job till completion + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: "{{ result.return_id }}" + register: job_result + failed_when: "'job_info' not in job_result" + until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' + retries: "{{ retries_count }}" + delay: "{{ polling_interval }}" + tags: + - track_deploy + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_network_vlan.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_network_vlan.yml index fee07b4e2..2b1569469 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_network_vlan.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_network_vlan.yml @@ -1,66 +1,64 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible template tag and untag. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible template tag and untag. + hosts: ome + gather_facts: false tasks: - - name: Tag or untag vlans in template - ome_template_network_vlan: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - template_id: 78 - nic_identifier: NIC Slot 4 - untagged_networks: - - port: 1 - untagged_network_id: 12765 - - port: 2 - untagged_network_name: vlan2 - tagged_networks: - - port: 1 - tagged_network_ids: - - 12767 - - 12768 - - port: 4 - tagged_network_ids: - - 12767 - - 12768 - tagged_network_names: - - vlan3 - - port: 2 - tagged_network_names: - - vlan4 - - vlan1 - tags: - - tag_untag_vlan + - name: Tag or untag vlans in template + dellemc.openmanage.ome_template_network_vlan: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + template_id: 78 + nic_identifier: NIC Slot 4 + untagged_networks: + - port: 1 + untagged_network_id: 12765 + - port: 2 + untagged_network_name: vlan2 + tagged_networks: + - port: 1 + tagged_network_ids: + - 12767 + - 12768 + - port: 4 + tagged_network_ids: + - 12767 + - 12768 + tagged_network_names: + - vlan3 + - port: 2 + tagged_network_names: + - vlan4 + - vlan1 + tags: + - tag_untag_vlan + delegate_to: localhost - - name: Clear the tagged and untagged vLANs - ome_template_network_vlan: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - template_id: 78 - nic_identifier: NIC Slot 4 - untagged_networks: - # For removing the untagged vLANs for the port 1 and 2 - - port: 1 - untagged_network_id: 0 - - port: 2 - untagged_network_name: 0 - tagged_networks: - # For removing the tagged vLANs for port 1 and 4 - - port: 1 - tagged_network_ids: [] - - port: 4 - tagged_network_ids: [] - tagged_network_names: [] - - port: 2 - tagged_network_names: [] - tags: - - clear_tagged_untagged
\ No newline at end of file + - name: Clear the tagged and untagged vLANs + dellemc.openmanage.ome_template_network_vlan: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + template_id: 78 + nic_identifier: NIC Slot 4 + untagged_networks: + # For removing the untagged vLANs for the port 1 and 2 + - port: 1 + untagged_network_id: 0 + - port: 2 + untagged_network_name: 0 + tagged_networks: + # For removing the tagged vLANs for port 1 and 4 + - port: 1 + tagged_network_ids: [] + - port: 4 + tagged_network_ids: [] + tagged_network_names: [] + - port: 2 + tagged_network_names: [] + tags: + - clear_tagged_untagged + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_network_vlan_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_network_vlan_info.yml new file mode 100644 index 000000000..a7dcd5902 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_network_vlan_info.yml @@ -0,0 +1,31 @@ +--- +- name: Dell OpenManage Ansible template VLAN info. + hosts: ome + gather_facts: false + + tasks: + - name: Retrieve network details of all templates. + dellemc.openmanage.ome_template_network_vlan_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost + + - name: Retrieve network details using template ID + dellemc.openmanage.ome_template_network_vlan_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + template_id: 1234 + delegate_to: localhost + + - name: Retrieve network details using template name + dellemc.openmanage.ome_template_network_vlan_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + template_name: template1 + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_with_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_with_job_tracking.yml index 9f93bbdfb..0b87188eb 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_with_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/template/ome_template_with_job_tracking.yml @@ -1,48 +1,46 @@ --- -- hosts: ome +- name: "OME - Create Template details tracking" + hosts: ome + gather_facts: false vars: retries_count: 50 - polling_interval: 5 #in seconds - connection: local - name: "OME - Create Template details tracking" - gather_facts: False - - collections: - - dellemc.openmanage - + polling_interval: 5 # in seconds tasks: - - name: "Create template based on device id." - ome_template: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - device_id: 12475 - attributes: - Name: "New Template" - Description: "New Template description" - register: result - failed_when: "'return_id' not in result" + - name: "Create template based on device id." + dellemc.openmanage.ome_template: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + device_id: 12475 + attributes: + Name: "New Template" + Description: "New Template description" + register: result + failed_when: "'return_id' not in result" + delegate_to: localhost - - name: "Get the job id using return id from template." - ome_template_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - template_id: "{{ result.return_id }}" - register: facts_result + - name: "Get the job id using return id from template." + dellemc.openmanage.ome_template_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + template_id: "{{ result.return_id }}" + register: facts_result + delegate_to: localhost - - name: "Get job details using job id from template task." - ome_job_info: - hostname: "{{ hostname }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - job_id: "{{ facts_result.template_info[hostname].TaskId }}" - register: job_result - failed_when: job_result.job_info.LastRunStatus.Name == 'Failed' - changed_when: job_result.job_info.LastRunStatus.Name == 'Completed' - until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' - retries: "{{ retries_count }}" - delay: "{{ polling_interval }}" + - name: "Get job details using job id from template task." + dellemc.openmanage.ome_job_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + job_id: "{{ facts_result.template_info[hostname].TaskId }}" + register: job_result + failed_when: job_result.job_info.LastRunStatus.Name == 'Failed' + changed_when: job_result.job_info.LastRunStatus.Name == 'Completed' + until: job_result.job_info.LastRunStatus.Name == 'Completed' or job_result.job_info.LastRunStatus.Name == 'Failed' + retries: "{{ retries_count }}" + delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/user/ome_user.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/user/ome_user.yml index b1589caea..da5b03d59 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/user/ome_user.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/user/ome_user.yml @@ -1,70 +1,71 @@ --- -- hosts: ome - connection: local - name: Dell OpenManage Ansible User service. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Dell OpenManage Ansible User service. + hosts: ome + gather_facts: false tasks: - - name: create new user. - ome_user: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Create new user. + dellemc.openmanage.ome_user: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" attributes: - UserName: "user1" - Password: "UserPassword" - RoleId: "10" - Enabled: True - - - name: create user with all parameters - ome_user: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + UserName: "user1" + Password: "UserPassword" + RoleId: "10" + Enabled: true + delegate_to: localhost + + - name: Create user with all parameters + dellemc.openmanage.ome_user: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "present" attributes: - UserName: "user2" - Description: "user2 description" - Password: "UserPassword" - RoleId: "10" - Enabled: True - DirectoryServiceId: 0 - UserTypeId: 1 - Locked: False - Name: "user2" + UserName: "user2" + Description: "user2 description" + Password: "UserPassword" + RoleId: "10" + Enabled: true + DirectoryServiceId: 0 + UserTypeId: 1 + Locked: false + Name: "user2" + delegate_to: localhost - - name: modify existing user - ome_user: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Modify existing user + dellemc.openmanage.ome_user: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "present" attributes: - UserName: "user3" - RoleId: "10" - Enabled: True - Description: "Modify user Description" + UserName: "user3" + RoleId: "10" + Enabled: true + Description: "Modify user Description" + delegate_to: localhost - - name: delete existing user using id. - ome_user: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + - name: Delete existing user using id. + dellemc.openmanage.ome_user: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "absent" user_id: 61874 - - - name: delete existing user using name. - ome_user: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + delegate_to: localhost + + - name: Delete existing user using name. + dellemc.openmanage.ome_user: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" state: "absent" - name: "name"
\ No newline at end of file + name: "name" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/ome/user/ome_user_info.yml b/ansible_collections/dellemc/openmanage/playbooks/ome/user/ome_user_info.yml index 6016d5025..7adf8a7a7 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/ome/user/ome_user_info.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/ome/user/ome_user_info.yml @@ -1,33 +1,32 @@ --- -- hosts: ome - connection: local - name: Fetching ome user facts. - gather_facts: False - - collections: - - dellemc.openmanage +- name: Fetching ome user facts. + hosts: ome + gather_facts: false tasks: - name: Retrieve basic details of all accounts. - ome_user_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_user_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" + delegate_to: localhost - name: Retrieve details of a specific account identified by its account ID. - ome_user_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_user_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" - account_id: "{{account_id}}" - + account_id: "{{ account_id }}" + delegate_to: localhost + - name: Retrieve details of a specific user using filter with UserName. - ome_user_info: - hostname: "{{hostname}}" - username: "{{username}}" - password: "{{password}}" + dellemc.openmanage.ome_user_info: + hostname: "{{ hostname }}" + username: "{{ username }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" system_query_options: - filter: "UserName eq 'test'"
\ No newline at end of file + filter: "UserName eq 'test'" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware.yml index 15fa188dd..b4313efcc 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware.yml @@ -1,32 +1,27 @@ --- -- hosts: redfish_hosts - connection: local +- name: "Ansible Module for Simple Firmware Update" + hosts: redfish_hosts gather_facts: false - name: "Ansible Module for Simple Firmware Update" - - collections: - - dellemc.openmanage tasks: - - - name: "Update the firmware from a single executable file available in a local path" - redfish_firmware: + - name: Update the firmware from a single executable file available in a local path + dellemc.openmanage.redfish_firmware: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" image_uri: "/home/firmware_repo/component.exe" - tags: - local-update + delegate_to: localhost - - name: "Update the firmware from a single executable file available in a HTTP protocol" - redfish_firmware: + - name: Update the firmware from a single executable file available in a HTTP protocol + dellemc.openmanage.redfish_firmware: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" image_uri: "http://192.168.0.1/firmware_repo/component.exe" - tags: - http-update + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_from_http_jobtracking.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_from_http_jobtracking.yml index 105f4189a..eb779e2a1 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_from_http_jobtracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_from_http_jobtracking.yml @@ -1,38 +1,34 @@ --- -- hosts: redfish_hosts - connection: local +- name: Ansible Module for Simple Firmware Update + hosts: redfish_hosts gather_facts: false - name: "Ansible Module for Simple Firmware Update" vars: retries_count: 100 polling_interval: 5 reboot_uri: "/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset" - collections: - - dellemc.openmanage - tasks: - - - name: "Update the firmware from a single executable file available in a HTTP protocol" - redfish_firmware: + - name: Update the firmware from a single executable file available in a HTTP protocol + dellemc.openmanage.redfish_firmware: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" image_uri: "http://192.168.0.1/firmware_repo/component.exe" register: result + delegate_to: localhost - - name: "Update the firmware from a single executable with job tracking till completion" - uri: + - name: Update the firmware from a single executable with job tracking till completion + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -40,43 +36,46 @@ until: job_result.json.TaskState == 'Completed' or job_result.json.TaskState == 'Pending' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost - - name: "Update the firmware from a single executable reboot." - uri: + - name: Update the firmware from a single executable reboot. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ reboot_uri }}" user: "{{ username }}" password: "{{ password }}" method: "POST" body_format: raw body: '{"ResetType": "ForceRestart"}' - use_proxy: yes + use_proxy: true status_code: 204 - return_content: no - validate_certs: no - force_basic_auth: yes + return_content: false + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" register: reboot_result changed_when: reboot_result.status == 204 when: job_result.json.TaskState == 'Pending' and job_result.json.Messages.0.Message == 'Task successfully scheduled.' + delegate_to: localhost - - name: "Update the firmware from a single executable Waits for 4 minutes." - wait_for: + - name: Update the firmware from a single executable Waits for 4 minutes. + ansible.builtin.wait_for: timeout: 240 when: job_result.json.TaskState == 'Pending' and job_result.json.Messages.0.Message == 'Task successfully scheduled.' + delegate_to: localhost - - name: "Update the firmware from a single executable with job tracking till completion." - uri: + - name: Update the firmware from a single executable with job tracking till completion. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -84,9 +83,10 @@ until: final_result.json.TaskState == 'Completed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost - - name: "Update the firmware from a single executable fact." - set_fact: + - name: Update the firmware from a single executable fact. + ansible.builtin.set_fact: job_details: "{{ final_result.json }}" failed_when: final_result.json.TaskState == "Completed" and final_result.json.TaskStatus != "OK" - changed_when: final_result.json.TaskState == "Completed" and final_result.json.TaskStatus == "OK"
\ No newline at end of file + changed_when: final_result.json.TaskState == "Completed" and final_result.json.TaskStatus == "OK" diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_from_local_jobtracking.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_from_local_jobtracking.yml index 8ea91cc3a..e62d5c81f 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_from_local_jobtracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_from_local_jobtracking.yml @@ -1,38 +1,34 @@ --- -- hosts: redfish_hosts - connection: local +- name: "Ansible Module for Simple Firmware Update" + hosts: redfish_hosts gather_facts: false - name: "Ansible Module for Simple Firmware Update" vars: retries_count: 100 polling_interval: 5 reboot_uri: "/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset" - collections: - - dellemc.openmanage - tasks: - - - name: "Update the firmware from a single executable file available in a local path" - redfish_firmware: + - name: Update the firmware from a single executable file available in a local path + dellemc.openmanage.redfish_firmware: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" image_uri: "/home/firmware_repo/component.exe" register: result + delegate_to: localhost - - name: "Update the firmware from a single executable with job tracking till completion." - uri: + - name: Update the firmware from a single executable with job tracking till completion. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -40,43 +36,46 @@ until: job_result.json.TaskState == 'Completed' or job_result.json.TaskState == 'Pending' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost - - name: "Update the firmware from a single executable reboot." - uri: + - name: Update the firmware from a single executable reboot. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ reboot_uri }}" user: "{{ username }}" password: "{{ password }}" method: "POST" body_format: raw body: '{"ResetType": "ForceRestart"}' - use_proxy: yes + use_proxy: true status_code: 204 - return_content: no - validate_certs: no - force_basic_auth: yes + return_content: false + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" register: reboot_result changed_when: reboot_result.status == 204 when: job_result.json.TaskState == 'Pending' and job_result.json.Messages.0.Message == 'Task successfully scheduled.' + delegate_to: localhost - - name: "Update the firmware from a single executable Waits for 4 minutes." - wait_for: + - name: Update the firmware from a single executable Waits for 4 minutes. + ansible.builtin.wait_for: timeout: 240 when: job_result.json.TaskState == 'Pending' and job_result.json.Messages.0.Message == 'Task successfully scheduled.' + delegate_to: localhost - - name: "Update the firmware from a single executable with job tracking till completion." - uri: + - name: Update the firmware from a single executable with job tracking till completion. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -84,9 +83,10 @@ until: final_result.json.TaskState == 'Completed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost - - name: "Update the firmware from a single executable fact." - set_fact: + - name: Update the firmware from a single executable fact. + ansible.builtin.set_fact: job_details: "{{ final_result.json }}" failed_when: final_result.json.TaskState == "Completed" and final_result.json.TaskStatus != "OK" - changed_when: final_result.json.TaskState == "Completed" and final_result.json.TaskStatus == "OK"
\ No newline at end of file + changed_when: final_result.json.TaskState == "Completed" and final_result.json.TaskStatus == "OK" diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_rollback.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_rollback.yml new file mode 100644 index 000000000..520288419 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/firmware/redfish_firmware_rollback.yml @@ -0,0 +1,45 @@ +--- +- name: "Ansible Module for Simple Firmware Rollback" + hosts: redfish_hosts + gather_facts: false + tasks: + + - name: Rollback a BIOS component firmware + dellemc.openmanage.redfish_firmware_rollback: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: "BIOS" + delegate_to: localhost + tags: rollback-bios + + - name: Rollback all NIC cards with a name starting from 'Broadcom Gigabit'. + dellemc.openmanage.redfish_firmware_rollback: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: "Broadcom Gigabit Ethernet.*" + delegate_to: localhost + tags: rollback-match + + - name: Rollback all the component firmware except BIOS component. + dellemc.openmanage.redfish_firmware_rollback: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: "(?!BIOS).*" + delegate_to: localhost + tags: rollback-except + + - name: Rollback all the available firmware component. + dellemc.openmanage.redfish_firmware_rollback: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + name: ".*" + delegate_to: localhost + tags: rollback-all diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/redfish_event_subscription.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/redfish_event_subscription.yml index 7fa5e40cc..0c7a7b755 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/redfish_event_subscription.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/redfish_event_subscription.yml @@ -1,46 +1,42 @@ --- -- hosts: redfish - connection: local - name: Configure Redfish subscriptions - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure Redfish subscriptions + hosts: redfish + gather_facts: false tasks: - name: Add Redfish metric subscription - redfish_event_subscription: - baseuri: "{{ baseuri }}" + dellemc.openmanage.redfish_event_subscription: + baseuri: "{{ baseuri }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" destination: "https://192.168.1.100:8188" event_type: MetricReport event_format_type: MetricReport state: present - tags: add_metric_subscription + delegate_to: localhost - name: Add Redfish alert subscription - redfish_event_subscription: - baseuri: "{{ baseuri }}" + dellemc.openmanage.redfish_event_subscription: + baseuri: "{{ baseuri }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" destination: "https://server01.example.com:8188" event_type: Alert event_format_type: Event state: present - tags: add_alert_subscription - + delegate_to: localhost + - name: Delete Redfish subscription with a specified destination - redfish_event_subscription: - baseuri: "{{ baseuri }}" + dellemc.openmanage.redfish_event_subscription: + baseuri: "{{ baseuri }}" username: "{{ username }}" - password: "{{ password }}" + password: "{{ password }}" ca_path: "/path/to/ca_cert.pem" destination: "https://server01.example.com:8188" state: absent - - tags: delete_subscription
\ No newline at end of file + tags: delete_subscription + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/redfish_powerstate.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/redfish_powerstate.yml index bacce0ccb..e2b15b085 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/redfish_powerstate.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/redfish_powerstate.yml @@ -1,26 +1,24 @@ --- -- hosts: redfish - connection: local - name: Configure Server Power Setting - gather_facts: False - - collections: - - dellemc.openmanage +- name: Configure Server Power Setting + hosts: redfish + gather_facts: false tasks: - - name: Manage power state of the first device. - redfish_powerstate: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - reset_type: "On" + - name: Manage power state of the first device. + dellemc.openmanage.redfish_powerstate: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + reset_type: "On" + delegate_to: localhost - - name: Manage power state of a specified device. - redfish_powerstate: - baseuri: "{{ baseuri }}" - username: "{{ username }}" - password: "{{ password }}" - ca_path: "/path/to/ca_cert.pem" - reset_type: "ForceOff" - resource_id: "System.Embedded.1" + - name: Manage power state of a specified device. + dellemc.openmanage.redfish_powerstate: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + reset_type: "ForceOff" + resource_id: "System.Embedded.1" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume.yml index 0c1380a05..def3dc33e 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume.yml @@ -1,19 +1,14 @@ --- -- hosts: redfish_hosts - connection: local +- name: "Redfish Storage Volume - Ansible Module" + hosts: redfish_hosts gather_facts: false - name: "Redfish Storage Volume - Ansible Module" vars: retries_count: 15 polling_interval: 5 - collections: - - dellemc.openmanage - tasks: - - name: Create a volume with supported options. - redfish_storage_volume: + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -33,9 +28,10 @@ register: result tags: - create_volume1 - + delegate_to: localhost + - name: Create a volume with minimum options. - redfish_storage_volume: + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -44,12 +40,103 @@ controller_id: "RAID.Slot.1-1" volume_type: "NonRedundant" drives: - - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 - tags: - - create_volume2 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + tags: + - create_volume2 + delegate_to: localhost + + - name: Create a RAID6 volume. + dellemc.openmanage.redfish_storage_volume: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID6" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-3 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-4 + tags: + - create_raid6 + delegate_to: localhost + + - name: Create a RAID60 volume. + dellemc.openmanage.redfish_storage_volume: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID60" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-3 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-4 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-5 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-6 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-7 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-8 + tags: + - create_raid60 + delegate_to: localhost + + - name: Create a RAID0 on PERC controller on reset + dellemc.openmanage.redfish_storage_volume: + baseuri: "192.168.0.1" + username: "username" + password: "password" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID0" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + apply_time: OnReset + tags: + - create_raid0_with_onreset + delegate_to: localhost + + - name: Create a RAID0 on BOSS controller with restart + dellemc.openmanage.redfish_storage_volume: + baseuri: "192.168.0.1" + username: "username" + password: "password" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID0" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + apply_time: OnReset + reboot_server: true + tags: + - create_raid0_boss_with_onreset + delegate_to: localhost + + - name: Create a RAID0 on BOSS controller with force restart + dellemc.openmanage.redfish_storage_volume: + baseuri: "192.168.0.1" + username: "username" + password: "password" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID0" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + reboot_server: true + force_reboot: true + tags: + - create_raid0_boss_with_onreset_force + delegate_to: localhost - name: Modify a volume's encryption type settings. - redfish_storage_volume: + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -60,9 +147,10 @@ encrypted: true tags: - modify_volume - + delegate_to: localhost + - name: Initialize an existing volume. - redfish_storage_volume: + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -72,9 +160,10 @@ initialize_type: "Slow" tags: - initialize_volume - + delegate_to: localhost + - name: Delete an existing volume. - redfish_storage_volume: + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -83,3 +172,4 @@ volume_id: "Disk.Virtual.5:RAID.Slot.1-1" tags: - delete_volume + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_create_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_create_job_tracking.yml index fcf596cd0..def58f5f6 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_create_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_create_job_tracking.yml @@ -1,19 +1,15 @@ --- -- hosts: redfish_hosts - connection: local +- name: "Redfish Storage Volume - Ansible Module" + hosts: redfish_hosts gather_facts: false - name: "Redfish Storage Volume - Ansible Module" vars: retries_count: 100 polling_interval: 10 reboot_uri: "/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset" - collections: - - dellemc.openmanage - tasks: - - name: "Create a storage volume" - redfish_storage_volume: + - name: Create a storage volume" + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -29,18 +25,19 @@ register: result tags: - create_volume + delegate_to: localhost - - name: "View the job details to track the status of the create storage volume task" - uri: + - name: View the job details to track the status of the create storage volume task" + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -51,38 +48,40 @@ delay: "{{ polling_interval }}" tags: - job-tracking - - - name: "Reboot the system if the job status is pending." - uri: + delegate_to: localhost + + - name: Reboot the system if the job status is pending." + ansible.builtin.uri: url: "https://{{ baseuri }}{{ reboot_uri }}" user: "{{ username }}" password: "{{ password }}" method: "POST" body_format: raw body: '{"ResetType": "ForceRestart"}' - use_proxy: yes + use_proxy: true status_code: 204 - return_content: no - validate_certs: no - force_basic_auth: yes + return_content: false + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" - register: reboot_result - changed_when: reboot_result.status == 204 + register: reboot_result + changed_when: reboot_result.status == 204 when: job_result.json.TaskState == 'Pending' and job_result.json.Messages.0.Message == 'Task successfully scheduled.' + delegate_to: localhost - - name: "View the job details to verify if the task status is completed." - uri: + - name: View the job details to verify if the task status is completed." + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -91,3 +90,4 @@ until: final_result.json.TaskState == 'Completed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_delete_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_delete_job_tracking.yml index 34a821d75..5c2858396 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_delete_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_delete_job_tracking.yml @@ -1,19 +1,15 @@ --- -- hosts: redfish_hosts - connection: local +- name: "Redfish Storage Volume - Ansible Module" + hosts: redfish_hosts gather_facts: false - name: "Redfish Storage Volume - Ansible Module" vars: retries_count: 100 polling_interval: 10 reboot_uri: "/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset" - collections: - - dellemc.openmanage - tasks: - - name: "Delete an existing volume." - redfish_storage_volume: + - name: Delete an existing volume. + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -23,18 +19,19 @@ register: result tags: - delete_volume + delegate_to: localhost - - name: "View the job details to track the status of the delete storage volume task" - uri: + - name: View the job details to track the status of the delete storage volume task + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -45,38 +42,40 @@ delay: "{{ polling_interval }}" tags: - job-tracking - - - name: "Reboot the system if the job status is pending." - uri: + delegate_to: localhost + + - name: Reboot the system if the job status is pending. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ reboot_uri }}" user: "{{ username }}" password: "{{ password }}" method: "POST" body_format: raw body: '{"ResetType": "ForceRestart"}' - use_proxy: yes + use_proxy: true status_code: 204 - return_content: no - validate_certs: no - force_basic_auth: yes + return_content: false + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" - register: reboot_result - changed_when: reboot_result.status == 204 + register: reboot_result + changed_when: reboot_result.status == 204 when: job_result.json.TaskState == 'Pending' and job_result.json.Messages.0.Message == 'Task successfully scheduled.' + delegate_to: localhost - - name: "View the job details to verify if the task status is completed." - uri: + - name: View the job details to verify if the task status is completed. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -85,3 +84,4 @@ until: final_result.json.TaskState == 'Completed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_initialize_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_initialize_job_tracking.yml index fb79a2885..4609977b5 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_initialize_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_initialize_job_tracking.yml @@ -1,19 +1,15 @@ --- -- hosts: redfish_hosts - connection: local +- name: "Redfish Storage Volume - Ansible Module" + hosts: redfish_hosts gather_facts: false - name: "Redfish Storage Volume - Ansible Module" vars: retries_count: 100 polling_interval: 10 reboot_uri: "/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset" - collections: - - dellemc.openmanage - tasks: - - name: "Initialize an existing volume." - redfish_storage_volume: + - name: Initialize an existing volume. + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -24,18 +20,19 @@ register: result tags: - initialize_volume + delegate_to: localhost - - name: "View the job details to track the status of the initialization task" - uri: + - name: View the job details to track the status of the initialization task + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -46,38 +43,40 @@ delay: "{{ polling_interval }}" tags: - job-tracking - - - name: "Reboot the system if the job status is pending." - uri: + delegate_to: localhost + + - name: Reboot the system if the job status is pending. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ reboot_uri }}" user: "{{ username }}" password: "{{ password }}" method: "POST" body_format: raw body: '{"ResetType": "ForceRestart"}' - use_proxy: yes + use_proxy: true status_code: 204 - return_content: no - validate_certs: no - force_basic_auth: yes + return_content: false + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" - register: reboot_result - changed_when: reboot_result.status == 204 + register: reboot_result + changed_when: reboot_result.status == 204 when: job_result.json.TaskState == 'Pending' and job_result.json.Messages.0.Message == 'Task successfully scheduled.' + delegate_to: localhost - - name: "View the job details to verify if the task status is completed." - uri: + - name: View the job details to verify if the task status is completed. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -86,3 +85,4 @@ until: final_result.json.TaskState == 'Completed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_modify_job_tracking.yml b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_modify_job_tracking.yml index 02bbc19d1..5a9d088ce 100644 --- a/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_modify_job_tracking.yml +++ b/ansible_collections/dellemc/openmanage/playbooks/redfish/storage/redfish_storage_volume_modify_job_tracking.yml @@ -1,19 +1,15 @@ --- -- hosts: redfish_hosts - connection: local +- name: "Redfish Storage Volume - Ansible Module" + hosts: redfish_hosts gather_facts: false - name: "Redfish Storage Volume - Ansible Module" vars: retries_count: 100 polling_interval: 10 reboot_uri: "/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset" - collections: - - dellemc.openmanage - tasks: - - name: "Modify storage volume encryption settings." - redfish_storage_volume: + - name: Modify storage volume encryption settings. + dellemc.openmanage.redfish_storage_volume: baseuri: "{{ baseuri }}" username: "{{ username }}" password: "{{ password }}" @@ -25,18 +21,19 @@ register: result tags: - modify_volume + delegate_to: localhost - - name: "View the job details to track the status of the modify storage volume encryption task" - uri: + - name: View the job details to track the status of the modify storage volume encryption task + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -47,38 +44,40 @@ delay: "{{ polling_interval }}" tags: - job-tracking - - - name: "Reboot the system if the job status is pending." - uri: + delegate_to: localhost + + - name: Reboot the system if the job status is pending. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ reboot_uri }}" user: "{{ username }}" password: "{{ password }}" method: "POST" body_format: raw body: '{"ResetType": "ForceRestart"}' - use_proxy: yes + use_proxy: true status_code: 204 - return_content: no - validate_certs: no - force_basic_auth: yes + return_content: false + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" - register: reboot_result - changed_when: reboot_result.status == 204 + register: reboot_result + changed_when: reboot_result.status == 204 when: job_result.json.TaskState == 'Pending' and job_result.json.Messages.0.Message == 'Task successfully scheduled.' + delegate_to: localhost - - name: "View the job details to verify if the task status is completed." - uri: + - name: View the job details to verify if the task status is completed. + ansible.builtin.uri: url: "https://{{ baseuri }}{{ result.task.uri }}" user: "{{ username }}" password: "{{ password }}" method: "GET" - use_proxy: yes + use_proxy: true status_code: 200, 202 - return_content: yes - validate_certs: no - force_basic_auth: yes + return_content: true + validate_certs: false + force_basic_auth: true headers: Content-Type: "application/json" Accept: "application/json" @@ -87,3 +86,4 @@ until: final_result.json.TaskState == 'Completed' retries: "{{ retries_count }}" delay: "{{ polling_interval }}" + delegate_to: localhost diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/README.md b/ansible_collections/dellemc/openmanage/playbooks/roles/README.md new file mode 100644 index 000000000..0535438b3 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/README.md @@ -0,0 +1,56 @@ +# Roles Playbooks + +### Using the Example playbooks + +1. Update the inventory +Update the idrac IP's, hostnames in the `inventory` file. + +1. Update the varaibles required for a role under `vars_files` folder. + +1. Run the following command to run the role +`ansible-playbook <role_folder>/<role_file>.yml -i inventory + +### Folder Tree + +``` +. +├── idrac_attributes +│ └── idrac_attributes.yml +├── idrac_bios +│ └── idrac_bios.yml +├── idrac_certificate +│ └── idrac_certificate.yml +├── idrac_export_server_config_profile +│ └── idrac_export_server_config_profile.yml +├── idrac_firmware +│ └── idrac_firmware.yml +├── idrac_gather_facts +│ └── idrac_gather_facts.yml +├── idrac_import_server_config_profile +│ └── idrac_import_server_config_profile.yml +├── idrac_os_deployment +│ └── idrac_os_deployment.yml +├── idrac_reset +│ └── idrac_reset.yml +├── idrac_server_powerstate +│ └── idrac_server_powerstate.yml +├── idrac_storage_controller +│ └── idrac_storage_controller.yml +├── inventory +├── README.md +├── redfish_firmware +│ └── redfish_firmware.yml +├── redfish_storage_volume +│ └── redfish_storage_volume.yml +└── vars_files + ├── bios.yml + ├── certificates.yml + ├── credentials.yml + ├── export.yml + ├── firmware.yml + ├── import.yml + ├── osd.yml + ├── reset.yml + └── storage_controller.yml + └── storage.yml +``` diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_attributes/idrac_attributes.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_attributes/idrac_attributes.yml new file mode 100644 index 000000000..3bd391f9b --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_attributes/idrac_attributes.yml @@ -0,0 +1,9 @@ +--- +- name: Manage attributes configurations in iDRAC + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/attributes.yml + roles: + - dellemc.openmanage.idrac_attributes diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_bios/idrac_bios.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_bios/idrac_bios.yml new file mode 100644 index 000000000..6ef77791a --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_bios/idrac_bios.yml @@ -0,0 +1,9 @@ +--- +- name: Manage bios configurations in iDRAC + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/bios.yml + roles: + - dellemc.openmanage.idrac_bios diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_certificate/idrac_certificate.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_certificate/idrac_certificate.yml new file mode 100644 index 000000000..0f0abd34e --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_certificate/idrac_certificate.yml @@ -0,0 +1,9 @@ +--- +- name: Manage certificates in iDRAC + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/certificates.yml + roles: + - dellemc.openmanage.idrac_certificate diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_export_server_config_profile/idrac_export_server_config_profile.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_export_server_config_profile/idrac_export_server_config_profile.yml new file mode 100644 index 000000000..c11d7a8fc --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_export_server_config_profile/idrac_export_server_config_profile.yml @@ -0,0 +1,9 @@ +--- +- name: Export Server configuration profile + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/export.yml + roles: + - dellemc.openmanage.idrac_export_server_config_profile diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_firmware/idrac_firmware.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_firmware/idrac_firmware.yml new file mode 100644 index 000000000..4cdbba537 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_firmware/idrac_firmware.yml @@ -0,0 +1,11 @@ +--- +- name: Firmware update using catalog for iDRAC + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/firmware.yml + vars: + hostname: "{{ inventory_hostname }}" + roles: + - dellemc.openmanage.idrac_firmware diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_gather_facts/idrac_gather_facts.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_gather_facts/idrac_gather_facts.yml new file mode 100644 index 000000000..d49b08bc0 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_gather_facts/idrac_gather_facts.yml @@ -0,0 +1,10 @@ +--- +- name: Get iDRAC information + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + vars: + target: "{{ gather_facts_target }}" + roles: + - dellemc.openmanage.idrac_gather_facts diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_import_server_config_profile/idrac_import_server_config_profile.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_import_server_config_profile/idrac_import_server_config_profile.yml new file mode 100644 index 000000000..7b2025325 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_import_server_config_profile/idrac_import_server_config_profile.yml @@ -0,0 +1,9 @@ +--- +- name: Import Server configuration profile + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/import.yml + roles: + - dellemc.openmanage.idrac_import_server_config_profile diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_job_queue/idrac_job_queue.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_job_queue/idrac_job_queue.yml new file mode 100644 index 000000000..b234ca8af --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_job_queue/idrac_job_queue.yml @@ -0,0 +1,10 @@ +--- +- name: Manage the iDRAC lifecycle controller job queue. + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + vars: + clear_job_queue: true + roles: + - dellemc.openmanage.idrac_job_queue diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_os_deployment/idrac_os_deployment.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_os_deployment/idrac_os_deployment.yml new file mode 100644 index 000000000..79f08501d --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_os_deployment/idrac_os_deployment.yml @@ -0,0 +1,9 @@ +--- +- name: Operating System Deployment in iDRAC + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/osd.yml + roles: + - dellemc.openmanage.idrac_os_deployment diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_reset/idrac_reset.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_reset/idrac_reset.yml new file mode 100644 index 000000000..b46e3dfb0 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_reset/idrac_reset.yml @@ -0,0 +1,9 @@ +--- +- name: Reset iDRAC + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/reset.yml + roles: + - dellemc.openmanage.idrac_reset diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_server_powerstate/idrac_server_powerstate.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_server_powerstate/idrac_server_powerstate.yml new file mode 100644 index 000000000..b2e7c1f46 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_server_powerstate/idrac_server_powerstate.yml @@ -0,0 +1,10 @@ +--- +- name: Manage iDRAC server power cycle + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + vars: + reset_type: "On" + roles: + - dellemc.openmanage.idrac_server_powerstate diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_storage_controller/idrac_storage_controller.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_storage_controller/idrac_storage_controller.yml new file mode 100644 index 000000000..b8763f4ac --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/idrac_storage_controller/idrac_storage_controller.yml @@ -0,0 +1,9 @@ +--- +- name: Manage storage controller in iDRAC + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/storage_controller.yml + roles: + - dellemc.openmanage.idrac_storage_controller diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/inventory b/ansible_collections/dellemc/openmanage/playbooks/roles/inventory new file mode 100644 index 000000000..5da778f1c --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/inventory @@ -0,0 +1,4 @@ +[idrac] +192.168.0.1 +192.168.0.2 +192.168.0.3 diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/redfish_firmware/redfish_firmware.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/redfish_firmware/redfish_firmware.yml new file mode 100644 index 000000000..915d56627 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/redfish_firmware/redfish_firmware.yml @@ -0,0 +1,9 @@ +--- +- name: Firmware update using DUP file + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/firmware.yml + roles: + - dellemc.openmanage.redfish_firmware diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/redfish_storage_volume/redfish_storage_volume.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/redfish_storage_volume/redfish_storage_volume.yml new file mode 100644 index 000000000..06684710d --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/redfish_storage_volume/redfish_storage_volume.yml @@ -0,0 +1,9 @@ +--- +- name: Redfish Storage volume Configurations + hosts: idrac + gather_facts: false + vars_files: + - ../vars_files/credentials.yml + - ../vars_files/storage.yml + roles: + - dellemc.openmanage.redfish_storage_volume diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/attributes.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/attributes.yml new file mode 100644 index 000000000..86278b227 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/attributes.yml @@ -0,0 +1,8 @@ +idrac_attributes: + SNMP.1.AgentCommunity: test + SNMP.1.AgentEnable: Enabled + SNMP.1.DiscoveryPort: 161 +system_attributes: + ServerOS.1.HostName: demohostname +lifecycle_controller_attributes: + LCAttributes.1.AutoUpdate: Disabled diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/bios.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/bios.yml new file mode 100644 index 000000000..cf60e098e --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/bios.yml @@ -0,0 +1,13 @@ +attributes: + BootMode: "Bios" + OneTimeBootMode: "Enabled" + BootSeqRetry: "Enabled" +apply_time: "Immediate" +maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 +clear_pending: false +reset_bios: false +reset_type: "graceful_restart" +job_wait: true +job_wait_timeout: 1200 diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/certificates.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/certificates.yml new file mode 100644 index 000000000..32ebd4aca --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/certificates.yml @@ -0,0 +1,13 @@ +command: "generate_csr" +certificate_type: "HTTPS" +certificate_path: "/home/omam/mycerts" +cert_params: + common_name: "sample.domain.com" + organization_unit: "OrgUnit" + locality_name: "Bangalore" + state_name: "Karnataka" + country_code: "IN" + email_address: "admin@domain.com" + organization_name: "OrgName" + subject_alt_name: + - 192.168.0.3 diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/credentials.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/credentials.yml new file mode 100644 index 000000000..78990bb87 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/credentials.yml @@ -0,0 +1,27 @@ +hostname: "{{ inventory_hostname }}" +username: "username" +password: "password" + +# Required for Export Role +idrac_ip: "{{ inventory_hostname }}" +idrac_user: "{{ username }}" +idrac_password: "{{ password }}" + +validate_certs: false +proxy_params: + server: 192.168.0.6 + port: 8080 + username: "proxy_user" + password: "proxy_password" + +repo_details: + proto: "https" + ip: "192.168.0.5" + username: "username" + password: "password" + +http_url: "{{ repo_details.proto }}://{{ repo_details.ip }}/{{ http_path }}" +cifs_url: "//{{ repo_details.ip }}" +nfs_url: "{{ repo_details.ip }}:/{{ nfs_path }}" + +gather_facts_target: "System" diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/export.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/export.yml new file mode 100644 index 000000000..6749763ee --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/export.yml @@ -0,0 +1,14 @@ +share_parameters: + share_name: "{{ repo_url }}/myshare" + share_user: "{{ repo_details.username }}" + share_password: "{{ repo_details.password }}" + scp_file: "filename.xml" + proxy_support: false + proxy_server: "{{ proxy_params.server }}" + proxy_port: "{{ proxy_params.port }}" + proxy_type: socks4 + ignore_certificate_warning: ignore +target: ["ALL"] +include_in_export: default +export_format: "XML" +export_use: "Default" diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/firmware.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/firmware.yml new file mode 100644 index 000000000..588d8376b --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/firmware.yml @@ -0,0 +1,16 @@ +# Role idrac_firmware Vars +share_name: "{{ repo_url }}/firmware_repo/" +catalog_file_name: "MyCatalog.xml" +reboot: true +job_wait: true +apply_update: true +proxy_support: ParametersProxy +proxy_server: "{{ proxy_params.server }}" +proxy_type: HTTP +proxy_port: "{{ proxy_params.port }}" +proxy_uname: "{{ proxy_params.username }}" +proxy_passwd: "{{ proxy_params.password }}" + +# Role redfish_firmware Vars +image_uri: "{{ repo_url }}/firmware_repo/component.exe" +transfer_protocol: "HTTP" diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/import.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/import.yml new file mode 100644 index 000000000..3696a7d63 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/import.yml @@ -0,0 +1,11 @@ +share_parameters: + share_name: "{{ repo_url }}/scp_share" + share_user: "{{ repo_details.username }}" + share_password: "{{ repo_details.password }}" + scp_file: "filename.xml" + proxy_support: false + proxy_server: "{{ proxy_params.server }}" + proxy_port: "{{ proxy_params.port }}" + proxy_type: socks4 + ignore_certificate_warning: ignore +target: ["ALL"] diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/osd.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/osd.yml new file mode 100644 index 000000000..c27c7c2d3 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/osd.yml @@ -0,0 +1,27 @@ +os_name: rhel +os_version: 9 +source: + protocol: "{{ repo_details.proto }}" + hostname: "{{ repo_details.ip }}" + iso_path: "/users/rhel" + iso_name: "esxi.iso" + # ks_path: "/users/rhel/myks.cfg" + # is_custom_iso: true + # username: "username" + # password: "password" +destination: + protocol: "{{ repo_details.proto }}" + hostname: "{{ repo_details.ip }}" + iso_path: "/{{ http_path }}" + # iso_name: "my_custom_rhel_name.iso" + mountpoint: "/var/www/repo" + os_type: "linux" + username: "username" + password: "password" + +wait_for_os_deployment: true +os_deployment_timeout: 30 +eject_iso: true +delete_custom_iso: true +rhel_rootpw: "" +esxi_rootpw: "" diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/reset.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/reset.yml new file mode 100644 index 000000000..808aa0683 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/reset.yml @@ -0,0 +1,3 @@ +wait_for_idrac: true +force_restart: false +reset_to_default: "Default" diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/storage.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/storage.yml new file mode 100644 index 000000000..ba22d319f --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/storage.yml @@ -0,0 +1,12 @@ +state: "present" +raid_type: "RAID1" +name: "VD0" +controller_id: "RAID.Slot.1-1" +drives: + - Disk.Bay.5:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.6:Enclosure.Internal.0-1:RAID.Slot.1-1 +block_size_bytes: 512 +capacity_bytes: 299439751168 +optimum_io_size_bytes: 65536 +encryption_types: NativeDriveEncryption +encrypted: true diff --git a/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/storage_controller.yml b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/storage_controller.yml new file mode 100644 index 000000000..7d754c646 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/playbooks/roles/vars_files/storage_controller.yml @@ -0,0 +1,21 @@ +controller_id: "RAID.Integrated.1-1" +attributes: + ControllerMode: "RAID" +apply_time: "Immediate" +maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 1200 +disks: + id: "Disk.Bay.0:Enclosure.Internal.0-0:RAID.Integrated.1-1" + status: "online" +volumes: + id: "Disk.Virtual.0:RAID.Integrated.1-1" + blink: true +reset_config: false +set_controller_key: false +re_key: false +key: "PassPhrase@123" +key_id: "mykeyid123" +old_key: "OldPhassParse@123" +mode: "LKM" +remove_key: false |