qontract-reconcile 0.10.1rc784__py3-none-any.whl → 0.10.1rc786__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.1rc784.dist-info → qontract_reconcile-0.10.1rc786.dist-info}/METADATA +7 -7
- {qontract_reconcile-0.10.1rc784.dist-info → qontract_reconcile-0.10.1rc786.dist-info}/RECORD +10 -10
- reconcile/aus/base.py +1 -2
- reconcile/aus/version_gate_approver.py +2 -3
- reconcile/ocm_clusters.py +6 -8
- reconcile/utils/promotion_state.py +1 -0
- reconcile/utils/saasherder/saasherder.py +3 -0
- {qontract_reconcile-0.10.1rc784.dist-info → qontract_reconcile-0.10.1rc786.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc784.dist-info → qontract_reconcile-0.10.1rc786.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc784.dist-info → qontract_reconcile-0.10.1rc786.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc784.dist-info → qontract_reconcile-0.10.1rc786.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.1rc786
|
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
|
@@ -11,7 +11,7 @@ Classifier: Programming Language :: Python
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
13
13
|
Requires-Python: >=3.11
|
14
|
-
Requires-Dist: sretoolbox ~=2.5
|
14
|
+
Requires-Dist: sretoolbox ~=2.5
|
15
15
|
Requires-Dist: Click <9.0,>=7.0
|
16
16
|
Requires-Dist: gql ==3.1.0
|
17
17
|
Requires-Dist: toml <0.11.0,>=0.10.0
|
@@ -21,11 +21,11 @@ Requires-Dist: hvac <0.8.0,>=0.7.0
|
|
21
21
|
Requires-Dist: ldap3 <2.10.0,>=2.9.1
|
22
22
|
Requires-Dist: anymarkup <0.9.0,>=0.7.0
|
23
23
|
Requires-Dist: python-gitlab <1.12.0,>=1.11.0
|
24
|
-
Requires-Dist: semver ~=
|
25
|
-
Requires-Dist: boto3 ==1.34.
|
26
|
-
Requires-Dist: botocore ==1.34.
|
24
|
+
Requires-Dist: semver ~=3.0
|
25
|
+
Requires-Dist: boto3 ==1.34.94
|
26
|
+
Requires-Dist: botocore ==1.34.94
|
27
27
|
Requires-Dist: mypy-boto3-s3 ==1.34.14
|
28
|
-
Requires-Dist: urllib3
|
28
|
+
Requires-Dist: urllib3 ~=2.2
|
29
29
|
Requires-Dist: slack-sdk <4.0,>=3.10
|
30
30
|
Requires-Dist: pypd <1.2.0,>=1.1.0
|
31
31
|
Requires-Dist: Jinja2 <3.2.0,>=2.10.1
|
@@ -36,7 +36,7 @@ Requires-Dist: terrascript ==0.9.0
|
|
36
36
|
Requires-Dist: tabulate <0.9.0,>=0.8.6
|
37
37
|
Requires-Dist: UnleashClient ~=5.11
|
38
38
|
Requires-Dist: prometheus-client ~=0.8
|
39
|
-
Requires-Dist: sentry-sdk ~=
|
39
|
+
Requires-Dist: sentry-sdk ~=2.0
|
40
40
|
Requires-Dist: jenkins-job-builder ~=4.3.0
|
41
41
|
Requires-Dist: parse ==1.18.0
|
42
42
|
Requires-Dist: sendgrid <6.5.0,>=6.4.8
|
{qontract_reconcile-0.10.1rc784.dist-info → qontract_reconcile-0.10.1rc786.dist-info}/RECORD
RENAMED
@@ -55,7 +55,7 @@ reconcile/ocm_additional_routers.py,sha256=KfcFDVbNoc6n5dHWjYdAf1_DiVqVG6Tw23WLK
|
|
55
55
|
reconcile/ocm_addons.py,sha256=qqAyqRBRbdZQvAcjb-QlSVyRAyQBZk6iVlgnI4jyi7s,3353
|
56
56
|
reconcile/ocm_addons_upgrade_tests_trigger.py,sha256=L1ktYynIR7pmHiYtdCTdLGJRKX72B54KUAuPLOccXzo,3995
|
57
57
|
reconcile/ocm_aws_infrastructure_access.py,sha256=kDnJP6aOFO263LSbdCxJMmUwVsM3LgdzebtIUOoIhH8,7130
|
58
|
-
reconcile/ocm_clusters.py,sha256=
|
58
|
+
reconcile/ocm_clusters.py,sha256=ZUW4aqZuRDNzNS_Ojx-sjWIxemdgiJUIJn51YaQa_7k,16733
|
59
59
|
reconcile/ocm_external_configuration_labels.py,sha256=imEpDv1RBpCSj8tHDv0R76hmNCFtcUzVNgS1yOVl8vs,3870
|
60
60
|
reconcile/ocm_github_idp.py,sha256=glwXMsIBcl38-OmDDQCpe0YoLLXfoRgVQmqwXMEXjds,3946
|
61
61
|
reconcile/ocm_groups.py,sha256=CluPyvmwE5JOZS2HQSReC1sD8L1ChhnJlAg8lcwdtxc,3395
|
@@ -122,7 +122,7 @@ reconcile/vpc_peerings_validator.py,sha256=Kv22HJVlTW9l9GB2eXwjPWqdDbr_VuvQBNPtt
|
|
122
122
|
reconcile/aus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
123
123
|
reconcile/aus/advanced_upgrade_service.py,sha256=MPqcWpq1QeYzBsB8rtTlo102h_cR_q83oOYtWAncuAk,22391
|
124
124
|
reconcile/aus/aus_label_source.py,sha256=qoP8Fgxuu1tCuhG6ixCWve7Ll-KD6a79E2uLAmC0ifw,4184
|
125
|
-
reconcile/aus/base.py,sha256=
|
125
|
+
reconcile/aus/base.py,sha256=n53ZtW5MpBitN745mymFxcq7LT5X8si8U0-l8hH6AEc,49878
|
126
126
|
reconcile/aus/cluster_version_data.py,sha256=j4UyEBi5mQuvPq5Lo7a_L_0blxvH790wJV07uAiikFU,7126
|
127
127
|
reconcile/aus/healthchecks.py,sha256=S8_KPn_zFiOo_wf5XlVmz-I3tUDYAim3EGSqiSPMvLQ,2707
|
128
128
|
reconcile/aus/metrics.py,sha256=nKT4m2zGT-QOMR0c-z-npVNKWsNMubzdffpU_f9n4II,3927
|
@@ -131,7 +131,7 @@ reconcile/aus/ocm_addons_upgrade_scheduler_org.py,sha256=t2_J7CuovTm6FGvwWI6Hsyi
|
|
131
131
|
reconcile/aus/ocm_upgrade_scheduler.py,sha256=2uPn13y3QGCHLoKwCc1Z7q9wQsoQf_F1HATMYUbl53s,3695
|
132
132
|
reconcile/aus/ocm_upgrade_scheduler_org.py,sha256=f7pE_XrX9695EMZpg-CFZiakZ9vZ9BoRpkE2I9UC0sI,3190
|
133
133
|
reconcile/aus/upgrades.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
134
|
-
reconcile/aus/version_gate_approver.py,sha256=
|
134
|
+
reconcile/aus/version_gate_approver.py,sha256=CegHHAroouQt9Hjj1EHFLYlgs2FSGwpJx0IMpJBf5uw,7379
|
135
135
|
reconcile/aus/version_gates/__init__.py,sha256=DUODBcyey5-fTsuKquG3RU7BbWBuUWpqEQeHejbBCUI,479
|
136
136
|
reconcile/aus/version_gates/handler.py,sha256=S_isQPYHbG4DERiUEvQBZ6ngiFX3uMmATA-Q_eNKmFk,839
|
137
137
|
reconcile/aus/version_gates/ingress_gate_handler.py,sha256=ZCtyggBzzcb0prtdbMpJsVkj5leYN-vS7srM9vbq9xo,1096
|
@@ -647,7 +647,7 @@ reconcile/utils/pagerduty_api.py,sha256=fcSAUez6w51woDvbm0plJW2qSw6_NXQs1Fit_KTN
|
|
647
647
|
reconcile/utils/parse_dhms_duration.py,sha256=TONpLnec5gHeF7k815YNJpQyDjXhkxZIcv9s8ffbTSY,1840
|
648
648
|
reconcile/utils/password_validator.py,sha256=XwuWg-8CPlcuG7dl_oQ1G1h2gSVSnfMym_VkuprpWVg,2183
|
649
649
|
reconcile/utils/prometheus.py,sha256=i5aCQ_I4WOg76iEjglVxxO9-OKby2N80ScErAbDtHE8,3848
|
650
|
-
reconcile/utils/promotion_state.py,sha256=
|
650
|
+
reconcile/utils/promotion_state.py,sha256=Gf58uvBWqGDZtNsnGbi6-K4LC94Mm_bJDs_Ztq1FPSs,2603
|
651
651
|
reconcile/utils/promtool.py,sha256=kT2rFZSBaRqW7SSHAuYzGZzQxM5Dzk8KW1NnEUYZU_s,2896
|
652
652
|
reconcile/utils/quay_api.py,sha256=EuOegpb-7ntEjkKLFwM2Oo4Nw7SyFtmyl3sQ9aXMtrM,8152
|
653
653
|
reconcile/utils/raw_github_api.py,sha256=ZHC-SZuAyRe1zaMoOU7Krt1-zecDxENd9c_NzQYqK9g,2968
|
@@ -750,7 +750,7 @@ reconcile/utils/runtime/sharding.py,sha256=roCdbnBklhTK_g34zbgQYqzpKPaNQ8J6Xd9XL
|
|
750
750
|
reconcile/utils/saasherder/__init__.py,sha256=J3MBZBFa5YmhqYm08QsjBXz8mFcVOCiOCkyIcw41t7E,343
|
751
751
|
reconcile/utils/saasherder/interfaces.py,sha256=XXY35h8VWQ66z3LBPxaoUAMkIW50264DQiecrzyV6oA,9076
|
752
752
|
reconcile/utils/saasherder/models.py,sha256=1DKXUmiTS_MejUfSpFCeuBLMTgR4ldv2N1tAz8qHAwc,5547
|
753
|
-
reconcile/utils/saasherder/saasherder.py,sha256=
|
753
|
+
reconcile/utils/saasherder/saasherder.py,sha256=OoDilZnlv_nVDzDkOSXpSozFWp6-ZpEcsXTgqAI8e40,86305
|
754
754
|
reconcile/utils/terraform/__init__.py,sha256=zNbiyTWo35AT1sFTElL2j_AA0jJ_yWE_bfFn-nD2xik,250
|
755
755
|
reconcile/utils/terraform/config.py,sha256=5UVrd563TMcvi4ooa5JvWVDW1I3bIWg484u79evfV_8,164
|
756
756
|
reconcile/utils/terraform/config_client.py,sha256=py-Ree-QUYD6Hvng6bM40VgSuttteehIKNgwOSoJO1o,4706
|
@@ -785,8 +785,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=SX7qL3D1SIRKFo95FoQztvf
|
|
785
785
|
tools/test/test_qontract_cli.py,sha256=w2l4BHB09k1d-BGJ1jBUNCqDv7zkqYrMHojQXg-21kQ,4155
|
786
786
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
787
787
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
788
|
-
qontract_reconcile-0.10.
|
789
|
-
qontract_reconcile-0.10.
|
790
|
-
qontract_reconcile-0.10.
|
791
|
-
qontract_reconcile-0.10.
|
792
|
-
qontract_reconcile-0.10.
|
788
|
+
qontract_reconcile-0.10.1rc786.dist-info/METADATA,sha256=zg_8UE4AWFXth3D4RUmhNeKdk5Qr0zu7CfO_FeJ35MQ,2364
|
789
|
+
qontract_reconcile-0.10.1rc786.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
790
|
+
qontract_reconcile-0.10.1rc786.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
|
791
|
+
qontract_reconcile-0.10.1rc786.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
792
|
+
qontract_reconcile-0.10.1rc786.dist-info/RECORD,,
|
reconcile/aus/base.py
CHANGED
@@ -18,7 +18,6 @@ from typing import (
|
|
18
18
|
cast,
|
19
19
|
)
|
20
20
|
|
21
|
-
import semver
|
22
21
|
from croniter import croniter
|
23
22
|
from pydantic import BaseModel, Extra
|
24
23
|
from semver import VersionInfo
|
@@ -1013,7 +1012,7 @@ def _calculate_node_pool_diffs(
|
|
1013
1012
|
for pool in node_pools:
|
1014
1013
|
pool_version_id = pool.get("version", {}).get("id")
|
1015
1014
|
pool_version = get_version(ocm_api, pool_version_id)["raw_id"]
|
1016
|
-
if
|
1015
|
+
if parse_semver(pool_version).match(f"<{spec.current_version}"):
|
1017
1016
|
next_schedule = (now + timedelta(minutes=MIN_DELTA_MINUTES)).strftime(
|
1018
1017
|
"%Y-%m-%dT%H:%M:%SZ"
|
1019
1018
|
)
|
@@ -5,8 +5,6 @@ from typing import (
|
|
5
5
|
Optional,
|
6
6
|
)
|
7
7
|
|
8
|
-
import semver
|
9
|
-
|
10
8
|
from reconcile.aus.advanced_upgrade_service import aus_label_key
|
11
9
|
from reconcile.aus.base import gates_to_agree, get_orgs_for_environment
|
12
10
|
from reconcile.aus.version_gates import (
|
@@ -45,9 +43,10 @@ from reconcile.utils.runtime.integration import (
|
|
45
43
|
PydanticRunParams,
|
46
44
|
QontractReconcileIntegration,
|
47
45
|
)
|
46
|
+
from reconcile.utils.semver_helper import make_semver
|
48
47
|
|
49
48
|
QONTRACT_INTEGRATION = "version-gate-approver"
|
50
|
-
QONTRACT_INTEGRATION_VERSION =
|
49
|
+
QONTRACT_INTEGRATION_VERSION = make_semver(0, 1, 0)
|
51
50
|
|
52
51
|
|
53
52
|
class VersionGateApproverParams(PydanticRunParams):
|
reconcile/ocm_clusters.py
CHANGED
@@ -6,8 +6,6 @@ from collections.abc import (
|
|
6
6
|
)
|
7
7
|
from typing import Any, Optional
|
8
8
|
|
9
|
-
import semver
|
10
|
-
|
11
9
|
import reconcile.utils.mr.clusters_updates as cu
|
12
10
|
import reconcile.utils.ocm as ocmmod
|
13
11
|
from reconcile import (
|
@@ -35,10 +33,10 @@ from reconcile.utils.runtime.integration import (
|
|
35
33
|
PydanticRunParams,
|
36
34
|
QontractReconcileIntegration,
|
37
35
|
)
|
38
|
-
from reconcile.utils.semver_helper import parse_semver
|
36
|
+
from reconcile.utils.semver_helper import make_semver, parse_semver
|
39
37
|
|
40
38
|
QONTRACT_INTEGRATION = "ocm-clusters"
|
41
|
-
QONTRACT_INTEGRATION_VERSION =
|
39
|
+
QONTRACT_INTEGRATION_VERSION = make_semver(0, 1, 0)
|
42
40
|
|
43
41
|
|
44
42
|
def _set_rosa_ocm_attrs(cluster: Mapping[str, Any]):
|
@@ -122,10 +120,10 @@ def _cluster_version_needs_update(
|
|
122
120
|
if not desired_version:
|
123
121
|
return True
|
124
122
|
|
125
|
-
|
126
|
-
|
123
|
+
parsed_desired_version = parse_semver(desired_version)
|
124
|
+
parsed_current_version = parse_semver(current_version)
|
127
125
|
|
128
|
-
if
|
126
|
+
if parsed_current_version > parsed_desired_version:
|
129
127
|
# current version is geater due to an upgrade.
|
130
128
|
# submit MR to update cluster version
|
131
129
|
logging.info(
|
@@ -135,7 +133,7 @@ def _cluster_version_needs_update(
|
|
135
133
|
)
|
136
134
|
return True
|
137
135
|
|
138
|
-
if
|
136
|
+
if parsed_current_version < parsed_desired_version:
|
139
137
|
raise ClusterVersionError(
|
140
138
|
f"[{cluster}] desired version [{desired_version}] is greater than "
|
141
139
|
f"current version [{current_version}]. Please correct version to be "
|
@@ -16,6 +16,7 @@ from collections.abc import (
|
|
16
16
|
Sequence,
|
17
17
|
)
|
18
18
|
from contextlib import suppress
|
19
|
+
from datetime import datetime, timezone
|
19
20
|
from types import TracebackType
|
20
21
|
from typing import (
|
21
22
|
Any,
|
@@ -1965,6 +1966,7 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1965
1966
|
if not (self.state and self._promotion_state):
|
1966
1967
|
raise Exception("state is not initialized")
|
1967
1968
|
|
1969
|
+
now = datetime.now(timezone.utc)
|
1968
1970
|
for promotion in self.promotions:
|
1969
1971
|
if promotion is None:
|
1970
1972
|
continue
|
@@ -1982,6 +1984,7 @@ class SaasHerder: # pylint: disable=too-many-public-methods
|
|
1982
1984
|
saas_file=promotion.saas_file,
|
1983
1985
|
success=success,
|
1984
1986
|
target_config_hash=promotion.target_config_hash,
|
1987
|
+
check_in=str(now),
|
1985
1988
|
),
|
1986
1989
|
)
|
1987
1990
|
logging.info(
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.1rc784.dist-info → qontract_reconcile-0.10.1rc786.dist-info}/top_level.txt
RENAMED
File without changes
|