Manage Networks and Interface Cards
Virtual networks are mapped to Virtual Distributed Port Groups in order to simplify and scale the network layer. If you already have access to one or many virtual networks in our environment you certainly feel more familiar with this section, if not, you are probably going to use our public network labeled VL-1584-VSS-PUBLIC, which is a DHCP enabled network and has no firewall enabled due to its nature as just being temporary and/or for testing.
We encourage all of our customers to have a custom network segment plumbed into our environment and that can be done first by contacting UofT Network Administration Tools and then providing the allocated segment and VLAN information to the VSS Team.
Virtual Networks
Virtual networks are unique in our environment and have to be differentiated by a unique identifier which in this case is the moref and stands for Managed Object Reference provided by vCenter server.
The vss-cli compute net
command lists and obtains information regarding
a specific virtual network you have permission on.
vss-cli compute net --help
Usage: vss-cli compute net [OPTIONS] COMMAND [ARGS]...
List available virtual networks.
Options:
--help Show this message and exit.
Commands:
get Get given virtual network info.
ls list virtual networks.
List
Run vss-cli compute net ls
to list available networks. Filter list by
name using the option --filter-by/-f
which is structured
<field_name> <operator>,<value>
and available operators are
eq, ne, lt, le, gt, ge, like, in as follows:
vss-cli compute net ls -f name=PUBLIC
moref name description subnet vlan_id vms
----------------- ------------------ --------------------------- -------------- --------- -----
dvportgroup-11052 VL-1584-VSS-PUBLIC VSS Public network 142.1.216.0/23 1584 8
Info
Network info is available by vss-cli compute net get <name-or-moref>
and provides basic information of a given network:
vss-cli compute net get dvportgroup-11052
moref : dvportgroup-11052
name : VL-1584-VSS-PUBLIC
description : VSS Public network
subnet : 142.1.216.0/23
vlan_id : 1584
vms : 8
ports : 32
admin : Jose Manuel Lopez Lujan:000-0000-000:email@eis.utoronto.ca
client : EIS
updated_on : 2019-07-09 Tue 16:00:05 EDT
If you would like to get a list of your virtual machines available on a given
network, use the vss-cli compute net get <name-or-moref> vms
command.
A list of uuid
and name will be provided.
vss-cli compute net get dvportgroup-11052 vms
uuid name
------------------------------------ -----------------------
501220a5-a091-1866-9741-664236067142 1611T-ecstatic_mccarthy
501220a5-a091-6652-3215-123456548798 1701T-ecstatic_torvalds
Virtual Machine Network Adapters
Virtual machine network interface cards backing is always a virtual network.
Virtual machine NICs can be manage by
vss-cli compute vm <name-or-uuid> <set|get> nic <unit>
. Both get and
set commands have similar arguments <unit> and set has a few properties
to set as shown below:
vss-cli compute vm get ecstatic_mccarthy nic --help
Usage: vss-cli compute vm get nic [OPTIONS] [UNIT]
Virtual machine network interface adapters configuration.
Options:
--help Show this message and exit.
Usage: vss-cli compute vm set nic [OPTIONS] COMMAND [ARGS]...
Add, remove or update virtual machine network adapters
Options:
--help Show this message and exit.
Commands:
mk Create NIC unit
rm Remove NIC unit
up Update NIC unit
List
Run vss-cli compute vm <name-or-uuid> nic
to obtain a summary of your
virtual machineconfigured network interface controllers. If you specify
unit
, the command will provide further information about the given
unit as follows:
vss-cli compute vm get 501220a5-a091-1866-9741-664236067142 nic 1
label : Network adapter 1
mac_address : 00:50:56:00:00:00
type : vmxnet3
network.name : VL-1584-VSS-PUBLIC
network.moref : dvportgroup-11052
connected : True
start_connected : True
Update
Update a given virtual machine network interface card
backing network by running
vss-cli compute vm <name-or-uuid> nic up --network <name-or-moref> <unit>
where uuid
is the virtual machine UUID or name, unit
is the nic labeled unit and
moref is the virtual network identifier or name.
For example, if a given nic needs to be updated to network
dvportgroup-0000
, the command to use would be:
vss-cli compute vm set 501220a5-a091-1866-9741-664236067142 nic up --network dvportgroup-0000 1
# or
vss-cli compute vm set TEST nic up --network VL-0000-NETWORK 1
New virtual machines by default are provisioned using the vmxnet3
virtual adapter controller, designed to deliver high performance in
virtual machines, but there are rare cases, the operating system does
not include the vmxnet<2|3>
drivers and the only way of getting
them is online, a virtual machine network adapter should be modified
with a more generic controller, such as e1000
or e1000e
.
To do so, run
vss-cli compute vm set <name-or-uuid> nic up --adapter <e1000|e1000e> 1
,
for example:
vss-cli compute vm set 501220a5-a091-1866-9741-664236067142 nic up --adapter e1000e 1
After downloading OpenVM Tools which contain the drivers, change
back to the vmxnet3
controller by performing the same bas operation
but replacing e1000e
with vmxnet3
as shown below:
vss-cli compute vm set 501220a5-a091-1866-9741-664236067142 nic up --adapter vmxnet3 1
Network interface connection states can also be updated to either
connect
or disconnect
given the requirements. To perform a
state change execute
vss-cli compute vm set <name-or-uuid> nic up --state <connect|disconnect>
:
vss-cli compute vm set 501220a5-a091-1866-9741-664236067142 nic up --state connect 1
Create
Create a new virtual machine network adapter by using the sub command
mk
and providing the backing network and type separated by the
=
sign in the option. i.e. <moref-or-name>=<nic_type>
.
Usage: vss-cli compute vm set nic mk [OPTIONS]
Add network adapters specifying backing network and adapter type.
vss-cli compute vm set <name-or-uuid> nic mk -n <moref-or-name>=<nic-type> -n <moref-or-name>
Options:
-n, --net TEXT Network adapter <moref-or-name>=<nic-type>. [required]
--help Show this message and exit.
Note
If no adapter is set, vmxnet3
is used.
For example:
vss-cli compute vm set 1909P-WEB nic mk -n dvportgroup-1083=vmxnet2 -n dvportgroup-1094
Remove
Network adapter removal will ask for confirmation if flag -r/--rm
is not provided. This is just as fail safe for mistakes that can happen
and since nic removal is a one way action, which disposes the MAC address.
The following example demonstrates how to remove a nic with a confirmation prompt:
vss-cli compute vm set 50128d83-0fcc-05e3-be71-d972ffdf3284 nic rm 2
Network adapter: 2
Mac address: 00:50:56:92:4d:b8
Network: Quarantine (dvportgroup-11137)
Connected: False
Are you sure you want to delete listed NICs [y/N]:
Error: Cancelled by user.
If your answer is N, the command will exit as shown above.
To override nic removal confirmation prompt, just add -r/--rm
flag as follows:
vss-cli compute vm set 50128d83-0fcc-05e3-be71-d972ffdf3284 nic rm --rm 2