qontract-reconcile 0.10.1rc1053__py3-none-any.whl → 0.10.1rc1054__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.
- {qontract_reconcile-0.10.1rc1053.dist-info → qontract_reconcile-0.10.1rc1054.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc1053.dist-info → qontract_reconcile-0.10.1rc1054.dist-info}/RECORD +11 -11
- reconcile/gql_definitions/common/saas_files.py +2 -0
- reconcile/saas_auto_promotions_manager/publisher.py +2 -2
- reconcile/saas_auto_promotions_manager/s3_exporter.py +2 -1
- reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py +4 -4
- reconcile/test/saas_auto_promotions_manager/conftest.py +1 -1
- reconcile/test/test_saasherder.py +2 -0
- {qontract_reconcile-0.10.1rc1053.dist-info → qontract_reconcile-0.10.1rc1054.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc1053.dist-info → qontract_reconcile-0.10.1rc1054.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc1053.dist-info → qontract_reconcile-0.10.1rc1054.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc1053.dist-info → qontract_reconcile-0.10.1rc1054.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: qontract-reconcile
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.1rc1054
|
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
|
{qontract_reconcile-0.10.1rc1053.dist-info → qontract_reconcile-0.10.1rc1054.dist-info}/RECORD
RENAMED
@@ -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=
|
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=
|
447
|
-
reconcile/saas_auto_promotions_manager/s3_exporter.py,sha256=
|
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=
|
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
|
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=
|
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.
|
871
|
-
qontract_reconcile-0.10.
|
872
|
-
qontract_reconcile-0.10.
|
873
|
-
qontract_reconcile-0.10.
|
874
|
-
qontract_reconcile-0.10.
|
870
|
+
qontract_reconcile-0.10.1rc1054.dist-info/METADATA,sha256=964pbKmbJyE8OC_hM19ZLF0So2_dQGW_zoQNeh6ar7U,2213
|
871
|
+
qontract_reconcile-0.10.1rc1054.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
872
|
+
qontract_reconcile-0.10.1rc1054.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
|
873
|
+
qontract_reconcile-0.10.1rc1054.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
874
|
+
qontract_reconcile-0.10.1rc1054.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
|
-
|
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.
|
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
|
-
|
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
|
-
|
126
|
-
|
127
|
-
|
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 []:
|
@@ -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
|
)
|
{qontract_reconcile-0.10.1rc1053.dist-info → qontract_reconcile-0.10.1rc1054.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|