Skip to content

Commit 6435ec2

Browse files
committed
fix: address failing tests
1 parent 3fbaf26 commit 6435ec2

4 files changed

Lines changed: 305 additions & 67 deletions

File tree

src/aks-preview/azext_aks_preview/agentpool_decorator.py

Lines changed: 56 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -498,10 +498,9 @@ def get_upgrade_strategy(self) -> Union[str, None]:
498498
if self.decorator_mode == DecoratorMode.CREATE:
499499
if (
500500
self.agentpool and
501-
self.agentpool.upgrade_settings and
502-
self.agentpool.upgrade_settings.upgrade_strategy is not None
501+
self.agentpool.upgrade_strategy is not None
503502
):
504-
upgrade_strategy = self.agentpool.upgrade_settings.upgrade_strategy
503+
upgrade_strategy = self.agentpool.upgrade_strategy
505504

506505
# this parameter does not need dynamic completion
507506
# this parameter does not need validation
@@ -518,9 +517,7 @@ def get_drain_batch_size(self) -> Union[str, None]:
518517
if self.decorator_mode == DecoratorMode.CREATE:
519518
if (
520519
self.agentpool and
521-
hasattr(self.agentpool, 'upgrade_settings_blue_green') and
522-
self.agentpool.upgrade_settings_blue_green and
523-
hasattr(self.agentpool.upgrade_settings_blue_green, 'drain_batch_size') and
520+
self.agentpool.upgrade_settings_blue_green is not None and
524521
self.agentpool.upgrade_settings_blue_green.drain_batch_size is not None
525522
):
526523
drain_batch_size = self.agentpool.upgrade_settings_blue_green.drain_batch_size
@@ -540,9 +537,7 @@ def get_drain_timeout_bg(self) -> Union[int, None]:
540537
if self.decorator_mode == DecoratorMode.CREATE:
541538
if (
542539
self.agentpool and
543-
hasattr(self.agentpool, 'upgrade_settings_blue_green') and
544-
self.agentpool.upgrade_settings_blue_green and
545-
hasattr(self.agentpool.upgrade_settings_blue_green, 'drain_timeout_in_minutes') and
540+
self.agentpool.upgrade_settings_blue_green is not None and
546541
self.agentpool.upgrade_settings_blue_green.drain_timeout_in_minutes is not None
547542
):
548543
drain_timeout_bg = self.agentpool.upgrade_settings_blue_green.drain_timeout_in_minutes
@@ -562,9 +557,7 @@ def get_batch_soak_duration(self) -> Union[int, None]:
562557
if self.decorator_mode == DecoratorMode.CREATE:
563558
if (
564559
self.agentpool and
565-
hasattr(self.agentpool, 'upgrade_settings_blue_green') and
566-
self.agentpool.upgrade_settings_blue_green and
567-
hasattr(self.agentpool.upgrade_settings_blue_green, 'batch_soak_duration_in_minutes') and
560+
self.agentpool.upgrade_settings_blue_green is not None and
568561
self.agentpool.upgrade_settings_blue_green.batch_soak_duration_in_minutes is not None
569562
):
570563
batch_soak_duration = self.agentpool.upgrade_settings_blue_green.batch_soak_duration_in_minutes
@@ -584,9 +577,7 @@ def get_final_soak_duration(self) -> Union[int, None]:
584577
if self.decorator_mode == DecoratorMode.CREATE:
585578
if (
586579
self.agentpool and
587-
hasattr(self.agentpool, 'upgrade_settings_blue_green') and
588-
self.agentpool.upgrade_settings_blue_green and
589-
hasattr(self.agentpool.upgrade_settings_blue_green, 'final_soak_duration_in_minutes') and
580+
self.agentpool.upgrade_settings_blue_green is not None and
590581
self.agentpool.upgrade_settings_blue_green.final_soak_duration_in_minutes is not None
591582
):
592583
final_soak_duration = self.agentpool.upgrade_settings_blue_green.final_soak_duration_in_minutes
@@ -1361,37 +1352,6 @@ def set_up_upgrade_strategy(self, agentpool: AgentPool) -> AgentPool:
13611352

13621353
return agentpool
13631354

1364-
def set_up_blue_green_upgrade_settings(self, agentpool: AgentPool) -> AgentPool:
1365-
"""Set up blue-green upgrade settings for the AgentPool object.
1366-
1367-
:return: the AgentPool object
1368-
"""
1369-
self._ensure_agentpool(agentpool)
1370-
1371-
blue_green_upgrade_settings = self.models.AgentPoolBlueGreenUpgradeSettings()
1372-
1373-
# Set each field if provided in context
1374-
drain_batch_size = self.context.get_drain_batch_size()
1375-
if drain_batch_size is not None:
1376-
blue_green_upgrade_settings.drain_batch_size = drain_batch_size
1377-
1378-
drain_timeout_bg = self.context.get_drain_timeout_bg()
1379-
if drain_timeout_bg is not None:
1380-
blue_green_upgrade_settings.drain_timeout_in_minutes = drain_timeout_bg
1381-
1382-
batch_soak_duration = self.context.get_batch_soak_duration()
1383-
if batch_soak_duration is not None:
1384-
blue_green_upgrade_settings.batch_soak_duration_in_minutes = batch_soak_duration
1385-
1386-
final_soak_duration = self.context.get_final_soak_duration()
1387-
if final_soak_duration is not None:
1388-
blue_green_upgrade_settings.final_soak_duration_in_minutes = final_soak_duration
1389-
1390-
# Set the blue-green upgrade settings as a separate property on agentpool
1391-
agentpool.upgrade_settings_blue_green = blue_green_upgrade_settings
1392-
1393-
return agentpool
1394-
13951355
def set_up_upgrade_settings(self, agentpool: AgentPool) -> AgentPool:
13961356
"""Set up upgrade settings for the AgentPool object.
13971357
@@ -1427,6 +1387,36 @@ def set_up_upgrade_settings(self, agentpool: AgentPool) -> AgentPool:
14271387
agentpool.upgrade_settings = upgrade_settings
14281388
return agentpool
14291389

1390+
def set_up_blue_green_upgrade_settings(self, agentpool: AgentPool) -> AgentPool:
1391+
"""Set up blue-green upgrade settings for the AgentPool object.
1392+
1393+
:return: the AgentPool object
1394+
"""
1395+
self._ensure_agentpool(agentpool)
1396+
1397+
blue_green_upgrade_settings = self.models.AgentPoolBlueGreenUpgradeSettings()
1398+
1399+
# Set each field if provided in context
1400+
drain_batch_size = self.context.get_drain_batch_size()
1401+
if drain_batch_size is not None:
1402+
blue_green_upgrade_settings.drain_batch_size = drain_batch_size
1403+
1404+
drain_timeout_bg = self.context.get_drain_timeout_bg()
1405+
if drain_timeout_bg is not None:
1406+
blue_green_upgrade_settings.drain_timeout_in_minutes = drain_timeout_bg
1407+
1408+
batch_soak_duration = self.context.get_batch_soak_duration()
1409+
if batch_soak_duration is not None:
1410+
blue_green_upgrade_settings.batch_soak_duration_in_minutes = batch_soak_duration
1411+
1412+
final_soak_duration = self.context.get_final_soak_duration()
1413+
if final_soak_duration is not None:
1414+
blue_green_upgrade_settings.final_soak_duration_in_minutes = final_soak_duration
1415+
1416+
# Set the blue-green upgrade settings as a separate property on agentpool
1417+
agentpool.upgrade_settings_blue_green = blue_green_upgrade_settings
1418+
1419+
return agentpool
14301420

14311421
class AKSPreviewAgentPoolUpdateDecorator(AKSAgentPoolUpdateDecorator):
14321422
def __init__(
@@ -1746,27 +1736,28 @@ def update_blue_green_upgrade_settings(self, agentpool: AgentPool) -> AgentPool:
17461736
drain_timeout_bg = self.context.get_drain_timeout_bg()
17471737
batch_soak_duration = self.context.get_batch_soak_duration()
17481738
final_soak_duration = self.context.get_final_soak_duration()
1749-
1750-
# Initialize blue-green upgrade settings with existing values as defaults
1751-
blue_green_upgrade_settings = agentpool.blue_green_upgrade_settings
1752-
if blue_green_upgrade_settings is None:
1753-
blue_green_upgrade_settings = self.models.AgentPoolBlueGreenUpgradeSettings()
1754-
17551739
drain_batch_size = self.context.get_drain_batch_size()
1756-
if drain_batch_size is not None:
1757-
blue_green_upgrade_settings.drain_batch_size = drain_batch_size
1758-
1759-
if drain_timeout_bg is not None:
1760-
blue_green_upgrade_settings.drain_timeout_in_minutes = drain_timeout_bg
1761-
1762-
if batch_soak_duration is not None:
1763-
blue_green_upgrade_settings.batch_soak_duration_in_minutes = batch_soak_duration
17641740

1765-
if final_soak_duration is not None:
1766-
blue_green_upgrade_settings.final_soak_duration_in_minutes = final_soak_duration
1767-
1768-
# Set the blue-green upgrade settings as a separate property on agentpool
1769-
agentpool.upgrade_settings_blue_green = blue_green_upgrade_settings
1741+
if any([drain_timeout_bg, batch_soak_duration, final_soak_duration, drain_batch_size]):
1742+
# Initialize blue-green upgrade settings with existing values as defaults
1743+
upgrade_settings_blue_green = agentpool.upgrade_settings_blue_green
1744+
if upgrade_settings_blue_green is None:
1745+
upgrade_settings_blue_green = self.models.AgentPoolBlueGreenUpgradeSettings()
1746+
1747+
if drain_batch_size is not None:
1748+
upgrade_settings_blue_green.drain_batch_size = drain_batch_size
1749+
1750+
if drain_timeout_bg is not None:
1751+
upgrade_settings_blue_green.drain_timeout_in_minutes = drain_timeout_bg
1752+
1753+
if batch_soak_duration is not None:
1754+
upgrade_settings_blue_green.batch_soak_duration_in_minutes = batch_soak_duration
1755+
1756+
if final_soak_duration is not None:
1757+
upgrade_settings_blue_green.final_soak_duration_in_minutes = final_soak_duration
1758+
1759+
# Set the blue-green upgrade settings as a separate property on agentpool
1760+
agentpool.upgrade_settings_blue_green = upgrade_settings_blue_green
17701761

17711762
return agentpool
17721763

0 commit comments

Comments
 (0)