hpe.nimble.hpe_nimble_info – Collect information from HPE Nimble Storage array
Note
This plugin is part of the hpe.nimble collection (version 1.1.3).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install hpe.nimble
.
To use it in a playbook, specify: hpe.nimble.hpe_nimble_info
.
New in version 1.0.0: of hpe.nimble
Synopsis
- Collect information from a HPE Nimble Storage array. By default, the module will collect basic information including array, groups config, protection templates, protection schedules, snapshots, snapshot collections, volume collections and volume counts. Additional information can be collected based on the configured set of arguments.
Requirements
The below requirements are needed on the host that executes this module.
- Ansible 2.9 or later
- Python 3.6 or later
- HPE Nimble Storage SDK for Python
- HPE Nimble Storage arrays running NimbleOS 5.0 or later
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
gather_subset list / elements=raw | Default: "minimum" | When supplied, this argument will define the information to be collected. Possible values for this include "all" "minimum" "config" "access_control_records", "alarms", "application_servers", "application_categories", "arrays", "chap_users", "controllers", "disks", "fibre_channel_interfaces", "fibre_channel_configs", "fibre_channel_initiator_aliases", "fibre_channel_ports", "folders", "groups", "initiator_groups", "initiators", "master_key", "network_configs", "performance_policies", "pools", "protection_schedules", "protection_templates", "protocol_endpoints", "replication_partners", "shelves", "snapshots", "snapshot_collections", "software_versions", "user_groups", "user_policies", "users", "volumes", "volume_collections". Each subset except "all", "minimum" and "config" supports four types of subset options. Subset "all" supports limit and detail as subset options. Subset "config" and "minimum" does not support any subset options. See the example section for usage of the following subset options. fields - A string representing which attributes to display for a given subset. limit - An integer value which represents how many latest items to show for a given subset. detail - A bool flag when set to true fetches everything for a given subset. Default is "True". query - A key-value pair to query. |
host string / required | HPE Nimble Storage IP address. | |
password string / required | HPE Nimble Storage password. | |
username string / required | HPE Nimble Storage user name. |
Notes
Note
- This module supports
check_mode
.
Examples
- name: Collect default set of information hpe.nimble.hpe_nimble_info: host: "{{ host }}" username: "{{ username }}" password: "{{ password }}" gather_subset: - minimum: register: array_info - name: Show default information ansible.builtin.debug: msg: "{{ array_info['nimble_info']['default'] }}" - name: Collect config hpe.nimble.hpe_nimble_info: host: "{{ host }}" username: "{{ username }}" password: "{{ password }}" gather_subset: - config: register: array_info - name: Show config information ansible.builtin.debug: msg: "{{ array_info['nimble_info']['config'] }}" - name: Collect all hpe.nimble.hpe_nimble_info: host: "{{ host }}" username: "{{ username }}" password: "{{ password }}" gather_subset: - all: limit: 1 register: array_info - name: Show all information ansible.builtin.debug: msg: "{{ array_info['nimble_info'] }}" - name: Collect volume, snapshot and volume collection. Below query will show just one snapshot detail with attributes 'name and id' for a volume called 'vol1' hpe.nimble.hpe_nimble_info: host: "{{ host }}" username: "{{ username }}" password: "{{ password }}" gather_subset: - volumes: fields: "name,id" limit: 2 - volume_collections: limit: 1 detail: false - snapshots: fields: "name,id" query: vol_name: "vol1" limit: 1 detail: True register: array_info - name: Show information ansible.builtin.debug: msg: "{{ array_info['nimble_info'] }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
nimble_info complex | always | Returns the information collected from the HPE Nimble Storage array Sample: {'config': {'arrays': [{'all_flash': False, 'extended_model': 'vmware-4G-5T-160F', 'full_name': 'ansibler1-va', 'role': 'leader', 'serial': 'ansibler1-va'}], 'groups': [{'alarms_enabled': True, 'auto_switchover_enabled': True, 'auto_switchover_messages': [], 'autosupport_enabled': True, 'default_iscsi_target_scope': 'group', 'dns_servers': [{'ip_addr': '10.235.0.185'}, {'ip_addr': '10.1.255.254'}], 'domain_name': 'vlab.nimblestorage.com', 'encryption_config': {'cipher': 'aes_256_xts', 'encryption_active': True, 'encryption_key_manager': 'local', 'master_key_set': True, 'mode': 'available', 'scope': 'group'}, 'failover_mode': 'Manual', 'fc_enabled': False, 'iscsi_enabled': True, 'isns_enabled': True, 'leader_array_name': 'ansibler1-va', 'member_list': ['ansibler1-va'], 'name': 'group-ansibler1-va', 'ntp_server': 'time.nimblestorage.com', 'send_alert_to_support': True, 'smtp_auth_enabled': False, 'smtp_auth_username': '', 'smtp_port': 25, 'smtp_server': '', 'snmp_community': 'public', 'snmp_trap_enabled': False, 'snmp_trap_host': '', 'snmp_trap_port': 162, 'syslogd_enabled': False, 'syslogd_server': '', 'vvol_enabled': True}], 'network_configs': [{'active_since': 1592210265, 'array_list': [{'ctrlr_a_support_ip': '10.18.1.1', 'ctrlr_b_support_ip': '10.18.2.2', 'member_gid': 1, 'name': 'ansibler1-va', 'nic_list': [{'data_ip': '172.16.41.139', 'name': 'eth3', 'subnet_label': 'data1', 'tagged': False}, {'data_ip': '172.16.234.76', 'name': 'eth4', 'subnet_label': 'data2', 'tagged': False}, {'data_ip': '', 'name': 'eth2', 'subnet_label': 'mgmt-data', 'tagged': False}, {'data_ip': '', 'name': 'eth1', 'subnet_label': 'mgmt-data', 'tagged': False}]}], 'creation_time': 1586411318, 'group_leader_array': 'ansibler1-va', 'id': '177321e77f009f2013000000000000000000000001', 'iscsi_automatic_connection_method': True, 'iscsi_connection_rebalancing': True, 'last_active': 1592210256, 'last_modified': 1586411356, 'mgmt_ip': '10.18.171.96', 'name': 'active', 'role': 'active', 'route_list': [{'gateway': '10.18.160.1', 'tgt_netmask': '0.0.0.0', 'tgt_network': '0.0.0.0'}], 'secondary_mgmt_ip': '', 'subnet_list': [{'allow_group': True, 'allow_iscsi': True, 'discovery_ip': '172.16.41.140', 'failover': True, 'failover_enable_time': 0, 'label': 'data1', 'mtu': 1500, 'netmask': '255.255.224.0', 'network': '172.16.32.0', 'netzone_type': 'single', 'type': 'data', 'vlan_id': 0}, {'allow_group': True, 'allow_iscsi': True, 'discovery_ip': '172.16.234.101', 'failover': True, 'failover_enable_time': 0, 'label': 'data2', 'mtu': 1500, 'netmask': '255.255.224.0', 'network': '172.16.224.0', 'netzone_type': 'single', 'type': 'data', 'vlan_id': 0}, {'allow_group': False, 'allow_iscsi': False, 'discovery_ip': '', 'failover': True, 'failover_enable_time': 0, 'label': 'mgmt-data', 'mtu': 1500, 'netmask': '255.255.224.0', 'network': '10.18.160.0', 'netzone_type': 'none', 'type': 'mgmt', 'vlan_id': 0}]}, {'active_since': 0, 'array_list': [{'ctrlr_a_support_ip': '10.18.1.1', 'ctrlr_b_support_ip': '10.18.2.2', 'member_gid': 1, 'name': 'ansibler1-va', 'nic_list': [{'data_ip': '', 'name': 'eth2', 'subnet_label': 'mgmt-data', 'tagged': False}, {'data_ip': '', 'name': 'eth1', 'subnet_label': 'mgmt-data', 'tagged': False}, {'data_ip': '172.16.41.139', 'name': 'eth3', 'subnet_label': 'data1', 'tagged': False}, {'data_ip': '172.16.234.76', 'name': 'eth4', 'subnet_label': 'data2', 'tagged': False}]}], 'creation_time': 1586411356, 'group_leader_array': 'ansibler1-va', 'id': '177321e77f009f2013000000000000000000000002', 'iscsi_automatic_connection_method': True, 'iscsi_connection_rebalancing': True, 'last_active': 1592210265, 'last_modified': 1586411318, 'mgmt_ip': '10.18.171.96', 'name': 'backup', 'role': 'backup', 'route_list': [{'gateway': '10.18.160.1', 'tgt_netmask': '0.0.0.0', 'tgt_network': '0.0.0.0'}], 'secondary_mgmt_ip': '', 'subnet_list': [{'allow_group': False, 'allow_iscsi': False, 'discovery_ip': '', 'failover': True, 'failover_enable_time': 0, 'label': 'mgmt-data', 'mtu': 1500, 'netmask': '255.255.224.0', 'network': '10.18.160.0', 'netzone_type': 'none', 'type': 'mgmt', 'vlan_id': 0}, {'allow_group': True, 'allow_iscsi': True, 'discovery_ip': '172.16.41.140', 'failover': True, 'failover_enable_time': 0, 'label': 'data1', 'mtu': 1500, 'netmask': '255.255.224.0', 'network': '172.16.32.0', 'netzone_type': 'single', 'type': 'data', 'vlan_id': 0}, {'allow_group': True, 'allow_iscsi': True, 'discovery_ip': '172.16.234.101', 'failover': True, 'failover_enable_time': 0, 'label': 'data2', 'mtu': 1500, 'netmask': '255.255.224.0', 'network': '172.16.224.0', 'netzone_type': 'single', 'type': 'data', 'vlan_id': 0}]}], 'pools': [{'array_count': 1, 'dedupe_all_volumes': False, 'dedupe_capable': False, 'is_default': True, 'name': 'default', 'vol_list': [{'id': '0675a5e21cc205c609000000000000000000000001', 'name': 'vol1', 'vol_id': '0675a5e21cc205c609000000000000000000000001', 'vol_name': 'vol1'}, {'id': '067321e77f009f2013000000000000000000000271', 'name': 'volumetc-vol1-0-24-07-2020-71470d6d-cd6e-11ea-9165-00505696c568', 'vol_id': '067321e77f009f2013000000000000000000000271', 'vol_name': 'volumetc-vol1-0-24-07-2020-71470d6d-cd6e-11ea-9165-00505696c568'}, {'id': '067321e77f009f201300000000000000000000024d', 'name': 'ansible-vol1', 'vol_id': '067321e77f009f201300000000000000000000024d', 'vol_name': 'ansible-vol1'}]}]}, 'default': {'arrays': [{'all_flash': False, 'extended_model': 'vmware-4G-5T-160F', 'full_name': 'ansibler1-va'}], 'disks': 16, 'folders': 0, 'groups': [{'auto_switchover_messages': [], 'default_iscsi_target_scope': 'group', 'encryption_config': {'cipher': 'aes_256_xts', 'encryption_active': True, 'encryption_key_manager': 'local', 'master_key_set': True, 'mode': 'available', 'scope': 'group'}, 'fc_enabled': False, 'iscsi_enabled': True, 'leader_array_name': 'ansibler1-va', 'name': 'group-ansibler1-va', 'num_snaps': 49}], 'initiator_groups': 1, 'protection_schedules': 6, 'protection_templates': 3, 'protocol_endpoints': 0, 'snapshot_collections': 49, 'snapshots': 49, 'software versions': '5.2.2.0-730069-opt', 'users': 2, 'volume_collections': 1, 'volumes': 3}, 'snapshots': [{'access_control_records': None, 'agent_type': 'none', 'app_uuid': '', 'creation_time': 1586429663, 'description': 'Replicated by protection policy volcoll2 schedule Schedule-new', 'expiry_after': 1, 'expiry_time': 0, 'id': '0475a5e21cc205c609000000000000000200000004', 'is_manually_managed': True, 'is_replica': True, 'is_unmanaged': False, 'last_modified': 1586429956, 'metadata': None, 'name': 'adfsasfasfasf', 'new_data_compressed_bytes': 0, 'new_data_uncompressed_bytes': 0, 'new_data_valid': True, 'offline_reason': 'user', 'online': False, 'origin_name': '', 'pool_name': 'default', 'replication_status': None, 'schedule_id': '0c7321e77f009f2013000000000000000000000008', 'schedule_name': 'Schedule-new', 'serial_number': '022e0240e677ef2f6c9ce9006cc7be73', 'size': 1073741824, 'snap_collection_id': '0575a5e21cc205c609000000000000000000000004', 'snap_collection_name': 'adfsasfasfasf', 'target_name': 'iqn.2007-11.com.nimblestorage:group-ansibler1-va-g7321e77f009f2013', 'vol_id': '0675a5e21cc205c609000000000000000000000001', 'vol_name': 'vol1', 'vpd_ieee0': '022e0240e677ef2f', 'vpd_ieee1': '6c9ce9006cc7be73', 'vpd_t10': 'Nimble 022e0240e677ef2f6c9ce9006cc7be73', 'writable': False}], 'volume_collections': [{'volcoll2': {'id': '077321e77f009f2013000000000000000000000005', 'name': 'volcoll2'}}], 'volumes': [{'10.18.180.239-ansible-vol1': {'id': '067321e77f009f2013000000000000000000000230', 'name': '10.18.180.239-ansible-vol1'}}, {'changed-volname': {'id': '067321e77f009f201300000000000000000000022f', 'name': 'changed-volname'}}]} |
Authors
- HPE Nimble Storage Ansible Team (@ar-india) <nimble-dcs-storage-automation-eng@hpe.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/hpe/nimble/hpe_nimble_info_module.html