qontract-reconcile 0.10.1rc1001__py3-none-any.whl → 0.10.1rc1003__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.1rc1001
3
+ Version: 0.10.1rc1003
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
@@ -61,7 +61,7 @@ reconcile/ocm_groups.py,sha256=-rTPMewkdyo1De6gs4u-294p3z34oUbGfuNi8ov56Sk,3424
61
61
  reconcile/ocm_machine_pools.py,sha256=poGfITOCJEMwYAJpiuL8SytgTcBmGIKEZPgNGld80TY,16563
62
62
  reconcile/ocm_update_recommended_version.py,sha256=IYkfLXIprOW1jguZeELcGP1iBPuj-b53R-FTqKulMl8,4204
63
63
  reconcile/ocm_upgrade_scheduler_org_updater.py,sha256=aLgyInt9oIWAg0XtCiwJRUSwdPx3masKV8kHzkyEEOQ,4282
64
- reconcile/openshift_base.py,sha256=7CCzyM2Kxlrz305t4aWjKxBhxCLqTpGzF_lXgt7LYfs,52362
64
+ reconcile/openshift_base.py,sha256=ZcyB6FU0MSibu8mLCQrQFOcEIoGITGBjR-g3vbdNKHE,52647
65
65
  reconcile/openshift_cluster_bots.py,sha256=1aGPaKUOoWuqDt6Jv6hdxc7NfdvjstrCmcDHHFfatIk,10942
66
66
  reconcile/openshift_clusterrolebindings.py,sha256=sDgHi_t2ayE3O6zZ5CLao7uBmihxRK8K70w2GSADz-w,5822
67
67
  reconcile/openshift_groups.py,sha256=sK2wLWwNupztbfyFPl32VH42s_s8Mu3g-URdlisnwJc,9382
@@ -88,7 +88,7 @@ reconcile/openshift_tekton_resources.py,sha256=jKH5nw84aeYkgikxjQnjSOSF3m2kk3lp2
88
88
  reconcile/openshift_upgrade_watcher.py,sha256=9IB321hlRZZhzdaR9G3zoWAhVv0-KzNiEqx73p3-wmk,6539
89
89
  reconcile/openshift_users.py,sha256=63mar-swgidz8f10TCPJcofbMN9FETq-HuVFpi8dUL4,5293
90
90
  reconcile/openshift_vault_secrets.py,sha256=9rTqV6wzCQx2Oh712E_Xj8wMG7u8Oh-pY8DWjlv4mZw,1660
91
- reconcile/quay_base.py,sha256=WlrTGlpK2Ma9HxXqTRJ_W-7g6e6RM3RlN1vq1ANMP_I,1889
91
+ reconcile/quay_base.py,sha256=h5xNjb7EZm8L2JgpO42r6w0UA4im5dabZXJSIW69zKU,1987
92
92
  reconcile/quay_membership.py,sha256=YDLY7ayDsatEpYCe_iMdf3pkvrbmN8mAwrDKUJUa4Lg,6260
93
93
  reconcile/quay_mirror.py,sha256=dWvYqZcFu6RFUwyOVxNByRWx2FLIYTO2OFr2N1YtjJc,14706
94
94
  reconcile/quay_mirror_org.py,sha256=utrJpJaKCs7U6WX6DODdfCeB0EmX-lUC8Y5fkmpgFSs,10764
@@ -857,8 +857,8 @@ tools/test/test_qontract_cli.py,sha256=_D61RFGAN5x44CY1tYbouhlGXXABwYfxKSWSQx3Jr
857
857
  tools/test/test_saas_promotion_state.py,sha256=dy4kkSSAQ7bC0Xp2CociETGN-2aABEfL6FU5D9Jl00Y,6056
858
858
  tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
859
859
  tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
860
- qontract_reconcile-0.10.1rc1001.dist-info/METADATA,sha256=492Dnv4Uq74dJrWXMM1kr6FPr_N0klepOCjzfsBs9pA,2263
861
- qontract_reconcile-0.10.1rc1001.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
862
- qontract_reconcile-0.10.1rc1001.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
863
- qontract_reconcile-0.10.1rc1001.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
864
- qontract_reconcile-0.10.1rc1001.dist-info/RECORD,,
860
+ qontract_reconcile-0.10.1rc1003.dist-info/METADATA,sha256=BvrclMmgtgulHxm9l-sYJxOFagKY30ksQNJ9zzZx9nk,2263
861
+ qontract_reconcile-0.10.1rc1003.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
862
+ qontract_reconcile-0.10.1rc1003.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
863
+ qontract_reconcile-0.10.1rc1003.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
864
+ qontract_reconcile-0.10.1rc1003.dist-info/RECORD,,
@@ -128,6 +128,7 @@ def init_specs_to_fetch(
128
128
  clusters: Iterable[Mapping] | None = None,
129
129
  override_managed_types: Iterable[str] | None = None,
130
130
  managed_types_key: str = "managedResourceTypes",
131
+ cluster_admin: bool = False,
131
132
  ) -> list[StateSpec]:
132
133
  state_specs: list[StateSpec] = []
133
134
 
@@ -144,7 +145,9 @@ def init_specs_to_fetch(
144
145
  continue
145
146
 
146
147
  cluster = namespace_info["cluster"]["name"]
147
- privileged = namespace_info.get("clusterAdmin", False) is True
148
+ privileged = (
149
+ namespace_info.get("clusterAdmin", False) is True or cluster_admin
150
+ )
148
151
  try:
149
152
  oc = oc_map.get_cluster(cluster, privileged)
150
153
  except OCLogMsg as ex:
@@ -348,6 +351,7 @@ def fetch_current_state(
348
351
  namespaces=namespaces,
349
352
  clusters=clusters,
350
353
  override_managed_types=override_managed_types,
354
+ cluster_admin=cluster_admin,
351
355
  )
352
356
  threaded.run(
353
357
  populate_current_state,
@@ -379,7 +383,14 @@ def apply(
379
383
  recycle_pods: bool = True,
380
384
  privileged: bool = False,
381
385
  ) -> None:
382
- logging.info(["apply", cluster, namespace, resource_type, resource.name])
386
+ logging.info([
387
+ "apply",
388
+ f"privileged={privileged}",
389
+ cluster,
390
+ namespace,
391
+ resource_type,
392
+ resource.name,
393
+ ])
383
394
 
384
395
  try:
385
396
  oc = oc_map.get_cluster(cluster, privileged)
@@ -537,7 +548,14 @@ def delete(
537
548
  enable_deletion: bool,
538
549
  privileged: bool = False,
539
550
  ) -> None:
540
- logging.info(["delete", cluster, namespace, resource_type, name])
551
+ logging.info([
552
+ "delete",
553
+ f"privileged={privileged}",
554
+ cluster,
555
+ namespace,
556
+ resource_type,
557
+ name,
558
+ ])
541
559
 
542
560
  if not enable_deletion:
543
561
  logging.error("'delete' action is disabled due to previous errors.")
reconcile/quay_base.py CHANGED
@@ -22,7 +22,10 @@ def get_quay_api_store():
22
22
  org_name = org_data["name"]
23
23
  org_key = OrgKey(instance_name, org_name)
24
24
  base_url = org_data["instance"]["url"]
25
- token = secret_reader.read(org_data["automationToken"])
25
+ automation_token = org_data["automationToken"]
26
+ if not automation_token:
27
+ continue
28
+ token = secret_reader.read(automation_token)
26
29
 
27
30
  if org_data.get("mirror"):
28
31
  mirror = OrgKey(