dellemc.powerstore.network (3.2.0) — module

Manage networks for PowerStore

| "added in version" 1.3.0 of dellemc.powerstore"

Authors: Akash Shendge (@shenda1) <ansible.team@dell.com>

Install collection

Install with ansible-galaxy collection install dellemc.powerstore:==3.2.0


Add to requirements.yml

  collections:
    - name: dellemc.powerstore
      version: 3.2.0

Description

Managing networks on PowerStore Storage System includes getting details of network, modifying attributes of network and adding/removing IP ports to/from storage network.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get network details using ID
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW1"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get network details using name
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    network_name: "Default Management Network"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Rename the storage network
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    network_name: "Default Storage Network"
    new_name: "iSCSI Network"
    wait_for_completion: true
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Replace the IP's in the management network and re-register VASA vendor provider
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW1"
    addresses:
      - current_address: "100.230.x.x"
        new_address: "100.230.x.x"
      - current_address: "100.230.x.x"
        new_address: "100.230.x.x"
      - current_address: "100.230.x.x"
        new_address: "100.230.x.x"
    new_cluster_mgmt_address: "100.230.x.x"
    vasa_provider_credentials:
      username: "vmadmin"
      password: "{{vm_password}}"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Map port to the storage network
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW6"
    ports:
      - "IP1"
    port_state: "present-in-network"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Unmap port from the storage network
  dellemc.powerstore.network:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW6"
    ports:
      - "IP1"
    port_state: "absent-in-network"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Replace the IP's in the management network and re-register VASA vendor
        provider for X model
  dellemc.powerstore.network:
    array_ip: "{{array_ip1}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    network_id: "NW1"
    vlan_id: 0
    gateway: "100.231.x.x"
    mtu: 1500
    prefix_length: 24
    addresses:
      - current_address: "100.230.x.x"
        new_address: "100.231.x.x"
      - current_address: "100.230.x.x"
        new_address: "100.231.x.x"
      - current_address: "100.230.x.x"
        new_address: "100.231.x.x"
      - current_address: "100.230.x.x"
        new_address: "100.231.x.x"
      - current_address: "100.230.x.x"
        new_address: "100.231.x.x"
    new_cluster_mgmt_address: "100.231.x.x"
    vasa_provider_credentials:
      username: "vmadmin"
      password: "{{vm_password}}"
    esxi_credentials:
      - "node_id": "N1"
        "password": "{{node_password}}"
      - "node_id": "N2"
        "password": "{{node_password}}"
    state: "present"

Inputs

    
mtu:
    description:
    - Maximum Transmission Unit (MTU) packet size set on network interfaces, in bytes.
    type: int

port:
    description:
    - Port number for the PowerStore array.
    - If not passed, it will take 443 as default.
    type: int

user:
    description:
    - The username of the PowerStore host.
    required: true
    type: str

ports:
    description:
    - Ports to be mapped/unmapped to/from the storage network.
    elements: str
    type: list

state:
    choices:
    - absent
    - present
    description:
    - Define whether the network exist or not.
    required: true
    type: str

gateway:
    description:
    - Network gateway in IPv4 format. IP version.
    - Specify empty string to remove the gateway.
    type: str

timeout:
    default: 120
    description:
    - Time after which the connection will get terminated.
    - It is to be mentioned in seconds.
    type: int

vlan_id:
    description:
    - The ID of the VLAN.
    type: int

array_ip:
    description:
    - IP or FQDN of the PowerStore management system.
    required: true
    type: str

new_name:
    description:
    - New name of the network.
    type: str

password:
    description:
    - The password of the PowerStore host.
    required: true
    type: str

addresses:
    description:
    - IP addresses to add/remove in IPv4 format.
    elements: dict
    suboptions:
      current_address:
        description:
        - Existing IPv4 address.
        type: str
      new_address:
        description:
        - New IPv4 address.
        type: str
    type: list

network_id:
    description:
    - The ID of the network.
    type: str

port_state:
    choices:
    - present-in-network
    - absent-in-network
    description:
    - Specifies whether port should mapped/unmapped from the storage network.
    type: str

network_name:
    description:
    - The name of the network.
    - This parameter is added in 2.0.0.0.
    - Specify either I(network_name) or I(network_id) for any operation.
    type: str

prefix_length:
    description:
    - Network prefix length.
    type: int

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

esxi_credentials:
    description:
    - Credentials required for re-registering the ESXi hosts in the vCenter.
    - It should be passed only when ESXi host addresses or management network VLAN / prefix
      / gateway are changed during the reconfiguration of the PowerStore X model appliances.
    - This parameter is applicable only for PowerStore X model.
    - This parameter will be ignored if passed for PowerStore T model.
    elements: dict
    suboptions:
      node_id:
        description:
        - Node identifier corresponding to the ESXi host.
        required: true
        type: str
      password:
        description:
        - ESXi host root password.
        required: true
        type: str
    type: list

wait_for_completion:
    default: false
    description:
    - Flag to indicate if the operation should be run synchronously or asynchronously.
      C(true) signifies synchronous execution. By default, modify operation will run C(asynchronously).
    type: bool

new_cluster_mgmt_address:
    description:
    - New cluster management IP address in IPv4 format.
    type: str

storage_discovery_address:
    description:
    - New storage discovery IP address in IPv4 format.
    - Specify empty string to remove the storage discovery IP address.
    type: str

vasa_provider_credentials:
    description:
    - Credentials required for re-registering the VASA vendor provider during the reconfiguration
      of the cluster management IP address.
    suboptions:
      password:
        description:
        - VASA vendor provider password.
        required: true
        type: str
      username:
        description:
        - VASA vendor provider user name.
        required: true
        type: str
    type: dict

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool
job_details:
  contains:
    id:
      description: The ID of the job.
      type: str
  description: The job details.
  returned: When asynchronous task is performed.
  sample:
    description_l10n: Modify network parameters.
    end_time: '2022-01-06T07:39:05.846+00:00'
    estimated_completion_time: null
    id: be0d099c-a6cf-44e8-88d7-9be80ccae369
    parent_id: null
    phase: Completed
    phase_l10n: Completed
    progress_percentage: 100
    resource_action: modify
    resource_action_l10n: modify
    resource_id: nw6
    resource_name: null
    resource_type: network
    resource_type_l10n: network
    response_body: null
    response_status: null
    response_status_l10n: null
    root_id: be0d099c-a6cf-44e8-88d7-9be80ccae369
    start_time: '2022-01-06T07:39:05.47+00:00'
    state: COMPLETED
    state_l10n: Completed
    step_order: 23792565
    user: admin
  type: complex
network_details:
  contains:
    cluster_details:
      contains:
        appliance_count:
          description: Number of appliances configured in this cluster.
          type: int
        id:
          description: The unique identifier of the cluster.
          type: str
        management_address:
          description: The floating management IP address for the cluster in IPv4
            or IPv6 format.
          type: str
        name:
          description: The name of the cluster.
          type: str
        storage_discovery_address:
          description: The floating storage discovery IP address for the cluster in
            IPv4 or IPv6 format.
          type: str
      description: The details of the cluster.
      type: complex
    gateway:
      description: The gateway of the network.
      type: str
    id:
      description: The ID of the network.
      type: str
    ip_version:
      description: IP protocol version
      type: str
    member_ips:
      contains:
        address:
          description: IP address value, in IPv4 or IPv6 format.
          type: str
        appliance_id:
          description: Unique identifier of the appliance to which the IP address
            belongs.
          type: str
        id:
          description: Unique identifier of the IP address.
          type: str
        ip_port_id:
          description: Unique identifier of the port that uses this IP address to
            provide access to storage network services, such as iSCSI. This attribute
            can be set only for an IP address used by networks of type Storage.
          type: str
        name:
          description: Name of the IP address.
          type: str
        network_id:
          description: Unique identifier of the network to which the IP address belongs.
          type: str
        node_id:
          description: Unique identifier of the cluster node to which the IP address
            belongs.
          type: str
        purposes:
          description: IP address purposes.
          type: list
      description: Properties of the IP pool address.
      type: complex
    mtu:
      description: Maximum Transmission Unit (MTU) packet size set on network interfaces,
        in bytes.
      type: int
    name:
      description: The name of the network.
      type: str
    prefix_length:
      description: Network prefix length.
      type: int
    purposes:
      description: Purposes of the network.
      type: list
    type:
      description: Network type
      type: str
    vcenter_details:
      contains:
        address:
          description: IP address of vCenter host, in IPv4, IPv6, or hostname format.
          type: str
        id:
          description: Unique identifier of the vCenter instance.
          type: str
        instance_uuid:
          description: UUID instance of the vCenter.
          type: str
        username:
          description: User name to login to vCenter.
          type: str
        vendor_provider_status:
          description: General status of the VASA vendor provider in vCenter.
          type: str
      description: Details of the vcenter.
      type: complex
    vlan_id:
      description: VLAN identifier.
      type: int
  description: The network details.
  returned: When network exists.
  sample:
    cluster_details:
      appliance_count: 1
      chap_mode: Disabled
      compatibility_level: 10
      global_id: PS00d01e1bb312
      id: 0
      is_encryption_enabled: true
      management_address: 10.xx.xx.xx
      master_appliance_id: A1
      name: WN-D8977
      physical_mtu: 1500
      service_config_details: null
      state: Configured
      state_l10n: Configured
      storage_discovery_address: 10.xx.xx.xx
      system_time: '2022-02-04T11:18:37.441Z'
    gateway: 10.xx.xx.xx
    id: NW1
    ip_version: IPv4
    ip_version_l10n: IPv4
    member_ips:
    - address: 10.xx.xx.xx
      appliance_id: null
      id: IP1
      ip_port_id: null
      name: Default Management Network (10.xx.xx.xx)
      network_id: NW1
      node_id: null
      purposes:
      - Mgmt_Cluster_Floating
      purposes_l10n:
      - Mgmt_Cluster_Floating
    - address: 10.xx.xx.xx
      appliance_id: null
      id: IP2
      ip_port_id: null
      name: Default Management Network (10.xx.xx.xx)
      network_id: NW1
      node_id: null
      purposes:
      - Mgmt_Appliance_Floating
      purposes_l10n:
      - Mgmt_Appliance_Floating
    mtu: 1500
    name: Default Management Network
    prefix_length: 24
    purposes: []
    purposes_l10n: null
    type: Management
    type_l10n: Management
    vcenter_details:
      address: 10.xx.xx.xx
      id: 0d330d6c-3fe6-41c6-8023-5bd3fa7c61cd
      instance_uuid: c4c14fbb-828b-40f3-99bb-5bd4db723516
      username: administrator@vsphere.local
      vendor_provider_status: Online
      vendor_provider_status_l10n: Online
    vlan_id: 0
  type: complex