@@ -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
14311421class 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