purestorage.flashblade.purefb_info – Collect information from Pure Storage FlashBlade
Note
This plugin is part of the purestorage.flashblade collection (version 1.7.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install purestorage.flashblade
.
To use it in a playbook, specify: purestorage.flashblade.purefb_info
.
New in version 1.0.0: of purestorage.flashblade
Synopsis
- Collect information from a Pure Storage FlashBlade running the Purity//FB operating system. By default, the module will collect basic information including hosts, host groups, protection groups and volume counts. Additional information can be collected based on the configured set of arguements.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.7
- purity_fb >= 1.9
- netaddr
- pytz
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
api_token string | FlashBlade API token for admin privileged user. | |
fb_url string | FlashBlade management IP address or Hostname. | |
gather_subset list / elements=string | Default: "minimum" | When supplied, this argument will define the information to be collected. Possible values for this include all, minimum, config, performance, capacity, network, subnets, lags, filesystems, snapshots, buckets, replication, policies, arrays, accounts, admins, ad and kerberos. |
Notes
Note
- This module requires the
purity_fb
Python library - You must set
PUREFB_URL
andPUREFB_API
environment variables if fb_url and api_token arguments are not passed to the module directly
Examples
- name: collect default set of info purefb_info: fb_url: 10.10.10.2 api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641 register: blade_info - name: show default information debug: msg: "{{ blade_info['purefb_info']['default'] }}" - name: collect configuration and capacity info purefb_info: gather_subset: - config fb_url: 10.10.10.2 api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641 register: blade_info - name: show config information debug: msg: "{{ blade_info['purefb_info']['config'] }}" - name: collect all info purefb_info: gather_subset: - all fb_url: 10.10.10.2 api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641 register: blade_info - name: show all information debug: msg: "{{ blade_info['purefb_info'] }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
purefb_info complex | always | Returns the information collected from the FlashBlade Sample: {'admins': {'another_user': {'api_token_timeout': None, 'local': False, 'public_key': None}, 'pureuser': {'api_token_timeout': None, 'local': True, 'public_key': None}}, 'capacity': {'aggregate': {'data_reduction': 1.1179228, 'snapshots': 0, 'total_physical': 17519748439, 'unique': 17519748439, 'virtual': 19585726464}, 'file-system': {'data_reduction': 1.3642412, 'snapshots': 0, 'total_physical': 4748219708, 'unique': 4748219708, 'virtual': 6477716992}, 'object-store': {'data_reduction': 1.0263462, 'snapshots': 0, 'total_physical': 12771528731, 'unique': 12771528731, 'virtual': 6477716992}, 'total': 83359896948925}, 'config': {'alert_watchers': {'enabled': True, 'name': '[email protected]'}, 'array_management': {'base_dn': None, 'bind_password': None, 'bind_user': None, 'enabled': False, 'name': 'management', 'services': ['management'], 'uris': []}, 'directory_service_roles': {'array_admin': {'group': None, 'group_base': None}, 'ops_admin': {'group': None, 'group_base': None}, 'readonly': {'group': None, 'group_base': None}, 'storage_admin': {'group': None, 'group_base': None}}, 'dns': {'domain': 'demo.acmestorage.com', 'name': 'demo-fb-1', 'nameservers': ['8.8.8.8'], 'search': ['demo.acmestorage.com']}, 'nfs_directory_service': {'base_dn': None, 'bind_password': None, 'bind_user': None, 'enabled': False, 'name': 'nfs', 'services': ['nfs'], 'uris': []}, 'ntp': ['0.ntp.pool.org'], 'smb_directory_service': {'base_dn': None, 'bind_password': None, 'bind_user': None, 'enabled': False, 'name': 'smb', 'services': ['smb'], 'uris': []}, 'smtp': {'name': 'demo-fb-1', 'relay_host': None, 'sender_domain': 'acmestorage.com'}, 'ssl_certs': {'certificate': '-----BEGIN CERTIFICATE-----\n\n-----END CERTIFICATE-----', 'common_name': 'Acme Storage', 'country': 'US', 'email': None, 'intermediate_certificate': None, 'issued_by': 'Acme Storage', 'issued_to': 'Acme Storage', 'key_size': 4096, 'locality': None, 'name': 'global', 'organization': 'Acme Storage', 'organizational_unit': 'Acme Storage', 'passphrase': None, 'private_key': None, 'state': None, 'status': 'self-signed', 'valid_from': '1508433967000', 'valid_to': '2458833967000'}}, 'default': {'blades': 15, 'buckets': 7, 'filesystems': 2, 'flashblade_name': 'demo-fb-1', 'object_store_accounts': 1, 'object_store_users': 1, 'purity_version': '2.2.0', 'snapshots': 1, 'total_capacity': 83359896948925}, 'filesystems': {'k8s-pvc-d24b1357-579e-11e8-811f-ecf4bbc88f54': {'destroyed': False, 'fast_remove': False, 'hard_limit': True, 'nfs_rules': '10.21.255.0/24(rw,no_root_squash)', 'provisioned': 21474836480, 'snapshot_enabled': False}, 'z': {'destroyed': False, 'fast_remove': False, 'hard_limit': False, 'provisioned': 1073741824, 'snapshot_enabled': False}}, 'lag': {'uplink': {'lag_speed': 0, 'port_speed': 40000000000, 'ports': [{'name': 'CH1.FM1.ETH1.1'}, {'name': 'CH1.FM1.ETH1.2'}], 'status': 'healthy'}}, 'network': {'fm1.admin0': {'address': '10.10.100.6', 'gateway': '10.10.100.1', 'mtu': 1500, 'netmask': '255.255.255.0', 'services': ['support'], 'type': 'vip', 'vlan': 2200}, 'fm2.admin0': {'address': '10.10.100.7', 'gateway': '10.10.100.1', 'mtu': 1500, 'netmask': '255.255.255.0', 'services': ['support'], 'type': 'vip', 'vlan': 2200}, 'nfs1': {'address': '10.10.100.4', 'gateway': '10.10.100.1', 'mtu': 1500, 'netmask': '255.255.255.0', 'services': ['data'], 'type': 'vip', 'vlan': 2200}, 'vir0': {'address': '10.10.100.5', 'gateway': '10.10.100.1', 'mtu': 1500, 'netmask': '255.255.255.0', 'services': ['management'], 'type': 'vip', 'vlan': 2200}}, 'performance': {'aggregate': {'bytes_per_op': 0, 'bytes_per_read': 0, 'bytes_per_write': 0, 'read_bytes_per_sec': 0, 'reads_per_sec': 0, 'usec_per_other_op': 0, 'usec_per_read_op': 0, 'usec_per_write_op': 0, 'write_bytes_per_sec': 0, 'writes_per_sec': 0}, 'http': {'bytes_per_op': 0, 'bytes_per_read': 0, 'bytes_per_write': 0, 'read_bytes_per_sec': 0, 'reads_per_sec': 0, 'usec_per_other_op': 0, 'usec_per_read_op': 0, 'usec_per_write_op': 0, 'write_bytes_per_sec': 0, 'writes_per_sec': 0}, 'nfs': {'bytes_per_op': 0, 'bytes_per_read': 0, 'bytes_per_write': 0, 'read_bytes_per_sec': 0, 'reads_per_sec': 0, 'usec_per_other_op': 0, 'usec_per_read_op': 0, 'usec_per_write_op': 0, 'write_bytes_per_sec': 0, 'writes_per_sec': 0}, 's3': {'bytes_per_op': 0, 'bytes_per_read': 0, 'bytes_per_write': 0, 'read_bytes_per_sec': 0, 'reads_per_sec': 0, 'usec_per_other_op': 0, 'usec_per_read_op': 0, 'usec_per_write_op': 0, 'write_bytes_per_sec': 0, 'writes_per_sec': 0}}, 'snapshots': {'z.188': {'destroyed': False, 'source': 'z', 'source_destroyed': False, 'suffix': '188'}}, 'subnet': {'new-mgmt': {'gateway': '10.10.100.1', 'interfaces': [{'name': 'fm1.admin0'}, {'name': 'fm2.admin0'}, {'name': 'nfs1'}, {'name': 'vir0'}], 'lag': 'uplink', 'mtu': 1500, 'prefix': '10.10.100.0/24', 'services': ['data', 'management', 'support'], 'vlan': 2200}}} |
Authors
- Pure Storage Ansible Team (@sdodsley) <pure-ansible-team@purestorage.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/purestorage/flashblade/purefb_info_module.html