qontract-reconcile 0.10.1rc771__py3-none-any.whl → 0.10.1rc772__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.1rc771
3
+ Version: 0.10.1rc772
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
@@ -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=avYxHUf4zK3dBhXEdUEry79EOSgJ7gfStvvOpcedZnI,2575
650
+ reconcile/utils/promotion_state.py,sha256=cCynjmatVjjBSf0nKUmKVvk3i_Kx24iqHsCWzWRphoA,2638
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=4IQL-r2uo1iejv0krdaPXaW9CnqBKF6t9Skjs2m263I,86170
753
+ reconcile/utils/saasherder/saasherder.py,sha256=CfTNBjVS9HwH1hlz7K50J-vpT8B5UVJTmyd2ZGbAPAg,86293
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.1rc771.dist-info/METADATA,sha256=IZek7vs8l2MYJYkp-QzWFAXJzXAjWH3IKtlpefsU3QA,2382
789
- qontract_reconcile-0.10.1rc771.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
790
- qontract_reconcile-0.10.1rc771.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
791
- qontract_reconcile-0.10.1rc771.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
792
- qontract_reconcile-0.10.1rc771.dist-info/RECORD,,
788
+ qontract_reconcile-0.10.1rc772.dist-info/METADATA,sha256=ggkGwJEVc2hcdi_OZpg-AGRT0hX8-c-5bD6NTbwG6ro,2382
789
+ qontract_reconcile-0.10.1rc772.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
790
+ qontract_reconcile-0.10.1rc772.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
791
+ qontract_reconcile-0.10.1rc772.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
792
+ qontract_reconcile-0.10.1rc772.dist-info/RECORD,,
@@ -1,5 +1,6 @@
1
1
  import logging
2
2
  from collections import defaultdict
3
+ from datetime import datetime
3
4
  from typing import Optional
4
5
 
5
6
  from pydantic import (
@@ -22,6 +23,7 @@ class PromotionData(BaseModel):
22
23
  success: bool
23
24
  target_config_hash: Optional[str]
24
25
  saas_file: Optional[str]
26
+ check_in: Optional[datetime]
25
27
 
26
28
  class Config:
27
29
  smart_union = True
@@ -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=now,
1985
1988
  ),
1986
1989
  )
1987
1990
  logging.info(