vm_nic – Handles actions over network interfaces
Use vm_nics to perform actions over network interfaces (NIC) on a specified virtual machine.
Can create, update or delete specified network interfaces.
A single NIC can be identified by - type and vlan, or - type and mac
New in version 0.0.1.
Examples
- name: Set NIC interface
scale_computing.hypercore.vm_nic:
vm_name: XLAB-demo-vm
force_reboot: true
shutdown_timeout: "{{ '5minutes' | community.general.to_time_unit('seconds') }}"
items:
- vlan: 0
type: RTL8139
state: set
- name: Remove all nic interfces
scale_computing.hypercore.vm_nic:
vm_name: XLAB-demo-vm
items: []
state: set
- name: Add/Update NICs interface
scale_computing.hypercore.vm_nic:
vm_name: XLAB-demo-vm
items:
- vlan: 1
type: virtio
- vlan: 2
type: RTL8139
state: present
- name: Remove one NIC interface
scale_computing.hypercore.vm_nic:
vm_name: XLAB-demo-vm
items:
- vlan: 1
type: virtio
state: absent
- name: Change VLAN on NIC
scale_computing.hypercore.vm_nic:
vm_name: XLAB-demo-vm
items:
- vlan: 1
vlan_new: 10
state: set
- name: Set NIC interfaces on multiple virtual machines
scale_computing.hypercore.vm_nic:
vm_name: "{{ item }}"
items:
- vlan: 0
type: RTL8139
state: present
loop:
- XLAB-demo-vm
- XLAB-POST-TEST
- XLAB-us11-example6
- name: Change mac on NIC
scale_computing.hypercore.vm_nic:
vm_name: XLAB-demo-vm
items:
- vlan: 1
mac_new: 01:23:45:67:89:AB
state: set
Notes
Note
check_mode is not supported.
Parameters
- cluster_instance (optional)
Scale Computing HyperCore instance information.
type: dict- host (required)
The HyperCore instance URL.
If not set, the value of the
SC_URLenvironment variable will be used.For example “https://10.1.2.3:443”.
type: str- password (required)
Password used for authentication.
If not set, the value of the
SC_PASSWORDenvironment variable will be used.type: str- timeout (optional)
Timeout in seconds for the connection with the Scale Computing HyperCore API instance.
If not set, the value of the
SC_TIMEOUTenvironment variable will be used.type: float- username (required)
Username used for authentication.
If not set, the value of the
SC_USERNAMEenvironment variable will be used.type: str
- force_reboot (optional)
Can VM be forced to power off and on.
Only used when modifications to the VM require it to be powered off and VM does not respond to a shutdown request within shutdown_timeout limit.
Before this is utilized, a shutdown request is sent.
type: bool- items (optional)
List of network interfaces.
type: list- connected (optional)
Is network interface connected or not.
type: booldefault: True- mac (optional)
Mac address of the network interface.
type: str- mac_new (optional)
Used to change mac address on the network interface.
type: str- type (optional)
Defines type of the network interface.
type: strdefault: virtiochoices: virtio, RTL8139, INTEL_E1000- vlan (optional)
Network interface virtual LAN.
type: int- vlan_new (optional)
Used to swap network interface to a different virtual LAN.
type: int
- shutdown_timeout (optional)
How long does ansible controller wait for VMs response to a shutdown request.
In seconds.
type: floatdefault: 300- state (required)
State defines which operation should plugin do over selected network interfaces.
type: strchoices: present, absent, set- vm_name (required)
Virtual machine name.
Used to identify selected virtual machine by name.
type: str
Return Values
- records
The created or changed record for nic on a specified virtual machine.
sample:
- connected: true ipv4_addresses: [] mac: 12-34-56-78-AB type: virtio uuid: 07a2a68a-0afa-4718-9c6f-00a39d08b67e vlan: 15