Create an Instance
Changed onCreate an Instance for Tenant.
Org must have a Tenant entity. User must have authorization role with TENANT_ADMIN suffix.
A request targeting an already assigned machineId returns HTTP 409. A Ready response does not reserve the Machine: another request can assign it before creation is processed. allowUnhealthyMachine does not bypass the assignment check. Honor the retryable classification below before retrying, or select another available Machine.
Machine-unavailable errors are retryable only when a unique current Instance belongs to this Tenant and is Terminating. Other current occupants are not retryable. Missing or ambiguous associations remain unclassified. No retry delay is estimated for release-pending errors.
Uncertain create outcomes return retryable: false and recovery instructions in message. Check the identified Instance and Site in REST. If the Instance is absent or its outcome is unclear, ask the Site operator to verify the Core allocation and workflow before creating again. An empty REST result does not rule out a Site allocation. Follow the same checks after a lost HTTP response.
Request
- Base URLhttps://nico-rest-api.nico.svc.cluster.local
- URLhttps://nico-rest-api.nico.svc.cluster.local/v2/org/{org}/nico/instance
- AuthHTTP bearer
Request body
Example request
{
"name": "spark-monitor-1",
"description": "Node for monitoring Spark",
"tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
"instanceTypeId": "41e36058-8403-4086-a9b8-39cb5bc9cb98",
"vpcId": "5e28ad7c-5fb7-46d6-a28a-fc0ba6fdc4a3",
"operatingSystemId": "eaeb86ee-c435-444e-9e01-8346f67f194b",
"ipxeScript": "#!ipxe\nkernel http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux initrd=initrd.gz\ninitrd http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz\nboot || imgfree\n shell",
"alwaysBootWithCustomIpxe": true,
"phoneHomeEnabled": true,
"userData": "#cloud-config\nautoinstall:\n apt:\n geoip: true\n preserve_sources_list: false\n primary:\n - arches: [amd64, i386]\n uri: http://archive.ubuntu.com/ubuntu\n - arches: [default]\n uri: http://ports.ubuntu.com/ubuntu-ports\nphone_home:\n url: http://169.254.169.254/latest/meta-data/phone_home\n post: all",
"labels": {
"region": "portland",
"env": "staging"
},
"machineLabelSelector": {
"custom-machine-label": "required-value"
},
"interfaces": [
{
"subnetId": "1f232bf0-7b90-456e-b9b0-38d9fea4171a",
"isPhysical": false
},
{
"subnetId": "31074c90-3061-4d90-bc62-eaf479989b97",
"isPhysical": true
}
],
"infinibandInterfaces": [
{
"partitionId": "4f4decba-7d7f-46b9-9e5f-e5d71c2e0666",
"device": "MT2910 Family [ConnectX-7]",
"deviceInstance": 0,
"isPhysical": true,
"virtualFunctionId": null
}
],
"spectrumXAttachments": [
{
"spectrumXPartitionId": "8e6f2a1c-9b3d-4e5f-a6b7-c8d9e0f1a2b3",
"device": "NVIDIA BlueField-3 B3140L E-Series FHHL SuperNIC",
"deviceInstance": 0,
"attachmentType": "Physical",
"virtualFunctionId": null
}
],
"nvLinkInterfaces": [
{
"nvLinkLogicalPartitionId": "2f8676fd-d228-4db5-ac76-1cfc74f48a23",
"deviceInstance": 0
},
{
"nvLinkLogicalPartitionId": "2f8676fd-d228-4db5-ac76-1cfc74f48a23",
"deviceInstance": 1
},
{
"nvLinkLogicalPartitionId": "2f8676fd-d228-4db5-ac76-1cfc74f48a23",
"deviceInstance": 2
},
{
"nvLinkLogicalPartitionId": "2f8676fd-d228-4db5-ac76-1cfc74f48a23",
"deviceInstance": 3
}
],
"sshKeyGroupIds": [
"a7bf2f9c-12f0-4673-be47-12be6d9e16c8"
]
}Response
Created
Example response
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "spark-monitor-1",
"description": "Node for monitoring Spark",
"tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
"infrastructureProviderId": "e94bcfda-f6cb-42e4-80ec-516811e5abbf",
"siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
"instanceTypeId": "41e36058-8403-4086-a9b8-39cb5bc9cb98",
"vpcId": "5e28ad7c-5fb7-46d6-a28a-fc0ba6fdc4a3",
"machineId": "fm100ht4v4mce2qstjnl8970nnj3ie6ecek4mtjn27pea4kre5gsa49jg0g",
"operatingSystemId": "eaeb86ee-c435-444e-9e01-8346f67f194b",
"controllerInstanceId": null,
"ipxeScript": null,
"alwaysBootWithCustomIpxe": false,
"networkSecurityGroupId": "c602eb90-3039-11f0-997a-b38d4fc8389e",
"networkSecurityGroupPropagationDetails": {
"objectId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"detailedStatus": "Partial",
"status": "Synchronizing",
"details": "",
"unpropagatedInstanceIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"relatedInstanceIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
},
"networkSecurityGroupInherited": false,
"userData": null,
"labels": {
"region": "portland",
"env": "staging"
},
"isUpdatePending": false,
"serialConsoleUrl": "ssh://user@nico.acme.com",
"interfaces": [
{
"id": "64d2028c-ae87-4069-a624-66089d957ef9",
"instanceId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"subnetId": "1f232bf0-7b90-456e-b9b0-38d9fea4171a",
"isPhysical": true,
"virtualFunctionId": null,
"macAddress": null,
"ipAddresses": [],
"status": "Pending",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
}
],
"infinibandInterfaces": [
{
"id": "c518a0e8-3f49-4a1a-8935-a6d3dee6911e",
"instanceId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"partitionId": "05ef7e84-1d4e-4e4d-980d-38589479a0fe",
"device": "MT2910 Family [ConnectX-7]",
"deviceInstance": 0,
"isPhysical": true,
"virtualFunctionId": null,
"guid": "946dae0300339498",
"status": "Ready",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
}
],
"nvLinkInterfaces": [
{
"id": "fc19ab3f-1e52-4846-91bd-98743ff2752c",
"instanceId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"nvLinkLogicalPartitionId": "2f8676fd-d228-4db5-ac76-1cfc74f48a23",
"nvLinkDomainId": "59202b81-65fb-45ec-b3b8-91ab0ad3f34a",
"deviceInstance": 0,
"status": "Ready",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
},
{
"id": "fc19ab3f-1e52-4846-91bd-98743ff2752c",
"instanceId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"nvLinkLogicalPartitionId": "2f8676fd-d228-4db5-ac76-1cfc74f48a23",
"nvLinkDomainId": "59202b81-65fb-45ec-b3b8-91ab0ad3f34a",
"deviceInstance": 1,
"status": "Ready",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
},
{
"id": "fc19ab3f-1e52-4846-91bd-98743ff2752c",
"instanceId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"nvLinkLogicalPartitionId": "2f8676fd-d228-4db5-ac76-1cfc74f48a23",
"nvLinkDomainId": "59202b81-65fb-45ec-b3b8-91ab0ad3f34a",
"deviceInstance": 2,
"status": "Ready",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
},
{
"id": "fc19ab3f-1e52-4846-91bd-98743ff2752c",
"instanceId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"nvLinkLogicalPartitionId": "2f8676fd-d228-4db5-ac76-1cfc74f48a23",
"nvLinkDomainId": "59202b81-65fb-45ec-b3b8-91ab0ad3f34a",
"deviceInstance": 3,
"status": "Ready",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
}
],
"dpuExtensionServiceDeployments": [],
"sshKeyGroupIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"sshKeyGroups": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "reno-integration-sre",
"description": "SRE access SSH keys for Reno Integration",
"version": "fbc692b61ffef6fbfc38a3833f6b7e7ae508da75",
"status": "Syncing",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
}
],
"tpmEkCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMxVENDQWJ5Z0F3SUJBZ0lVTEE1ZHFPK1E5OXZQM3VYRTRKcjBncVRtOW93d0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xqRUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQW9NQ2s1MmFXUnBZU0JEYjNKNw==",
"status": "Pending",
"statusHistory": [
{
"status": "Pending",
"message": "Request received, pending processing",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
}
],
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
}Changes
- breaking
added
subschema #2to theresponse propertyoneOflist for the response status - breaking
the
response's property type changed fromobjectto no type for status - warning
removed the optional property
/from the response with the status - warning
removed the optional property
/from the response with the status - warning
removed the optional property
/from the response with the status - warning
removed the optional property
/from the response with the status - warning
removed the optional property
/from the response with the status - warning
removed the optional property
/from the response with the status - warning
removed the optional property
/from the response with the status - info
the response property
became required for the status
- breaking
- warning
removed the optional property
//from the response with the status - warning
removed the optional property
//from the response with the status - warning
removed the optional property
//from the response with the status - warning
removed the optional property
//from the response with the status - warning
removed the optional property
//from the response with the status - warning
added the new
Unknownenum value to theresponse property for the response status - info
the response optional property
//became read-only for the status - info
the response optional property
//became read-only for the status - info
the response optional property
//became read-only for the status - info
the response optional property
//became read-only for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status
- warning