dellemc.unity.dellemc_unity_filesystem (1.2.1) — module

Manage filesystem on Unity storage system

| "added in version" 1.1.0 of dellemc.unity"

Authors: Arindam Datta (@dattaarindam) <ansible.team@dell.com>, Meenakshi Dembi (@dembim) <ansible.team@dell.com>, Spandita Panigrahi (@panigs7) <ansible.team@dell.com>

preview | supported by community

Install collection

Install with ansible-galaxy collection install dellemc.unity:==1.2.1


Add to requirements.yml

  collections:
    - name: dellemc.unity
      version: 1.2.1

Description

Managing filesystem on Unity storage system includes- Create new filesystem, Modify snapschedule attribute of filesystem Modify filesystem attributes, Display filesystem details, Display filesystem snapshots, Display filesystem snapschedule, Delete snapschedule associated with the filesystem, Delete filesystem, Create new filesystem with quota configuration


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create FileSystem
  dellemc.unity.dellemc_unity_filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    pool_name: "pool_1"
    size: 5
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create FileSystem with quota configuration
  dellemc.unity.dellemc_unity_filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    pool_name: "pool_1"
    size: 5
    quota_config:
        grace_period: 8
        grace_period_unit: "days"
        default_soft_limit: 10
        is_user_quota_enabled: False
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Expand FileSystem size
  dellemc.unity.dellemc_unity_filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    size: 10
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Expand FileSystem size
  dellemc.unity.dellemc_unity_filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    size: 10
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify FileSystem smb_properties
  dellemc.unity.dellemc_unity_filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    smb_properties:
      is_smb_op_locks_enabled: True
      smb_notify_on_change_dir_depth: 5
      is_smb_notify_on_access_enabled: True
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify FileSystem Snap Schedule
  dellemc.unity.dellemc_unity_filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    filesystem_id: "fs_141"
    snap_schedule_id: "{{snap_schedule_id}}"
    state: "{{state_present}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get details of FileSystem using id
  dellemc.unity.dellemc_unity_filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    filesystem_id: "rs_405"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete a FileSystem using id
  dellemc.unity.dellemc_unity_filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    filesystem_id: "rs_405"
    state: "absent"

Inputs

    
port:
    default: 443
    description:
    - Port number through which communication happens with Unity management server.
    required: false
    type: int

size:
    description:
    - The size of the filesystem.
    type: int

state:
    choices:
    - absent
    - present
    description:
    - State variable to determine whether filesystem will exist or not.
    required: true
    type: str

is_thin:
    description:
    - Boolean variable, specifies whether or not it is a thin filesystem.
    type: bool

pool_id:
    description:
    - This is the ID of the pool where the filesystem will be created.
    - Either the pool_name or pool_id must be provided to create a new filesystem.
    type: str

cap_unit:
    choices:
    - GB
    - TB
    description:
    - The unit of the filesystem size. It defaults to 'GB', if not specified.
    type: str

password:
    description:
    - The password of the Unity management server.
    required: true
    type: str

username:
    description:
    - The username of the Unity management server.
    required: true
    type: str

pool_name:
    description:
    - This is the name of the pool where the filesystem will be created.
    - Either the pool_name or pool_id must be provided to create a new filesystem.
    type: str

verifycert:
    choices:
    - true
    - false
    default: true
    description:
    - Boolean variable to specify whether or not to validate SSL certificate.
    - True - Indicates that the SSL certificate should be verified.
    - False - Indicates that the SSL certificate should not be verified.
    required: false
    type: bool

description:
    description:
    - Description about the filesystem.
    - Description can be removed by passing empty string ("").
    type: str

quota_config:
    description:
    - Configuration for quota management. It contains optional parameters.
    suboptions:
      cap_unit:
        choices:
        - MB
        - GB
        - TB
        description:
        - Unit of default_soft_limit and default_hard_limit size.
        - Default unit is 'GB'.
        type: str
      default_hard_limit:
        description:
        - Default hard limit for user quotas and tree quotas.
        - If default_hard_limit is not set while creation of filesystem, it will be set
          to 0B by default.
        type: int
      default_soft_limit:
        description:
        - Default soft limit for user quotas and tree quotas.
        - If default_soft_limit is not set while creation of filesystem, it will be set
          to 0B by default.
        type: int
      grace_period:
        description:
        - Grace period set in quota configuration after soft limit is reached.
        - If grace_period is not set during creation of filesystem, it will be set to
          '7 days' by default.
        type: int
      grace_period_unit:
        choices:
        - minutes
        - hours
        - days
        description:
        - Unit of grace period.
        - Default unit is 'days'.
        type: str
      is_user_quota_enabled:
        description:
        - Indicates whether the user quota is enabled.
        - Parameters 'is_user_quota_enabled' and 'quota_policy' are mutually exclusive.
        - If is_user_quota_enabled is not set while creation of filesystem, it will be
          set to false by default.
        type: bool
      quota_policy:
        choices:
        - FILE_SIZE
        - BLOCKS
        description:
        - Quota policy set in quota configuration.
        - Parameters 'is_user_quota_enabled' and 'quota_policy' are mutually exclusive.
        - If quota_policy is not set while creation of filesystem, it will be set to "FILE_SIZE"
          by default.
        type: str
    type: dict

access_policy:
    choices:
    - NATIVE
    - UNIX
    - WINDOWS
    description:
    - Access policy of a filesystem.
    type: str

filesystem_id:
    description:
    - The id of the filesystem.It is mutually exclusive with 'filesystem_name'.
    - It can be used only for get, modify, or delete operations.
    required: false
    type: str

nas_server_id:
    description:
    - ID of the NAS server on which filesystem will be hosted.
    type: str

unispherehost:
    description:
    - IP or FQDN of the Unity management server.
    required: true
    type: str

data_reduction:
    description:
    - Boolean variable, specifies whether or not to enable compression. Compression is
      supported only for thin filesystem.
    type: bool

locking_policy:
    choices:
    - ADVISORY
    - MANDATORY
    description:
    - File system locking policies. These policy choices control whether the NFSv4 range
      locks must be honored.
    type: str

smb_properties:
    description:
    - Advance settings for SMB. It contains optional candidate variables.
    suboptions:
      is_smb_notify_on_access_enabled:
        description:
        - Indicates whether notifications of changes to directory file structure are enabled.
        type: bool
      is_smb_notify_on_write_enabled:
        description:
        - Indicates whether file write notifications are enabled on the file system.
        type: bool
      is_smb_op_locks_enabled:
        description:
        - Indicates whether opportunistic file locking is enabled on the file system.
        type: bool
      is_smb_sync_writes_enabled:
        description:
        - Indicates whether the synchronous writes option is enabled on the file system.
        type: bool
      smb_notify_on_change_dir_depth:
        description:
        - Integer variable, determines the lowest directory level to which the enabled
          notifications apply.
        - Minimum value is 1.
        type: int
    type: dict

tiering_policy:
    choices:
    - AUTOTIER_HIGH
    - AUTOTIER
    - HIGHEST
    - LOWEST
    description:
    - Tiering policy choices for how the storage resource data will be distributed among
      the tiers available in the pool.
    type: str

filesystem_name:
    description:
    - The name of the filesystem. Mandatory only for the create operation. All the operations
      are supported through 'filesystem_name'.
    - It is mutually exclusive with 'filesystem_id'.
    required: false
    type: str

nas_server_name:
    description:
    - Name of the NAS server on which filesystem will be hosted.
    type: str

snap_schedule_id:
    description:
    - This is the id of an existing snapshot schedule which is to be associated with the
      filesystem. This is mutually exclusive with snapshot schedule name. filesystem.
    required: false
    type: str

snap_schedule_name:
    description:
    - This is the name of an existing snapshot schedule which is to be associated with
      the filesystem. This is mutually exclusive with snapshot schedule id.
    required: false
    type: str

supported_protocols:
    choices:
    - NFS
    - CIFS
    - MULTIPROTOCOL
    description:
    - Protocols supported by the file system.
    - It will be overridden by NAS server configuration if NAS Server is Multiprotocol.
    type: str

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  type: bool
filesystem_details:
  contains:
    cifs_notify_on_change_dir_depth:
      description: Indicates the lowest directory level to which the enabled notifications
        apply, if any.
      type: int
    description:
      description: Description about the filesystem.
      type: str
    id:
      description: The system generated ID given to the filesystem.
      type: str
    is_cifs_notify_on_access_enabled:
      description: Indicates whether the system generates a notification when a user
        accesses the file system.
      type: bool
    is_cifs_notify_on_write_enabled:
      description: Indicates whether the system generates a notification when the
        file system is written to.
      type: bool
    is_cifs_op_locks_enabled:
      description: Indicates whether opportunistic file locks are enabled for the
        file system.
      type: bool
    is_cifs_sync_writes_enabled:
      description: Indicates whether the CIFS synchronous writes option is enabled
        for the file system.
      type: bool
    is_data_reduction_enabled:
      description: Whether or not compression enabled on this filesystem.
      type: bool
    is_thin_enabled:
      description: Indicates whether thin provisioning is enabled for this filesystem.
      type: bool
    name:
      description: Name of the filesystem.
      type: str
    nas_server:
      contains:
        nas_server:
          contains:
            id:
              description: The system ID given to the NAS Server.
              type: str
            name:
              description: The name of the NAS Server.
              type: str
          description: nas_server details.
          type: complex
      description: The NAS Server details on which this filesystem is hosted.
      type: complex
    pool:
      contains:
        UnityPool:
          contains:
            id:
              description: The system ID given to the pool.
              type: str
            name:
              description: The name of the storage pool.
              type: str
          description: Unity pool in which this filesystem is allocated.
          type: complex
      description: The pool in which this filesystem is allocated.
      type: complex
    quota_config:
      contains:
        default_hard_limit:
          description: Default hard limit for user quotas and tree quotas.
          type: int
        default_soft_limit:
          description: Default soft limit for user quotas and tree quotas.
          type: int
        grace_period:
          description: Grace period set in quota configuration after soft limit is
            reached.
          type: str
        is_user_quota_enabled:
          description: Indicates whether the user quota is enabled.
          type: bool
        quota_policy:
          description: Quota policy set in quota configuration.
          type: str
      description: Details of quota configuration of the filesystem created.
      type: complex
    size_total_with_unit:
      description: Size of the filesystem with actual unit.
      type: str
    snap_list:
      contains:
        snap_list:
          contains:
            id:
              description: The system ID given to the filesystem snapshot.
              type: str
            name:
              description: The name of the filesystem snapshot.
              type: str
          description: Filesystem snapshots.
          type: complex
      description: The list of snapshots of this filesystem.
      type: list
    snap_schedule_id:
      description: Indicates the id of the snap schedule associated with the filesystem.
      type: str
    snap_schedule_name:
      description: Indicates the name of the snap schedule associated with the filesystem.
      type: str
    tiering_policy:
      description: Tiering policy applied to this filesystem.
      type: str
  description: Details of the filesystem.
  returned: When filesystem exists
  type: complex