purestorage.flasharray.purefa_host – Manage hosts on Pure Storage FlashArrays
Note
This plugin is part of the purestorage.flasharray collection (version 1.11.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.flasharray
.
To use it in a playbook, specify: purestorage.flasharray.purefa_host
.
New in version 1.0.0: of purestorage.flasharray
Synopsis
- Create, delete or modify hosts on Pure Storage FlashArrays.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.7
- purestorage >= 1.19
- py-pure-client >= 1.6.0
- netaddr
- requests
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
api_token string | FlashArray API token for admin privileged user. | |
count integer | Number of hosts to be created in a multiple host creation Only supported from Purity//FA v6.0.0 and higher | |
digits integer | Default: 1 | Number of digits to use for multiple host count. This will pad the index number with zeros where necessary Only supported from Purity//FA v6.0.0 and higher Range is between 1 and 10 |
fa_url string | FlashArray management IPv4 address or Hostname. | |
host_password string | Sets the host password for CHAP authentication Password length between 12 and 255 characters To clear the username/password pair use clear as the password SETTING A PASSWORD IS NON-IDEMPOTENT | |
host_user string | Sets the host user name for CHAP authentication Required with host_password
To clear the username/password pair use clear as the password | |
iqn list / elements=string | List of IQNs of the host. | |
lun integer | LUN ID to assign to volume for host. Must be unique. If not provided the ID will be automatically assigned. Range for LUN ID is 1 to 4095. | |
name string / required | The name of the host. Note that hostnames are case-sensitive however FlashArray hostnames are unique and ignore case - you cannot have hosta and hostA
Multi-host support available from Purity//FA 6.0.0 ***NOTE*** Manual deletion of individual hosts created using multi-host will cause idempotency to fail Multi-host support only exists for host creation aliases: host | |
nqn list / elements=string | List of NQNs of the host. | |
personality string |
| Define which operating system the host is. Recommended for ActiveCluster integration. |
preferred_array list / elements=string | List of preferred arrays in an ActiveCluster environment. To remove existing preferred arrays from the host, specify delete. | |
protocol string |
| Defines the host connection protocol for volumes. DEPRECATED No longer a necessary parameter |
rename string | The name to rename to. Note that hostnames are case-sensitive however FlashArray hostnames are unique and ignore case - you cannot have hosta and hostA
| |
start integer | Default: 0 | Number at which to start the multiple host creation index Only supported from Purity//FA v6.0.0 and higher |
state string |
| Define whether the host should exist or not. When removing host all connected volumes will be disconnected. |
suffix string | Suffix string, if required, for multiple host create Host names will be formed as <name>#I<suffix>, where # is a placeholder for the host index See associated descriptions Only supported from Purity//FA v6.0.0 and higher | |
target_password string | Sets the target password for CHAP authentication Password length between 12 and 255 characters To clear the username/password pair use clear as the password SETTING A PASSWORD IS NON-IDEMPOTENT | |
target_user string | Sets the target user name for CHAP authentication Required with target_password
To clear the username/password pair use clear as the password | |
volume string | Volume name to map to the host. | |
wwns list / elements=string | List of wwns of the host. |
Notes
Note
- If specifying
lun
option ensure host support requested value - This module requires the
purestorage
andpy-pure-client
Python libraries - Additional Python librarues may be required for specific modules.
- You must set
PUREFA_URL
andPUREFA_API
environment variables if fa_url and api_token arguments are not passed to the module directly
Examples
- name: Create new AIX host purefa_host: name: foo personality: aix fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Create 10 hosts with index starting at 10 but padded with 3 digits purefa_host: name: foo personality: vms suffix: bar count: 10 start: 10 digits: 3 fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 state: present - name: Rename host foo to bar purefa_host: name: foo rename: bar fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Delete host purefa_host: name: foo fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 state: absent - name: Make host bar with wwn ports purefa_host: name: bar wwns: - 00:00:00:00:00:00:00 - 11:11:11:11:11:11:11 fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Make host bar with iSCSI ports purefa_host: name: bar iqn: - iqn.1994-05.com.redhat:7d366003913 fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Make host bar with NVMe ports purefa_host: name: bar nqn: - nqn.2014-08.com.vendor:nvme:nvm-subsystem-sn-d78432 fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Make mixed protocol host purefa_host: name: bar nqn: - nqn.2014-08.com.vendor:nvme:nvm-subsystem-sn-d78432 iqn: - iqn.1994-05.com.redhat:7d366003914 wwns: - 00:00:00:00:00:00:01 - 11:11:11:11:11:11:12 fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Map host foo to volume bar as LUN ID 12 purefa_host: name: foo volume: bar lun: 12 fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Disconnect volume bar from host foo purefa_host: name: foo volume: bar state: absent fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Add preferred arrays to host foo purefa_host: name: foo preferred_array: - array1 - array2 fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Delete preferred arrays from host foo purefa_host: name: foo preferred_array: delete fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Delete exisitng WWNs from host foo (does not delete host object) purefa_host: name: foo wwns: "" fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Set CHAP target and host username/password pairs purefa_host: name: foo target_user: user1 target_password: passwrodpassword host_user: user2 host_password: passwrodpassword fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592 - name: Delete CHAP target and host username/password pairs purefa_host: name: foo target_user: user target_password: clear host_user: user host_password: clear fa_url: 10.10.10.2 api_token: e31060a7-21fc-e277-6240-25983c6c4592
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/flasharray/purefa_host_module.html