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

Note

This plugin is part of the purestorage.flashblade collection (version 1.5.0).

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 Choices/Defaults Comments
access_control
string
    Choices:
  • nfs
  • smb
  • shared ←
  • independent
  • mode-bits
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
api_token
string
FlashBlade API token for admin privileged user.
delete_link
boolean
    Choices:
  • no ←
  • yes
Define if the filesystem can be deleted even if it has a replica link
discard_snaps
boolean
    Choices:
  • no ←
  • yes
Allow a filesystem to be demoted.
eradicate
boolean
    Choices:
  • no ←
  • yes
Define whether to eradicate the filesystem on delete or leave in trash.
fastremove
boolean
    Choices:
  • no ←
  • yes
Define whether the fast remove directory is enabled for the filesystem.
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
    Choices:
  • no ←
  • yes
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.
http
boolean
    Choices:
  • no ←
  • yes
Define whether to HTTP/HTTPS protocol is enabled for the filesystem.
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)
nfsv3
boolean
    Choices:
  • no
  • yes ←
Define whether to NFSv3 protocol is enabled for the filesystem.
nfsv4
boolean
    Choices:
  • no
  • yes ←
Define whether to NFSv4.1 protocol is enabled for the filesystem.
policy
string
Filesystem policy to assign to or remove from a filesystem.
policy_state
string
    Choices:
  • absent
  • present ←
Add or delete a policy from a filesystem
promote
boolean
    Choices:
  • no
  • yes
Promote/demote a filesystem.
Can only demote the file-system if it is in a replica-link relationship.
safeguard_acls
boolean
    Choices:
  • no
  • yes ←
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
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
    Choices:
  • no ←
  • yes
Define whether to SMB protocol is enabled for the filesystem.
smb_aclmode
string
    Choices:
  • shared ←
  • native
Specify the ACL mode for the SMB protocol.
Deprecated from Purity//FB 3.1.1. Use access_control instead.
snapshot
boolean
    Choices:
  • no ←
  • yes
Define whether a snapshot directory is enabled for the filesystem.
state
string
    Choices:
  • present ←
  • absent
Create, delete or modifies a filesystem.
user_quota
string
Default quota in M, G, T or P units for a user under this file system.
writable
boolean
    Choices:
  • no
  • yes
Define if a filesystem is writeable.

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
  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
  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
  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
  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
  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
  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
  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