Skip to content

Commit c2b16f2

Browse files
kamalcaLiliDeng
authored andcommitted
ip_service_tags
New security standard will require all IPs to be tagged. Please note this IP tagging system is different from general resource tagging.
1 parent 02c80fc commit c2b16f2

File tree

4 files changed

+33
-5
lines changed

4 files changed

+33
-5
lines changed

lisa/sut_orchestrator/azure/arm_template.bicep

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ param data_disks array
4646
@description('whether to use ultra disk')
4747
param is_ultradisk bool = false
4848

49+
@description('IP Service Tags')
50+
param ip_service_tags object
51+
4952
var vnet_id = virtual_network_name_resource.id
5053
var node_count = length(nodes)
5154
var availability_set_name_value = 'lisa-availabilitySet'
@@ -59,6 +62,10 @@ var use_availability_zones = (availability_type == 'availability_zone')
5962
var availability_set_value = (use_availability_set ? getAvailabilitySetId(availability_set_name_value): null)
6063
var combined_vm_tags = union(tags, vm_tags)
6164
var combined_aset_tags = union(tags, availability_set_tags)
65+
var ip_tags = [for key in objectKeys(ip_service_tags): {
66+
ipTagType: key
67+
tag: ip_service_tags[key]
68+
}]
6269

6370
func isCvm(node object) bool => bool((!empty(node.vhd)) && (!empty(node.vhd.vmgs_path)))
6471

@@ -254,6 +261,7 @@ resource nodes_public_ip 'Microsoft.Network/publicIPAddresses@2020-05-01' = [for
254261
name: '${nodes[i].name}-public-ip'
255262
properties: {
256263
publicIPAllocationMethod: ((is_ultradisk || use_availability_zones) ? 'Static' : 'Dynamic')
264+
ipTags: (empty(ip_tags) ? null : ip_tags)
257265
}
258266
sku: {
259267
name: ((is_ultradisk || use_availability_zones) ? 'Standard' : 'Basic')

lisa/sut_orchestrator/azure/autogen_arm_template.json

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"metadata": {
66
"_generator": {
77
"name": "bicep",
8-
"version": "0.28.1.47646",
9-
"templateHash": "1630470125196944168"
8+
"version": "0.30.23.60470",
9+
"templateHash": "17909783643222378721"
1010
}
1111
},
1212
"functions": [
@@ -511,9 +511,25 @@
511511
"metadata": {
512512
"description": "whether to use ultra disk"
513513
}
514+
},
515+
"ip_service_tags": {
516+
"type": "object",
517+
"metadata": {
518+
"description": "IP Service Tags"
519+
}
514520
}
515521
},
516522
"variables": {
523+
"copy": [
524+
{
525+
"name": "ip_tags",
526+
"count": "[length(objectKeys(parameters('ip_service_tags')))]",
527+
"input": {
528+
"ipTagType": "[objectKeys(parameters('ip_service_tags'))[copyIndex('ip_tags')]]",
529+
"tag": "[parameters('ip_service_tags')[objectKeys(parameters('ip_service_tags'))[copyIndex('ip_tags')]]]"
530+
}
531+
}
532+
],
517533
"vnet_id": "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtual_network_name'))]",
518534
"node_count": "[length(parameters('nodes'))]",
519535
"availability_set_name_value": "lisa-availabilitySet",
@@ -579,7 +595,8 @@
579595
"location": "[parameters('location')]",
580596
"tags": "[parameters('tags')]",
581597
"properties": {
582-
"publicIPAllocationMethod": "[if(or(parameters('is_ultradisk'), variables('use_availability_zones')), 'Static', 'Dynamic')]"
598+
"publicIPAllocationMethod": "[if(or(parameters('is_ultradisk'), variables('use_availability_zones')), 'Static', 'Dynamic')]",
599+
"ipTags": "[if(empty(variables('ip_tags')), null(), variables('ip_tags'))]"
583600
},
584601
"sku": {
585602
"name": "[if(or(parameters('is_ultradisk'), variables('use_availability_zones')), 'Standard', 'Basic')]"
@@ -770,8 +787,8 @@
770787
"metadata": {
771788
"_generator": {
772789
"name": "bicep",
773-
"version": "0.28.1.47646",
774-
"templateHash": "10740733774987815957"
790+
"version": "0.30.23.60470",
791+
"templateHash": "12249187708601787514"
775792
}
776793
},
777794
"functions": [

lisa/sut_orchestrator/azure/common.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1154,6 +1154,7 @@ class AzureArmParameter:
11541154
data_disks: List[DataDiskSchema] = field(default_factory=list)
11551155
vm_tags: Dict[str, Any] = field(default_factory=dict)
11561156
tags: Dict[str, Any] = field(default_factory=dict)
1157+
ip_service_tags: Dict[str, str] = field(default_factory=dict)
11571158

11581159
virtual_network_resource_group: str = ""
11591160
virtual_network_name: str = AZURE_VIRTUAL_NETWORK_NAME

lisa/sut_orchestrator/azure/platform_.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ class AzurePlatformSchema:
279279
vm_tags: Optional[Dict[str, Any]] = field(default=None)
280280
tags: Optional[Dict[str, Any]] = field(default=None)
281281
use_public_address: bool = field(default=True)
282+
ip_service_tags: Optional[Dict[str, str]] = field(default=None)
282283

283284
virtual_network_resource_group: str = field(default="")
284285
virtual_network_name: str = field(default=AZURE_VIRTUAL_NETWORK_NAME)
@@ -1058,6 +1059,7 @@ def _create_deployment_parameters(
10581059
copied_fields = [
10591060
"vm_tags",
10601061
"tags",
1062+
"ip_service_tags",
10611063
]
10621064
availability_copied_fields = [
10631065
"availability_set_tags",

0 commit comments

Comments
 (0)