community.vmware.vmware_dvswitch_nioc (4.2.0) — module

Manage distributed switch Network IO Control

Authors: Joseph Andreatta (@vmwjoseph)

Install collection

Install with ansible-galaxy collection install community.vmware:==4.2.0


Add to requirements.yml

  collections:
    - name: community.vmware
      version: 4.2.0

Description

This module can be used to manage distributed switch Network IO Control configurations.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Enable NIOC
  community.vmware.vmware_dvswitch_nioc:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    switch: dvSwitch
    version: version3
    resources:
        - name: vmotion
          limit: -1
          reservation: 128
          shares_level: normal
        - name: vsan
          limit: -1
          shares_level: custom
          shares: 99
          reservation: 256
    state: present
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Disable NIOC
  community.vmware.vmware_dvswitch_nioc:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    switch: dvSwitch
    state: absent
  delegate_to: localhost

Inputs

    
port:
    default: 443
    description:
    - The port number of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PORT)
      will be used instead.
    type: int

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Enable or disable NIOC on the distributed switch.
    required: false
    type: str

switch:
    aliases:
    - dvswitch
    description:
    - The name of the distributed switch.
    required: true
    type: str

version:
    choices:
    - version2
    - version3
    description:
    - Network IO control version.
    required: false
    type: str

hostname:
    description:
    - The hostname or IP address of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_HOST)
      will be used instead.
    type: str

password:
    aliases:
    - pass
    - pwd
    description:
    - The password of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PASSWORD)
      will be used instead.
    type: str

username:
    aliases:
    - admin
    - user
    description:
    - The username of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_USER)
      will be used instead.
    type: str

resources:
    default: []
    description:
    - List of dicts containing.
    elements: dict
    required: false
    suboptions:
      limit:
        default: -1
        description:
        - The maximum allowed usage for a traffic class belonging to this resource pool
          per host physical NIC.
        type: int
      name:
        choices:
        - faultTolerance
        - hbr
        - iSCSI
        - management
        - nfs
        - vdp
        - virtualMachine
        - vmotion
        - vsan
        - backupNfc
        - nvmetcp
        description:
        - Resource name.
        required: true
        type: str
      reservation:
        default: 0
        description:
        - Ignored if NIOC version is set to version2
        - Amount of bandwidth resource that is guaranteed available to the host infrastructure
          traffic class.
        - If the utilization is less than the reservation, the extra bandwidth is used
          for other host infrastructure traffic class types.
        - Reservation is not allowed to exceed the value of limit, if limit is set.
        - Unit is Mbits/sec.
        - Ignored unless version is "version3".
        - Amount of bandwidth resource that is guaranteed available to the host infrastructure
          traffic class.
        type: int
      shares:
        description:
        - The number of shares allocated.
        - Ignored unless O(resources.shares_level=custom).
        type: int
      shares_level:
        choices:
        - low
        - normal
        - high
        - custom
        description:
        - The allocation level
        - The level is a simplified view of shares.
        - Levels map to a pre-determined set of numeric values for shares.
        type: str
    type: list

proxy_host:
    description:
    - Address of a proxy that will receive all HTTPS requests and relay them.
    - The format is a hostname or a IP.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PROXY_HOST)
      will be used instead.
    required: false
    type: str

proxy_port:
    description:
    - Port of the HTTP proxy that will receive all HTTPS requests and relay them.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PROXY_PORT)
      will be used instead.
    required: false
    type: int

validate_certs:
    default: true
    description:
    - Allows connection when SSL certificates are not valid. Set to V(false) when certificates
      are not trusted.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_VALIDATE_CERTS)
      will be used instead.
    type: bool

Outputs

dvswitch_nioc_status:
  description:
  - result of the changes
  returned: success
  type: str
resources_changed:
  description:
  - list of resources which were changed
  returned: success
  sample:
  - vmotion
  - vsan
  type: list