qontract-reconcile 0.10.1rc1057__py3-none-any.whl → 0.10.1rc1058__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qontract-reconcile
3
- Version: 0.10.1rc1057
3
+ Version: 0.10.1rc1058
4
4
  Summary: Collection of tools to reconcile services with their desired state as defined in the app-interface DB.
5
5
  Home-page: https://github.com/app-sre/qontract-reconcile
6
6
  Author: Red Hat App-SRE Team
@@ -724,7 +724,7 @@ reconcile/utils/sqs_gateway.py,sha256=XNIf3PY4UCPNufP2Ul0UJj3fKlt5larBba-VTT-41F
724
724
  reconcile/utils/state.py,sha256=W0_awkLAPX18hNOF_60o73tkPxDUylqbzYNHfl_sDsk,16386
725
725
  reconcile/utils/structs.py,sha256=LcbLEg8WxfRqM6nW7NhcWN0YeqF7SQzxOgntmLs1SgY,352
726
726
  reconcile/utils/template.py,sha256=wTvRU4AnAV_o042tD4Mwls2dwWMuk7MKnde3MaCjaYg,331
727
- reconcile/utils/terraform_client.py,sha256=jHTkqqJk1HQh2vZP1FkEeDOiMlO-SKmX8oYuS7lzO_o,34672
727
+ reconcile/utils/terraform_client.py,sha256=gyTqNyDn0uQISxnfXOWv8HpXSM1-yqvwDiVGIW0jpRk,35215
728
728
  reconcile/utils/terrascript_aws_client.py,sha256=ctNT-TQSMxNicVIjR1gM2OZWzNc_BG820COSXb_E-CE,278933
729
729
  reconcile/utils/three_way_diff_strategy.py,sha256=oQcHXd9LVhirJfoaOBoHUYuZVGfyL2voKr6KVI34zZE,4833
730
730
  reconcile/utils/throughput.py,sha256=iP4UWAe2LVhDo69mPPmgo9nQ7RxHD6_GS8MZe-aSiuM,344
@@ -867,8 +867,8 @@ tools/test/test_qontract_cli.py,sha256=_D61RFGAN5x44CY1tYbouhlGXXABwYfxKSWSQx3Jr
867
867
  tools/test/test_saas_promotion_state.py,sha256=dy4kkSSAQ7bC0Xp2CociETGN-2aABEfL6FU5D9Jl00Y,6056
868
868
  tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
869
869
  tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
870
- qontract_reconcile-0.10.1rc1057.dist-info/METADATA,sha256=QAX2yVsbSHxtZT1eJKfc-v_ZDWOfcNA5gRNg4fHsgwo,2213
871
- qontract_reconcile-0.10.1rc1057.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
872
- qontract_reconcile-0.10.1rc1057.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
873
- qontract_reconcile-0.10.1rc1057.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
874
- qontract_reconcile-0.10.1rc1057.dist-info/RECORD,,
870
+ qontract_reconcile-0.10.1rc1058.dist-info/METADATA,sha256=AB6P6QPlXVA-dC5bWhBQqe7u-ZA6gKAP7fNq4a3NunA,2213
871
+ qontract_reconcile-0.10.1rc1058.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
872
+ qontract_reconcile-0.10.1rc1058.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
873
+ qontract_reconcile-0.10.1rc1058.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
874
+ qontract_reconcile-0.10.1rc1058.dist-info/RECORD,,
@@ -790,6 +790,9 @@ class TerraformClient: # pylint: disable=too-many-public-methods
790
790
 
791
791
  blue_green_update = after.get("blue_green_update", [])
792
792
  if blue_green_update and blue_green_update[0]["enabled"]:
793
+ changed_fields = self._resource_diff_changed_fields(
794
+ "update", resource_change
795
+ )
793
796
  replica = before["replicas"] != [] or before["replicate_source_db"]
794
797
  self.validate_blue_green_update_requirements(
795
798
  account_name,
@@ -799,6 +802,7 @@ class TerraformClient: # pylint: disable=too-many-public-methods
799
802
  replica,
800
803
  before["parameter_group_name"],
801
804
  region_name,
805
+ changed_fields=changed_fields,
802
806
  )
803
807
 
804
808
  def validate_blue_green_update_requirements(
@@ -810,6 +814,7 @@ class TerraformClient: # pylint: disable=too-many-public-methods
810
814
  replica: bool,
811
815
  parameter_group: str,
812
816
  region_name: str,
817
+ changed_fields: set[str],
813
818
  ) -> None:
814
819
  min_supported_versions = {
815
820
  "mysql": [pkg_version.parse("5.7"), pkg_version.parse("8.0.15")],
@@ -862,6 +867,13 @@ class TerraformClient: # pylint: disable=too-many-public-methods
862
867
  )
863
868
  return
864
869
 
870
+ if "storage_type" in changed_fields or "allocated_storage" in changed_fields:
871
+ logging.error(
872
+ f"Cannot upgrade RDS instance: {resource_name}. "
873
+ f"Blue/green updates are not supported when 'storage_type' or 'allocated_storage' has changed."
874
+ )
875
+ return
876
+
865
877
 
866
878
  class TerraformPlanFailed(Exception):
867
879
  pass