qontract-reconcile 0.10.1rc1176__py3-none-any.whl → 0.10.1rc1178__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.1rc1176
3
+ Version: 0.10.1rc1178
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
@@ -122,7 +122,7 @@ reconcile/vpc_peerings_validator.py,sha256=-upvNg3ggKCxcJ4kqZcqJVsiltlhQ8MyyLZiW
122
122
  reconcile/aus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  reconcile/aus/advanced_upgrade_service.py,sha256=NF3UQ02MdUpVPup50EqnTbTn3dRHGoXoSfFLZxOjr8Q,23744
124
124
  reconcile/aus/aus_label_source.py,sha256=2Rktyvs7ZvCwsRwmbGUhddycTBTq0jHq8wpBaiDHAMA,4165
125
- reconcile/aus/base.py,sha256=lrYqt-fUNM9gISbEgk93yewXf6a6bZfEFN2EL144JFs,49432
125
+ reconcile/aus/base.py,sha256=PAiMfzojkvDhYNKMEX9SL-eqeAS4ytCa0teR1h0BzgE,48701
126
126
  reconcile/aus/cluster_version_data.py,sha256=VZWbUEIbrDKO-sroMpQtiWCTqDraTMd8tssKV0HyTQ0,7140
127
127
  reconcile/aus/healthchecks.py,sha256=jR9c-syh9impnkV0fd6XW3Bnk7iRN5zv8oCRYM-yIRY,2700
128
128
  reconcile/aus/metrics.py,sha256=nKT4m2zGT-QOMR0c-z-npVNKWsNMubzdffpU_f9n4II,3927
@@ -201,7 +201,7 @@ reconcile/external_resources/meta.py,sha256=noaytFzmShpzLA_ebGh7wuP45mOfHIOnnoUx
201
201
  reconcile/external_resources/metrics.py,sha256=nMbyonGZEJDD1lYzpQY2eR9TNwvxYC4ZCcpi6wrExcM,1037
202
202
  reconcile/external_resources/model.py,sha256=H3elpiqehg_jACy28fGV5_77n8gKclVO77-7cfbaMNA,9178
203
203
  reconcile/external_resources/reconciler.py,sha256=K9QvbQCIOCuOHnPIxQE_P_jFtrkF3dGo8d_cCCh08Ys,8973
204
- reconcile/external_resources/secrets_sync.py,sha256=6n0oDPLjd9Ql0lf6zsr1AZw8A6EEe3yCzl20XodtgkE,16229
204
+ reconcile/external_resources/secrets_sync.py,sha256=fxzrNreggWJvASonIPUr3CB5M637M1ljZLZr6dct9xU,16329
205
205
  reconcile/external_resources/state.py,sha256=z086bnIUTOkzFmQvS9rSAhFsM3Aw_9PLKHBACJ-0tQc,9690
206
206
  reconcile/glitchtip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
207
  reconcile/glitchtip/integration.py,sha256=XtewM9nfTPLnPSpYebP50GrveYOnhTvKNq3seSvL6u8,8343
@@ -880,8 +880,8 @@ tools/test/test_qontract_cli.py,sha256=iuzKbQ6ahinvjoQmQLBrG4shey0z-1rB6qCgS8T6d
880
880
  tools/test/test_saas_promotion_state.py,sha256=dy4kkSSAQ7bC0Xp2CociETGN-2aABEfL6FU5D9Jl00Y,6056
881
881
  tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
882
882
  tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
883
- qontract_reconcile-0.10.1rc1176.dist-info/METADATA,sha256=FO4VVCgyw7g9Ej_-qTU5yN7o37gXyNGXakWuCm-G49c,2213
884
- qontract_reconcile-0.10.1rc1176.dist-info/WHEEL,sha256=bFJAMchF8aTQGUgMZzHJyDDMPTO3ToJ7x23SLJa1SVo,92
885
- qontract_reconcile-0.10.1rc1176.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
886
- qontract_reconcile-0.10.1rc1176.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
887
- qontract_reconcile-0.10.1rc1176.dist-info/RECORD,,
883
+ qontract_reconcile-0.10.1rc1178.dist-info/METADATA,sha256=RfXebn7FPC9wsFLc2UmBeZ81WxuD2OpnNYVnkVAb7Fs,2213
884
+ qontract_reconcile-0.10.1rc1178.dist-info/WHEEL,sha256=bFJAMchF8aTQGUgMZzHJyDDMPTO3ToJ7x23SLJa1SVo,92
885
+ qontract_reconcile-0.10.1rc1178.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
886
+ qontract_reconcile-0.10.1rc1178.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
887
+ qontract_reconcile-0.10.1rc1178.dist-info/RECORD,,
reconcile/aus/base.py CHANGED
@@ -1115,18 +1115,6 @@ def calculate_diff(
1115
1115
  gates=gates,
1116
1116
  target_version_prefix=target_version_prefix,
1117
1117
  )
1118
- # skipping upgrades when there are no version gates is a safety
1119
- # precaution to prevent cluster upgrades being scheduled.
1120
- # missing version gates are an indicator that the version has not yet gone
1121
- # through SREP gap analysis and is not yet ready for upgrades.
1122
- #
1123
- # this might change in the future - revisite for 4.16
1124
- if not minor_version_gates:
1125
- logging.info(
1126
- f"[{spec.org.org_id}/{spec.org.name}/{spec.cluster.name}] no gates found for {target_version_prefix}. "
1127
- "Skip creation of an upgrade policy."
1128
- )
1129
- continue
1130
1118
  gates_with_missing_agreements = gates_to_agree(
1131
1119
  gates=minor_version_gates,
1132
1120
  cluster=spec.cluster,
@@ -195,6 +195,9 @@ class SecretsReconciler:
195
195
  integration=QONTRACT_INTEGRATION,
196
196
  )
197
197
 
198
+ def secret_path(self, vault_path: str, spec: ExternalResourceSpec) -> str:
199
+ return f"{vault_path}/{spec.cluster_name}/{spec.namespace_name}/{spec.output_resource_name}"
200
+
198
201
  def sync_secrets(
199
202
  self, specs: Iterable[ExternalResourceSpec]
200
203
  ) -> list[ExternalResourceSpec]:
@@ -363,10 +366,12 @@ class InClusterSecretsReconciler(SecretsReconciler):
363
366
  self.oc.delete(namespace=self.namespace, kind="Secret", name=secret_name)
364
367
 
365
368
  def _write_secret_to_vault(self, spec: ExternalResourceSpec) -> None:
366
- secret_path = f"{self.vault_path}/{spec.cluster_name}/{spec.namespace_name}/{spec.identifier}"
367
369
  secret = {k: str(v) for k, v in spec.secret.items()}
368
370
  secret[SECRET_UPDATED_AT] = spec.metadata[SECRET_UPDATED_AT]
369
- desired_secret = {"path": secret_path, "data": secret}
371
+ desired_secret = {
372
+ "path": self.secret_path(self.vault_path, spec),
373
+ "data": secret,
374
+ }
370
375
  self.vault_client.write(desired_secret, decode_base64=False) # type: ignore[attr-defined]
371
376
 
372
377
  def sync_secrets(
@@ -447,7 +452,7 @@ class VaultSecretsReconciler(SecretsReconciler):
447
452
  threaded.run(self._read_secret, specs, self.thread_pool_size)
448
453
 
449
454
  def _read_secret(self, spec: ExternalResourceSpec) -> None:
450
- secret_path = f"{self.vault_path}/{spec.cluster_name}/{spec.namespace_name}/{spec.identifier}"
455
+ secret_path = self.secret_path(self.vault_path, spec)
451
456
  try:
452
457
  logging.debug("Reading Secret %s", secret_path)
453
458
  data = self.secrets_reader.read_all({"path": secret_path})