3.10. Managing Virtual Machines¶
3.10.1. vinfra service compute server create¶
Create a new compute server:
usage: vinfra service compute server create [--description <description>]
[--metadata <metadata>]
[--user-data <user-data>]
[--key-name <key-name>]
[--config-drive] [--count <count>]
--network <id=id[,key=value,...]>
--volume <source=source[,key=value,...]>
--flavor <flavor> <server-name>
--description <description>
- Server description
--metadata <metadata>
- Server metadata
--user-data <user-data>
- User data file
--key-name <key-name>
- Key pair to inject
--config-drive
- Use an ephemeral drive
--count <count>
- If count is specified and greater than 1, the
name
argument is treated as a naming pattern. --network <id=id[,key=value,...]>
Create a compute server with a specified network. Specify this option multiple times to create multiple networks.
id
: attach network interface to a specified network (ID or name);- comma-separated
key=value
pairs with keys (optional):mac
: MAC address for network interface;fixed-ip
: fixed IP address for network interface;spoofing-protection
: enable or disable spoofing protection for network interface (on
oroff
).
--volume <source=source[,key=value,...]>
Create a compute server with a specified volume. Specify this option multiple times to create multiple volumes.
source
: source type (volume
,image
,snapshot
, orblank
);- comma-separated
key=value
pairs with keys (optional):id
: resource ID or name for the specified source type (required for source typesvolume
,image
, andsnapshot
);size
: block device size, in gigabytes (required for source typesimage
andblank
);boot-index
: block device boot index (required for multiple volumes with source typevolume
);bus
: block device controller type (ide
,usb
,virtio
,scsi
, orsata
);type
: block device type (disk
orcdrom
);rm
: remove block device on compute server termination (yes
orno
) ;storage-policy
: block device storage policy.
--flavor <flavor>
- Flavor ID or name
<server-name>
- A new name for the compute server
Example:
# vinfra service compute server create myvm \
--network id=private,fixed-ip=192.168.0.100 \
--volume source=image,id=cirros,size=1 --flavor tiny
+--------------+--------------------------------------+
| Field | Value |
+--------------+--------------------------------------+
| config_drive | |
| created | 2018-09-12T13:25:02Z |
| description | |
| flavor | 100 |
| host | |
| id | f6656fb5-e165-4afa-a119-45882acc6af1 |
| key_name | |
| metadata | {} |
| name | myvm |
| networks | [] |
| power_state | NOSTATE |
| project_id | 72a5db3a033c403a86756021e601ef34 |
| status | BUILD |
| task_state | scheduling |
| updated | 2018-09-12T13:25:03Z |
| user_data | |
| volumes | [] |
+--------------+--------------------------------------+
This command creates a virtual machine `myvm
based on the default Cirros image and the flavor tiny
and connects it to the network private
with the fixed IP address 192.168.128.100.
3.10.2. vinfra service compute server list¶
List compute servers:
usage: vinfra service compute server list
Example:
# vinfra service compute server list
+--------------------------------------+------+--------+-----------------------------------+
| id | name | status | host |
+--------------------------------------+------+--------+-----------------------------------+
| 8cd29296-8bee-4efb-828d-0e522d816c6e | myvm | ACTIVE | stor-4.example.com.vstoragedomain |
+--------------------------------------+------+--------+-----------------------------------+
This command lists all virtual machines in the compute cluster.
3.10.3. vinfra service compute server show¶
Display compute server details:
usage: vinfra service compute server show <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server show myvm
+--------------+--------------------------------------------+
| Field | Value |
+--------------+--------------------------------------------+
| config_drive | |
| created | 2018-09-12T13:30:02Z |
| description | |
| flavor | 100 |
| host | stor-4.example.com.vstoragedomain |
| id | 8cd29296-8bee-4efb-828d-0e522d816c6e |
| key_name | |
| metadata | {} |
| name | myvm |
| networks | - id: 1bf2c9da-e324-49f0-8d41-20410615f905 |
| | ipam_enabled: true |
| | ips: |
| | - 192.168.128.100 |
| | mac_addr: fa:16:3e:54:04:f0 |
| | name: private |
| | spoofing_protection: false |
| power_state | RUNNING |
| project_id | 72a5db3a033c403a86756021e601ef34 |
| status | ACTIVE |
| task_state | |
| updated | 2018-09-12T13:30:53Z |
| user_data | |
| volumes | - 30092d44-3bdd-46d8-a360-a5bc6434cbf8 |
+--------------+--------------------------------------------+
This command shows the details of the virtual machine myvm
.
3.10.4. vinfra service compute server stat¶
Display compute server statistics:
usage: vinfra service compute server stat <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server stat myvm
+----------+----------------------------------+
| Field | Value |
+----------+----------------------------------+
| datetime | 2018-09-12T13:37:46.803999+00:00 |
| metrics | block_capacity: 1073741824 |
| | block_usage: 134549504 |
| | cpu_usage: 0 |
| | mem_total: 536870912 |
| | mem_usage: 130412544 |
| | vcpus: 1 |
+----------+----------------------------------+
This command shows the statistics for the virtual machine myvm
.
3.10.5. vinfra service compute server iface attach¶
Attach a network to a compute server:
usage: vinfra service compute server iface attach [--mac <mac>] [--ip <ip-address>]
[--spoofing-protection {on,off}]
--server <server> --network <network>
--mac <mac>
- MAC address
--ip <ip-address>
- IP address
--spoofing-protection {on|off}
- Enable spoofing protection for the network interface
--server <server>
- Compute server ID or name
--network <network>
- Network ID or name
Example:
# vinfra service compute server iface attach --network myprivnet --server myvm
+---------------+--------------------------------------+
| Field | Value |
+---------------+--------------------------------------+
| fixed_ip | 192.168.129.8 |
| id | 690ed3f2-2301-40e2-879a-126db2ecb57b |
| mac_address | fa:16:3e:54:59:08 |
| network_id | 0710372e-2bdf-4dfe-b413-eb763da37e68 |
| spoofing<...> | False |
+---------------+--------------------------------------+
This command attaches the private network myprivnet
to the virtual machine myvm
.
3.10.6. vinfra service compute server iface list¶
List compute server networks:
usage: vinfra service compute server iface list --server <server>
--server <server>
- Compute server ID or name
Example:
# vinfra service compute server iface list --server myvm
+----------------+----------------+-------------------+-----------------+
| id | network_id | mac_address | fixed_ip |
+----------------+----------------+-------------------+-----------------+
| 690ed3f2-<...> | 0710372e-<...> | fa:16:3e:54:59:08 | 192.168.129.8 |
| a5b13bf3-<...> | 1bf2c9da-<...> | fa:16:3e:b9:33:bb | 192.168.128.100 |
+----------------+----------------+-------------------+-----------------+
This command lists the virtual networks that the virtual machine myvm
is attached to. It also shows VM’s IP address in each network.
3.10.7. vinfra service compute server iface detach¶
Detach a network interface from a compute server:
usage: vinfra service compute server iface detach --server <server> <interface>
--server <server>
- Compute server ID or name
<interface>
- Network interface ID
Example:
# vinfra service compute server iface detach 471e37fd-13ae-4b8f-b70c-90ac02cc4386 \
--server 6c80b07f-da46-4a8a-89a4-eecb8faceb27
Operation successful
This command detaches the network interface with the ID 471e37fd-13ae-4b8f-b70c-90ac02cc4386
from the VM with the ID 6c80b07f-da46-4a8a-89a4-eecb8faceb27
.
3.10.8. vinfra service compute server log¶
Display compute server log:
usage: vinfra service compute server log <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server log myvm > myvm.log
This command prints the log of the virtual machine myvm
to the file myvm.log
.
3.10.9. vinfra service compute server migrate¶
Migrate a compute server to another host:
usage: vinfra service compute server migrate [--cold] [--node <node>] <server>
--cold
- Perform cold migration. If not set, try to determine migration type automatically.
--node <node>
- Destination node ID or hostname
<server>
- Compute server ID or name
Example:
# vinfra service compute server migrate 6c80b07f-da46-4a8a-89a4-eecb8faceb27 \
--node e6255aed-d6e7-41b2-ba90-86164c1cd9a6
Operation successful
This command starts migration of the VM with the ID 6c80b07f-da46-4a8a-89a4-eecb8faceb27
to the compute node with the ID e6255aed-d6e7-41b2-ba90-86164c1cd9a6
.
3.10.10. vinfra service compute server resize¶
Resize a compute server:
usage: vinfra service compute server resize --flavor <flavor> <server>
--flavor <flavor>
- Apply flavor with ID or name
<server>
- Compute server ID or name
Example:
# vinfra service compute server resize myvm --flavor small
Operation successful
This command changes the flavor of the virtual machine myvm
to small
.
3.10.11. vinfra service compute server start¶
Start a compute server:
usage: vinfra service compute server start <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server start myvm
Operation successful
This command starts the virtual machine myvm
.
3.10.12. vinfra service compute server pause¶
Pause a compute server:
usage: vinfra service compute server pause <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server pause myvm
This command pauses the running virtual machine myvm
.
3.10.13. vinfra service compute server unpause¶
Unpause a compute server:
usage: vinfra service compute server unpause <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server unpause myvm
This command unpauses the paused virtual machine myvm
.
3.10.14. vinfra service compute server suspend¶
Suspend a compute server:
usage: vinfra service compute server suspend <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server suspend myvm
Operation successful
This command suspends the running virtual machine myvm
.
3.10.15. vinfra service compute server resume¶
Resume a compute server:
usage: vinfra service compute server resume <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server resume myvm
Operation successful
This command resumes the suspended virtual machine myvm
.
3.10.16. vinfra service compute server reboot¶
Reboot a compute server:
usage: vinfra service compute server reboot [--hard] <server>
--hard
- Perform hard reboot
<server>
- Compute server ID or name
Example:
# vinfra service compute server reboot myvm
Operation successful
This command reboots the virtual machine myvm
.
3.10.17. vinfra service compute server reset-state¶
Reset compute server state:
usage: vinfra service compute server reset-state [--state-error] <server>
--state-error
- Reset server to ‘ERROR’ state
<server>
- Compute server ID or name
Example:
# vinfra service compute server reset-state myvm
Operation successful
This command resets the state of the virtual machine myvm
.
3.10.18. vinfra service compute server stop¶
Shut down a compute server:
usage: vinfra service compute server stop [--hard] <server>
--hard
- Power off a compute server
<server>
- Compute server ID or name
Example:
# vinfra service compute server stop myvm
Operation successful
This command stops the virtual machine myvm
.
3.10.19. vinfra service compute server evacuate¶
Evacuate a stopped compute server from a failed host:
usage: vinfra service compute server evacuate <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server evacuate ``myvm``
Operation successful
This command evacuates the stopped VM myvm
from its node to another, healthy compute node.
3.10.20. vinfra service compute server delete¶
Delete a compute server:
usage: vinfra service compute server delete <server>
<server>
- Compute server ID or name
Example:
# vinfra service compute server delete myvm
Operation successful
This command deletes the virtual machine myvm
.