From 2adf357d7b169bcdc36abc1a66010ea9c0bd3cf4 Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Tue, 14 Mar 2023 15:41:22 +0530 Subject: [PATCH 01/13] Pushing new features in stable swagger --- .../createOrUpdate/ComputeInstance.json | 35 ++ .../2023-04-01/machineLearningServices.json | 329 ++++++++++++++++++ 2 files changed, 364 insertions(+) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json index 975f25f2208f..57e5429d3473 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json @@ -15,6 +15,41 @@ "id": "test-subnet-resource-id" }, "applicationSharingPolicy": "Personal", + "customServices": [ + { + "name": "rstudio-workbench", + "image": { + "type": "docker", + "reference": "ghcr.io/azure/rstudio-workbench:latest" + }, + "environmentVariables": { + "RSP_LICENSE": { + "type": "local", + "value": "XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX" + } + }, + "docker": { + "privileged": true + }, + "endpoints": [ + { + "protocol": "http", + "name": "connect", + "target": 8787, + "published": 4444, + "hostIp": null + } + ], + "volumes": [ + { + "type": "bind", + "source": "/mnt/azureuser/", + "target": "/home/testuser/", + "readOnly": true + } + ] + } + ], "sshSettings": { "sshPublicAccess": "Disabled" }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json index 07b2e919b32f..efe604e64347 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json @@ -1004,6 +1004,61 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/customServices": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "Compute_UpdateCustomServices", + "description": "Updates the custom services list. The list of custom services provided shall be overwritten", + "x-ms-examples": { + "Update Custom Services": { + "$ref": "./examples/Compute/updateCustomServices.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "customServices", + "required": true, + "description": "New list of Custom Services.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomService" + } + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes": { "post": { "tags": [ @@ -3597,6 +3652,22 @@ "$ref": "#/definitions/ComputeInstanceSshSettings", "x-nullable": true }, + "customServices": { + "type": "array", + "description": "List of Custom Services added to the compute.", + "x-nullable": true, + "items": { + "$ref": "#/definitions/CustomService" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "osImageMetadata": { + "readOnly": true, + "description": "Returns metadata about the operating system image for this compute instance.", + "$ref": "#/definitions/ImageMetadata" + }, "connectivityEndpoints": { "readOnly": true, "description": "Describes all connectivity endpoints available for this ComputeInstance.", @@ -4701,6 +4772,264 @@ } } }, + "CustomService": { + "type": "object", + "description": "Specifies the custom service configuration", + "properties": { + "name": { + "type": "string", + "description": "Name of the Custom Service" + }, + "image": { + "$ref": "#/definitions/Image", + "description": "Describes the Image Specifications" + }, + "environmentVariables": { + "type": "object", + "description": "Environment Variable for the container", + "additionalProperties": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + "docker": { + "description": "Describes the docker settings for the image", + "$ref": "#/definitions/Docker", + "x-nullable": true + }, + "endpoints": { + "type": "array", + "description": "Configuring the endpoints for the container", + "items": { + "$ref": "#/definitions/Endpoint" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "volumes": { + "type": "array", + "description": "Configuring the volumes for the container", + "items": { + "$ref": "#/definitions/VolumeDefinition" + }, + "x-ms-identifiers": [ + "source", + "target" + ] + } + }, + "additionalProperties": true + }, + "Image": { + "type": "object", + "properties": { + "type": { + "default": "docker", + "enum": [ + "docker", + "azureml" + ], + "type": "string", + "title": "Type of the image", + "description": "Type of the image. Possible values are: docker - For docker images. azureml - For AzureML images", + "x-ms-enum": { + "name": "ImageType", + "modelAsString": true + } + }, + "reference": { + "type": "string", + "description": "Image reference URL" + } + }, + "additionalProperties": true + }, + "EnvironmentVariable": { + "type": "object", + "properties": { + "type": { + "enum": [ + "local" + ], + "default": "local", + "title": "Type of Environment Variable", + "description": "Type of the Environment Variable. Possible values are: local - For local variable", + "type": "string", + "x-ms-enum": { + "name": "EnvironmentVariableType", + "modelAsString": true + } + }, + "value": { + "type": "string", + "description": "Value of the Environment variable" + } + }, + "additionalProperties": true + }, + "Docker": { + "type": "object", + "properties": { + "privileged": { + "type": "boolean", + "description": "Indicate whether container shall run in privileged or non-privileged mode.", + "x-nullable": true + } + }, + "additionalProperties": true + }, + "Endpoint": { + "type": "object", + "properties": { + "protocol": { + "enum": [ + "tcp", + "udp", + "http" + ], + "default": "tcp", + "title": "Endpoint Communication Protocol", + "description": "Protocol over which communication will happen over this endpoint", + "x-ms-enum": { + "name": "protocol", + "modelAsString": true + }, + "type": "string" + }, + "name": { + "type": "string", + "description": "Name of the Endpoint" + }, + "target": { + "format": "int32", + "type": "integer", + "description": "Application port inside the container." + }, + "published": { + "format": "int32", + "type": "integer", + "description": "Port over which the application is exposed from container.", + "x-nullable": true + }, + "hostIp": { + "description": "Host IP over which the application is exposed from the container", + "type": "string", + "x-nullable": true + } + } + }, + "VolumeDefinition": { + "type": "object", + "properties": { + "type": { + "enum": [ + "bind", + "volume", + "tmpfs", + "npipe" + ], + "default": "bind", + "title": "Type of Volume Definition", + "description": "Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe", + "x-ms-enum": { + "name": "VolumeDefinitionType", + "modelAsString": true + }, + "type": "string" + }, + "readOnly": { + "type": "boolean", + "description": "Indicate whether to mount volume as readOnly. Default value for this is false.", + "x-nullable": true + }, + "source": { + "type": "string", + "description": "Source of the mount. For bind mounts this is the host path." + }, + "target": { + "type": "string", + "description": "Target of the mount. For bind mounts this is the path in the container." + }, + "consistency": { + "type": "string", + "description": "Consistency of the volume", + "x-nullable": true + }, + "bind": { + "$ref": "#/definitions/BindOptions", + "description": "Bind Options of the mount", + "x-nullable": true + }, + "volume": { + "$ref": "#/definitions/VolumeOptions", + "description": "Volume Options of the mount", + "x-nullable": true + }, + "tmpfs": { + "$ref": "#/definitions/TmpfsOptions", + "description": "tmpfs option of the mount", + "x-nullable": true + } + } + }, + "VolumeOptions": { + "type": "object", + "properties": { + "nocopy": { + "type": "boolean", + "description": "Indicate whether volume is nocopy", + "x-nullable": true + } + } + }, + "BindOptions": { + "type": "object", + "properties": { + "propagation": { + "type": "string", + "description": "Type of Bind Option", + "x-nullable": true + }, + "createHostPath": { + "type": "boolean", + "description": "Indicate whether to create host path.", + "x-nullable": true + }, + "selinux": { + "type": "string", + "description": "Mention the selinux options.", + "x-nullable": true + } + } + }, + "TmpfsOptions": { + "type": "object", + "properties": { + "size": { + "format": "int32", + "type": "integer", + "description": "Mention the Tmpfs size" + } + } + }, + "ImageMetadata": { + "type": "object", + "description": "Returns metadata about the operating system image for this compute instance.", + "properties": { + "currentImageVersion": { + "type": "string", + "description": "Specifies the current operating system image version this compute instance is running on." + }, + "latestImageVersion": { + "type": "string", + "description": "Specifies the latest available operating system image version." + }, + "isLatestOsImageVersion": { + "type": "boolean", + "description": "Specifies whether this compute instance is running on the latest operating system image." + } + } + }, "ComputeInstanceSshSettings": { "type": "object", "description": "Specifies policy and settings for SSH access.", From 42b22da2f371a4d0011e6d28c9bdd6d80bc5dbce Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Tue, 14 Mar 2023 15:56:48 +0530 Subject: [PATCH 02/13] Added example file --- .../Compute/updateCustomServices.json | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json new file mode 100644 index 000000000000..4942c3d74aa2 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2023-02-01-preview", + "customServices": [ + { + "name": "rstudio-workbench", + "image": { + "type": "docker", + "reference": "ghcr.io/azure/rstudio-workbench:latest" + }, + "environmentVariables": { + "RSP_LICENSE": { + "type": "local", + "value": "XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX" + } + }, + "docker": { + "privileged": true + }, + "endpoints": [ + { + "protocol": "http", + "name": "connect", + "target": 8787, + "published": 4444, + "hostIp": null + } + ], + "volumes": [ + { + "type": "bind", + "source": "/mnt/azureuser/", + "target": "/home/testuser/", + "readOnly": true + } + ] + } + ] + }, + "responses": { + "200": {} + } +} From 33b826a0fa467ac5ce47cdfec0e4248dd263ab4b Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Wed, 15 Mar 2023 12:08:27 +0530 Subject: [PATCH 03/13] Triggering retest --- .../2023-04-01/examples/Compute/updateCustomServices.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json index 4942c3d74aa2..1a5475749dcf 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json @@ -34,7 +34,7 @@ { "type": "bind", "source": "/mnt/azureuser/", - "target": "/home/testuser/", + "target": "/home/azureuser/", "readOnly": true } ] From 321d4032a7622a10b989861b216a0628920056ec Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Wed, 15 Mar 2023 12:21:32 +0530 Subject: [PATCH 04/13] Fixed version issue --- .../2023-04-01/examples/Compute/updateCustomServices.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json index 1a5475749dcf..8dae2c5b9219 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json @@ -4,7 +4,7 @@ "resourceGroupName": "testrg123", "workspaceName": "workspaces123", "computeName": "compute123", - "api-version": "2023-02-01-preview", + "api-version": "2023-04-01", "customServices": [ { "name": "rstudio-workbench", From d16e06bd78f55aaf84995cfe2f2fa6ea04285a6b Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Wed, 15 Mar 2023 12:29:25 +0530 Subject: [PATCH 05/13] Triggering retest --- .../2023-04-01/examples/Compute/updateCustomServices.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json index 8dae2c5b9219..9c76d4703a8c 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json @@ -25,7 +25,7 @@ { "protocol": "http", "name": "connect", - "target": 8787, + "target": 8888, "published": 4444, "hostIp": null } From bcf66f602ac6976234d8a7ba4743ae2d36b40d86 Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Fri, 17 Mar 2023 11:39:23 +0530 Subject: [PATCH 06/13] Removing OS Patching --- .../2023-04-01/machineLearningServices.json | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json index efe604e64347..b6d001276fb9 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json @@ -3663,11 +3663,6 @@ "name" ] }, - "osImageMetadata": { - "readOnly": true, - "description": "Returns metadata about the operating system image for this compute instance.", - "$ref": "#/definitions/ImageMetadata" - }, "connectivityEndpoints": { "readOnly": true, "description": "Describes all connectivity endpoints available for this ComputeInstance.", @@ -5012,24 +5007,6 @@ } } }, - "ImageMetadata": { - "type": "object", - "description": "Returns metadata about the operating system image for this compute instance.", - "properties": { - "currentImageVersion": { - "type": "string", - "description": "Specifies the current operating system image version this compute instance is running on." - }, - "latestImageVersion": { - "type": "string", - "description": "Specifies the latest available operating system image version." - }, - "isLatestOsImageVersion": { - "type": "boolean", - "description": "Specifies whether this compute instance is running on the latest operating system image." - } - } - }, "ComputeInstanceSshSettings": { "type": "object", "description": "Specifies policy and settings for SSH access.", From 258e4a8c6f97a6972e1c8eb366d514f9fb4deb7f Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Tue, 21 Mar 2023 12:07:55 +0530 Subject: [PATCH 07/13] Changes as per feedback, and add os patching back --- .../createOrUpdate/ComputeInstance.json | 68 ++++++++++--------- .../Compute/updateCustomServices.json | 63 +++++++++-------- .../2023-04-01/machineLearningServices.json | 37 +++++++--- 3 files changed, 95 insertions(+), 73 deletions(-) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json index 57e5429d3473..0a99ebc55c12 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json @@ -15,41 +15,45 @@ "id": "test-subnet-resource-id" }, "applicationSharingPolicy": "Personal", + "osImageMetadata": { + "currentImageVersion": "22.06.14", + "latestImageVersion": "22.07.22", + "isLatestOsImageVersion": false + }, "customServices": [ { - "name": "rstudio-workbench", - "image": { - "type": "docker", - "reference": "ghcr.io/azure/rstudio-workbench:latest" - }, - "environmentVariables": { - "RSP_LICENSE": { - "type": "local", - "value": "XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX" - } - }, - "docker": { - "privileged": true - }, - "endpoints": [ - { - "protocol": "http", - "name": "connect", - "target": 8787, - "published": 4444, - "hostIp": null - } - ], - "volumes": [ - { - "type": "bind", - "source": "/mnt/azureuser/", - "target": "/home/testuser/", - "readOnly": true - } - ] + "endpoints": [ + { + "name": "lab", + "target": 8888, + "published": 8888, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "docker.io/jupyter/minimal-notebook:latest" + }, + "name": "jupyter" + }, + { + "endpoints": [ + { + "name": "connect", + "target": 8787, + "published": 8787, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "docker.io/rocker/rstudio:latest" + }, + "name": "rocker", + "title": "Rocker R ML IDE", + "description": "An open source R IDE." } - ], + ], "sshSettings": { "sshPublicAccess": "Disabled" }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json index 9c76d4703a8c..4f92bca9f8e7 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json @@ -7,39 +7,38 @@ "api-version": "2023-04-01", "customServices": [ { - "name": "rstudio-workbench", - "image": { - "type": "docker", - "reference": "ghcr.io/azure/rstudio-workbench:latest" - }, - "environmentVariables": { - "RSP_LICENSE": { - "type": "local", - "value": "XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX" - } - }, - "docker": { - "privileged": true - }, - "endpoints": [ - { - "protocol": "http", - "name": "connect", - "target": 8888, - "published": 4444, - "hostIp": null - } - ], - "volumes": [ - { - "type": "bind", - "source": "/mnt/azureuser/", - "target": "/home/azureuser/", - "readOnly": true - } - ] + "endpoints": [ + { + "name": "lab", + "target": 8888, + "published": 8888, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "docker.io/jupyter/minimal-notebook:latest" + }, + "name": "jupyter" + }, + { + "endpoints": [ + { + "name": "connect", + "target": 8787, + "published": 8787, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "docker.io/rocker/rstudio:latest" + }, + "name": "rocker", + "title": "Rocker R ML IDE", + "description": "An open source R IDE." } - ] + ] }, "responses": { "200": {} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json index b6d001276fb9..2ce2847b3fba 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json @@ -3663,6 +3663,11 @@ "name" ] }, + "osImageMetadata": { + "readOnly": true, + "description": "Returns metadata about the operating system image for this compute instance.", + "$ref": "#/definitions/ImageMetadata" + }, "connectivityEndpoints": { "readOnly": true, "description": "Describes all connectivity endpoints available for this ComputeInstance.", @@ -4767,6 +4772,24 @@ } } }, + "ImageMetadata": { + "type": "object", + "description": "Returns metadata about the operating system image for this compute instance.", + "properties": { + "currentImageVersion": { + "type": "string", + "description": "Specifies the current operating system image version this compute instance is running on." + }, + "latestImageVersion": { + "type": "string", + "description": "Specifies the latest available operating system image version." + }, + "isLatestOsImageVersion": { + "type": "boolean", + "description": "Specifies whether this compute instance is running on the latest operating system image." + } + } + }, "CustomService": { "type": "object", "description": "Specifies the custom service configuration", @@ -4834,7 +4857,7 @@ }, "reference": { "type": "string", - "description": "Image reference URL" + "description": "Image reference" } }, "additionalProperties": true @@ -4947,23 +4970,19 @@ }, "consistency": { "type": "string", - "description": "Consistency of the volume", - "x-nullable": true + "description": "Consistency of the volume" }, "bind": { "$ref": "#/definitions/BindOptions", - "description": "Bind Options of the mount", - "x-nullable": true + "description": "Bind Options of the mount" }, "volume": { "$ref": "#/definitions/VolumeOptions", - "description": "Volume Options of the mount", - "x-nullable": true + "description": "Volume Options of the mount" }, "tmpfs": { "$ref": "#/definitions/TmpfsOptions", - "description": "tmpfs option of the mount", - "x-nullable": true + "description": "tmpfs option of the mount" } } }, From 982b0d37517351cf12fd96e15270939e2d02676f Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Tue, 21 Mar 2023 12:20:08 +0530 Subject: [PATCH 08/13] Fix formatting --- .../createOrUpdate/ComputeInstance.json | 58 +++++++++---------- .../Compute/updateCustomServices.json | 58 +++++++++---------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json index 0a99ebc55c12..9e3433fd5778 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json @@ -22,38 +22,38 @@ }, "customServices": [ { - "endpoints": [ - { - "name": "lab", - "target": 8888, - "published": 8888, - "protocol": "http" - } - ], - "image": { - "type": "docker", - "reference": "docker.io/jupyter/minimal-notebook:latest" - }, - "name": "jupyter" + "endpoints": [ + { + "name": "lab", + "target": 8888, + "published": 8888, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "docker.io/jupyter/minimal-notebook:latest" + }, + "name": "jupyter" }, { - "endpoints": [ - { - "name": "connect", - "target": 8787, - "published": 8787, - "protocol": "http" - } - ], - "image": { - "type": "docker", - "reference": "docker.io/rocker/rstudio:latest" - }, - "name": "rocker", - "title": "Rocker R ML IDE", - "description": "An open source R IDE." + "endpoints": [ + { + "name": "connect", + "target": 8787, + "published": 8787, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "docker.io/rocker/rstudio:latest" + }, + "name": "rocker", + "title": "Rocker R ML IDE", + "description": "An open source R IDE." } - ], + ], "sshSettings": { "sshPublicAccess": "Disabled" }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json index 4f92bca9f8e7..3752cef82443 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json @@ -7,38 +7,38 @@ "api-version": "2023-04-01", "customServices": [ { - "endpoints": [ - { - "name": "lab", - "target": 8888, - "published": 8888, - "protocol": "http" - } - ], - "image": { - "type": "docker", - "reference": "docker.io/jupyter/minimal-notebook:latest" - }, - "name": "jupyter" + "endpoints": [ + { + "name": "lab", + "target": 8888, + "published": 8888, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "docker.io/jupyter/minimal-notebook:latest" + }, + "name": "jupyter" }, { - "endpoints": [ - { - "name": "connect", - "target": 8787, - "published": 8787, - "protocol": "http" - } - ], - "image": { - "type": "docker", - "reference": "docker.io/rocker/rstudio:latest" - }, - "name": "rocker", - "title": "Rocker R ML IDE", - "description": "An open source R IDE." + "endpoints": [ + { + "name": "connect", + "target": 8787, + "published": 8787, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "docker.io/rocker/rstudio:latest" + }, + "name": "rocker", + "title": "Rocker R ML IDE", + "description": "An open source R IDE." } - ] + ] }, "responses": { "200": {} From fc83c7770b796031a6b7b5789ac33dfbe12abff1 Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Tue, 28 Mar 2023 20:55:06 +0530 Subject: [PATCH 09/13] Removed Custom Service Update API --- .../createOrUpdate/ComputeInstance.json | 32 +++++------ .../examples/Compute/get/ComputeInstance.json | 34 ++++++++++++ .../Compute/updateCustomServices.json | 46 ---------------- .../2023-04-01/machineLearningServices.json | 55 ------------------- 4 files changed, 50 insertions(+), 117 deletions(-) delete mode 100644 specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json index 9e3433fd5778..33a25e9dfaac 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json @@ -22,21 +22,23 @@ }, "customServices": [ { - "endpoints": [ + "docker": { + "privileged": true + }, + "environmentVariables": { + "test_var": { + "type": "local", + "value": "test_val" + } + }, + "volumes": [ { - "name": "lab", - "target": 8888, - "published": 8888, - "protocol": "http" + "type": "bind", + "read_only": false, + "source": "/home/azureuser/cloudfiles", + "target": "/home/azureuser/cloudfiles" } ], - "image": { - "type": "docker", - "reference": "docker.io/jupyter/minimal-notebook:latest" - }, - "name": "jupyter" - }, - { "endpoints": [ { "name": "connect", @@ -47,11 +49,9 @@ ], "image": { "type": "docker", - "reference": "docker.io/rocker/rstudio:latest" + "reference": "ghcr.io/azure/rocker-rstudio-ml-verse:latest" }, - "name": "rocker", - "title": "Rocker R ML IDE", - "description": "An open source R IDE." + "name": "rstudio" } ], "sshSettings": { diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/get/ComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/get/ComputeInstance.json index f6e590bd941b..5ba6e15c86e6 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/get/ComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/get/ComputeInstance.json @@ -30,6 +30,40 @@ "adminUserName": "azureuser", "sshPort": 22 }, + "customServices": [ + { + "docker": { + "privileged": true + }, + "environmentVariables": { + "test_var": { + "type": "local", + "value": "test_val" + } + }, + "volumes": [ + { + "type": "bind", + "read_only": false, + "source": "/home/azureuser/cloudfiles", + "target": "/home/azureuser/cloudfiles" + } + ], + "endpoints": [ + { + "name": "connect", + "target": 8787, + "published": 8787, + "protocol": "http" + } + ], + "image": { + "type": "docker", + "reference": "ghcr.io/azure/rocker-rstudio-ml-verse:latest" + }, + "name": "rstudio" + } + ], "computeInstanceAuthorizationType": "personal", "personalComputeInstanceSettings": { "assignedUser": { diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json deleted file mode 100644 index 3752cef82443..000000000000 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/updateCustomServices.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", - "workspaceName": "workspaces123", - "computeName": "compute123", - "api-version": "2023-04-01", - "customServices": [ - { - "endpoints": [ - { - "name": "lab", - "target": 8888, - "published": 8888, - "protocol": "http" - } - ], - "image": { - "type": "docker", - "reference": "docker.io/jupyter/minimal-notebook:latest" - }, - "name": "jupyter" - }, - { - "endpoints": [ - { - "name": "connect", - "target": 8787, - "published": 8787, - "protocol": "http" - } - ], - "image": { - "type": "docker", - "reference": "docker.io/rocker/rstudio:latest" - }, - "name": "rocker", - "title": "Rocker R ML IDE", - "description": "An open source R IDE." - } - ] - }, - "responses": { - "200": {} - } -} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json index 2ce2847b3fba..a131ce54d0f6 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json @@ -1004,61 +1004,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/customServices": { - "post": { - "tags": [ - "OperationalizationClusters", - "MachineLearningComputes" - ], - "operationId": "Compute_UpdateCustomServices", - "description": "Updates the custom services list. The list of custom services provided shall be overwritten", - "x-ms-examples": { - "Update Custom Services": { - "$ref": "./examples/Compute/updateCustomServices.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/WorkspaceNameParameter" - }, - { - "$ref": "#/parameters/ComputeNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "in": "body", - "name": "customServices", - "required": true, - "description": "New list of Custom Services.", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/CustomService" - } - } - } - ], - "responses": { - "200": { - "description": "Success" - }, - "default": { - "description": "Error response describing why the request failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes": { "post": { "tags": [ From 868186476979249dedac2470040d0c53ee78aa10 Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Tue, 28 Mar 2023 21:23:18 +0530 Subject: [PATCH 10/13] Fixed Example Files --- .../examples/Compute/createOrUpdate/ComputeInstance.json | 5 ----- .../2023-04-01/examples/Compute/get/ComputeInstance.json | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json index 33a25e9dfaac..b13faf92eea7 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json @@ -15,11 +15,6 @@ "id": "test-subnet-resource-id" }, "applicationSharingPolicy": "Personal", - "osImageMetadata": { - "currentImageVersion": "22.06.14", - "latestImageVersion": "22.07.22", - "isLatestOsImageVersion": false - }, "customServices": [ { "docker": { diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/get/ComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/get/ComputeInstance.json index 5ba6e15c86e6..c5395332d428 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/get/ComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/get/ComputeInstance.json @@ -30,6 +30,11 @@ "adminUserName": "azureuser", "sshPort": 22 }, + "osImageMetadata": { + "currentImageVersion": "22.06.14", + "latestImageVersion": "22.07.22", + "isLatestOsImageVersion": false + }, "customServices": [ { "docker": { From d73a28a3530ca48e0f598e563f4fd080efb86bbe Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Wed, 29 Mar 2023 09:46:32 +0530 Subject: [PATCH 11/13] Added as per review comments --- .../stable/2023-04-01/machineLearningServices.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json index a131ce54d0f6..3f05713e865e 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json @@ -4832,6 +4832,7 @@ }, "Docker": { "type": "object", + "description": "Docker container configuration", "properties": { "privileged": { "type": "boolean", @@ -4843,6 +4844,7 @@ }, "Endpoint": { "type": "object", + "description": "Describes the endpoint configuration for the container", "properties": { "protocol": { "enum": [ @@ -4883,6 +4885,7 @@ }, "VolumeDefinition": { "type": "object", + "description": "Describes the volume configuration for the container", "properties": { "type": { "enum": [ @@ -4933,6 +4936,7 @@ }, "VolumeOptions": { "type": "object", + "description": "Describes the volume options for the container", "properties": { "nocopy": { "type": "boolean", @@ -4943,6 +4947,7 @@ }, "BindOptions": { "type": "object", + "description": "Describes the bind options for the container", "properties": { "propagation": { "type": "string", @@ -4962,6 +4967,7 @@ } }, "TmpfsOptions": { + "description": "Describes the tmpfs options for the container", "type": "object", "properties": { "size": { From da852a7ade549afc066cb12a869e22d3eaf0ef28 Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Wed, 29 Mar 2023 09:49:03 +0530 Subject: [PATCH 12/13] Added as per review comments --- .../stable/2023-04-01/machineLearningServices.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json index 3f05713e865e..e44aa8e5f18d 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/machineLearningServices.json @@ -4785,6 +4785,7 @@ }, "Image": { "type": "object", + "description": "Describes the Image Specifications", "properties": { "type": { "default": "docker", @@ -4809,6 +4810,7 @@ }, "EnvironmentVariable": { "type": "object", + "description": "Environment Variables for the container", "properties": { "type": { "enum": [ From b3a2197390848c23a7d2d36c0325104eb84c93d0 Mon Sep 17 00:00:00 2001 From: Srivatsa Sinha Date: Wed, 29 Mar 2023 12:17:23 +0530 Subject: [PATCH 13/13] Retrigger test --- .../examples/Compute/createOrUpdate/ComputeInstance.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json index b13faf92eea7..ec5af9291b38 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-04-01/examples/Compute/createOrUpdate/ComputeInstance.json @@ -21,9 +21,9 @@ "privileged": true }, "environmentVariables": { - "test_var": { + "test_variable": { "type": "local", - "value": "test_val" + "value": "test_value" } }, "volumes": [