Skip to content

Commit 55f9660

Browse files
committed
Fix live tests
1 parent 65e3a80 commit 55f9660

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

src/azure-cli/azure/cli/command_modules/acs/addonconfiguration.py

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
# --------------------------------------------------------------------------------------------
55
import json
66
import os
7+
import random
78
import re
9+
import time
810

911
from azure.cli.command_modules.acs._client_factory import get_resource_groups_client, get_resources_client
1012
from azure.cli.core.util import get_file_json
@@ -657,24 +659,31 @@ def ensure_container_insights_for_monitoring(
657659
)
658660

659661
resources = get_resources_client(cmd.cli_ctx, cluster_subscription)
660-
for _ in range(3):
662+
dcr_creation_body = json.loads(
663+
dcr_creation_body_with_syslog if enable_syslog else dcr_creation_body_without_syslog
664+
)
665+
max_retries = 3
666+
max_total_delay = 30
667+
total_delay = 0
668+
for attempt in range(max_retries):
661669
try:
662-
if enable_syslog:
663-
resources.begin_create_or_update_by_id(
664-
dcr_resource_id,
665-
"2022-06-01",
666-
json.loads(dcr_creation_body_with_syslog)
667-
)
668-
else:
669-
resources.begin_create_or_update_by_id(
670-
dcr_resource_id,
671-
"2022-06-01",
672-
json.loads(dcr_creation_body_without_syslog)
673-
)
670+
resources.begin_create_or_update_by_id(
671+
dcr_resource_id,
672+
"2022-06-01",
673+
dcr_creation_body
674+
)
674675
error = None
675676
break
676-
except CLIError as e:
677+
except (CLIError, HttpResponseError) as e:
677678
error = e
679+
if attempt < max_retries - 1 and total_delay < max_total_delay:
680+
delay = min(2 ** attempt + random.uniform(0, 1), max_total_delay - total_delay)
681+
logger.warning(
682+
"DCR creation attempt %d/%d failed, retrying in %.1f seconds: %s",
683+
attempt + 1, max_retries, delay, e
684+
)
685+
time.sleep(delay)
686+
total_delay += delay
678687
else:
679688
raise error
680689

src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9186,6 +9186,9 @@ def enable_monitoring_existing_cluster_aad_auth(self, resource_group, resource_g
91869186
self.check('properties.dataCollectionRuleId', f'{dcr_resource_id}')
91879187
])
91889188

9189+
# wait for any in-progress cluster operation to finish before disabling
9190+
self.cmd(f'aks wait -g {resource_group} -n {aks_name} --updated')
9191+
91899192
# make sure monitoring can be smoothly disabled
91909193
self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}')
91919194

0 commit comments

Comments
 (0)