community.vmware.vmware_host_sriov (4.2.0) — module

Manage SR-IOV settings on host

Authors: Viktor Tsymbalyuk (@victron)

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 configure, enable or disable SR-IOV functions on ESXi host.

Module does not reboot the host after changes, but puts it in output "rebootRequired" state.

User can specify an ESXi hostname or Cluster name. In case of cluster name, all ESXi hosts are updated.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: enable SR-IOV on vmnic0 with 8 functions
  community.vmware.vmware_host_sriov:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    esxi_hostname: "{{ esxi1 }}"
    vmnic: vmnic0
    sriov_on: true
    num_virt_func: 8
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: enable SR-IOV on already enabled interface vmnic0
  community.vmware.vmware_host_sriov:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    esxi_hostname: "{{ esxi1 }}"
    vmnic: vmnic0
    sriov_on: true
    num_virt_func: 8
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: enable SR-IOV on vmnic0 with big number of functions
  community.vmware.vmware_host_sriov:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    esxi_hostname: "{{ esxi1 }}"
    vmnic: vmnic0
    sriov_on: true
    num_virt_func: 100
  ignore_errors: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: disable SR-IOV on vmnic0
  community.vmware.vmware_host_sriov:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    esxi_hostname: "{{ esxi1 }}"
    vmnic: vmnic0
    sriov_on: false
    num_virt_func: 0

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

vmnic:
    description:
    - Interface name, like vmnic0.
    required: true
    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

sriov_on:
    description:
    - optional parameter, related to O(num_virt_func).
    - SR-IOV can be enabled only if O(num_virt_func) > 0.
    required: false
    type: bool

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

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

cluster_name:
    description:
    - Name of the cluster from which all host systems will be used.
    - This parameter is required if O(esxi_hostname) is not specified.
    type: str

esxi_hostname:
    description:
    - Name of the host system to work with.
    - This parameter is required if O(cluster_name) is not specified.
    - User can specify specific host from the cluster.
    type: str

num_virt_func:
    description:
    - number of functions to activate on interface.
    - 0 means SR-IOV disabled.
    - number greater than 0 means SR-IOV enabled.
    required: true
    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

host_sriov_diff:
  description:
  - contains info about SR-IOV status on vmnic before, after and requested changes
  - sometimes vCenter slowly update info, as result "after" contains same info as
    "before" need to run again in check_mode or reboot host, as ESXi requested
  returned: always
  sample:
    changed: true
    diff:
      after:
        host_test:
          maxVirtualFunctionSupported: 63
          numVirtualFunction: 0
          numVirtualFunctionRequested: 8
          rebootRequired: true
          sriovActive: false
          sriovCapable: true
          sriovEnabled: true
      before:
        host_test:
          maxVirtualFunctionSupported: 63
          numVirtualFunction: 0
          numVirtualFunctionRequested: 0
          rebootRequired: false
          sriovActive: false
          sriovCapable: true
          sriovEnabled: false
      changes:
        host_test:
          numVirtualFunction: 8
          rebootRequired: true
          sriovEnabled: true
  type: dict