purestorage.flashblade.purefb_fs module – Manage filesystemon Pure Storage FlashBlade`

Note

This module is part of the purestorage.flashblade collection (version 1.10.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_fs.

New in version 1.0.0: of purestorage.flashblade

Synopsis

  • This module manages filesystems on Pure Storage FlashBlade.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.7

  • purity_fb >= 1.9

  • netaddr

  • pytz

Parameters

Parameter

Comments

access_control

string

The access control style that is utilized for client actions such as setting file and directory ACLs.

Only available from Purity//FB 3.1.1

Choices:

  • nfs

  • smb

  • shared ← (default)

  • independent

  • mode-bits

api_token

string

FlashBlade API token for admin privileged user.

boolean

Define if the filesystem can be deleted even if it has a replica link

Choices:

  • no ← (default)

  • yes

discard_snaps

boolean

Allow a filesystem to be demoted.

Choices:

  • no ← (default)

  • yes

eradicate

boolean

Define whether to eradicate the filesystem on delete or leave in trash.

Choices:

  • no ← (default)

  • yes

export_policy

string

added in 1.9.0 of purestorage.flashblade

Name of NFS export policy to assign to filesystem

Overrides nfs_rules

Only valid for Purity//FB 3.3.0 or higher

fastremove

boolean

Define whether the fast remove directory is enabled for the filesystem.

Choices:

  • no ← (default)

  • yes

fb_url

string

FlashBlade management IP address or Hostname.

group_quota

string

Default quota in M, G, T or P units for a group under this file system.

hard_limit

boolean

Define whether the capacity for a filesystem is a hard limit.

CAUTION This will cause the filesystem to go Read-Only if the capacity has already exceeded the logical size of the filesystem.

Choices:

  • no ← (default)

  • yes

http

boolean

Define whether to HTTP/HTTPS protocol is enabled for the filesystem.

Choices:

  • no ← (default)

  • yes

name

string / required

Filesystem Name.

nfs_rules

string

Define the NFS rules in operation.

If not set at filesystem creation time it defaults to *(rw,no_root_squash)

Supported binary options are ro/rw, secure/insecure, fileid_32bit/no_fileid_32bit, root_squash/no_root_squash, all_squash/no_all_squash and atime/noatime

Supported non-binary options are anonuid=#, anongid=#, sec=(sys|krb5)

Superceeded by export_policy if provided

nfsv3

boolean

Define whether to NFSv3 protocol is enabled for the filesystem.

Choices:

  • no

  • yes ← (default)

nfsv4

boolean

Define whether to NFSv4.1 protocol is enabled for the filesystem.

Choices:

  • no

  • yes ← (default)

policy

string

Filesystem policy to assign to or remove from a filesystem.

policy_state

string

Add or delete a policy from a filesystem

Choices:

  • absent

  • present ← (default)

promote

boolean

Promote/demote a filesystem.

Can only demote the file-system if it is in a replica-link relationship.

Choices:

  • no

  • yes

safeguard_acls

boolean

Safeguards ACLs on a filesystem.

Performs different roles depending on the filesystem protocol enabled.

See Purity//FB documentation for detailed description.

Only available from Purity//FB 3.1.1

Choices:

  • no

  • yes ← (default)

size

string

Volume size in M, G, T or P units. See examples.

If size is not set at filesystem creation time the filesystem size becomes unlimited.

smb

boolean

Define whether to SMB protocol is enabled for the filesystem.

Choices:

  • no ← (default)

  • yes

smb_aclmode

string

Specify the ACL mode for the SMB protocol.

Deprecated from Purity//FB 3.1.1. Use access_control instead.

Choices:

  • shared ← (default)

  • native

snapshot

boolean

Define whether a snapshot directory is enabled for the filesystem.

Choices:

  • no ← (default)

  • yes

state

string

Create, delete or modifies a filesystem.

Choices:

  • present ← (default)

  • absent

user_quota

string

Default quota in M, G, T or P units for a user under this file system.

writable

boolean

Define if a filesystem is writeable.

Choices:

  • no

  • yes

Notes

Note

  • This module requires the purity_fb Python library

  • You must set PUREFB_URL and PUREFB_API environment variables if fb_url and api_token arguments are not passed to the module directly

Examples

- name: Create new filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    size: 1T
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Delete filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    state: absent
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Recover filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Eradicate filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    state: absent
    eradicate: true
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Promote filesystem named foo ready for failover
  purestorage.flashblade.purefb_fs:
    name: foo
    promote: true
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Demote filesystem named foo after failover
  purestorage.flashblade.purefb_fs:
    name: foo
    promote: false
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Modify attributes of an existing filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    size: 2T
    nfsv3 : false
    nfsv4 : true
    user_quota: 10K
    group_quota: 25M
    nfs_rules: '10.21.200.0/24(ro)'
    snapshot: true
    fastremove: true
    hard_limit: true
    smb: true
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

Authors

  • Pure Storage Ansible Team (@sdodsley)