qontract-reconcile 0.10.1rc652__py3-none-any.whl → 0.10.1rc654__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.1rc652
3
+ Version: 0.10.1rc654
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
@@ -70,7 +70,7 @@ reconcile/openshift_namespaces.py,sha256=nHW1e3dyUWw3JPAzeQeZQ6s2-RuQYaNR7_DUfTP
70
70
  reconcile/openshift_network_policies.py,sha256=_qqv7yj17OM1J8KJPsFmzFZ85gzESJeBocC672z4_WU,4231
71
71
  reconcile/openshift_resourcequotas.py,sha256=yUi56PiOn3inMMfq_x_FEHmaW-reGipzoorjdar372g,2415
72
72
  reconcile/openshift_resources.py,sha256=kwsY5cko7udEKNlhL2oKiKv_5wzEw9wmmwROE016ng8,1400
73
- reconcile/openshift_resources_base.py,sha256=n8tvVMZbbAFMrhnX_CZ5fQ8WOJzj7DWssLPJcYyTtTA,39535
73
+ reconcile/openshift_resources_base.py,sha256=TuR8GgAB1KlQQlHY_E7FHNyhfHB-X65_tk3-THbFy0s,39716
74
74
  reconcile/openshift_rolebindings.py,sha256=LlImloBisEqzc36jaatic-TeM3hzqMEfxogF-dM4Yhw,6599
75
75
  reconcile/openshift_routes.py,sha256=fXvuPSjcjVw1X3j2EQvUAdbOepmIFdKk-M3qP8QzPiw,1075
76
76
  reconcile/openshift_saas_deploy.py,sha256=fmhopPEbyZsGQHRPzyzpKEvoBXEGN3aPxFi7Utq0emU,12788
@@ -611,7 +611,7 @@ reconcile/utils/state.py,sha256=zjsprjbOb0WddzmAvh8ACqAt0fcayrX2YPfz7qceRWw,1609
611
611
  reconcile/utils/structs.py,sha256=LcbLEg8WxfRqM6nW7NhcWN0YeqF7SQzxOgntmLs1SgY,352
612
612
  reconcile/utils/template.py,sha256=wTvRU4AnAV_o042tD4Mwls2dwWMuk7MKnde3MaCjaYg,331
613
613
  reconcile/utils/terraform_client.py,sha256=7L55Rvxfzj3KtJH8AD8D8YRfBnFpHiTFqSa5e2_9jtk,32092
614
- reconcile/utils/terrascript_aws_client.py,sha256=Vs-t9AfMiH4vyqcT-rNy8cyWgEsPsO73Uj6un2v0SzI,270796
614
+ reconcile/utils/terrascript_aws_client.py,sha256=nUFPSx6P-POY5S0Iw7SON0M8SijTUbqrYjkv1yReWk8,271778
615
615
  reconcile/utils/three_way_diff_strategy.py,sha256=nyqeQsLCoPI6e16k2CF3b9KNgQLU-rPf5RtfdUfVMwE,4468
616
616
  reconcile/utils/throughput.py,sha256=iP4UWAe2LVhDo69mPPmgo9nQ7RxHD6_GS8MZe-aSiuM,344
617
617
  reconcile/utils/unleash.py,sha256=1D56CsZfE3ShDtN3IErE1T2eeIwNmxhK-yYbCotJ99E,3601
@@ -715,8 +715,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=SX7qL3D1SIRKFo95FoQztvf
715
715
  tools/test/test_qontract_cli.py,sha256=OvalpVRfY4pNmpMaWHHYqBjV68b1eGQjX8SCyTAXb1w,3501
716
716
  tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
717
717
  tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
718
- qontract_reconcile-0.10.1rc652.dist-info/METADATA,sha256=wI2R3pnTQNZxH4JxsxsIWKBj84RSeQL6_kaKETnQ3tE,2382
719
- qontract_reconcile-0.10.1rc652.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
720
- qontract_reconcile-0.10.1rc652.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
721
- qontract_reconcile-0.10.1rc652.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
722
- qontract_reconcile-0.10.1rc652.dist-info/RECORD,,
718
+ qontract_reconcile-0.10.1rc654.dist-info/METADATA,sha256=vqtwlMDJsy8pOiX7dByLc_lHsHevNImz6oJ58BidkHU,2382
719
+ qontract_reconcile-0.10.1rc654.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
720
+ qontract_reconcile-0.10.1rc654.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
721
+ qontract_reconcile-0.10.1rc654.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
722
+ qontract_reconcile-0.10.1rc654.dist-info/RECORD,,
@@ -1204,6 +1204,10 @@ def early_exit_monkey_patch():
1204
1204
  secret_reader=None: f"github({repo}, {path}, {ref})",
1205
1205
  lambda url: False,
1206
1206
  lambda data, path, alertmanager_config_key, decode_base64=False: True,
1207
+ lambda account_name,
1208
+ bucket_name,
1209
+ path,
1210
+ region_name=None: f"lookup_s3_object({account_name}, {bucket_name}, {path}, {region_name})",
1207
1211
  )
1208
1212
  finally:
1209
1213
  _early_exit_monkey_patch_assign(
@@ -385,7 +385,9 @@ class TerrascriptClient: # pylint: disable=too-many-public-methods
385
385
  self.secret_reader = SecretReader(settings=settings)
386
386
  self.configs: dict[str, dict] = {}
387
387
  self.populate_configs(filtered_accounts)
388
- self.versions = {a["name"]: a["providerVersion"] for a in filtered_accounts}
388
+ self.versions: dict[str, str] = {
389
+ a["name"]: a["providerVersion"] for a in filtered_accounts
390
+ }
389
391
  tss = {}
390
392
  locks = {}
391
393
  self.supported_regions = {}
@@ -1507,12 +1509,13 @@ class TerrascriptClient: # pylint: disable=too-many-public-methods
1507
1509
 
1508
1510
  # we want to allow an empty name, so we
1509
1511
  # only validate names which are not empty
1510
- if values.get("name") and not self.validate_db_name(values["name"]):
1512
+ db_name = values.get("name") or values.get("db_name") or ""
1513
+ if db_name and not self.validate_db_name(db_name):
1511
1514
  raise FetchResourceError(
1512
1515
  f"[{account}] RDS name must contain 1 to 63 letters, "
1513
1516
  + "numbers, or underscores. RDS name must begin with a "
1514
1517
  + "letter. Subsequent characters can be letters, "
1515
- + f"underscores, or digits (0-9): {values['name']}"
1518
+ + f"underscores, or digits (0-9): {db_name}"
1516
1519
  )
1517
1520
 
1518
1521
  if not values.get("apply_immediately"):
@@ -1805,7 +1808,7 @@ class TerrascriptClient: # pylint: disable=too-many-public-methods
1805
1808
  tf_resources.append(Output(output_name, value=output_value))
1806
1809
  # db.name
1807
1810
  output_name = output_prefix + "__db_name"
1808
- output_value = output_resource_db_name or values.get("name", "")
1811
+ output_value = output_resource_db_name or db_name
1809
1812
  tf_resources.append(Output(output_name, value=output_value))
1810
1813
  # only set db user/password if not a replica or creation from snapshot
1811
1814
  if self._db_needs_auth(values):
@@ -4047,6 +4050,24 @@ class TerrascriptClient: # pylint: disable=too-many-public-methods
4047
4050
  if val is not None:
4048
4051
  values[key] = val
4049
4052
 
4053
+ if self.versions and not self.versions.get(
4054
+ spec.provisioner_name, ""
4055
+ ).startswith("3"):
4056
+ if spec.provider == "rds":
4057
+ if db_name := values.pop("name", None):
4058
+ values["db_name"] = db_name
4059
+ if values.get("replica_source"):
4060
+ values.pop("db_name", None)
4061
+ elif spec.provider == "elasticache":
4062
+ if description := values.pop("replication_group_description", None):
4063
+ values["description"] = description
4064
+ if num_cache_clusters := values.pop("number_cache_clusters", None):
4065
+ values["num_cache_clusters"] = num_cache_clusters
4066
+ if cluster_mode := values.pop("cluster_mode", {}):
4067
+ for k, v in cluster_mode.items():
4068
+ values[k] = v
4069
+ values.pop("availability_zones", None)
4070
+
4050
4071
  return values
4051
4072
 
4052
4073
  @staticmethod