On this page
purestorage.flasharray.purefa_host – Manage hosts on Pure Storage FlashArrays
Note
This plugin is part of the purestorage.flasharray collection (version 1.5.1).
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 if protocol is iscsi or mixed.
|
|
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 if protocol is nvme or mixed.
|
|
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.
|
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 if protocol is fc or mixed.
|
Notes
Note
- If specifying
lun
option ensure host support requested value - This module requires the
purestorage
Python library - 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
protocol: fc
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
protocol: iscsi
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
protocol: nvme
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
protocol: mixed
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
- 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/purestorage/flasharray/purefa_host_module.html