qontract-reconcile 0.10.1rc592__py3-none-any.whl → 0.10.1rc593__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.1rc592.dist-info → qontract_reconcile-0.10.1rc593.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc592.dist-info → qontract_reconcile-0.10.1rc593.dist-info}/RECORD +12 -12
- reconcile/aus/advanced_upgrade_service.py +8 -0
- reconcile/aus/aus_label_source.py +1 -0
- reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +1 -0
- reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +1 -0
- reconcile/gql_definitions/common/clusters.py +1 -0
- reconcile/gql_definitions/fragments/upgrade_policy.py +1 -0
- reconcile/test/test_openshift_upgrade_watcher.py +2 -1
- {qontract_reconcile-0.10.1rc592.dist-info → qontract_reconcile-0.10.1rc593.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc592.dist-info → qontract_reconcile-0.10.1rc593.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc592.dist-info → qontract_reconcile-0.10.1rc593.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc592.dist-info → qontract_reconcile-0.10.1rc593.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.1rc593
|
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.1rc592.dist-info → qontract_reconcile-0.10.1rc593.dist-info}/RECORD
RENAMED
@@ -118,8 +118,8 @@ reconcile/terraform_vpc_peerings.py,sha256=rnDH1u93OyzrBM8Hib0HwSnlxZtx4ScRQaZAc
|
|
118
118
|
reconcile/vault_replication.py,sha256=79GZ_kCimPoQcxkdhkWTQxPOAa46E0mNhf05s_Mk5so,17385
|
119
119
|
reconcile/vpc_peerings_validator.py,sha256=Kv22HJVlTW9l9GB2eXwjPWqdDbr_VuvQBNPttox6s5o,7177
|
120
120
|
reconcile/aus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
121
|
-
reconcile/aus/advanced_upgrade_service.py,sha256=
|
122
|
-
reconcile/aus/aus_label_source.py,sha256=
|
121
|
+
reconcile/aus/advanced_upgrade_service.py,sha256=PkVcXBMrveW5euvqjEBO4e5-9KDb_6hszLI2GrWpx2w,21378
|
122
|
+
reconcile/aus/aus_label_source.py,sha256=qoP8Fgxuu1tCuhG6ixCWve7Ll-KD6a79E2uLAmC0ifw,4184
|
123
123
|
reconcile/aus/base.py,sha256=Qdktz7W7J9TWVCYJZHwyKoIf4sVI7W9o_WwzsOBxLfQ,44912
|
124
124
|
reconcile/aus/cluster_version_data.py,sha256=j4UyEBi5mQuvPq5Lo7a_L_0blxvH790wJV07uAiikFU,7126
|
125
125
|
reconcile/aus/metrics.py,sha256=fIew-rzi_kYuI5Gxn3-4bQVIr2oNibiKPyGnhB-xKU4,3538
|
@@ -174,8 +174,8 @@ reconcile/gql_definitions/acs/acs_instances.py,sha256=L91WW9LbhJbBSrECqShQpFtjoB
|
|
174
174
|
reconcile/gql_definitions/acs/acs_policies.py,sha256=Z6Z7duvS9W4cbciBED4oK40Vg9QyYti3zXvoEXM-fak,4422
|
175
175
|
reconcile/gql_definitions/acs/acs_rbac.py,sha256=cZsIlCWliPQdQHgmBsIMx54fJNOtkdRXLzmOKZmJNHk,3009
|
176
176
|
reconcile/gql_definitions/advanced_upgrade_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
177
|
-
reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py,sha256=
|
178
|
-
reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py,sha256=
|
177
|
+
reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py,sha256=z-duZbkMLU1B7P7PSzjUQYVOr2ccP6rvpQLjgzHCj-4,4244
|
178
|
+
reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py,sha256=_H8jhf_kzFj5AWa8auawXIwFmrQw3a1RK6MOi4qQ6zA,3242
|
179
179
|
reconcile/gql_definitions/app_interface_metrics_exporter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
180
180
|
reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py,sha256=uVEEqU6YYmKsNTo6EWlFnoVmqha2rvBDx-wiD64VmG0,1679
|
181
181
|
reconcile/gql_definitions/aws_ami_cleanup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -204,7 +204,7 @@ reconcile/gql_definitions/common/app_interface_repo_settings.py,sha256=rud0rz9NI
|
|
204
204
|
reconcile/gql_definitions/common/app_interface_state_settings.py,sha256=VXIK0Hmyv6GTShI86IGkjxyHGwufqUBAh617XKUAKaI,2507
|
205
205
|
reconcile/gql_definitions/common/app_interface_vault_settings.py,sha256=w8quvdG0cSq71ZyJokPPp7MyMpoDb6-HLQ3o9JHVGRQ,1771
|
206
206
|
reconcile/gql_definitions/common/aws_vpcs.py,sha256=Dss9dQ3xagnz3Ltg1e9mtG2PAmQGBbUzKCmmzvuN28s,1892
|
207
|
-
reconcile/gql_definitions/common/clusters.py,sha256=
|
207
|
+
reconcile/gql_definitions/common/clusters.py,sha256=b9RLeV4H-y1aAPotySaid6IMT6-jPNE1smu70eSDYH4,23201
|
208
208
|
reconcile/gql_definitions/common/clusters_minimal.py,sha256=yZpjS9qWyusCEiWtD8wzf0tak298uQyxiN4lC6KNo4s,4475
|
209
209
|
reconcile/gql_definitions/common/clusters_with_peering.py,sha256=7ORLr469qEmsqescriARsZrJyQaB0JOFP6UVVlFWfk0,11548
|
210
210
|
reconcile/gql_definitions/common/github_orgs.py,sha256=rZ0pDAA2_9hF9N-ykRZIxPtEmczTSjuA_k3nkp0k1W0,2039
|
@@ -243,7 +243,7 @@ reconcile/gql_definitions/fragments/resource_requests_requirements.py,sha256=TFK
|
|
243
243
|
reconcile/gql_definitions/fragments/resource_values.py,sha256=-N2lNRhWp8PgocmIeX3U9f3l90Q97N2lXoq1pXdb_LE,742
|
244
244
|
reconcile/gql_definitions/fragments/saas_target_namespace.py,sha256=y4hA73Vchi3I1UW94r7CmecZe6KoHkCMEVuoiAF2xnc,3660
|
245
245
|
reconcile/gql_definitions/fragments/terraform_state.py,sha256=S5QuTR9YlvUObiU7hevS9ybxZEssWoRGqCR9YtGwePs,1024
|
246
|
-
reconcile/gql_definitions/fragments/upgrade_policy.py,sha256=
|
246
|
+
reconcile/gql_definitions/fragments/upgrade_policy.py,sha256=cVza8zfra1E3yBsHiS-hKbys17fvv572GFnKshJjluE,1246
|
247
247
|
reconcile/gql_definitions/fragments/user.py,sha256=84RGYYSYnZmyrwHlCX89-EgAu7UaLFOTMQXobmHCfz8,939
|
248
248
|
reconcile/gql_definitions/fragments/vault_secret.py,sha256=8xoQJNx1jKw_1yradq1iLEYWzuOHra1bEHHU7WHKxqo,833
|
249
249
|
reconcile/gql_definitions/gitlab_members/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -437,7 +437,7 @@ reconcile/test/test_openshift_resources_base.py,sha256=LtlR9x3o7KkSEw0JN0fZhinFe
|
|
437
437
|
reconcile/test/test_openshift_saas_deploy.py,sha256=YLJGkc--u5aP0UkQ-b9ZGEFGS2gw25jjcSgknQdI3Ic,5892
|
438
438
|
reconcile/test/test_openshift_saas_deploy_change_tester.py,sha256=1yVe54Hx9YdVjn6qdnKge5Sa_s732c-8uZqCnuT1gGI,12871
|
439
439
|
reconcile/test/test_openshift_tekton_resources.py,sha256=RtRWsdm51S13OSkENC9nY_rOH0QELSCaO5tjF0XqIDI,11222
|
440
|
-
reconcile/test/test_openshift_upgrade_watcher.py,sha256=
|
440
|
+
reconcile/test/test_openshift_upgrade_watcher.py,sha256=0GDQ_YFHIX8DbkbDYSuLv9uZeeg4NwP1vlOqvSaZvN4,7183
|
441
441
|
reconcile/test/test_prometheus_rules_tester.py,sha256=Qc9J4k0lSVie361lGr_cOy0EaBTD5LDqGZf7CYVFKr8,5677
|
442
442
|
reconcile/test/test_quay_membership.py,sha256=e29Giz5S9ckFgjpTO8PBo8qVPocIQmy4WqsRhgTFd9A,2643
|
443
443
|
reconcile/test/test_quay_mirror.py,sha256=UBLQDtet5WkWnh98ev5cI3yAflQl07awg2dXTefqoUk,6311
|
@@ -693,8 +693,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=SX7qL3D1SIRKFo95FoQztvf
|
|
693
693
|
tools/test/test_qontract_cli.py,sha256=OvalpVRfY4pNmpMaWHHYqBjV68b1eGQjX8SCyTAXb1w,3501
|
694
694
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
695
695
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
696
|
-
qontract_reconcile-0.10.
|
697
|
-
qontract_reconcile-0.10.
|
698
|
-
qontract_reconcile-0.10.
|
699
|
-
qontract_reconcile-0.10.
|
700
|
-
qontract_reconcile-0.10.
|
696
|
+
qontract_reconcile-0.10.1rc593.dist-info/METADATA,sha256=Lfkt4RPQCrWJAcp1p0WBo6W__DgrMYySGwnLQTWNFUw,2349
|
697
|
+
qontract_reconcile-0.10.1rc593.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
698
|
+
qontract_reconcile-0.10.1rc593.dist-info/entry_points.txt,sha256=rTjAv28I_CHLM8ID3OPqMI_suoQ9s7tFbim4aYjn9kk,376
|
699
|
+
qontract_reconcile-0.10.1rc593.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
700
|
+
qontract_reconcile-0.10.1rc593.dist-info/RECORD,,
|
@@ -364,6 +364,9 @@ class ClusterUpgradePolicyLabelSet(BaseModel):
|
|
364
364
|
mutexes: Optional[CSV] = Field(alias=aus_label_key("mutexes"))
|
365
365
|
sector: Optional[str] = Field(alias=aus_label_key("sector"))
|
366
366
|
blocked_versions: Optional[CSV] = Field(alias=aus_label_key("blocked-versions"))
|
367
|
+
version_gate_approvals: Optional[CSV] = Field(
|
368
|
+
alias=aus_label_key("version-gate-approvals")
|
369
|
+
)
|
367
370
|
_schedule_validator = validator("schedule", allow_reuse=True)(cron_validator)
|
368
371
|
|
369
372
|
def build_labels_dict(self) -> dict[str, str]:
|
@@ -388,6 +391,7 @@ def build_cluster_upgrade_policy_label_set(
|
|
388
391
|
mutexes: Optional[list[str]] = None,
|
389
392
|
sector: Optional[str] = None,
|
390
393
|
blocked_versions: Optional[list[str]] = None,
|
394
|
+
version_gate_approvals: Optional[list[str]] = None,
|
391
395
|
) -> ClusterUpgradePolicyLabelSet:
|
392
396
|
return ClusterUpgradePolicyLabelSet(**{
|
393
397
|
aus_label_key("workloads"): ",".join(workloads),
|
@@ -398,6 +402,9 @@ def build_cluster_upgrade_policy_label_set(
|
|
398
402
|
aus_label_key("blocked-versions"): ",".join(blocked_versions)
|
399
403
|
if blocked_versions
|
400
404
|
else None,
|
405
|
+
aus_label_key("version-gate-approvals"): ",".join(version_gate_approvals)
|
406
|
+
if version_gate_approvals
|
407
|
+
else None,
|
401
408
|
})
|
402
409
|
|
403
410
|
|
@@ -410,6 +417,7 @@ def _build_policy_from_labels(labels: LabelContainer) -> ClusterUpgradePolicyV1:
|
|
410
417
|
policy_labelset = build_labelset(labels, ClusterUpgradePolicyLabelSet)
|
411
418
|
return ClusterUpgradePolicyV1(
|
412
419
|
workloads=policy_labelset.workloads,
|
420
|
+
versionGateApprovals=policy_labelset.version_gate_approvals,
|
413
421
|
schedule=policy_labelset.schedule,
|
414
422
|
conditions=ClusterUpgradePolicyConditionsV1(
|
415
423
|
soakDays=policy_labelset.soak_days,
|
@@ -52,6 +52,7 @@ class AUSClusterUpgradePolicyLabelSource(LabelSource):
|
|
52
52
|
mutexes=policy.conditions.mutexes,
|
53
53
|
sector=policy.conditions.sector,
|
54
54
|
blocked_versions=policy.conditions.blocked_versions,
|
55
|
+
version_gate_approvals=policy.version_gate_approvals,
|
55
56
|
).build_labels_dict()
|
56
57
|
|
57
58
|
|
@@ -34,4 +34,5 @@ class ClusterUpgradePolicyConditionsV1(ConfiguredBaseModel):
|
|
34
34
|
class ClusterUpgradePolicyV1(ConfiguredBaseModel):
|
35
35
|
workloads: list[str] = Field(..., alias="workloads")
|
36
36
|
schedule: str = Field(..., alias="schedule")
|
37
|
+
version_gate_approvals: Optional[list[str]] = Field(..., alias="versionGateApprovals")
|
37
38
|
conditions: ClusterUpgradePolicyConditionsV1 = Field(..., alias="conditions")
|
@@ -8,13 +8,14 @@ import pytest
|
|
8
8
|
from reconcile import openshift_upgrade_watcher as ouw
|
9
9
|
from reconcile.gql_definitions.common.clusters import ClusterV1
|
10
10
|
from reconcile.test.fixtures import Fixtures
|
11
|
+
from reconcile.utils.models import data_default_none
|
11
12
|
|
12
13
|
fxt = Fixtures("openshift_upgrade_watcher")
|
13
14
|
|
14
15
|
|
15
16
|
def load_cluster(path: str) -> ClusterV1:
|
16
17
|
content = fxt.get_anymarkup(path)
|
17
|
-
return ClusterV1(**content)
|
18
|
+
return ClusterV1(**data_default_none(ClusterV1, content))
|
18
19
|
|
19
20
|
|
20
21
|
@pytest.fixture
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.1rc592.dist-info → qontract_reconcile-0.10.1rc593.dist-info}/top_level.txt
RENAMED
File without changes
|