.. _Managing Virtual Machines: Managing Virtual Machines ------------------------- .. _vinfra service compute server create: vinfra service compute server create ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create a new compute server: :: usage: vinfra service compute server create [--description ] [--metadata ] [--user-data ] [--key-name ] [--config-drive] [--count ] --network --volume --flavor ``--description `` Server description ``--metadata `` Server metadata ``--user-data `` User data file ``--key-name `` Key pair to inject ``--config-drive`` Use an ephemeral drive ``--count `` If count is specified and greater than 1, the ``name`` argument is treated as a naming pattern. ``--network `` 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`` or ``off``). ``--volume `` Create a compute server with a specified volume. Specify this option multiple times to create multiple volumes. - ``source``: source type (``volume``, ``image``, ``snapshot``, or ``blank``); - comma-separated ``key=value`` pairs with keys (optional): - ``id``: resource ID or name for the specified source type (required for source types ``volume``, ``image``, and ``snapshot``); - ``size``: block device size, in gigabytes (required for source types ``image`` and ``blank``); - ``boot-index``: block device boot index (required for multiple volumes with source type ``volume``); - ``bus``: block device controller type (``ide``, ``usb``, ``virtio``, ``scsi``, or ``sata``); - ``type``: block device type (``disk`` or ``cdrom``); - ``rm``: remove block device on compute server termination (``yes`` or ``no``) ; - ``storage-policy``: block device storage policy. ``--flavor `` Flavor ID or 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. .. _vinfra service compute server list: 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. .. _vinfra service compute server show: vinfra service compute server show ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Display compute server details: :: usage: vinfra service compute server show ```` 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``. .. _vinfra service compute server stat: vinfra service compute server stat ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Display compute server statistics: :: usage: vinfra service compute server stat ```` 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``. .. _vinfra service compute server iface attach: vinfra service compute server iface attach ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Attach a network to a compute server: :: usage: vinfra service compute server iface attach [--mac ] [--ip ] [--spoofing-protection {on,off}] --server --network ``--mac `` MAC address ``--ip `` IP address ``--spoofing-protection {on|off}`` Enable spoofing protection for the network interface ``--server `` Compute server ID or name ``--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``. .. _vinfra service compute server iface list: vinfra service compute server iface list ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ List compute server networks: :: usage: vinfra service compute server iface list --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. .. _vinfra service compute server iface detach: vinfra service compute server iface detach ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Detach a network interface from a compute server: :: usage: vinfra service compute server iface detach --server ``--server `` Compute server ID or name ```` 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``. .. _vinfra service compute server log: vinfra service compute server log ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Display compute server log: :: usage: vinfra service compute server log ```` 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``. .. _vinfra service compute server migrate: vinfra service compute server migrate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Migrate a compute server to another host: :: usage: vinfra service compute server migrate [--cold] [--node ] ``--cold`` Perform cold migration. If not set, try to determine migration type automatically. ``--node `` Destination node ID or hostname ```` 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``. .. _vinfra service compute server resize: vinfra service compute server resize ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Resize a compute server: :: usage: vinfra service compute server resize --flavor ``--flavor `` Apply flavor with ID or name ```` 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``. .. _vinfra service compute server start: vinfra service compute server start ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Start a compute server: :: usage: vinfra service compute server start ```` Compute server ID or name Example: :: # vinfra service compute server start myvm Operation successful This command starts the virtual machine ``myvm``. .. _vinfra service compute server pause: vinfra service compute server pause ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pause a compute server: :: usage: vinfra service compute server pause ```` Compute server ID or name Example: :: # vinfra service compute server pause myvm This command pauses the running virtual machine ``myvm``. .. _vinfra service compute server unpause: vinfra service compute server unpause ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Unpause a compute server: :: usage: vinfra service compute server unpause ```` Compute server ID or name Example: :: # vinfra service compute server unpause myvm This command unpauses the paused virtual machine ``myvm``. .. _vinfra service compute server suspend: vinfra service compute server suspend ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suspend a compute server: :: usage: vinfra service compute server suspend ```` Compute server ID or name Example: :: # vinfra service compute server suspend myvm Operation successful This command suspends the running virtual machine ``myvm``. .. _vinfra service compute server resume: vinfra service compute server resume ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Resume a compute server: :: usage: vinfra service compute server resume ```` Compute server ID or name Example: :: # vinfra service compute server resume myvm Operation successful This command resumes the suspended virtual machine ``myvm``. .. _vinfra service compute server reboot: vinfra service compute server reboot ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Reboot a compute server: :: usage: vinfra service compute server reboot [--hard] ``--hard`` Perform hard reboot ```` Compute server ID or name Example: :: # vinfra service compute server reboot myvm Operation successful This command reboots the virtual machine ``myvm``. .. _vinfra service compute server reset-state: vinfra service compute server reset-state ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Reset compute server state: :: usage: vinfra service compute server reset-state [--state-error] ``--state-error`` Reset server to 'ERROR' state ```` 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``. .. _vinfra service compute server stop: vinfra service compute server stop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Shut down a compute server: :: usage: vinfra service compute server stop [--hard] ``--hard`` Power off a compute server ```` Compute server ID or name Example: :: # vinfra service compute server stop myvm Operation successful This command stops the virtual machine ``myvm``. .. _vinfra service compute server evacuate: vinfra service compute server evacuate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Evacuate a stopped compute server from a failed host: :: usage: vinfra service compute server evacuate ```` 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. .. _vinfra service compute server delete: vinfra service compute server delete ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Delete a compute server: :: usage: vinfra service compute server delete ```` Compute server ID or name Example: :: # vinfra service compute server delete myvm Operation successful This command deletes the virtual machine ``myvm``.