Skip to content

Commit bd71f9a

Browse files
authored
Support for FPGA network interface on network profile for VM scale set (#12250)
* support for FPGA nic in VMSS network profile * add example reference * fix * pretty-check
1 parent 98241e7 commit bd71f9a

File tree

2 files changed

+282
-0
lines changed

2 files changed

+282
-0
lines changed

specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3760,6 +3760,9 @@
37603760
},
37613761
"Create a scale set with Host Encryption using encryptionAtHost property.": {
37623762
"$ref": "./examples/CreateAScaleSetWithEncryptionAtHost.json"
3763+
},
3764+
"Create a scale set with Fpga Network Interfaces.": {
3765+
"$ref": "./examples/CreateAScaleSetFromWithFpgaNetworkInterface.json"
37633766
}
37643767
}
37653768
},
@@ -9926,6 +9929,10 @@
99269929
"type": "boolean",
99279930
"description": "Specifies whether the network interface is accelerated networking-enabled."
99289931
},
9932+
"enableFpga": {
9933+
"type": "boolean",
9934+
"description": "Specifies whether the network interface is FPGA networking-enabled."
9935+
},
99299936
"networkSecurityGroup": {
99309937
"$ref": "#/definitions/SubResource",
99319938
"description": "The network security group."
@@ -9961,6 +9968,10 @@
99619968
"type": "boolean",
99629969
"description": "Specifies whether the network interface is accelerated networking-enabled."
99639970
},
9971+
"enableFpga": {
9972+
"type": "boolean",
9973+
"description": "Specifies whether the network interface is FPGA networking-enabled."
9974+
},
99649975
"networkSecurityGroup": {
99659976
"$ref": "#/definitions/SubResource",
99669977
"description": "The network security group."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,271 @@
1+
{
2+
"parameters": {
3+
"subscriptionId": "{subscription-id}",
4+
"resourceGroupName": "myResourceGroup",
5+
"vmScaleSetName": "{vmss-name}",
6+
"api-version": "2020-06-01",
7+
"parameters": {
8+
"sku": {
9+
"tier": "Standard",
10+
"capacity": 3,
11+
"name": "Standard_D1_v2"
12+
},
13+
"location": "westus",
14+
"properties": {
15+
"overprovision": true,
16+
"virtualMachineProfile": {
17+
"storageProfile": {
18+
"imageReference": {
19+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
20+
},
21+
"osDisk": {
22+
"caching": "ReadWrite",
23+
"managedDisk": {
24+
"storageAccountType": "Standard_LRS"
25+
},
26+
"createOption": "FromImage"
27+
}
28+
},
29+
"osProfile": {
30+
"computerNamePrefix": "{vmss-name}",
31+
"adminUsername": "{your-username}",
32+
"adminPassword": "{your-password}"
33+
},
34+
"networkProfile": {
35+
"networkInterfaceConfigurations": [
36+
{
37+
"name": "{vmss-name}",
38+
"properties": {
39+
"primary": true,
40+
"enableIPForwarding": true,
41+
"ipConfigurations": [
42+
{
43+
"name": "{vmss-name}",
44+
"properties": {
45+
"subnet": {
46+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
47+
}
48+
}
49+
}
50+
]
51+
}
52+
},
53+
{
54+
"name": "{fpgaNic-Name}",
55+
"properties": {
56+
"primary": false,
57+
"enableAcceleratedNetworking": false,
58+
"enableIPForwarding": false,
59+
"enableFpga": true,
60+
"ipConfigurations": [
61+
{
62+
"name": "{fpgaNic-Name}",
63+
"properties": {
64+
"primary": true,
65+
"subnet": {
66+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
67+
},
68+
"privateIPAddressVersion": "IPv4"
69+
}
70+
}
71+
]
72+
}
73+
}
74+
]
75+
}
76+
},
77+
"upgradePolicy": {
78+
"mode": "Manual"
79+
}
80+
}
81+
}
82+
},
83+
"responses": {
84+
"200": {
85+
"body": {
86+
"sku": {
87+
"tier": "Standard",
88+
"capacity": 3,
89+
"name": "Standard_D1_v2"
90+
},
91+
"name": "{vmss-name}",
92+
"properties": {
93+
"singlePlacementGroup": true,
94+
"overprovision": true,
95+
"uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
96+
"virtualMachineProfile": {
97+
"storageProfile": {
98+
"imageReference": {
99+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
100+
},
101+
"osDisk": {
102+
"caching": "ReadWrite",
103+
"managedDisk": {
104+
"storageAccountType": "Standard_LRS"
105+
},
106+
"createOption": "FromImage"
107+
}
108+
},
109+
"osProfile": {
110+
"computerNamePrefix": "{vmss-name}",
111+
"adminUsername": "{your-username}",
112+
"secrets": [],
113+
"linuxConfiguration": {
114+
"disablePasswordAuthentication": false
115+
}
116+
},
117+
"networkProfile": {
118+
"networkInterfaceConfigurations": [
119+
{
120+
"name": "{vmss-name}",
121+
"properties": {
122+
"dnsSettings": {
123+
"dnsServers": []
124+
},
125+
"primary": true,
126+
"enableIPForwarding": true,
127+
"ipConfigurations": [
128+
{
129+
"name": "{vmss-name}",
130+
"properties": {
131+
"subnet": {
132+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
133+
},
134+
"privateIPAddressVersion": "IPv4"
135+
}
136+
}
137+
],
138+
"enableAcceleratedNetworking": false
139+
}
140+
},
141+
{
142+
"name": "{fpgaNic-Name}",
143+
"properties": {
144+
"dnsSettings": {
145+
"dnsServers": []
146+
},
147+
"primary": false,
148+
"enableFpga": true,
149+
"ipConfigurations": [
150+
{
151+
"name": "{fpgaNic-Name}",
152+
"properties": {
153+
"primary": true,
154+
"subnet": {
155+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
156+
},
157+
"privateIPAddressVersion": "IPv4"
158+
}
159+
}
160+
],
161+
"enableAcceleratedNetworking": false
162+
}
163+
}
164+
]
165+
}
166+
},
167+
"upgradePolicy": {
168+
"mode": "Manual"
169+
},
170+
"provisioningState": "Creating"
171+
},
172+
"location": "westus",
173+
"type": "Microsoft.Compute/virtualMachineScaleSets",
174+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
175+
}
176+
},
177+
"201": {
178+
"body": {
179+
"sku": {
180+
"tier": "Standard",
181+
"capacity": 3,
182+
"name": "Standard_D1_v2"
183+
},
184+
"name": "{vmss-name}",
185+
"properties": {
186+
"singlePlacementGroup": true,
187+
"overprovision": true,
188+
"uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
189+
"virtualMachineProfile": {
190+
"storageProfile": {
191+
"imageReference": {
192+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
193+
},
194+
"osDisk": {
195+
"caching": "ReadWrite",
196+
"managedDisk": {
197+
"storageAccountType": "Standard_LRS"
198+
},
199+
"createOption": "FromImage"
200+
}
201+
},
202+
"osProfile": {
203+
"computerNamePrefix": "{vmss-name}",
204+
"adminUsername": "{your-username}",
205+
"secrets": [],
206+
"linuxConfiguration": {
207+
"disablePasswordAuthentication": false
208+
}
209+
},
210+
"networkProfile": {
211+
"networkInterfaceConfigurations": [
212+
{
213+
"name": "{vmss-name}",
214+
"properties": {
215+
"dnsSettings": {
216+
"dnsServers": []
217+
},
218+
"primary": true,
219+
"enableIPForwarding": true,
220+
"ipConfigurations": [
221+
{
222+
"name": "{vmss-name}",
223+
"properties": {
224+
"subnet": {
225+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
226+
},
227+
"privateIPAddressVersion": "IPv4"
228+
}
229+
}
230+
],
231+
"enableAcceleratedNetworking": false
232+
}
233+
},
234+
{
235+
"name": "{fpgaNic-Name}",
236+
"properties": {
237+
"dnsSettings": {
238+
"dnsServers": []
239+
},
240+
"primary": false,
241+
"enableFpga": true,
242+
"ipConfigurations": [
243+
{
244+
"name": "{fpgaNic-Name}",
245+
"properties": {
246+
"primary": true,
247+
"subnet": {
248+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
249+
},
250+
"privateIPAddressVersion": "IPv4"
251+
}
252+
}
253+
],
254+
"enableAcceleratedNetworking": false
255+
}
256+
}
257+
]
258+
}
259+
},
260+
"upgradePolicy": {
261+
"mode": "Manual"
262+
},
263+
"provisioningState": "Creating"
264+
},
265+
"location": "westus",
266+
"type": "Microsoft.Compute/virtualMachineScaleSets",
267+
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
268+
}
269+
}
270+
}
271+
}

0 commit comments

Comments
 (0)