qontract-reconcile 0.10.1rc1041__py3-none-any.whl → 0.10.1rc1043__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.1rc1041.dist-info → qontract_reconcile-0.10.1rc1043.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc1041.dist-info → qontract_reconcile-0.10.1rc1043.dist-info}/RECORD +7 -7
- reconcile/dynatrace_token_provider/integration.py +12 -0
- reconcile/test/test_terraform_vpc_peerings_build_desired_state.py +23 -7
- {qontract_reconcile-0.10.1rc1041.dist-info → qontract_reconcile-0.10.1rc1043.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc1041.dist-info → qontract_reconcile-0.10.1rc1043.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc1041.dist-info → qontract_reconcile-0.10.1rc1043.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc1041.dist-info → qontract_reconcile-0.10.1rc1043.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.1rc1043
|
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.1rc1041.dist-info → qontract_reconcile-0.10.1rc1043.dist-info}/RECORD
RENAMED
@@ -181,7 +181,7 @@ reconcile/cna/assets/asset_factory.py,sha256=7T7X_J6xIsoGETqBRI45_EyIKEdQcnRPt_G
|
|
181
181
|
reconcile/cna/assets/null.py,sha256=85mVh97atCoC0aLuX47poTZiyOthmziJeBsUw0c924w,1658
|
182
182
|
reconcile/dynatrace_token_provider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
183
|
reconcile/dynatrace_token_provider/dependencies.py,sha256=FuRUnK18EyJIIgFwQBZSskIG08mN2VQAcAcaJFTf8zc,2812
|
184
|
-
reconcile/dynatrace_token_provider/integration.py,sha256=
|
184
|
+
reconcile/dynatrace_token_provider/integration.py,sha256=ZJS5OX7TJb0Vtp9PfXU3rk2l5ZP0Ni419PcT_rwu9Zw,25124
|
185
185
|
reconcile/dynatrace_token_provider/metrics.py,sha256=oP-6NTZENFdvWiS0krnmX6tq3xyOzQ8e6vS0CZWYUuw,1496
|
186
186
|
reconcile/dynatrace_token_provider/model.py,sha256=gkpqo5rRRueBXnIMjp4EEHqBUBuU65TRI8zpdb8GJ0A,241
|
187
187
|
reconcile/dynatrace_token_provider/ocm.py,sha256=iHMsgbsLs-dlrB9UXmWNDF7E4UDe49JOsLa9rnowKfo,4282
|
@@ -569,7 +569,7 @@ reconcile/test/test_terraform_resources.py,sha256=8C97yXIEihaQ3DZrtjxLNt4y4G12IO
|
|
569
569
|
reconcile/test/test_terraform_tgw_attachments.py,sha256=SM6QwogMZNLh0BkUyaxzFafuOLp23-hBtYTu_F53C4I,40922
|
570
570
|
reconcile/test/test_terraform_users.py,sha256=XOAfGvITCJPI1LTlISmHbA4ONMQMkxYUMTsny7pQCFw,4319
|
571
571
|
reconcile/test/test_terraform_vpc_peerings.py,sha256=bpjCjhmic07cw3XKSHf-2JvmLuWlyQG8laXlC-H7qtI,20796
|
572
|
-
reconcile/test/test_terraform_vpc_peerings_build_desired_state.py,sha256=
|
572
|
+
reconcile/test/test_terraform_vpc_peerings_build_desired_state.py,sha256=cHmr1_yhRgfdqlFX6TMw-aiKXebaRv0szl16M9YRJic,49988
|
573
573
|
reconcile/test/test_three_way_diff_strategy.py,sha256=v3rNkQFNy5e1uyfeNSlNBA07fvrPGD0aXD91Lgv8oxc,4062
|
574
574
|
reconcile/test/test_utils_jinja2.py,sha256=TpzQlpFnLGzNEZp5WOh0o7AuBiGEktqO4MuwiiJW2YY,3895
|
575
575
|
reconcile/test/test_vault_replication.py,sha256=wlc4jm9f8P641UvvxIFFFc5_unJysNkOVrKJscjhQr0,16867
|
@@ -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.1rc1043.dist-info/METADATA,sha256=QLdDjexnd5h6fhlK_fEWB2u666L8pGiNg2XsWqDIGdU,2213
|
871
|
+
qontract_reconcile-0.10.1rc1043.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
872
|
+
qontract_reconcile-0.10.1rc1043.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
|
873
|
+
qontract_reconcile-0.10.1rc1043.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
874
|
+
qontract_reconcile-0.10.1rc1043.dist-info/RECORD,,
|
@@ -25,6 +25,9 @@ from reconcile.gql_definitions.dynatrace_token_provider.token_specs import (
|
|
25
25
|
DynatraceAPITokenV1,
|
26
26
|
DynatraceTokenProviderTokenSpecV1,
|
27
27
|
)
|
28
|
+
from reconcile.typed_queries.dynatrace_token_provider_token_specs import (
|
29
|
+
get_dynatrace_token_provider_token_specs,
|
30
|
+
)
|
28
31
|
from reconcile.utils import (
|
29
32
|
metrics,
|
30
33
|
)
|
@@ -64,6 +67,15 @@ class DynatraceTokenProviderIntegration(
|
|
64
67
|
self._lock = Lock()
|
65
68
|
self._managed_tokens_cnt: dict[str, Counter[str]] = defaultdict(Counter)
|
66
69
|
|
70
|
+
def get_early_exit_desired_state(self, *args: Any, **kwargs: Any) -> dict[str, Any]:
|
71
|
+
"""Return the desired state for early exit."""
|
72
|
+
return {
|
73
|
+
"specs": {
|
74
|
+
spec.name: spec.dict()
|
75
|
+
for spec in get_dynatrace_token_provider_token_specs()
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
67
79
|
@property
|
68
80
|
def name(self) -> str:
|
69
81
|
return QONTRACT_INTEGRATION
|
@@ -1,3 +1,5 @@
|
|
1
|
+
from typing import cast
|
2
|
+
|
1
3
|
import pytest
|
2
4
|
import testslide
|
3
5
|
from pytest_mock import MockerFixture
|
@@ -628,11 +630,15 @@ class TestBuildDesiredStateVpcMesh(testslide.TestCase):
|
|
628
630
|
)
|
629
631
|
self.maxDiff = None
|
630
632
|
self.ocm = testslide.StrictMock(ocm.OCM)
|
631
|
-
self.ocm_map
|
633
|
+
self.ocm_map = cast(
|
634
|
+
ocm.OCMMap, {"clustername": self.ocm}
|
635
|
+
) # the cast is to make mypy happy
|
632
636
|
self.ocm.get_aws_infrastructure_access_terraform_assume_role = (
|
633
637
|
lambda cluster, uid, tfuser: self.peer_account["assume_role"]
|
634
638
|
)
|
635
|
-
self.awsapi
|
639
|
+
self.awsapi = cast(
|
640
|
+
aws_api.AWSApi, testslide.StrictMock(aws_api.AWSApi)
|
641
|
+
) # the cast is to make mypy happy
|
636
642
|
self.account_vpcs = [
|
637
643
|
{
|
638
644
|
"vpc_id": "vpc1",
|
@@ -776,7 +782,9 @@ class TestBuildDesiredStateVpcMeshSingleCluster(testslide.TestCase):
|
|
776
782
|
]
|
777
783
|
},
|
778
784
|
}
|
779
|
-
self.awsapi
|
785
|
+
self.awsapi = cast(
|
786
|
+
aws_api.AWSApi, testslide.StrictMock(aws_api.AWSApi)
|
787
|
+
) # the cast is to make mypy happy
|
780
788
|
self.mock_constructor(aws_api, "AWSApi").to_return_value(self.awsapi)
|
781
789
|
self.find_matching_peering = self.mock_callable(sut, "find_matching_peering")
|
782
790
|
self.aws_account = {
|
@@ -806,7 +814,9 @@ class TestBuildDesiredStateVpcMeshSingleCluster(testslide.TestCase):
|
|
806
814
|
}
|
807
815
|
self.maxDiff = None
|
808
816
|
self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
|
809
|
-
self.ocm
|
817
|
+
self.ocm = cast(
|
818
|
+
ocm.OCM, testslide.StrictMock(template=ocm.OCM)
|
819
|
+
) # the cast is to make mypy happy
|
810
820
|
self.ocm.get_aws_infrastructure_access_terraform_assume_role = ( # type: ignore
|
811
821
|
lambda cluster, uid, tfuser: self.peer_account["assume_role"]
|
812
822
|
)
|
@@ -1064,7 +1074,9 @@ class TestBuildDesiredStateVpc(testslide.TestCase):
|
|
1064
1074
|
)
|
1065
1075
|
self.ocm = testslide.StrictMock(template=ocm.OCM)
|
1066
1076
|
self.ocm_map: ocm.OCMMap = {"clustername": self.ocm} # type: ignore
|
1067
|
-
self.awsapi
|
1077
|
+
self.awsapi = cast(
|
1078
|
+
aws_api.AWSApi, testslide.StrictMock(aws_api.AWSApi)
|
1079
|
+
) # the cast is to make mypy happy
|
1068
1080
|
|
1069
1081
|
self.build_single_cluster = self.mock_callable(
|
1070
1082
|
sut, "build_desired_state_vpc_single_cluster"
|
@@ -1232,8 +1244,12 @@ class TestBuildDesiredStateVpcSingleCluster(testslide.TestCase):
|
|
1232
1244
|
self.build_single_cluster = self.mock_callable(
|
1233
1245
|
sut, "build_desired_state_single_cluster"
|
1234
1246
|
)
|
1235
|
-
self.ocm
|
1236
|
-
|
1247
|
+
self.ocm = cast(
|
1248
|
+
ocm.OCM, testslide.StrictMock(template=ocm.OCM)
|
1249
|
+
) # the cast is to make mypy happy
|
1250
|
+
self.awsapi = cast(
|
1251
|
+
aws_api.AWSApi, testslide.StrictMock(aws_api.AWSApi)
|
1252
|
+
) # the cast is to make mypy happy
|
1237
1253
|
self.mock_constructor(aws_api, "AWSApi").to_return_value(self.awsapi)
|
1238
1254
|
self.ocm.get_aws_infrastructure_access_terraform_assume_role = ( # type: ignore
|
1239
1255
|
lambda cluster, uid, tfuser: self.aws_account["assume_role"]
|
{qontract_reconcile-0.10.1rc1041.dist-info → qontract_reconcile-0.10.1rc1043.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|