Skip to content

Commit b444dbc

Browse files
committed
update(cnl): retina flow logs rename to container network logs
1 parent dafc697 commit b444dbc

File tree

7 files changed

+188
-90
lines changed

7 files changed

+188
-90
lines changed

src/aks-preview/azext_aks_preview/_help.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,10 @@
239239
short-summary: Used to set the acceleration mode (None or BpfVeth) on a cluster when enabling advanced networking features with "--enable-acns".
240240
- name: --enable-retina-flow-logs
241241
type: bool
242-
short-summary: Enable advanced network flow log collection functionalities on a cluster.
242+
short-summary: Enable advanced network flow log collection functionalities on a cluster. This flag is deprecated in favor of --enable-container-network-logs.
243+
- name: --enable-container-network-logs
244+
type: bool
245+
short-summary: Enable container network log collection functionalities on a cluster.
243246
- name: --no-ssh-key -x
244247
type: string
245248
short-summary: Do not use or create a local SSH key.
@@ -1337,10 +1340,16 @@
13371340
short-summary: Used to set the acceleration mode (None or BpfVeth) on a cluster when enabling advanced networking features with "--enable-acns".
13381341
- name: --enable-retina-flow-logs
13391342
type: bool
1340-
short-summary: Enable advanced network flow log collection functionalities on a cluster.
1343+
short-summary: Enable advanced network flow log collection functionalities on a cluster. This flag is deprecated in favor of --enable-container-network-logs.
1344+
- name: --enable-container-network-logs
1345+
type: bool
1346+
short-summary: Enable container network log collection functionalities on a cluster.
13411347
- name: --disable-retina-flow-logs
13421348
type: bool
1343-
short-summary: Disable advanced network flow log collection functionalities on a cluster.
1349+
short-summary: Disable advanced network flow log collection functionalities on a cluster. This flag is deprecated in favor of --disable-container-network-logs.
1350+
- name: --disable-container-network-logs
1351+
type: bool
1352+
short-summary: Disable container network log collection functionalities on a cluster.
13441353
- name: --enable-cost-analysis
13451354
type: bool
13461355
short-summary: Enable exporting Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. For more information see aka.ms/aks/docs/cost-analysis.

src/aks-preview/azext_aks_preview/_params.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,15 @@ def load_arguments(self, _):
969969
c.argument(
970970
"enable_retina_flow_logs",
971971
action="store_true",
972+
deprecate_info=c.deprecate(
973+
target="--enable-retina-flow-logs",
974+
redirect="--enable-container-network-logs",
975+
hide=True,
976+
),
977+
)
978+
c.argument(
979+
"enable_container_network_logs",
980+
action="store_true",
972981
)
973982
c.argument(
974983
"custom_ca_trust_certificates",
@@ -1625,10 +1634,28 @@ def load_arguments(self, _):
16251634
c.argument(
16261635
"enable_retina_flow_logs",
16271636
action="store_true",
1637+
deprecate_info=c.deprecate(
1638+
target="--enable-retina-flow-logs",
1639+
redirect="--enable-container-network-logs",
1640+
hide=True,
1641+
),
1642+
)
1643+
c.argument(
1644+
"enable_container_network_logs",
1645+
action="store_true",
16281646
)
16291647
c.argument(
16301648
"disable_retina_flow_logs",
16311649
action="store_true",
1650+
deprecate_info=c.deprecate(
1651+
target="--disable-retina-flow-logs",
1652+
redirect="--disable-container-network-logs",
1653+
hide=True,
1654+
),
1655+
)
1656+
c.argument(
1657+
"disable_container_network_logs",
1658+
action="store_true",
16321659
)
16331660
c.argument("enable_cost_analysis", action="store_true")
16341661
c.argument("disable_cost_analysis", action="store_true")

src/aks-preview/azext_aks_preview/custom.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,6 +1091,7 @@ def aks_create(
10911091
acns_advanced_networkpolicies=None,
10921092
acns_transit_encryption_type=None,
10931093
enable_retina_flow_logs=None,
1094+
enable_container_network_logs=None,
10941095
acns_datapath_acceleration_mode=None,
10951096
# nodepool
10961097
crg_id=None,
@@ -1360,6 +1361,8 @@ def aks_update(
13601361
acns_transit_encryption_type=None,
13611362
enable_retina_flow_logs=None,
13621363
disable_retina_flow_logs=None,
1364+
enable_container_network_logs=None,
1365+
disable_container_network_logs=None,
13631366
acns_datapath_acceleration_mode=None,
13641367
# metrics profile
13651368
enable_cost_analysis=False,

src/aks-preview/azext_aks_preview/managed_cluster_decorator.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -919,34 +919,34 @@ def get_acns_transit_encryption_type(self) -> Union[str, None]:
919919
)
920920
return self.raw_param.get("acns_transit_encryption_type")
921921

922-
def get_retina_flow_logs(self, mc: ManagedCluster) -> Union[bool, None]:
923-
"""Get the enablement of retina flow logs
922+
# Container network logs is the new name for retina flow logs.
923+
def get_container_network_logs(self, mc: ManagedCluster) -> Union[bool, None]:
924+
"""Get the enablement of container network logs
924925
925926
:return: bool or None"""
926-
enable_retina_flow_logs = self.raw_param.get("enable_retina_flow_logs")
927-
disable_retina_flow_logs = self.raw_param.get("disable_retina_flow_logs")
928-
if enable_retina_flow_logs is None and disable_retina_flow_logs is None:
927+
enable_container_network_logs = self.raw_param.get("enable_container_network_logs") or self.raw_param.get("enable_retina_flow_logs")
928+
disable_container_network_logs = self.raw_param.get("disable_container_network_logs") or self.raw_param.get("disable_retina_flow_logs")
929+
if enable_container_network_logs is None and disable_container_network_logs is None:
929930
return None
930-
if enable_retina_flow_logs and disable_retina_flow_logs:
931+
if enable_container_network_logs and disable_container_network_logs:
931932
raise MutuallyExclusiveArgumentError(
932-
"Cannot specify --enable-retina-flow-logs and "
933-
"--disable-retina-flow-logs at the same time."
933+
"Cannot specify --enable-container-network-logs and "
934+
"--disable-container-network-logs at the same time."
934935
)
935936
if (
936-
enable_retina_flow_logs and
937+
enable_container_network_logs and
937938
(not self.raw_param.get("enable_acns", False) and
938939
not (mc.network_profile and mc.network_profile.advanced_networking and
939940
mc.network_profile.advanced_networking.enabled)) or
940941
not (mc.addon_profiles and mc.addon_profiles.get("omsagent") and mc.addon_profiles["omsagent"].enabled)
941942
):
942943
raise InvalidArgumentValueError(
943-
"Flow logs requires '--enable-acns', advanced networking "
944+
"Container network logs requires '--enable-acns', advanced networking "
944945
"to be enabled, and the monitoring addon to be enabled."
945946
)
946-
enable_retina_flow_logs = bool(enable_retina_flow_logs) if enable_retina_flow_logs is not None else False
947-
disable_retina_flow_logs = bool(disable_retina_flow_logs) if disable_retina_flow_logs is not None else False
948-
retina_flow_logs = enable_retina_flow_logs or not disable_retina_flow_logs
949-
return retina_flow_logs
947+
enable_container_network_logs = bool(enable_container_network_logs) if enable_container_network_logs is not None else False
948+
disable_container_network_logs = bool(disable_container_network_logs) if disable_container_network_logs is not None else False
949+
return enable_container_network_logs or not disable_container_network_logs
950950

951951
def get_load_balancer_managed_outbound_ip_count(self) -> Union[int, None]:
952952
"""Obtain the value of load_balancer_managed_outbound_ip_count.
@@ -3835,12 +3835,12 @@ def set_up_addon_profiles(self, mc: ManagedCluster) -> ManagedCluster:
38353835
CONST_GITOPS_ADDON_NAME
38363836
] = self.build_gitops_addon_profile()
38373837

3838-
retina_flow_logs_enabled = self.context.get_retina_flow_logs(mc)
3839-
if retina_flow_logs_enabled is not None:
3838+
container_network_logs_enabled = self.context.get_container_network_logs(mc)
3839+
if container_network_logs_enabled is not None:
38403840
monitoring_addon_profile = addon_profiles.get(addon_consts.get("CONST_MONITORING_ADDON_NAME"))
38413841
if monitoring_addon_profile:
38423842
config = monitoring_addon_profile.config or {}
3843-
config["enableRetinaNetworkFlags"] = str(retina_flow_logs_enabled)
3843+
config["enableRetinaNetworkFlags"] = str(container_network_logs_enabled)
38443844
monitoring_addon_profile.config = config
38453845

38463846
mc.addon_profiles = addon_profiles
@@ -5238,15 +5238,15 @@ def update_monitoring_profile_flow_logs(self, mc: ManagedCluster) -> ManagedClus
52385238
"""
52395239
self._ensure_mc(mc)
52405240

5241-
retina_flow_logs_enabled = self.context.get_retina_flow_logs(mc)
5242-
if retina_flow_logs_enabled is not None:
5241+
container_network_logs_enabled = self.context.get_container_network_logs(mc)
5242+
if container_network_logs_enabled is not None:
52435243
if mc.addon_profiles:
52445244
addon_consts = self.context.get_addon_consts()
52455245
CONST_MONITORING_ADDON_NAME = addon_consts.get("CONST_MONITORING_ADDON_NAME")
52465246
monitoring_addon_profile = mc.addon_profiles.get(CONST_MONITORING_ADDON_NAME)
52475247
if monitoring_addon_profile:
52485248
config = monitoring_addon_profile.config or {}
5249-
config["enableRetinaNetworkFlags"] = str(retina_flow_logs_enabled)
5249+
config["enableRetinaNetworkFlags"] = str(container_network_logs_enabled)
52505250
mc.addon_profiles[CONST_MONITORING_ADDON_NAME].config = config
52515251
return mc
52525252

src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17484,7 +17484,7 @@ def test_aks_create_acns_with_flow_logs(
1748417484
"aks create --resource-group={resource_group} --name={name} --location={location} "
1748517485
"--ssh-key-value={ssh_key_value} --node-count=1 --tier standard "
1748617486
"--network-plugin azure --network-dataplane=cilium --network-plugin-mode overlay "
17487-
"--enable-acns --enable-retina-flow-logs --enable-addons monitoring --enable-high-log-scale-mode "
17487+
"--enable-acns --enable-container-network-logs --enable-addons monitoring --enable-high-log-scale-mode "
1748817488
"--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AdvancedNetworkingFlowLogsPreview "
1748917489
)
1749017490

@@ -17516,26 +17516,24 @@ def test_aks_create_acns_with_flow_logs(
1751617516
self.check('properties.dataFlows[0].streams[-1]', 'Microsoft-RetinaNetworkFlowLogs'),
1751717517
])
1751817518

17519-
# Below steps are disabled for now. Confirmed working with local build of cli-extensions, however live recordings are not working properly
17520-
# # update to disable pfl
17521-
# disable_cmd = "aks update --resource-group={resource_group} --name={name} --disable-retina-flow-logs -o json"
17522-
# self.cmd(
17523-
# disable_cmd,
17524-
# checks=[
17525-
# self.check("provisioningState", "Succeeded"),
17526-
# self.check("addonProfiles.omsagent.config.enableRetinaNetworkFlags", "False"),
17527-
# ],
17528-
# )
17529-
17530-
# # enable update command for pfl
17531-
# enable_cmd_update = "aks update --resource-group={resource_group} --name={name} --enable-retina-flow-logs -o json"
17532-
# self.cmd(
17533-
# enable_cmd_update,
17534-
# checks=[
17535-
# self.check("provisioningState", "Succeeded"),
17536-
# self.check("addonProfiles.omsagent.config.enableRetinaNetworkFlags", "True"),
17537-
# ],
17538-
# )
17519+
disable_cmd = "aks update --resource-group={resource_group} --name={name} --disable-container-network-logs -o json"
17520+
self.cmd(
17521+
disable_cmd,
17522+
checks=[
17523+
self.check("provisioningState", "Succeeded"),
17524+
self.check("addonProfiles.omsagent.config.enableRetinaNetworkFlags", "False"),
17525+
],
17526+
)
17527+
17528+
# enable update command for pfl
17529+
enable_cmd_update = "aks update --resource-group={resource_group} --name={name} --enable-container-network-logs -o json"
17530+
self.cmd(
17531+
enable_cmd_update,
17532+
checks=[
17533+
self.check("provisioningState", "Succeeded"),
17534+
self.check("addonProfiles.omsagent.config.enableRetinaNetworkFlags", "True"),
17535+
],
17536+
)
1753917537

1754017538
# delete
1754117539
self.cmd(

src/aks-preview/azext_aks_preview/tests/latest/test_managed_cluster_decorator.py

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11145,13 +11145,13 @@ def test_update_vmas_to_vms(self):
1114511145

1114611146

1114711147

11148-
def test_enable_retina_network_flow_logs(self):
11149-
# Case 1: enable_acns, enable monitoring addons_profile, enable retina_network_flow_logs
11148+
def test_enable_container_network_logs(self):
11149+
# Case 1: enable_acns, enable monitoring addons_profile, enable container_network_logs
1115011150
dec_1 = AKSPreviewManagedClusterUpdateDecorator(
1115111151
self.cmd,
1115211152
self.client,
1115311153
{
11154-
"enable_retina_flow_logs": True,
11154+
"enable_container_network_logs": True,
1115511155
},
1115611156
CUSTOM_MGMT_AKS_PREVIEW,
1115711157
)
@@ -11201,7 +11201,7 @@ def test_enable_retina_network_flow_logs(self):
1120111201
self.cmd,
1120211202
self.client,
1120311203
{
11204-
"disable_retina_flow_logs": True,
11204+
"disable_container_network_logs": True,
1120511205
},
1120611206
CUSTOM_MGMT_AKS_PREVIEW,
1120711207
)
@@ -11253,7 +11253,7 @@ def test_enable_retina_network_flow_logs(self):
1125311253
self.client,
1125411254
{
1125511255
"enable_acns": True,
11256-
"enable_retina_flow_logs": True,
11256+
"enable_container_network_logs": True,
1125711257
},
1125811258
CUSTOM_MGMT_AKS_PREVIEW,
1125911259
)
@@ -11287,7 +11287,7 @@ def test_enable_retina_network_flow_logs(self):
1128711287
"workspace_resource_id": "test_workspace_resource_id",
1128811288
"enable_msi_auth_for_monitoring": True,
1128911289
"enable_acns": True,
11290-
"enable_retina_flow_logs": True,
11290+
"enable_container_network_logs": True,
1129111291
},
1129211292
CUSTOM_MGMT_AKS_PREVIEW,
1129311293
)
@@ -11330,7 +11330,7 @@ def test_enable_retina_network_flow_logs(self):
1133011330
"enable_addons": "",
1133111331
"workspace_resource_id": "test_workspace_resource_id",
1133211332
"enable_acns": True,
11333-
"enable_retina_flow_logs": True,
11333+
"enable_container_network_logs": True,
1133411334
},
1133511335
CUSTOM_MGMT_AKS_PREVIEW,
1133611336
)
@@ -11363,7 +11363,7 @@ def test_enable_retina_network_flow_logs(self):
1136311363
"enable_addons": "monitoring",
1136411364
"workspace_resource_id": "test_workspace_resource_id",
1136511365
"enable_msi_auth_for_monitoring": True,
11366-
"enable_retina_flow_logs": True,
11366+
"enable_container_network_logs": True,
1136711367
},
1136811368
CUSTOM_MGMT_AKS_PREVIEW,
1136911369
)
@@ -11384,6 +11384,58 @@ def test_enable_retina_network_flow_logs(self):
1138411384
with patch.object(external_functions, 'ensure_container_insights_for_monitoring', return_value=None):
1138511385
dec_6.set_up_addon_profiles(mc_6)
1138611386

11387+
# Case 7: acns is enabled, monitoring is enabled, enable retina network flow logs
11388+
# Confirms deprecated flag still works
11389+
dec_7 = AKSPreviewManagedClusterUpdateDecorator(
11390+
self.cmd,
11391+
self.client,
11392+
{
11393+
"enable_retina_flow_logs": True,
11394+
},
11395+
CUSTOM_MGMT_AKS_PREVIEW,
11396+
)
11397+
mc_7 = self.models.ManagedCluster(
11398+
location="test_location",
11399+
network_profile=self.models.ContainerServiceNetworkProfile(
11400+
network_plugin="azure",
11401+
network_plugin_mode="overlay",
11402+
network_dataplane="cilium",
11403+
pod_cidr="100.64.0.0/16",
11404+
service_cidr="192.168.0.0/16",
11405+
advanced_networking=self.models.AdvancedNetworking(
11406+
enabled=True,
11407+
),
11408+
),
11409+
addon_profiles={
11410+
"omsagent": self.models.ManagedClusterAddonProfile(
11411+
enabled=True,
11412+
config={"enableRetinaNetworkFlags": "True"}
11413+
)
11414+
},
11415+
)
11416+
dec_7.context.attach_mc(mc_7)
11417+
dec_mc_7 = dec_7.update_monitoring_profile_flow_logs(mc_7)
11418+
ground_truth_mc_7 = self.models.ManagedCluster(
11419+
location="test_location",
11420+
network_profile=self.models.ContainerServiceNetworkProfile(
11421+
network_plugin="azure",
11422+
network_plugin_mode="overlay",
11423+
network_dataplane="cilium",
11424+
pod_cidr="100.64.0.0/16",
11425+
service_cidr="192.168.0.0/16",
11426+
advanced_networking=self.models.AdvancedNetworking(
11427+
enabled=True,
11428+
),
11429+
),
11430+
addon_profiles={
11431+
"omsagent": self.models.ManagedClusterAddonProfile(
11432+
enabled=True,
11433+
config={"enableRetinaNetworkFlags": "True"}
11434+
)
11435+
},
11436+
)
11437+
self.assertEqual(dec_mc_7, ground_truth_mc_7)
11438+
1138711439
def test_update_node_provisioning_profile(self):
1138811440
dec_0 = AKSPreviewManagedClusterUpdateDecorator(
1138911441
self.cmd,

0 commit comments

Comments
 (0)