purestorage.flasharray.purefa_host – Manage hosts on Pure Storage FlashArrays

Note

This plugin is part of the purestorage.flasharray collection (version 1.6.2).

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
    Choices:
  • hpux
  • vms
  • aix
  • esxi
  • solaris
  • hitachi-vsp
  • oracle-vm-server
  • delete
  •  ←
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
    Choices:
  • fc
  • iscsi ←
  • nvme
  • mixed
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
    Choices:
  • absent
  • present ←
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 and PUREFA_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