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

From Get docs
Ansible/docs/2.11/collections/purestorage/flasharray/purefa host module


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

  • 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

  • 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

  • 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 #I, 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

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/purestorage/flasharray/purefa_host_module.html