qontract-reconcile 0.10.1rc783__py3-none-any.whl → 0.10.1rc785__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.1rc783.dist-info → qontract_reconcile-0.10.1rc785.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc783.dist-info → qontract_reconcile-0.10.1rc785.dist-info}/RECORD +8 -8
- reconcile/statuspage/atlassian.py +17 -6
- reconcile/utils/promotion_state.py +1 -0
- reconcile/utils/saasherder/saasherder.py +3 -0
- {qontract_reconcile-0.10.1rc783.dist-info → qontract_reconcile-0.10.1rc785.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc783.dist-info → qontract_reconcile-0.10.1rc785.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc783.dist-info → qontract_reconcile-0.10.1rc785.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc783.dist-info → qontract_reconcile-0.10.1rc785.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.1rc785
|
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.1rc783.dist-info → qontract_reconcile-0.10.1rc785.dist-info}/RECORD
RENAMED
@@ -429,7 +429,7 @@ reconcile/skupper_network/models.py,sha256=DNTI7HZv-rqY42GIIxyRuvroHLvdH6rJerjIq
|
|
429
429
|
reconcile/skupper_network/reconciler.py,sha256=XS-1oKBr_1l3dYUAVqUH6gCHg1G5ZuOfY_7fgGVAiFA,9996
|
430
430
|
reconcile/skupper_network/site_controller.py,sha256=A3K-62BjJ5HiFVydV0ouGoD1NwrO7XhAH15BHAcS9fk,1550
|
431
431
|
reconcile/statuspage/__init__.py,sha256=o9vR6sp3ARDQFZrbCEShelTxjF1XgfLaElK_QVt_248,261
|
432
|
-
reconcile/statuspage/atlassian.py,sha256=
|
432
|
+
reconcile/statuspage/atlassian.py,sha256=zXsO9qx_pqfk2TDSoa1JSv6UvY2nVsJAp6rRWuEcG24,13258
|
433
433
|
reconcile/statuspage/integration.py,sha256=---tzyl381RddAkIhXb7n3ySjUhuX7FBBI152SYsRfk,3654
|
434
434
|
reconcile/statuspage/page.py,sha256=cJH2sDA8jiAmSdaDitQqNjkyDq_UP2w3s7eauCi-yt4,3740
|
435
435
|
reconcile/statuspage/state.py,sha256=HD9EOoKm_nEqCMLIwW809En3cq5VhyzKJPUbsh-bae8,1617
|
@@ -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.1rc785.dist-info/METADATA,sha256=jcGIe788oUUhP0wtWIoltMtjwoEzBGev0GFtRAP746M,2382
|
789
|
+
qontract_reconcile-0.10.1rc785.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
790
|
+
qontract_reconcile-0.10.1rc785.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
|
791
|
+
qontract_reconcile-0.10.1rc785.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
792
|
+
qontract_reconcile-0.10.1rc785.dist-info/RECORD,,
|
@@ -5,6 +5,7 @@ from typing import (
|
|
5
5
|
Protocol,
|
6
6
|
)
|
7
7
|
|
8
|
+
import requests
|
8
9
|
import statuspageio # type: ignore
|
9
10
|
from pydantic import BaseModel
|
10
11
|
|
@@ -64,12 +65,22 @@ class LegacyLibAtlassianAPI:
|
|
64
65
|
)
|
65
66
|
|
66
67
|
def list_components(self) -> list[AtlassianRawComponent]:
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
68
|
+
url = f"{self.api_url}/v1/pages/{self.page_id}/components"
|
69
|
+
headers = {"Authorization": f"OAuth {self.token}"}
|
70
|
+
all_components: list[AtlassianRawComponent] = []
|
71
|
+
page = 1
|
72
|
+
per_page = 100
|
73
|
+
while True:
|
74
|
+
params = {"page": page, "per_page": per_page}
|
75
|
+
response = requests.get(url, params=params, headers=headers)
|
76
|
+
response.raise_for_status()
|
77
|
+
components = [AtlassianRawComponent(**c) for c in response.json()]
|
78
|
+
all_components += components
|
79
|
+
if len(components) < per_page:
|
80
|
+
break
|
81
|
+
page += 1
|
82
|
+
|
83
|
+
return all_components
|
73
84
|
|
74
85
|
def update_component(self, id: str, data: dict[str, Any]) -> None:
|
75
86
|
self._client.components.update(id, **data)
|
@@ -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.1rc783.dist-info → qontract_reconcile-0.10.1rc785.dist-info}/top_level.txt
RENAMED
File without changes
|