dellemc.unity.nasserver (2.0.0) — module

Manage NAS servers on Unity storage system

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

Authors: P Srinivas Rao (@srinivas-rao5) <ansible.team@dell.com>

Install collection

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


Add to requirements.yml

  collections:
    - name: dellemc.unity
      version: 2.0.0

Description

Managing NAS servers on Unity storage system includes get, modification to the NAS servers.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

- name: Get Details of NAS Server
  dellemc.unity.nasserver:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nas_server_name: "{{nas_server_name}}"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify Details of NAS Server
  dellemc.unity.nasserver:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nas_server_name: "{{nas_server_name}}"
    nas_server_new_name: "updated_sample_nas_server"
    is_replication_destination: false
    is_backup_only: false
    is_multiprotocol_enabled: true
    allow_unmapped_user: true
    default_unix_user: "default_unix_sample_user"
    default_windows_user: "default_windows_sample_user"
    enable_windows_to_unix_username_mapping: true
    current_unix_directory_service: "LDAP"
    is_packet_reflect_enabled: true
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Enable replication for NAS Server on Local System
  dellemc.unity.nasserver:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nas_server_id: "nas_10"
    replication_reuse_resource: false
    replication_params:
      replication_name: "test_replication"
      destination_nas_server_name: "destination_nas"
      replication_mode: "asynchronous"
      rpo: 60
      replication_type: "local"
      destination_pool_name: "Pool_Ansible_Neo_DND"
      destination_sp: "SPA"
      is_backup: true
    replication_state: "enable"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Enable replication for NAS Server on Remote System
  dellemc.unity.nasserver:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nas_server_name: "dummy_nas"
    replication_reuse_resource: false
    replication_params:
      replication_name: "test_replication"
      destination_nas_server_name: "destination_nas"
      replication_mode: "asynchronous"
      rpo: 60
      replication_type: "remote"
      remote_system:
        remote_system_host: '10.10.10.10'
        remote_system_verifycert: false
        remote_system_username: 'test1'
        remote_system_password: 'test1!'
      destination_pool_name: "fastVP_pool"
      destination_sp: "SPA"
      is_backup: true
    replication_state: "enable"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Enable replication for NAS Server on Remote System in existing NAS Server
  dellemc.unity.nasserver:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nas_server_name: "dummy_nas"
    replication_reuse_resource: true
    replication_params:
      destination_nas_server_name: "destination_nas"
      replication_mode: "asynchronous"
      rpo: 60
      replication_type: "remote"
      replication_name: "test_replication"
      remote_system:
        remote_system_host: '10.10.10.10'
        remote_system_verifycert: false
        remote_system_username: 'test1'
        remote_system_password: 'test1!'
      destination_pool_name: "fastVP_pool"
    replication_state: "enable"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify replication on the nasserver
  dellemc.unity.nasserver:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nas_server_name: "dummy_nas"
    replication_params:
      replication_name: "test_repl"
      new_replication_name: "test_repl_updated"
      replication_mode: "asynchronous"
      rpo: 50
    replication_state: "enable"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Disable replication on the nasserver
  dellemc.unity.nasserver:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nas_server_name: "dummy_nas"
    replication_state: "disable"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Disable replication by specifying replication_name on the nasserver
  dellemc.unity.nasserver:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nas_server_name: "dummy_nas"
    replication_params:
      replication_name: "test_replication"
    replication_state: "disable"
    state: "present"

Inputs

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

state:
    choices:
    - present
    - absent
    description:
    - Define the state of NAS server on the array.
    - The value present indicates that NAS server should exist on the system after the
      task is executed.
    - In this release deletion of NAS server is not supported. Hence, if state is set
      to C(absent) for any existing NAS server then error will be thrown.
    - For any non-existing NAS server, if state is set to C(absent) then it will return
      None.
    required: true
    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

nas_server_id:
    description:
    - The ID of the NAS server.
    - Either I(nas_server_name) or I(nas_server_id) is required to perform the task.
    - The parameters I(nas_server_name) and I(nas_server_id) are mutually exclusive.
    type: str

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

is_backup_only:
    description:
    - It specifies whether the NAS server is used as backup only.
    - It can be mentioned during modification of the NAS server.
    type: bool

validate_certs:
    aliases:
    - verifycert
    default: true
    description:
    - Boolean variable to specify whether or not to validate SSL certificate.
    - C(true) - Indicates that the SSL certificate should be verified.
    - C(false) - Indicates that the SSL certificate should not be verified.
    type: bool

nas_server_name:
    description:
    - The Name of the NAS server.
    - Either I(nas_server_name) or I(nas_server_id)  is required to perform the task.
    - The parameters I(nas_server_name) and I(nas_server_id) are mutually exclusive.
    type: str

default_unix_user:
    description:
    - Default Unix user name used for granting access in the case of Windows to Unix user
      mapping failure.
    - It can be mentioned during modification of the NAS server.
    type: str

replication_state:
    choices:
    - enable
    - disable
    description:
    - State of the replication.
    type: str

replication_params:
    description:
    - Settings required for enabling replication.
    suboptions:
      destination_nas_server_name:
        description:
        - Name of the destination nas server.
        - Default value will be source nas server name prefixed by 'DR_'.
        type: str
      destination_pool_id:
        description:
        - Id of pool to allocate destination Luns.
        - Mutually exclusive with I(destination_pool_name).
        type: str
      destination_pool_name:
        description:
        - Name of pool to allocate destination Luns.
        - Mutually exclusive with I(destination_pool_id).
        type: str
      destination_sp:
        choices:
        - SPA
        - SPB
        description:
        - Storage process of destination nas server
        type: str
      is_backup:
        description:
        - Indicates if the destination nas server is backup.
        type: bool
      new_replication_name:
        description:
        - Replication name to rename the session to.
        type: str
      remote_system:
        description:
        - Details of remote system to which the replication is being configured.
        - The I(remote_system) option should be specified if the I(replication_type) is
          C(remote).
        suboptions:
          remote_system_host:
            description:
            - IP or FQDN for remote Unity unisphere Host.
            required: true
            type: str
          remote_system_password:
            description:
            - Password of remote Unity unisphere Host.
            required: true
            type: str
          remote_system_port:
            default: 443
            description:
            - Port at which remote Unity unisphere is hosted.
            type: int
          remote_system_username:
            description:
            - User name of remote Unity unisphere Host.
            required: true
            type: str
          remote_system_verifycert:
            default: true
            description:
            - Boolean variable to specify whether or not to validate SSL certificate of
              remote Unity unisphere Host.
            - C(true) - Indicates that the SSL certificate should be verified.
            - C(false) - Indicates that the SSL certificate should not be verified.
            type: bool
        type: dict
      replication_mode:
        choices:
        - asynchronous
        - manual
        description:
        - The replication mode.
        - This is mandatory to enable replication.
        type: str
      replication_name:
        description:
        - User defined name for replication session.
        type: str
      replication_type:
        choices:
        - local
        - remote
        description:
        - Type of replication.
        type: str
      rpo:
        description:
        - Maximum time to wait before the system syncs the source and destination LUNs.
        - The I(rpo) option should be specified if the I(replication_mode) is C(asynchronous).
        - The value should be in range of C(5) to C(1440).
        type: int
    type: dict

allow_unmapped_user:
    description:
    - This flag is used to mandatorily disable access in case of any user mapping failure.
    - If C(true), then enable access in case of any user mapping failure.
    - If C(false), then disable access in case of any user mapping failure.
    - It can be mentioned during modification of the NAS server.
    type: bool

nas_server_new_name:
    description:
    - The new name of the NAS server.
    - It can be mentioned during modification of the NAS server.
    type: str

default_windows_user:
    description:
    - Default windows user name used for granting access in the case of Unix to Windows
      user mapping failure.
    - It can be mentioned during modification of the NAS server.
    type: str

is_multiprotocol_enabled:
    description:
    - This parameter indicates whether multiprotocol sharing mode is enabled.
    - It can be mentioned during modification of the NAS server.
    type: bool

is_packet_reflect_enabled:
    description:
    - If the packet has to be reflected, then this parameter has to be set to C(true).
    - It can be mentioned during modification of the NAS server.
    type: bool

is_replication_destination:
    description:
    - It specifies whether the NAS server is a replication destination.
    - It can be mentioned during modification of the NAS server.
    type: bool

replication_reuse_resource:
    description:
    - This parameter indicates if existing NAS Server is to be used for replication.
    type: bool

current_unix_directory_service:
    choices:
    - NONE
    - NIS
    - LOCAL
    - LDAP
    - LOCAL_THEN_NIS
    - LOCAL_THEN_LDAP
    description:
    - This is the directory service used for querying identity information for UNIX (such
      as UIDs, GIDs, net groups).
    - It can be mentioned during modification of the NAS server.
    type: str

enable_windows_to_unix_username_mapping:
    description:
    - This parameter indicates whether a Unix to/from Windows user name mapping is enabled.
    - It can be mentioned during modification of the NAS server.
    type: bool

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: true
  type: bool
nas_server_details:
  contains:
    allow_unmapped_user:
      description: Enable/disable access status in case of any user mapping failure.
      type: bool
    current_unix_directory_service:
      description: Directory service used for querying identity information for UNIX
        (such as UIDs, GIDs, net groups).
      type: str
    default_unix_user:
      description: Default Unix user name used for granting access in the case of
        Windows to Unix user mapping failure.
      type: str
    default_windows_user:
      description: Default windows user name used for granting access in the case
        of Unix to Windows user mapping failure.
      type: str
    id:
      description: ID of the NAS server.
      type: str
    is_backup_only:
      description: Whether the NAS server is used as backup only.
      type: bool
    is_multi_protocol_enabled:
      description: Indicates whether multiprotocol sharing mode is enabled.
      type: bool
    is_packet_reflect_enabled:
      description: If the packet reflect has to be enabled.
      type: bool
    is_replication_destination:
      description: If the NAS server is a replication destination then true.
      type: bool
    is_windows_to_unix_username_mapping_enabled:
      description: Indicates whether a Unix to/from Windows user name mapping is enabled.
      type: bool
    name:
      description: Name of the NAS server.
      type: str
  description: The NAS server details.
  returned: When NAS server exists.
  sample:
    allow_unmapped_user: null
    cifs_server:
      UnityCifsServerList:
      - UnityCifsServer:
          hash: 8761756885270
          id: cifs_34
    current_sp:
      UnityStorageProcessor:
        hash: 8761756885273
        id: spb
    current_unix_directory_service: NasServerUnixDirectoryServiceEnum.NIS
    default_unix_user: null
    default_windows_user: null
    existed: true
    file_dns_server:
      UnityFileDnsServer:
        hash: 8761756885441
        id: dns_12
    file_interface:
      UnityFileInterfaceList:
      - UnityFileInterface:
          hash: 8761756889908
          id: if_37
    filesystems: null
    hash: 8761757005084
    health:
      UnityHealth:
        hash: 8761756867588
    home_sp:
      UnityStorageProcessor:
        hash: 8761756867618
        id: spb
    id: nas_10
    is_backup_only: false
    is_multi_protocol_enabled: false
    is_packet_reflect_enabled: false
    is_replication_destination: false
    is_replication_enabled: true
    is_windows_to_unix_username_mapping_enabled: null
    name: dummy_nas
    pool:
      UnityPool:
        hash: 8761756885360
        id: pool_7
    preferred_interface_settings:
      UnityPreferredInterfaceSettings:
        hash: 8761756885438
        id: preferred_if_10
    replication_type: ReplicationTypeEnum.REMOTE
    size_allocated: 3489660928
    tenant: null
    virus_checker:
      UnityVirusChecker:
        hash: 8761756885426
        id: cava_10
  type: dict