Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ansible / netapp_eseries / santricity / roles / nar_santricity_host
  ..
  defaults
  meta
  tasks
  templates
  README.md
Size: Mime:

nar_santricity_host

Configures storage pools, volumes, hosts, host groups, and port interfaces for NetApp E-Series storage arrays
using iSCSI, FC, SAS, IB, NVMe protocols.

Requirements

- Ansible 2.9 or later
- NetApp E-Series E2800 platform or newer or NetApp E-Series SANtricity Web Services Proxy configured for older E-Series Storage arrays.

Example Playbook

- hosts: eseries_storage_systems
  gather_facts: false
  collection:
    - netapp_eseries.santricity
  tasks:
  - name: Ensure NetApp E-Series storage system is properly configured
    import_role:
      name: nar_santricity_host

Example Storage System Inventory File (Discover storage system with proxy)

eseries_system_serial: "012345678901"   # Be sure to quote if the serial is all numbers and begins with zero.
eseries_system_password: admin_password
eseries_proxy_api_url: https://192.168.1.100:8443/devmgr/v2/
eseries_proxy_api_password: admin_password
eseries_subnet: 192.168.1.0/24
eseries_prefer_embedded: true
eseries_validate_certs: false

eseries_initiator_protocol: iscsi

# Controller port definitions
eseries_controller_iscsi_port_config_method: static
eseries_controller_iscsi_port_subnet_mask: 255.255.255.0
eseries_controller_iscsi_port:
  controller_a:
    - address: 192.168.2.100
    - address: 192.168.2.110
  controller_b:
    - address: 192.168.3.100
    - address: 192.168.3.110

# Storage pool and volume configuration
eseries_storage_pool_configuration:
  - name: pool[1-2]
    raid_level: raid6
    criteria_drive_count: 10
    volumes:
      - name: "[pool]_volume[A-C]"
        host: server_group
        size: 4096

Example Storage System Inventory File (Without storage system discovery)

eseries_system_api_url: https://192.168.1.200:8443/devmgr/v2/
eseries_system_password: admin_password
eseries_validate_certs: false

(...)   # Same as the previous example

Yet Another Example System Inventory File

eseries_system_api_url: https://192.168.1.200:8443/devmgr/v2/
eseries_system_password: admin_password
eseries_validate_certs: false

eseries_initiator_protocol: nvme_ib
eseries_controller_nvme_ib_port:
  controller_a:
    - 192.168.1.100
    - 192.168.1.110
  controller_b:
    - 192.168.2.100
    - 192.168.2.110

eseries_storage_pool_configuration:
  - name: vg[1-2]
    raid_level: raid6
    criteria_drive_count: 12
    criteria_volume_count: 4
    criteria_reserve_free_capacity_pct: 7
    common_volume_host: server_group

Role Variables

Note that when values are specified below, they indicate the default value.

# Web Services Embedded information
eseries_subnet:                   # Network subnet to search for the storage system specified in CIDR form. Example: 192.168.1.0/24
eseries_system_serial:            # Storage system serial number. Be sure to quote if the serial is all numbers and begins with zero. (This is located
                                  #     on a label at the top-left towards the front on the device)
eseries_system_addresses:         # Storage system management IP addresses. Only required when eseries_system_serial or eseries_system_api_url are not
                                  #     defined. When not specified, addresses will be populated with eseries_management_interfaces controller addresses.
eseries_system_api_url:           # Url for the storage system's for embedded web services rest api. Example: https://192.168.10.100/devmgr/v2
eseries_system_username: admin    # Username for the storage system's for embedded web services rest api
eseries_system_password:          # Password for the storage system's for embedded web services rest api and when the admin password has not been set
                                  #     eseries_system_password will be used to set it.
eseries_proxy_ssid:               # Arbitrary string for the proxy to represent the storage system. eseries_system_serial will be used when not defined.
eseries_template_api_url:         # Template for the web services api url. Default: https://0.0.0.0:8443/devmgr/v2/
eseries_prefer_embedded: false    # Overrides the default behavior of using Web Services Proxy when eseries_proxy_api_url is defined. This will only effect storage systems that have Embedded Web Services.
eseries_validate_certs: true      # Indicates Whether SSL certificates should be verified. Used for both embedded and proxy. Choices: true, false

# Web Services Proxy information
    Note: eseries_proxy_* variables are required to discover storage systems prior to SANtricity OS version 11.60.2.
eseries_proxy_api_url:         # Url for the storage system's for proxy web services rest api. Example: https://192.168.10.100/devmgr/v2
eseries_proxy_api_username:    # Username for the storage system's for proxy web services rest api.
eseries_proxy_api_password:    # Password for the storage system's for proxy web services rest api and when the admin password has not been set
                               #     eseries_proxy_api_password will be used to set it.

# Controller iSCSI Interface Port Default Policy Specifications
eseries_controller_iscsi_port_state: enabled         # Generally specifies whether a controller port definition should be applied Choices: enabled, disabled
eseries_controller_iscsi_port_config_method: dhcp    # General port configuration method definition for both controllers. Choices: static, dhcp
eseries_controller_iscsi_port_gateway:               # General port IPv4 gateway for both controllers.
eseries_controller_iscsi_port_subnet_mask:           # General port IPv4 subnet mask for both controllers.
eseries_controller_iscsi_port_mtu: 9000              # General port maximum transfer units (MTU) for both controllers. Any value greater than 1500 (bytes).
eseries_controller_iscsi_port:
  controller_a:         # Ordered list of controller A channel definition.
    - state:            # Whether the port should be enabled. Choices: enabled, disabled
      config_method:    # Port configuration method Choices: static, dhcp
      address:          # Port IPv4 address
      gateway:          # Port IPv4 gateway
      subnet_mask:      # Port IPv4 subnet_mask
      mtu:              # Port IPv4 mtu
  controller_b:         # Ordered list of controller B channel definition.
    - (...)             # Same as controller A but for controller B

# Controller InfiniBand iSER Interface Channel
eseries_controller_ib_iser_port:
  controller_a:    # Ordered list of controller A channel address definition.
    -              # Port IPv4 address for channel 1
    - (...)        # So on and so forth
  controller_b:    # Ordered list of controller B channel address definition.

# Controller NVMe over InfiniBand Interface Channel
eseries_controller_nvme_ib_port:
  controller_a:    # Ordered list of controller A channel address definition.
    -              # Port IPv4 address for channel 1
    - (...)        # So on and so forth
  controller_b:    # Ordered list of controller B channel address definition.

# Controller NVMe RoCE Interface Port Default Policy Specifications
eseries_controller_nvme_roce_port_state: enabled         # Generally specifies whether a controller port definition should be applied Choices: enabled, disabled
eseries_controller_nvme_roce_port_config_method: dhcp    # General port configuration method definition for both controllers. Choices: static, dhcp
eseries_controller_nvme_roce_port_gateway:               # General port IPv4 gateway for both controllers.
eseries_controller_nvme_roce_port_subnet_mask:           # General port IPv4 subnet mask for both controllers.
eseries_controller_nvme_roce_port_mtu: 9000              # General port maximum transfer units (MTU). Any value greater than 1500 (bytes).
eseries_controller_nvme_roce_port_speed: auto            # General interface speed. Value must be a supported speed or auto for automatically negotiating the speed with the port.
eseries_controller_nvme_roce_port:
  controller_a:         # Ordered list of controller A channel definition.
    - state:            # Whether the port should be enabled.
      config_method:    # Port configuration method Choices: static, dhcp
      address:          # Port IPv4 address
      subnet_mask:      # Port IPv4 subnet_mask
      gateway:          # Port IPv4 gateway
      mtu:              # Port IPv4 mtu
      speed:            # Port IPv4 speed
  controller_b:         # Ordered list of controller B channel definition.
    - (...)             # Same as controller A but for controller B

# Target discovery specifications
    Note: add the following to ansible-playbook command to update the chap secret: --extra-vars "eseries_target_chap_secret_update=True
eseries_target_name:                        # iSCSI target name that will be seen by the initiator
eseries_target_ping: True                   # Enables ICMP ping response from the configured iSCSI ports (boolean)
eseries_target_unnamed_discovery: True      # Whether the iSCSI target iqn should be returned when an initiator performs a discovery session.
eseries_target_chap_secret:                 # iSCSI chap secret. When left blank, the chap secret will be removed from the storage system.
eseries_target_chap_secret_update: False    # DO NOT REMOVE! Since na_santricity_iscsi_target cannot compare the chap secret with the current and chooses to always
                                            #     return changed=True, this flag is used to force the module to update the chap secret. It is preferable to
                                            #     leave this value False and to add the --extra-vars "eseries_target_chap_secret_update=True".

# Storage Pool Default Policy Specifications
eseries_storage_pool_state: present                   # Default storage pool state. Choices: present, absent
eseries_storage_pool_raid_level: raidDiskPool         # Default volume raid level. Choices: raid0, raid1, raid5, raid6, raidDiskPool
eseries_storage_pool_secure_pool: false               # Default for storage pool drive security. This flag will enable the security at rest feature. There
                                                      #    must be sufficient FDE or FIPS security capable drives. Choices: true, false
eseries_storage_pool_criteria_drive_count:            # Default storage pool drive count.
eseries_storage_pool_reserve_drive_count:             # Default reserve drive count for drive reconstruction for storage pools using dynamic disk pool and
                                                      #    the raid level must be set for raidDiskPool.
eseries_storage_pool_criteria_min_usable_capacity:    # Default minimum required capacity for storage pools.
eseries_storage_pool_criteria_drive_type:             # Default drive type for storage pools. Choices: hdd, ssd
eseries_storage_pool_criteria_drive_interface_type:   # Default interface type to use when selecting drives for the storage pool.
                                                      #    Choices: scsi, fibre, sata, pata, fibre520b, sas, sas4k, nvme4k
eseries_storage_pool_criteria_size_unit: gb           # Default unit size for all storage pool related sizing.
                                                      #    Choices: bytes, b, kb, mb, gb, tb, pb, eb, zb, yb
eseries_storage_pool_criteria_drive_min_size:         # Default minimum drive size for storage pools.
eseries_storage_pool_criteria_drive_max_size:         # Default maximum drive size for storage pools.
eseries_storage_pool_criteria_drive_require_da:       # Default for whether storage pools are required to have data assurance (DA) compatible drives.
                                                      #    Choices: true, false
eseries_storage_pool_criteria_drive_require_fde:      # Default for whether storage pools are required to have drive security compatible drives.
                                                      #    Choices: true, false
eseries_storage_pool_remove_volumes:                  # Default policy for deleting volumes prior to removing storage pools.
eseries_storage_pool_erase_secured_drives:            # Default policy for erasing the content drives during create and delete storage pool operations.
                                                      #    Choices: true, false
eseries_storage_pool_ddp_critical_threshold_pct:      # Default policy for dynamic disk pool alert critical threshold.
eseries_storage_pool_ddp_warning_threshold_pct:       # Default policy for dynamic disk pool alert warning threshold.

# Volume Default Policy Specifications
eseries_volume_state: present                         # Default volume state. Choices: present, absent
eseries_volume_size_unit: gb                          # Default unit size for all volume sizing options.
                                                      #    Choices: bytes, b, kb, mb, gb, tb, pb, eb, zb, yb, pct
eseries_volume_size:                                  # Default volume size or the presented size for thinly provisioned volumes.
eseries_volume_data_assurance_enabled:                # Default for whether data assurance(DA) is required to be enabled.
eseries_volume_segment_size_kb:                       # Default segment size measured in kib.
eseries_volume_read_cache_enable:                     # Default for read caching which will cache all read requests.
eseries_volume_read_ahead_enable:                     # Default for read ahead caching; this is good for sequential workloads to cache subsequent blocks.
eseries_volume_write_cache_enable:                    # Default for write caching which will cache all writes.
eseries_volume_write_cache_mirror_enable:             # Default for write cache mirroring which mirrors writes to both controller's cache.
eseries_volume_cache_without_batteries:               # Default for allowing caching when batteries are not present.
eseries_volume_thin_provision:                        # Default for whether volumes should be thinly provisioned.
eseries_volume_thin_volume_repo_size:                 # Default for actually allocated space for thinly provisioned volumes.
eseries_volume_thin_volume_max_repo_size:             # Default for the maximum allocated space allowed for thinly provisioned volumes.
eseries_volume_thin_volume_expansion_policy:          # Default thin volume expansion policy. Choices: automatic, manual
eseries_volume_thin_volume_growth_alert_threshold:    # Default thin volume growth alert threshold; this is the threshold for when the thin volume expansion
                                                      #    policy will be enacted. Allowable values are between and including 10% and 99%
eseries_volume_ssd_cache_enabled:                     # Default for ssd cache which will enable the volume to use an existing SSD cache on the storage array.
eseries_volume_host:                                  # Default host for all volumes; the value can be any host from the Ansible inventory. Any initiator may be
                                                      #    used whether connected or not since the storage array does not require connectivity in order to create
                                                      #    host objects.
eseries_volume_workload_name:                         # Default workload tag name
eseries_volume_workload_metadata:                     # Default workload metadata
eseries_volume_volume_metadata:                       # Default volume_metadata
eseries_volume_owning_controller                      # Default preferred owning controller
eseries_volume_allow_expansion: false                 # Default for whether volume expansions are permitted
eseries_volume_wait_for_initialization: false         # Default for whether volume creation with wait for initialization to complete

# Storage Pool-Volume Mapping Default Policy Specifications
eseries_lun_mapping_state: present    # Generally specifies whether a LUN mapping should be present. This is useful when adding a default host for all
                                      #    volumes. Choices: present, absent
eseries_lun_mapping_host:             # Default host for all volumes not specifically give a host either in common_volume_configuration or in
                                      #    eseries_storage_pool_configuration.

# Storage Pool-Volume Default Policy Specifications
   Name schemes: Storage pool and volume names can be used to specify a naming scheme to produce a list of storage pools and volumes. The scheme are defined by
                 brackets and can be used to specify a range of lowercase letters, uppercase letters, range of single digit numbers, any top-level inventory
                 variables, and the current defined storage pool (volume only).
eseries_storage_pool_configuration:
  - name:                                      # Name or name scheme (see above) for the storage pool.
    state:                                     # Specifies whether the storage pool should exist (present, absent). When removing an existing storage array all of the
                                               #    volumes must be defined with state=absent.
    raid_level                                 # Volume group raid level. Choices: raid0, raid1, raid5, raid6, raidDiskPool (Default: raidDiskPool)
    secure_pool:                               # Default for storage pool drive security. This flag will enable the security at rest feature. There must be sufficient FDE
                                               #    or FIPS security capable drives. Choices: true, false
    criteria_drive_count:                      # Default storage pool drive count.
    criteria_volume_count:                     # Number of equally sized volumes to create. All available storage pool space will be used. The option will be ignored
                                               #    if volumes is defined.
    criteria_reserve_free_capacity_pct         # Percent of reserve free space capacity to leave when creating the criteria_volume_count volumes.
    common_volume_host                         # Host or host group for the criteria_volume_count volumes should be mapped.
    reserve_drive_count:                       # Default reserve drive count for drive reconstruction for storage pools using dynamic disk pool and the raid level must be
                                               #    set for raidDiskPool.
    criteria_size_unit:                        # Unit size for all storage pool related sizing. Choices: bytes, b, kb, mb, gb, tb, pb, eb, zb, yb, pct
    criteria_min_usable_capacity:              # Minimum required capacity for storage pools.
    criteria_drive_type:                       # Drive type for storage pools. Choices: hdd, ssd
    criteria_drive_interface_type              # Interface type to use when selecting drives for the storage pool. Choices: scsi, fibre, sata, pata, fibre520b, sas, sas4k, nvme4k
    criteria_drive_min_size:                   # Minimum drive size for storage pools.
    criteria_drive_max_size:                   # Maximum drive size for storage pools.
    criteria_drive_require_da:                 # Whether storage pools are required to have data assurance (DA) compatible drives. Choices: true, false
    criteria_drive_require_fde:                # Whether storage pools are required to have drive security compatible drives. Choices: true, false
    remove_volumes:                            # Policy for deleting volumes prior to removing storage pools.
    erase_secured_drives:                      # Policy for erasing the content drives during create and delete storage pool operations. Choices: true, false
    common_volume_configuration:               # Any option that can be specified at the volume level can be generalized here at the storage pool level. This is useful when
                                               #    all volumes share common configuration definitions.
    volumes:                                   # List of volumes associated the storage pool.
      - state:                                 # Specifies whether the volume should exist (present, absent)
        name:                                  # (required) Name or name scheme (see above) for the volume(s) to be created in the storage pool(s)
        host:                                  # host or host group for the volume should be mapped to.
        host_type:                             # Only required when using something other than Linux kernel 3.10 or later with DM-MP (Linux DM-MP),
                                               #     non-clustered Windows (Windows), or the storage system default host type is incorrect. Common definitions below:
                                               #     - AIX MPIO: The Advanced Interactive Executive (AIX) OS and the native MPIO driver
                                               #     - AVT 4M: Silicon Graphics, Inc. (SGI) proprietary multipath driver; refer to the SGI installation documentation for more information
                                               #     - HP-UX: The HP-UX OS with native multipath driver
                                               #     - Linux ATTO: The Linux OS and the ATTO Technology, Inc. driver (must use ATTO FC HBAs)
                                               #     - Linux DM-MP: The Linux OS and the native DM-MP driver
                                               #     - Linux Pathmanager: The Linux OS and the SGI proprietary multipath driver; refer to the SGI installation documentation for more information
                                               #     - Mac: The Mac OS and the ATTO Technology, Inc. driver
                                               #     - ONTAP: FlexArray
                                               #     - Solaris 11 or later: The Solaris 11 or later OS and the native MPxIO driver
                                               #     - Solaris 10 or earlier: The Solaris 10 or earlier OS and the native MPxIO driver
                                               #     - SVC: IBM SAN Volume Controller
                                               #     - VMware: ESXi OS
                                               #     - Windows: Windows Server OS and Windows MPIO with a DSM driver
                                               #     - Windows Clustered: Clustered Windows Server OS and Windows MPIO with a DSM driver
                                               #     - Windows ATTO: Windows OS and the ATTO Technology, Inc. driver
        size:                                  # Size of the volume or presented size of the thinly provisioned volume.
        size_unit:                             # Unit size for the size, thin_volume_repo_size, and thin_volume_max_repo_size
                                               #    Choices: bytes, b, kb, mb, gb, tb, pb, eb, zb, yb, pct
        segment_size_kb:                       # Indicates the amount of data stored on a drive before moving on to the next drive in the volume group. Does not apply to pool volumes.
        thin_provision:                        # Whether volumes should be thinly provisioned.
        thin_volume_repo_size:                 # Actually allocated space for thinly provisioned volumes.
        thin_volume_max_repo_size:             # Maximum allocated space allowed for thinly provisioned volumes.
        thin_volume_expansion_policy:          # Thin volume expansion policy. Choices: automatic, manual
        thin_volume_growth_alert_threshold:    # Thin volume growth alert threshold; this is the threshold for when the thin volume expansion
                                               #    policy will be enacted. Allowable values are between and including 10% and 99%
        ssd_cache_enabled:                     # Enables ssd cache which will enable the volume to use an existing SSD cache on the storage array.
        data_assurance_enabled:                # Enables whether data assurance(DA) is required to be enabled.
        read_cache_enable:                     # Enables read caching which will cache all read requests.
        read_ahead_enable:                     # Enables read ahead caching; this is good for sequential workloads to cache subsequent blocks.
        write_cache_enable:                    # Enables write caching which will cache all writes.
        write_cache_mirror_enable:             # Enables write cache mirroring which mirrors writes to both controller's cache.
        workload_name:                         # Name of the volume's workload. This can be defined using the metadata option or, if already defined, specify one already
                                               #    created on the storage array.
        workload_metadata:                     # Dictionary containing arbitrary entries normally used for defining the volume(s) workload.
        volume_metadata                        # Dictionary containing arbitrary entries used to define information about the volume itself.
                                               #    Note: format_type, format_options[0-9]?, mount_directory, mount_options[0-9]? are used by netapp_eseries.host.mount role to format and mount volumes.
        allow_expansion:                       # Whether volume expansions are permitted
        wait_for_initialization:               # Whether volume creation with wait for initialization to complete

# Snapshot Consistency Group Default Policy Specifications
eseries_snapshot_remove_unspecified:                      # Whether to remove any snapshot group or view that is not specified (Default: false).
eseries_snapshot_groups_maximum_snapshots:                # Default maximum point-in-time snapshot images (Default: 32).
eseries_snapshot_groups_reserve_capacity_pct:             # Default reserve capacity percentage (Default: 40)
eseries_snapshot_groups_preferred_reserve_storage_pool:   # Preferred storage pool or volume group for the reserve capacity volume.
eseries_snapshot_groups_reserve_capacity_full_policy:     # Default full reserve capacity policy (Default: purge). Choices: [purge, reject]
eseries_snapshot_groups_alert_threshold_pct:              # Default reserve capacity percentage full to alert administrators (Default 75).
eseries_snapshot_groups:
  - name:                                                 # Name of snapshot consistency group.
    maximum_snapshots:                                    # Maximum allowed snapshot point-in-time images for consistency group (Default: 32).
    reserve_capacity_pct:                                 # Reserve capacity measured as a percentage of the base volume (Default: 40). Reserve capacity can be expanded
                                                          #   and trimmed; however, the trim operation requires there be no base volume snapshots images in the group.
    reserve_capacity_full_policy:                         # Policy to implement when reserve capacity is full (Default: purge). Choices [purge, reject]
    alert_threshold_pct:                                  # Reserve capacity full alert threshold for storage system administrators (Default: 75).
    rollback_priority:                                    # Storage system priority for base volume rollback (Default: medium). Choices [lowest, low, medium, high, highest]
    volumes:                                              # Information for each volume in the consistency group.
      - volume:                                           # Base volume name
        reserve_capacity_pct:                             # Reserve capacity measured as a percentage of the base volume (Default: 40). Reserve capacity can be expanded
                                                          #   and trimmed; however, the trim operation requires there be no base volume snapshots images in the group.
        preferred_reserve_storage_pool:                   # Preferred reserve capacity storage pool or volume group. This will default to the base volume's
                                                          #   storage pool or volume group. The reserve capacity volume cannot be changed once created.
      - (...)

# Snapshot Consistency Group View Default Policy Specifications
eseries_snapshot_views_host:                              # Default host or host group to map all snapshot volumes.
eseries_snapshot_views_reserve_capacity_pct:              # Default reserve capacity percentage (Default: 40)
eseries_snapshot_views_preferred_reserve_storage_pool:    # Preferred storage pool or volume group for the reserve capacity volume.
eseries_snapshot_views_alert_threshold_pct:               # Default reserve capacity percentage full to alert administrators (Default 75).
eseries_snapshot_views_writable:                          # Default for whether to make snapshot volumes writable.
eseries_snapshot_views_validate:                          # Default for whether to validate snapshot volumes after creation.
eseries_snapshot_views:
  - volume:                                               # Consistency group's snapshot view's name.
    group_name:                                           # Snapshot consistency group's name.
    pit_name:                                             # Point-in-time snapshot images group name. (Only available when specified using Ansible na_santricity_module (via direct or role)
    pit_timestamp:                                        # Point-in-time snapshot images group timestamp. Snapshot image timestamp in the YYYY-MM-DD HH:MM:SS (AM|PM) (hours, minutes, seconds, and day-period are optional)
    host:                                                 # Host or host group to map snapshot volumes.
    writable:                                             # Whether snapshot volume of base volume images should be writable.
    validate:                                             # Whether snapshot volume should be validated which includes both a media scan and parity validation.
    reserve_capacity_pct:                                 # Percentage of base volume capacity to reserve for snapshot copy-on-writes (COW). Only used when snapshot volume is writable.
    preferred_reserve_storage_pool:                       # Preferred storage pool or volume group for the reserve capacity volume.
    alert_threshold:                                      # Reserve capacity percentage full to alert administrators
    volumes:                                              # (Optional) Select subset of volumes within the snapshot consistency group.
      - name:                                             # Name of volume within consistency group.
        host:                                             # Host or host group to map snapshot volumes.
        lun:                                              # Logical unit number (LUN) mapping for the host or host group.
        writable:                                         # Whether snapshot volume of base volume images should be writable.
        validate:                                         # Whether snapshot volume should be validated which includes both a media scan and parity validation.
        reserve_capacity_pct:                             # Percentage of base volume capacity to reserve for snapshot copy-on-writes (COW). Only used when snapshot volume is writable.
        preferred_reserve_storage_pool:                   # Preferred storage pool or volume group for the reserve capacity volume.

# Snapshot Consistency Group Rollback Default Policy Specifications
eseries_snapshot_rollback_priority: medium                # Default point-in-time rollback priority (Default: medium). Choices [lowest, low, medium, high, highest]
eseries_snapshot_rollback_backup: true                    # Default whether snapshot should be taken prior to rolling back base volumes (Default: true).
eseries_snapshot_rollbacks:
  - group_name:                                           # Snapshot consistency group's name.
    pit_name:                                             # Point-in-time snapshot images group name (Only available when specified using Ansible na_santricity_module (via direct or role)
    pit_timestamp:                                        # Point-in-time snapshot images group timestamp. Snapshot image timestamp in the YYYY-MM-DD HH:MM:SS (AM|PM) (hours, minutes, seconds, and day-period are optional)
    rollback_priority:                                    # Storage system priority for base volume rollback (Default: medium). Choices [lowest, low, medium, high, highest]
    rollback_backup:                                      # Whether to create point-in-time snapshot images of the consistency group prior to rollback.
    volumes:

# Initiator-Target Protocol Variable Defaults
    Note that the following commands need to produce a unique list of IQNs or WWNs of the interfaces used, line separated. Overwrite as necessary.
eseries_initiator_protocol: fc     # This variable defines which protocol the storage array will use. Choices: fc, iscsi, sas, ib_iser, ib_srp, nvme_ib, nvme_fc, nvme_roce
eseries_initiator_command:
  fc:
    linux: "cat /sys/class/fc_host/host*/port_name | sort | uniq"
    windows: "(Get-InitiatorPort | Where-Object -P ConnectionType -EQ 'Fibre Channel' | Select-Object -Property PortAddress |
               Format-Table -AutoSize -HideTableHeaders | Out-String).trim()"
  iscsi:
    linux: "grep -o iqn.* /etc/iscsi/initiatorname.iscsi"
    windows: "(get-initiatorPort | select-object -property nodeaddress | sort-object | get-unique | ft -autoSize | out-string -stream |
               select-string iqn | out-string).trim()"
  sas:
    # NetApp IMT for SAS attached E-Series SAN hosts recommends adding all possible SAS addresses with the base address
    # starting at 0, and the last address ending in 3 for single port HBAs, or 7 for dual port HBAs. Since determining
    # single vs . dual port HBAs adds complexity, we always add all 8 possible permutations of the SAS address.
    linux: "cat /sys/class/sas_host/host*/device/scsi_host/*/host_sas_address | sort | uniq"
    windows: "(Get-InitiatorPort | Where-Object -P ConnectionType -EQ 'SAS' | Select-Object -Property PortAddress | Format-Table -AutoSize -HideTableHeaders | Out-String).trim()"
  ib_iser:
    linux: "grep -o iqn.* /etc/iscsi/initiatorname.iscsi"
    windows: ""   # add windows command for determining host iqn address(es)
  ib_srp:
    linux: "for fp in /sys/class/infiniband/*/ports/*/gids/*; do out=`cat $fp | tr -d :`; port=`expr substr $out 17 32`; if [ $port != 0000000000000000 ]; then echo 0x$port; fi; done | sort | uniq"
    windows: ""   # add windows command for determining host guid
  nvme_ib:
    linux: "grep -o nqn.* /etc/nvme/hostnqn"
    windows: ""   # add windows command for determining host nqn address(es)
  nvme_fc:
    linux: "grep -o nqn.* /etc/nvme/hostnqn"
    windows: ""   # add windows command for determining host nqn address(es)
  nvme_roce:
    linux: "grep -o nqn.* /etc/nvme/hostnqn"
    windows: ""   # add windows command for determining host nqn address(es)

# Manual host definitions, Linux and Windows systems can be automatically populated based on host mappings found in eseries_storage_pool_configuration
eseries_host_force_port: true                 # Default for whether ports are to be allowed to be re-assigned (boolean)
eseries_host_remove_unused_hostgroup: true    # Forces any unused groups to be removed
eseries_host_object:
  - name:         # Host label as referenced by the storage array.
    state:        # Specifies whether host definition should be exist. Choices: present, absent
    ports:        # List of port definitions
      - type:     # Port protocol definition (iscsi, fc, sas, ib, nvme). Note that you should use 'iscsi' prior to Santricity version 11.60 for IB iSER.
        label:    # Arbitrary port label
        port:     # Port initiator (iqn, wwn, etc)
    group:        # Host's host group
    host_type:    # Only required when using something other than Linux kernel 3.10 or later with DM-MP (Linux DM-MP),
                  #     non-clustered Windows (Windows), or the storage system default host type is incorrect. Common definitions below:
                  #     - AIX MPIO: The Advanced Interactive Executive (AIX) OS and the native MPIO driver
                  #     - AVT 4M: Silicon Graphics, Inc. (SGI) proprietary multipath driver; refer to the SGI installation documentation for more information
                  #     - HP-UX: The HP-UX OS with native multipath driver
                  #     - Linux ATTO: The Linux OS and the ATTO Technology, Inc. driver (must use ATTO FC HBAs)
                  #     - Linux DM-MP: The Linux OS and the native DM-MP driver
                  #     - Linux Pathmanager: The Linux OS and the SGI proprietary multipath driver; refer to the SGI installation documentation for more information
                  #     - Mac: The Mac OS and the ATTO Technology, Inc. driver
                  #     - ONTAP: FlexArray
                  #     - Solaris 11 or later: The Solaris 11 or later OS and the native MPxIO driver
                  #     - Solaris 10 or earlier: The Solaris 10 or earlier OS and the native MPxIO driver
                  #     - SVC: IBM SAN Volume Controller
                  #     - VMware: ESXi OS
                  #     - Windows: Windows Server OS and Windows MPIO with a DSM driver
                  #     - Windows Clustered: Clustered Windows Server OS and Windows MPIO with a DSM driver
                  #     - Windows ATTO: Windows OS and the ATTO Technology, Inc. driver

License

BSD-3-Clause

Author Information

Nathan Swartz (@ndswartz)