qontract-reconcile 0.10.1rc1056__py3-none-any.whl → 0.10.1rc1057__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.1rc1056
3
+ Version: 0.10.1rc1057
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
@@ -269,7 +269,7 @@ reconcile/gql_definitions/common/pipeline_providers.py,sha256=JJgmmghqLIwjKOdcWY
269
269
  reconcile/gql_definitions/common/quay_instances.py,sha256=toBkdYYVTmEafezAHZKgaW-mQ29xEW6jeronzsAlNyI,1786
270
270
  reconcile/gql_definitions/common/quay_orgs.py,sha256=NhA8kqvVUDbrsryEvEL5mlIv5R3T4XNhSRXtfL_yptY,1788
271
271
  reconcile/gql_definitions/common/reserved_networks.py,sha256=yP9qSQCaSQcva-ZgTnZp09qH27ur5_qK080ToIs04MY,2560
272
- reconcile/gql_definitions/common/saas_files.py,sha256=JZdFKBygaZVxGwBUYMki9EbnsGdmfmxuAreMZ3dchwo,16702
272
+ reconcile/gql_definitions/common/saas_files.py,sha256=i0U0Ot4DwE3LjigD4ex_ASOPWfSZEpX_4ZrRaWlUhW8,16854
273
273
  reconcile/gql_definitions/common/saas_target_namespaces.py,sha256=4VYP2VbwY8WVwtSFk2-jsUNhSmRD3X4FWKxetOKvmd0,2835
274
274
  reconcile/gql_definitions/common/saasherder_settings.py,sha256=nqQLcMwYxLseqq0BEcVvmrpIj2eQq0h8XDSpLN6GGCw,1793
275
275
  reconcile/gql_definitions/common/slack_workspaces.py,sha256=2o0kgi4QiaRuNmZJnc_By4F6NsKIdRaXkrufRQw7Nok,1753
@@ -443,8 +443,8 @@ reconcile/rhidp/sso_client/metrics.py,sha256=Tq7tSOsqL3XdcPUdozxqzSPIodUeOV87UCT
443
443
  reconcile/saas_auto_promotions_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
444
444
  reconcile/saas_auto_promotions_manager/integration.py,sha256=haXTpwi0rEQtN9-MadBzFvSNtbxw5QQuFpMQLg3bZlQ,6707
445
445
  reconcile/saas_auto_promotions_manager/meta.py,sha256=76Jp50r6Y_KyJoXFfSjrt5YrCtXyg_A4FXXxHYiS3TE,161
446
- reconcile/saas_auto_promotions_manager/publisher.py,sha256=IZGu-PMffyk3fNL8QcZ2VBmYTZ5zigoCwNJ4_Ak6-C8,2966
447
- reconcile/saas_auto_promotions_manager/s3_exporter.py,sha256=IKlVWZmiPnvl7sKeF6JgAlhXZe5CovKTxQc0SNkNSx4,2583
446
+ reconcile/saas_auto_promotions_manager/publisher.py,sha256=_VdmCTiPpOBQBkGRpD6528TGdOV90wRme1q8ep_qo48,2993
447
+ reconcile/saas_auto_promotions_manager/s3_exporter.py,sha256=Y-r5R6viiAzglUHbYKItYSjT_axmLlPEJVmu_H6N170,2682
448
448
  reconcile/saas_auto_promotions_manager/subscriber.py,sha256=kIJKT1Xg5FF7EGT5ayK5ROyu_S7FbsYK91WBqrtYjfA,10030
449
449
  reconcile/saas_auto_promotions_manager/merge_request_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
450
450
  reconcile/saas_auto_promotions_manager/merge_request_manager/batcher.py,sha256=R2CRtjdOggY5lSqt-A5qz2ymqomx4opVeVV_oqBAW0A,7804
@@ -456,7 +456,7 @@ reconcile/saas_auto_promotions_manager/merge_request_manager/mr_parser.py,sha256
456
456
  reconcile/saas_auto_promotions_manager/merge_request_manager/open_merge_requests.py,sha256=-qGQOh6Jdp4lomNDij3zWVC0pl6uPHFWS5Woqcp5HQk,410
457
457
  reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py,sha256=rnY9CR_0ONDJdJhGaGOQ9yBlKV0bPXQKh9Ped-NA2To,7245
458
458
  reconcile/saas_auto_promotions_manager/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
459
- reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py,sha256=DZOT8jvM9tmLnipY884XN5T4ViJljAlcEz6XKdNCK5w,8860
459
+ reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py,sha256=wj7x3DIoetLX5QeaorTH0i8QC5GWsqahbUOrUb0AzJk,8830
460
460
  reconcile/skupper_network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
461
461
  reconcile/skupper_network/integration.py,sha256=oZIVDBRcQPC-lWxNFiJhGbtCM7Yj7fjwAzYZ8JvVe3I,10789
462
462
  reconcile/skupper_network/models.py,sha256=HEwlVKsbmMaKaaBGvITIiSYNEVdjwXVhLaOJgLSZ2xQ,6604
@@ -553,7 +553,7 @@ reconcile/test/test_quay_repos.py,sha256=TdkcRF_a8PLp01Kti9eZZN-vGup2yPBT4Iba3k0
553
553
  reconcile/test/test_queries.py,sha256=SpH3RmNpBjEr_ne3VjAMCgKK8RE1z1zo7bypkT5uoO4,1946
554
554
  reconcile/test/test_repo_owners.py,sha256=uRYMLbMmh-9usF0TerabZTZV-Z1CS4I6ybT-LQqCLe8,1423
555
555
  reconcile/test/test_requests_sender.py,sha256=7fd9C2kEFS0-CYtlsif66N1kO9c44pzuBPAJKR9igqU,5385
556
- reconcile/test/test_saasherder.py,sha256=SXhjDhpmWNM3xWtOGWn5j6BeznuXDwlttVcUtp9drpo,58014
556
+ reconcile/test/test_saasherder.py,sha256=-WGgAsrTm_SJ0OQDLXd4JwEu1Mc6i4AePJqjZQTaRew,58114
557
557
  reconcile/test/test_saasherder_allowed_secret_paths.py,sha256=5NHQwNJO66at6HiyMZ5sVRTQDwxdvlOQo0KmkBWCw5Q,4853
558
558
  reconcile/test/test_secret_reader.py,sha256=kz7nzcPjvA08cytnvcA_PMA98AEyqJWsESkYeRn5xCk,4994
559
559
  reconcile/test/test_slack_base.py,sha256=pTUGvJ2S2wF3PhJyGWmiNXG52QtXKy2cbu-G8Ymrv6I,5019
@@ -578,7 +578,7 @@ reconcile/test/test_version_bump.py,sha256=q6-3Y1roriI6YWpFwaHOMN7emEP3yL33sh_0V
578
578
  reconcile/test/test_vpc_peerings_validator.py,sha256=dFSmjc_dMN2GqMbntCFpa7PUZmyYuQ9DKffh-T5wmxM,6639
579
579
  reconcile/test/test_wrong_region.py,sha256=7KzL7OaICQ9Z3DW27zt_ykMN7_87owAFC-2CYjvGoyA,2138
580
580
  reconcile/test/saas_auto_promotions_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
581
- reconcile/test/saas_auto_promotions_manager/conftest.py,sha256=oRnwwFbL00TNwY1uacjPl0cwU3o064YpDhNkeoerGzE,6085
581
+ reconcile/test/saas_auto_promotions_manager/conftest.py,sha256=m4gOYQIOO9Br9r26erJLXxO6b1IfVKO-QQPm8k2qD5Y,6094
582
582
  reconcile/test/saas_auto_promotions_manager/test_integration_test.py,sha256=S30eXJSy2Vc3YLbCP7AfLkOiFGUVoKhEvEBL5vwnbfg,1848
583
583
  reconcile/test/saas_auto_promotions_manager/merge_request_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
584
584
  reconcile/test/saas_auto_promotions_manager/merge_request_manager/merge_request_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -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.1rc1056.dist-info/METADATA,sha256=CHSafj5u2wG1ldpLxEZLbYfSHBq4_mbszb1qawE6bEk,2213
871
- qontract_reconcile-0.10.1rc1056.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
872
- qontract_reconcile-0.10.1rc1056.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
873
- qontract_reconcile-0.10.1rc1056.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
874
- qontract_reconcile-0.10.1rc1056.dist-info/RECORD,,
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,,
@@ -265,6 +265,7 @@ query SaasFiles {
265
265
  auto
266
266
  publish
267
267
  subscribe
268
+ redeployOnPublisherConfigChange
268
269
  soakDays
269
270
  schedule
270
271
  promotion_data {
@@ -472,6 +473,7 @@ class SaasResourceTemplateTargetPromotionV1(ConfiguredBaseModel):
472
473
  auto: Optional[bool] = Field(..., alias="auto")
473
474
  publish: Optional[list[str]] = Field(..., alias="publish")
474
475
  subscribe: Optional[list[str]] = Field(..., alias="subscribe")
476
+ redeploy_on_publisher_config_change: Optional[bool] = Field(..., alias="redeployOnPublisherConfigChange")
475
477
  soak_days: Optional[int] = Field(..., alias="soakDays")
476
478
  schedule: Optional[str] = Field(..., alias="schedule")
477
479
  promotion_data: Optional[list[PromotionDataV1]] = Field(..., alias="promotion_data")
@@ -39,7 +39,7 @@ class Publisher:
39
39
  target_name: str | None,
40
40
  cluster_name: str,
41
41
  auth_code: HasSecret | None,
42
- publish_job_logs: bool | None,
42
+ redeploy_on_config_change: bool | None,
43
43
  has_subscriber: bool = True,
44
44
  ):
45
45
  self._ref = ref
@@ -56,7 +56,7 @@ class Publisher:
56
56
  self.resource_template_name = resource_template_name
57
57
  self.target_name = target_name if target_name else "None"
58
58
  self.cluster_name = cluster_name
59
- self.publish_job_logs = bool(publish_job_logs)
59
+ self.redeploy_on_config_change = bool(redeploy_on_config_change)
60
60
  self.has_subscriber = has_subscriber
61
61
 
62
62
  def fetch_commit_shas_and_deployment_info(
@@ -62,7 +62,8 @@ class S3Exporter:
62
62
  data: dict[str, dict] = {}
63
63
  for publisher in publishers:
64
64
  publisher_data = PublisherData.from_publisher(publisher)
65
- key = f"{publisher.app_name}/{publisher.saas_name}/{publisher.resource_template_name}/{publisher.target_name}/{publisher.cluster_name}/{publisher.namespace_name}/{publisher.publish_job_logs}"
65
+ # Note, redeploy_on_config_change indicates that this publisher is a test job
66
+ key = f"{publisher.app_name}/{publisher.saas_name}/{publisher.resource_template_name}/{publisher.target_name}/{publisher.cluster_name}/{publisher.namespace_name}/{publisher.redeploy_on_config_change}"
66
67
  data[key] = {
67
68
  "commit_sha": publisher_data.commit_sha,
68
69
  "deployment_state": publisher_data.deployment_state.value,
@@ -65,8 +65,8 @@ class SaasFilesInventory:
65
65
  cluster_name=target.namespace.cluster.name,
66
66
  resource_template_name=resource_template.name,
67
67
  target_name=target.name,
68
- publish_job_logs=saas_file.publish_job_logs,
69
68
  auth_code=auth_code,
69
+ redeploy_on_config_change=target.promotion.redeploy_on_publisher_config_change,
70
70
  )
71
71
 
72
72
  has_subscriber = False
@@ -122,9 +122,9 @@ class SaasFilesInventory:
122
122
  blocked_versions=blocked_versions.get(
123
123
  resource_template.url, set()
124
124
  ),
125
- # Note: this will be refactored at a later point.
126
- # https://issues.redhat.com/browse/APPSRE-7516
127
- use_target_config_hash=bool(saas_file.publish_job_logs),
125
+ use_target_config_hash=bool(
126
+ target.promotion.redeploy_on_publisher_config_change
127
+ ),
128
128
  )
129
129
  self.subscribers.append(subscriber)
130
130
  for prom_data in target.promotion.promotion_data or []:
@@ -131,7 +131,7 @@ def subscriber_builder(
131
131
  app_name="",
132
132
  resource_template_name="",
133
133
  target_name=None,
134
- publish_job_logs=True,
134
+ redeploy_on_config_change=True,
135
135
  has_subscriber=True,
136
136
  auth_code=None,
137
137
  )
@@ -164,6 +164,7 @@ class TestSaasFileValid(TestCase):
164
164
  auto=True,
165
165
  publish=None,
166
166
  subscribe=None,
167
+ redeployOnPublisherConfigChange=None,
167
168
  promotion_data=None,
168
169
  soakDays=0,
169
170
  schedule="* * * * *",
@@ -190,6 +191,7 @@ class TestSaasFileValid(TestCase):
190
191
  publish=None,
191
192
  subscribe=None,
192
193
  promotion_data=None,
194
+ redeployOnPublisherConfigChange=None,
193
195
  soakDays=0,
194
196
  schedule="* * * * *",
195
197
  )