From e5b01f02da005f9d6338ba460b2c20a82716cf9c Mon Sep 17 00:00:00 2001 From: "REDMOND\\vaibhk" Date: Tue, 29 Dec 2020 12:34:02 -0800 Subject: [PATCH 1/4] support for FPGA nic in VMSS network profile --- .../stable/2020-06-01/compute.json | 8 + ...AScaleSetFromWithFpgaNetworkInterface.json | 271 ++++++++++++++++++ 2 files changed, 279 insertions(+) create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json index c81b64798ed6..45c40d65e72a 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json @@ -9925,6 +9925,10 @@ "enableAcceleratedNetworking": { "type": "boolean", "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableFpga": { + "type": "boolean", + "description": "Specifies whether the network interface is FPGA networking-enabled." }, "networkSecurityGroup": { "$ref": "#/definitions/SubResource", @@ -9960,6 +9964,10 @@ "enableAcceleratedNetworking": { "type": "boolean", "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableFpga": { + "type": "boolean", + "description": "Specifies whether the network interface is FPGA networking-enabled." }, "networkSecurityGroup": { "$ref": "#/definitions/SubResource", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json new file mode 100644 index 000000000000..4893ae1ac36c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json @@ -0,0 +1,271 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + }, + { + "name": "{fpgaNic-Name}", + "properties": { + "primary": false, + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "enableFpga": true, + "ipConfigurations": [ + { + "name": "{fpgaNic-Name}", + "properties": { + "primary": true, + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" + }, + "privateIPAddressVersion": "IPv4" + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + }, + { + "name": "{fpgaNic-Name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": false, + "enableFpga": true, + "ipConfigurations": [ + { + "name": "{fpgaNic-Name}", + "properties": { + "primary": true, + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + }, + { + "name": "{fpgaNic-Name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": false, + "enableFpga": true, + "ipConfigurations": [ + { + "name": "{fpgaNic-Name}", + "properties": { + "primary": true, + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} From 9da393eee03a49c7ea3f0d93789d314a144cb8d0 Mon Sep 17 00:00:00 2001 From: "REDMOND\\vaibhk" Date: Tue, 5 Jan 2021 17:05:56 -0800 Subject: [PATCH 2/4] add example reference --- .../Microsoft.Compute/stable/2020-06-01/compute.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json index 45c40d65e72a..ff64aa7c687e 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json @@ -3760,6 +3760,9 @@ }, "Create a scale set with Host Encryption using encryptionAtHost property.": { "$ref": "./examples/CreateAScaleSetWithEncryptionAtHost.json" + } + "Create a scale set with Fpga Network Interfaces.": { + "$ref": "./examples/CreateAScaleSetFromWithFpgaNetworkInterface.json" } } }, From e2b416cc8c7a6e5e43deffc42525f81c7b7d83d6 Mon Sep 17 00:00:00 2001 From: "REDMOND\\vaibhk" Date: Tue, 5 Jan 2021 17:28:03 -0800 Subject: [PATCH 3/4] fix --- .../Microsoft.Compute/stable/2020-06-01/compute.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json index ff64aa7c687e..b8b77ab5ef40 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json @@ -3760,7 +3760,7 @@ }, "Create a scale set with Host Encryption using encryptionAtHost property.": { "$ref": "./examples/CreateAScaleSetWithEncryptionAtHost.json" - } + }, "Create a scale set with Fpga Network Interfaces.": { "$ref": "./examples/CreateAScaleSetFromWithFpgaNetworkInterface.json" } From 8bd3db902701476d58988748c2cd6cc3ab59bc22 Mon Sep 17 00:00:00 2001 From: "REDMOND\\vaibhk" Date: Tue, 5 Jan 2021 18:00:35 -0800 Subject: [PATCH 4/4] pretty-check --- .../stable/2020-06-01/compute.json | 6 +- ...AScaleSetFromWithFpgaNetworkInterface.json | 126 +++++++++--------- 2 files changed, 66 insertions(+), 66 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json index b8b77ab5ef40..454bd7c8742d 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json @@ -3761,7 +3761,7 @@ "Create a scale set with Host Encryption using encryptionAtHost property.": { "$ref": "./examples/CreateAScaleSetWithEncryptionAtHost.json" }, - "Create a scale set with Fpga Network Interfaces.": { + "Create a scale set with Fpga Network Interfaces.": { "$ref": "./examples/CreateAScaleSetFromWithFpgaNetworkInterface.json" } } @@ -9929,7 +9929,7 @@ "type": "boolean", "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "enableFpga": { + "enableFpga": { "type": "boolean", "description": "Specifies whether the network interface is FPGA networking-enabled." }, @@ -9968,7 +9968,7 @@ "type": "boolean", "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "enableFpga": { + "enableFpga": { "type": "boolean", "description": "Specifies whether the network interface is FPGA networking-enabled." }, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json index 4893ae1ac36c..d150335ddcc4 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json @@ -50,27 +50,27 @@ ] } }, - { - "name": "{fpgaNic-Name}", - "properties": { - "primary": false, - "enableAcceleratedNetworking": false, - "enableIPForwarding": false, - "enableFpga": true, - "ipConfigurations": [ - { - "name": "{fpgaNic-Name}", - "properties": { - "primary": true, - "subnet": { - "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" - }, - "privateIPAddressVersion": "IPv4" - } - } - ] - } - } + { + "name": "{fpgaNic-Name}", + "properties": { + "primary": false, + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "enableFpga": true, + "ipConfigurations": [ + { + "name": "{fpgaNic-Name}", + "properties": { + "primary": true, + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" + }, + "privateIPAddressVersion": "IPv4" + } + } + ] + } + } ] } }, @@ -138,29 +138,29 @@ "enableAcceleratedNetworking": false } }, - { - "name": "{fpgaNic-Name}", - "properties": { - "dnsSettings": { + { + "name": "{fpgaNic-Name}", + "properties": { + "dnsSettings": { "dnsServers": [] }, - "primary": false, - "enableFpga": true, - "ipConfigurations": [ - { - "name": "{fpgaNic-Name}", - "properties": { - "primary": true, - "subnet": { - "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" - }, - "privateIPAddressVersion": "IPv4" - } - } - ], - "enableAcceleratedNetworking": false - } - } + "primary": false, + "enableFpga": true, + "ipConfigurations": [ + { + "name": "{fpgaNic-Name}", + "properties": { + "primary": true, + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } ] } }, @@ -231,29 +231,29 @@ "enableAcceleratedNetworking": false } }, - { - "name": "{fpgaNic-Name}", - "properties": { - "dnsSettings": { + { + "name": "{fpgaNic-Name}", + "properties": { + "dnsSettings": { "dnsServers": [] }, - "primary": false, - "enableFpga": true, - "ipConfigurations": [ - { - "name": "{fpgaNic-Name}", - "properties": { - "primary": true, - "subnet": { - "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" - }, - "privateIPAddressVersion": "IPv4" - } - } - ], - "enableAcceleratedNetworking": false - } - } + "primary": false, + "enableFpga": true, + "ipConfigurations": [ + { + "name": "{fpgaNic-Name}", + "properties": { + "primary": true, + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } ] } },