vinfra service compute server create

Create a new virtual machine:

usage: vinfra service compute server create [--description <description>]
                                            [--metadata <metadata>]
                                            [--user-data <user-data>]
                                            [--key-name <key-name>]
                                            [--config-drive] [--count <count>]
                                            [--ha-enabled {true,false}]
                                            [--placements <placements>]
                                            --network id|<id=id[,key=value,…]>
                                            --volume <source=source
                                            [,key=value,…]>
                                            --flavor <flavor> <server-name>
--description <description>
Virtual machine description
--metadata <metadata>
Virtual machine 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.
--ha-enabled {true,false}
Enable or disable HA for the virtual machine.
--placements <placements>
Names or IDs of placements to add the virtual machine to.
--network id|<id=id[,key=value,…]>

Create a virtual machine 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 or None to automatically allocate an IP address. This option can be used multiple times.
    • spoofing-protection-enable: enable spoofing protection for network interface
    • spoofing-protection-disable: disable spoofing protection for network interface
    • security-group: security group ID or name. This option can be used multiple times.
    • no-security-group: do not use a security group
--volume <source=source[,key=value,…]>

Create a virtual machine 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 (scsi)
    • type: block device type (disk or cdrom)
    • rm: remove block device on virtual machine termination (yes or no)
    • storage-policy: block device storage policy
--flavor <flavor>
Flavor ID or name
<server-name>
A new name for the virtual machine

Example:

# vinfra service compute server create myvm \
--network id=private,fixed-ip=192.168.128.100 \
--volume source=image,id=cirros,size=1 --flavor tiny
+--------------+--------------------------------------+
| Field        | Value                                |
+--------------+--------------------------------------+
| config_drive |                                      |
| created      | 2019-05-29T11:24:04Z                 |
| description  |                                      |
| flavor       | disk: 0                              |
|              | ephemeral: 0                         |
|              | extra_specs: {}                      |
|              | original_name: tiny                  |
|              | ram: 512                             |
|              | swap: 0                              |
|              | vcpus: 1                             |
| ha_enabled   | True                                 |
| host         |                                      |
| id           | 8cd29296-8bee-4efb-828d-0e522d816c6e |
| key_name     |                                      |
| metadata     | {}                                   |
| name         | myvm                                 |
| networks     | []                                   |
| power_state  | NOSTATE                              |
| project_id   | b4267de6fd0c442da99542cd20f5932c     |
| status       | BUILD                                |
| task_state   | scheduling                           |
| updated      | 2019-05-29T11:24:21Z                 |
| user_data    |                                      |
| vm_state     | building                             |
| volumes      | []                                   |
+--------------+--------------------------------------+

This command creates a virtual machine myvm based on the default Cirros image and the flavor tiny, connects it to the network private with the fixed IP address 192.168.128.100, and enables HA for it.