### Example Start Host Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This example shows the JSON payload for starting a host. Note that this API is deprecated and may not be implemented by all drivers, potentially resulting in a NotImplemented error. ```javascript { "host": "4b392b27930343bbaa27fd5d8328a564", "power_action": "startup" } ``` -------------------------------- ### Enable and Start Compute Services Source: https://github.com/openstack/nova/blob/master/doc/source/install/controller-install-rdo.rst Enable Compute services to start on boot and then start them. ```console # systemctl enable \ openstack-nova-api.service \ openstack-nova-scheduler.service \ openstack-nova-conductor.service \ openstack-nova-novncproxy.service # systemctl start \ openstack-nova-api.service \ openstack-nova-scheduler.service \ openstack-nova-conductor.service \ openstack-nova-novncproxy.service ``` -------------------------------- ### Enable and Start Compute Services Source: https://github.com/openstack/nova/blob/master/doc/source/install/compute-install-rdo.rst Enable the libvirtd and openstack-nova-compute services to start automatically on boot and then start them. ```bash # systemctl enable libvirtd.service openstack-nova-compute.service # systemctl start libvirtd.service openstack-nova-compute.service ``` -------------------------------- ### Example Create Server With Host and Hypervisor Hostname (v2.74) Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This example shows how to create a server specifying the host and hypervisor hostname. ```APIDOC ## POST /servers ### Description Creates a new server instance. This example demonstrates specifying the host and hypervisor hostname. ### Method POST ### Endpoint /servers ### Request Body ```json { "server" : { "adminPass": "MySecretPass", "accessIPv4": "1.2.3.4", "accessIPv6": "80fe::", "name" : "new-server-test", "imageRef" : "70a599e0-31e7-49b7-b260-868f441e862b", "flavorRef" : "6", "OS-DCF:diskConfig": "AUTO", "metadata" : { "My Server Name" : "Apache1" }, "security_groups": [ { "name": "default" } ], "user_data" : "IyEvYmluL2Jhc2gKL2Jpbi9zdQplY2hvICJJIGFtIGluIHlvdSEiCg==", "networks": "auto", "host": "openstack-node-01", "hypervisor_hostname": "openstack-node-01" } } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### Start Libvirt Guest Source: https://github.com/openstack/nova/blob/master/doc/source/contributor/testing/libvirt-numa.rst Start the libvirt guest using the 'virsh start' command after modifying its XML configuration. ```bash # virsh start f29x86_64 ``` -------------------------------- ### Example Create Server With Hostname (v2.90) Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This example demonstrates creating a server with a custom hostname. ```APIDOC ## POST /servers ### Description Creates a new server instance. This example shows how to specify a custom hostname for the server. ### Method POST ### Endpoint /servers ### Request Body ```json { "server" : { "accessIPv4": "1.2.3.4", "accessIPv6": "80fe::", "name" : "new-server-test", "imageRef" : "70a599e0-31e7-49b7-b260-868f441e862b", "flavorRef" : "1", "availability_zone": "us-west", "OS-DCF:diskConfig": "AUTO", "hostname": "custom-hostname", "metadata" : { "My Server Name" : "Apache1" }, "personality": [ { "path": "/etc/banner.txt", "contents": "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 b25zLiINCg0KLVJpY2hhcmQgQmFjaA==" } ], "security_groups": [ { "name": "default" } ], "user_data" : "IyEvYmluL2Jhc2gKL2Jpbi9zdQplY2hvICJJIGFtIGluIHlvdSEiCg==" }, "OS-SCH-HNT:scheduler_hints": { "same_host": "48e6a9f6-30af-47e0-bc04-acaed113bb4e" } } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### Start Server Source: https://context7.com/openstack/nova/llms.txt Start (power on) a stopped server. This action is asynchronous. ```bash SERVER_ID="344174b8-34fd-4017-ae29-b9084dcf3861" curl -s -X POST "http://compute.example.com/v2.1/servers/${SERVER_ID}/action" \ -H "X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb" \ -H "Content-Type: application/json" \ -d '{"os-start": null}' ``` -------------------------------- ### Example user quota command Source: https://github.com/openstack/nova/blob/master/doc/source/user/quotas.rst An example of how to use the `nova quota-show` command with environment variables for user and project. ```console $ nova quota-show --user $OS_USERNAME --tenant $OS_PROJECT_ID ``` -------------------------------- ### Start OpenStack Services Source: https://github.com/openstack/nova/blob/master/doc/source/contributor/testing/libvirt-numa.rst Navigate to the devstack directory and execute the './stack.sh' script to start OpenStack services after configuring libvirt. ```bash $ cd devstack $ ./stack.sh ``` -------------------------------- ### Launch an instance with specific parameters and user data Source: https://github.com/openstack/nova/blob/master/doc/source/user/launch-instance-from-image.rst This example demonstrates launching a specific instance named 'myCirrosServer' using a flavor ID, image ID, security group, key name, and a user data file. The instance name is limited to 63 characters to ensure proper DNS resolution. ```bash $ openstack server create --flavor 1 --image 397e713c-b95b-4186-ad46-6126863ea0a9 \ --security-group default --key-name KeyPair01 --user-data cloudinit.file \ myCirrosServer ``` -------------------------------- ### Get Remote VNC Console Example Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md Use this example to retrieve connection information for a VNC remote console. Ensure the 'novnc' type and 'vnc' protocol are specified. ```javascript { "remote_console": { "protocol": "vnc", "type": "novnc", "url": "http://example.com:6080/vnc_auto.html?path=%3Ftoken%3Db60bcfc3-5fd4-4d21-986c-e83379107819" } } ``` -------------------------------- ### Create Server Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This example demonstrates how to create a new server instance with basic configuration, including access IP addresses, name, image, flavor, availability zone, metadata, personality, security groups, and user data. ```APIDOC ## POST /servers ### Description Creates a new server instance. ### Method POST ### Endpoint /servers ### Parameters #### Request Body - **server** (object) - Required - Server configuration details. - **accessIPv4** (string) - Optional - The IPv4 address to assign to the server. - **accessIPv6** (string) - Optional - The IPv6 address to assign to the server. - **name** (string) - Required - The name of the server. - **imageRef** (string) - Required - The ID or reference of the image to use for the server. - **flavorRef** (string) - Required - The ID or reference of the flavor to use for the server. - **availability_zone** (string) - Optional - The availability zone to launch the server in. - **OS-DCF:diskConfig** (string) - Optional - Specifies the disk configuration mode (e.g., AUTO). - **metadata** (object) - Optional - Key-value pairs for server metadata. - **personality** (array) - Optional - A list of files to inject into the server. - **path** (string) - Required - The path for the file within the server. - **contents** (string) - Required - The base64 encoded content of the file. - **security_groups** (array) - Optional - A list of security groups to associate with the server. - **name** (string) - Required - The name of the security group. - **user_data** (string) - Optional - User data to be passed to the server upon launch. - **OS-SCH-HNT:scheduler_hints** (object) - Optional - Hints for the scheduler. - **same_host** (string) - Optional - Specifies a host to co-locate the server with. ### Request Example ```json { "server" : { "accessIPv4": "1.2.3.4", "accessIPv6": "80fe::", "name" : "new-server-test", "imageRef" : "70a599e0-31e7-49b7-b260-868f441e862b", "flavorRef" : "1", "availability_zone": "us-west", "OS-DCF:diskConfig": "AUTO", "metadata" : { "My Server Name" : "Apache1" }, "personality": [ { "path": "/etc/banner.txt", "contents": "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 b25zLiINCg0KLVJpY2hhcmQgQmFjaA==" } ], "security_groups": [ { "name": "default" } ], "user_data" : "IyEvYmluL2Jhc2gKL2Jpbi9zdQplY2hvICJJIGFtIGluIHlvdSEiCg==" }, "OS-SCH-HNT:scheduler_hints": { "same_host": "48e6a9f6-30af-47e0-bc04-acaed113bb4e" } } ``` ``` -------------------------------- ### Example Update Contributor Guide for New Cycle Source: https://github.com/openstack/nova/blob/master/doc/source/contributor/ptl-guide.rst This Gerrit change shows an update to the contributor guide for a new release cycle, ensuring documentation stays current. ```text https://review.opendev.org/#/c/754427/ ``` -------------------------------- ### Launch an instance with basic parameters Source: https://github.com/openstack/nova/blob/master/doc/source/user/launch-instance-from-image.rst Use this command to launch an instance, specifying the server name, flavor ID, and image ID. Optional parameters for key name, user data, security group, and metadata can also be included. ```bash $ openstack server create --flavor FLAVOR_ID --image IMAGE_ID --key-name KEY_NAME \ --user-data USER_DATA_FILE --security-group SEC_GROUP_NAME --property KEY=VALUE \ INSTANCE_NAME ``` -------------------------------- ### Basic API Controller Example Source: https://github.com/openstack/nova/blob/master/doc/source/contributor/api.rst An example of a basic controller for the v2.1 API, demonstrating how to implement methods for handling HTTP requests like GET (index) and POST (create). ```APIDOC ## Basic Controller ### Description This controller provides basic API methods for a resource. ### Methods - **index**: Handles GET requests to a collection. - **create**: Handles POST requests to a collection, with schema validation and specific error codes. ### Example Controller Implementation ```python """Basic Controller""" from nova.api.openstack.compute.schemas import xyz from nova.api.openstack import extensions from nova.api.openstack import wsgi from nova import validation class BasicController(wsgi.Controller): # Define support for GET on a collection def index(self, req): data = {'param': 'val'} return data # Define support for POST on a collection @extensions.expected_errors((400, 409)) @validation.schema(xyz.create) @wsgi.response(201) def create(self, req, body): write_body_here = ok return response_body # Defining support for other RESTFul methods based on resource. # ... ``` ``` -------------------------------- ### Launch Instance from ISO Image Source: https://github.com/openstack/nova/blob/master/doc/source/user/launch-instance-using-ISO-image.rst Use this command to boot an instance from an ISO image. Replace `NETWORK_UUID` with a valid network ID and `INSTANCE_NAME` with your desired instance name. ```console $ openstack server create --image ubuntu-14.04.2-server-amd64.iso \ --nic net-id = NETWORK_UUID \ --flavor 2 INSTANCE_NAME ``` -------------------------------- ### Get Remote spice-direct Console Example Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This example demonstrates how to obtain connection details for a spice-direct remote console. This console type was introduced in microversion 2.99. The 'spice' protocol and 'spice-direct' type are required. ```javascript { "remote_console": { "protocol": "spice", "type": "spice-direct", "url": "http://127.0.0.1:13002/nova?token=aeabd4ec-3acb-4898-9130-10521ccbe5f3" } } ``` -------------------------------- ### Boot Server into a Group via Scheduler Hints Source: https://context7.com/openstack/nova/llms.txt Boots a new server and places it into a specified server group using scheduler hints. Ensure the GROUP_ID is correctly set. ```bash GROUP_ID="5bbcc3c4-1da2-4437-a48a-66f15b1b13f9" curl -s -X POST "http://compute.example.com/v2.1/servers" \ -H "X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb" \ -H "Content-Type: application/json" \ -d "{ \"server\": { \"name\": \"web-1\", \"imageRef\": \"b5660a6e-4b46-4be3-9707-6b47221b454f\", \"flavorRef\": \"2\" }, \"os:scheduler_hints\": {\"group\": \"${GROUP_ID}\" }}" ``` -------------------------------- ### Compute API v2.1 Response Example Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This is an example of a GET /v2.1/ request on a relatively current server. It shows the structure of a successful API response, including version information, links, and media types. ```javascript { "version": { "id": "v2.1", "links": [ { "href": "http://openstack.example.com/v2.1/", "rel": "self" }, { "href": "http://docs.openstack.org/", "rel": "describedby", "type": "text/html" } ], "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1" } ], "status": "CURRENT", "version": "2.103", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z" } } ``` -------------------------------- ### Request with URI versioning Source: https://github.com/openstack/nova/blob/master/api-guide/source/versions.md Example of a GET request specifying the API version directly in the URI path. ```APIDOC ## GET /v2.1/{tenant_id}/images ### Description Retrieves a list of images for a specific tenant using URI versioning. ### Method GET ### Endpoint /v2.1/{tenant_id}/images ### Parameters #### Path Parameters - **tenant_id** (string) - Required - The ID of the tenant. ### Request Headers - **Host**: servers.api.openstack.org - **Accept**: application/json - **X-Auth-Token**: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb ``` -------------------------------- ### Create Server with Scheduler Hints Source: https://context7.com/openstack/nova/llms.txt This example demonstrates how to create a new server and place it within an anti-affinity group using scheduler hints. ```APIDOC ## POST /v2.1/servers ### Description Creates a new server with specified attributes, including optional scheduler hints for placement. ### Method POST ### Endpoint /v2.1/servers ### Request Body - **server** (object) - Required - Server configuration details. - **name** (string) - Required - The name of the server. - **imageRef** (string) - Required - The ID of the image to use for the server. - **flavorRef** (string) - Required - The ID of the flavor to use for the server. - **os:scheduler_hints** (object) - Optional - Hints for the scheduler to influence server placement. - **group** (string) - Required if `os:scheduler_hints` is present - The ID of the group for anti-affinity. ### Request Example ```json { "server": { "name": "server-in-group", "imageRef": "52415800-8b69-11e0-9b19-734f6f006e54", "flavorRef": "52415800-8b69-11e0-9b19-734f1195ff37" }, "os:scheduler_hints": { "group": "05a81485-010f-4df1-bbec-7821c85686e8" } } ``` ``` -------------------------------- ### List Floating IP Pools Example Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md Example of how to list floating IP pools using the Network service API, as the Nova proxy API is deprecated. This API will fail with a 404 starting from microversion 2.36. ```default GET /networks?router:external=True&fields=name ``` -------------------------------- ### Create Server (Minimal) Source: https://context7.com/openstack/nova/llms.txt Launch a new server (VM instance) with minimal required parameters. The request is asynchronous, returning `202 Accepted` immediately. Poll `GET /v2.1/servers/{id}` to track progress. ```bash # Minimal server creation (image-backed) curl -s -X POST http://compute.example.com/v2.1/servers \ -H "X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb" \ -H "Content-Type: application/json" \ -d '{ "server": { "name": "my-web-server", "imageRef": "b5660a6e-4b46-4be3-9707-6b47221b454f", "flavorRef": "2", "networks": [{"uuid": "d32019d3-bc6e-4319-9c1d-6722fc136a22"}], "security_groups": [{"name": "default"}], "key_name": "my-keypair", "metadata": {"env": "production"} } }' ``` -------------------------------- ### Request with MIME type versioning Source: https://github.com/openstack/nova/blob/master/api-guide/source/versions.md Example of a GET request using the Accept header to specify the API version. ```APIDOC ## GET /images ### Description Retrieves a list of images using MIME type versioning. ### Method GET ### Endpoint /images ### Request Headers - **Host**: servers.api.openstack.org - **Accept**: application/vnd.openstack.compute.v2.1+json - **X-Auth-Token**: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb ``` -------------------------------- ### Server IP Addresses Example Source: https://github.com/openstack/nova/blob/master/doc/source/admin/remote-console-access.rst Illustrates the IP addresses for a proxy server and a compute server in a cluster setup. ```bash PROXYSERVER (public_ip=172.24.1.1, management_ip=192.168.1.1) COMPUTESERVER (management_ip=192.168.1.2) ``` -------------------------------- ### Server creation output Source: https://github.com/openstack/nova/blob/master/doc/source/user/launch-instance-from-image.rst This is an example of the output returned after successfully launching an instance. It lists various properties of the newly created server, including its ID, name, status, and associated resources. ```console +--------------------------------------+-----------------------------------------------+ | Field | Value | +--------------------------------------+-----------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | | | OS-EXT-SRV-ATTR:host | None | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | OS-EXT-SRV-ATTR:instance_name | | | OS-EXT-STS:power_state | NOSTATE | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | None | | OS-SRV-USG:terminated_at | None | | accessIPv4 | | | accessIPv6 | | | addresses | | | adminPass | E4Ksozt4Efi8 | | config_drive | | | created | 2016-11-30T14:48:05Z | | flavor | m1.tiny | | hostId | | | id | 89015cc9-bdf1-458a-8518-fdca2b4a5785 | | image | cirros (397e713c-b95b-4186-ad46-6126863ea0a9) | | key_name | KeyPair01 | | name | myCirrosServer | | os-extended-volumes:volumes_attached | [] | | progress | 0 | | project_id | 5669caad86a04256994cdf755df4d3c1 | | properties | | | security_groups | [{u'name': u'default'}] | | status | BUILD | | updated | 2016-11-30T14:48:05Z | +--------------------------------------+-----------------------------------------------+ ``` -------------------------------- ### List Flavors With Details (v2.102) Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This example shows how to list flavors with their detailed specifications, including ephemeral disk size, extra specs, and links. It is useful for understanding the available compute resources. ```javascript { "flavors": [ { "OS-FLV-EXT-DATA:ephemeral": 0, "description": null, "disk": 1, "extra_specs": {}, "id": "1", "links": [ { "href": "http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/flavors/1", "rel": "self" }, { "href": "http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/flavors/1", "rel": "bookmark" } ], "name": "m1.tiny", "os-flavor-access:is_public": true, "ram": 512, "rxtx_factor": null, "swap": "", "vcpus": 1 } ] } ``` -------------------------------- ### API Version Information Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This snippet shows an example response for a GET request to the root API endpoint, which provides version details. ```APIDOC ## GET /v2.1/ ### Description Retrieves information about the Compute API version, including its ID, links, supported media types, status, and version details. ### Method GET ### Endpoint /v2.1/ ### Response #### Success Response (200) - **version** (object) - Contains details about the API version. - **id** (string) - The version identifier (e.g., "v2.1"). - **links** (array) - A list of links related to the version. - **href** (string) - The URL for the link. - **rel** (string) - The relationship of the link (e.g., "self", "describedby"). - **type** (string, optional) - The media type of the linked resource. - **media-types** (array) - A list of supported media types for this version. - **base** (string) - The base media type (e.g., "application/json"). - **type** (string) - The specific media type (e.g., "application/vnd.openstack.compute+json;version=2.1"). - **status** (string) - The status of the version (e.g., "CURRENT"). - **version** (string) - The full version string (e.g., "2.103"). - **min_version** (string) - The minimum supported version (e.g., "2.1"). - **updated** (string) - The date and time the version was last updated. ### Response Example ```json { "version": { "id": "v2.1", "links": [ { "href": "http://openstack.example.com/v2.1/", "rel": "self" }, { "href": "http://docs.openstack.org/", "rel": "describedby", "type": "text/html" } ], "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1" } ], "status": "CURRENT", "version": "2.103", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z" } } ``` ``` -------------------------------- ### Basic API Controller Example Source: https://github.com/openstack/nova/blob/master/doc/source/contributor/api.rst Implement API methods for a resource. Supports GET on a collection and POST on a collection with expected errors and schema validation. ```python from nova.api.openstack.compute.schemas import xyz from nova.api.openstack import extensions from nova.api.openstack import wsgi from nova import validation class BasicController(wsgi.Controller): # Define support for GET on a collection def index(self, req): data = {'param': 'val'} return data # Define support for POST on a collection @extensions.expected_errors((400, 409)) @validation.schema(xyz.create) @wsgi.response(201) def create(self, req, body): write_body_here = ok return response_body # Defining support for other RESTFul methods based on resource. # ... ``` -------------------------------- ### Show Server Details Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This example demonstrates how to retrieve detailed information about a specific server. It includes various attributes like access IPs, attached volumes, flavor details, image information, and network configurations. ```javascript { "server": { "accessIPv4": "1.2.3.4", "accessIPv6": "80fe::", "addresses": { "private": [ { "addr": "192.168.1.30", "OS-EXT-IPS-MAC:mac_addr": "00:0c:29:0d:11:74", "OS-EXT-IPS:type": "fixed", "version": 4 } ] }, "created": "2013-09-03T04:01:32Z", "description": null, "locked": false, "locked_reason": null, "flavor": { "disk": 1, "ephemeral": 0, "extra_specs": {}, "original_name": "m1.tiny", "ram": 512, "swap": 0, "vcpus": 1 }, "hostId": "92154fab69d5883ba2c8622b7e65f745dd33257221c07af363c51b29", "id": "0e44cc9c-e052-415d-afbf-469b0d384170", "image": { "id": "70a599e0-31e7-49b7-b260-868f441e862b", "links": [ { "href": "http://openstack.example.com/6f70656e737461636b20342065766572/images/70a599e0-31e7-49b7-b260-868f441e862b", "rel": "bookmark" } ], "properties": { "architecture": "x86_64", "auto_disk_config": "True" } }, "key_name": null, "links": [ { "href": "http://openstack.example.com/v2/6f70656e737461636b20342065766572/servers/0e44cc9c-e052-415d-afbf-469b0d384170", "rel": "self" }, { ``` -------------------------------- ### Get Server Diagnostics Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md Retrieves diagnostic information for a server instance. The units and format of the returned values are hypervisor-specific. This example shows diagnostics for a libvirt-based instance. ```javascript { "cpu0_time": 17300000000, "memory": 524288, "vda_errors": -1, "vda_read": 262144, "vda_read_req": 112, "vda_write": 5778432, "vda_write_req": 488, "vnet1_rx": 2070139, "vnet1_rx_drop": 0, "vnet1_rx_errors": 0, "vnet1_rx_packets": 26701, "vnet1_tx": 140208, "vnet1_tx_drop": 0, "vnet1_tx_errors": 0, "vnet1_tx_packets": 662 } ``` -------------------------------- ### Create Server (Boot from Volume) Source: https://context7.com/openstack/nova/llms.txt Launch a new server instance that boots from a volume. The `imageRef` is not needed when using `block_device_mapping_v2` with `source_type: "image"` and `destination_type: "volume"`. ```bash # Volume-backed server (boot from volume, no imageRef needed) curl -s -X POST http://compute.example.com/v2.1/servers \ -H "X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb" \ -H "Content-Type: application/json" \ -d '{ "server": { "name": "volume-backed-server", "flavorRef": "52415800-8b69-11e0-9b19-734f1195ff37", "block_device_mapping_v2": [{ "boot_index": 0, "uuid": "bb02b1a3-bc77-4d17-ab5b-421d89850fca", "volume_size": "100", "source_type": "image", "destination_type": "volume", "delete_on_termination": false }], "networks": [{"uuid": "d32019d3-bc6e-4319-9c1d-6722fc136a22"}] } }' ``` -------------------------------- ### Show Migration Details Example Source: https://github.com/openstack/nova/blob/master/api-ref/source/index.md This example demonstrates the structure of a response when retrieving details about a server migration. It includes information such as creation time, destination compute host, and migration ID. ```javascript { "migration": { "created_at": "2016-01-29T13:42:02.000000", "dest_compute": "compute2", "dest_host": "1.2.3.4", "dest_node": "node2", "id": 1 ``` -------------------------------- ### Configure DevStack with NUMATopologyFilter Source: https://github.com/openstack/nova/blob/master/doc/source/contributor/testing/libvirt-numa.rst Configures DevStack by appending settings to local.conf, enabling the NUMATopologyFilter, and starting the DevStack services. This setup is crucial for testing NUMA-related features. ```bash $ cat >>local.conf <