qontract-reconcile 0.10.1rc824__py3-none-any.whl → 0.10.1rc825__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.1rc824.dist-info → qontract_reconcile-0.10.1rc825.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc824.dist-info → qontract_reconcile-0.10.1rc825.dist-info}/RECORD +8 -8
- reconcile/test/test_three_way_diff_strategy.py +10 -0
- reconcile/utils/openshift_resource.py +0 -1
- reconcile/utils/three_way_diff_strategy.py +4 -2
- {qontract_reconcile-0.10.1rc824.dist-info → qontract_reconcile-0.10.1rc825.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc824.dist-info → qontract_reconcile-0.10.1rc825.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc824.dist-info → qontract_reconcile-0.10.1rc825.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc824.dist-info → qontract_reconcile-0.10.1rc825.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.1rc825
|
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.1rc824.dist-info → qontract_reconcile-0.10.1rc825.dist-info}/RECORD
RENAMED
@@ -539,7 +539,7 @@ reconcile/test/test_terraform_tgw_attachments.py,sha256=rHZHUtDxewpKsRj3nfm2bZ2J
|
|
539
539
|
reconcile/test/test_terraform_users.py,sha256=XOAfGvITCJPI1LTlISmHbA4ONMQMkxYUMTsny7pQCFw,4319
|
540
540
|
reconcile/test/test_terraform_vpc_peerings.py,sha256=ubcsKh0TrUIwuI1-W3ETIgzsFvzAyeoFmEJFC-IK6JY,20538
|
541
541
|
reconcile/test/test_terraform_vpc_peerings_build_desired_state.py,sha256=DAfpb12I0PlqnuVUHK2vh4LH4d1OylT3H2GE_3TGZZI,47852
|
542
|
-
reconcile/test/test_three_way_diff_strategy.py,sha256=
|
542
|
+
reconcile/test/test_three_way_diff_strategy.py,sha256=0QY2hzOrTVnQxDFbdOJBOIIHEKKOA5RmGftT0QXABeY,3697
|
543
543
|
reconcile/test/test_utils_jinja2.py,sha256=TpzQlpFnLGzNEZp5WOh0o7AuBiGEktqO4MuwiiJW2YY,3895
|
544
544
|
reconcile/test/test_vault_replication.py,sha256=wlc4jm9f8P641UvvxIFFFc5_unJysNkOVrKJscjhQr0,16867
|
545
545
|
reconcile/test/test_vault_utils.py,sha256=vbJnc89XAuE07qbTuWxHM5o9F6R9SO5aHXA38fwxT7A,1122
|
@@ -654,7 +654,7 @@ reconcile/utils/oc_connection_parameters.py,sha256=85slrnDigYwYmzhyceVkMElWzFArp
|
|
654
654
|
reconcile/utils/oc_filters.py,sha256=R2Lf3fo0jQCeE62Ygeo_KN24XbAosq0QbjimYG6qHI4,1402
|
655
655
|
reconcile/utils/oc_map.py,sha256=nT69J5pdPeIDnIYjD9fwY6GkE3BMQCf-AF0rmHJuUNw,9068
|
656
656
|
reconcile/utils/ocm_base_client.py,sha256=X8qkPXfpfJdBKBtFv7zyGD33HNAEBJL8owf-ykrt-Ts,6469
|
657
|
-
reconcile/utils/openshift_resource.py,sha256=
|
657
|
+
reconcile/utils/openshift_resource.py,sha256=l5VLvwZ1LRi3l8InMdJS0oc1w5juhgwpWD2Yg7rXubc,24763
|
658
658
|
reconcile/utils/openssl.py,sha256=QVvhzhpChq_4Daf_5wE1qeZJr4thg3DDjJPn4bOPD4E,365
|
659
659
|
reconcile/utils/output.py,sha256=I_kXYyPcN1mlZmX16ZnLNGkhhwnal640GIdIaGJd4wE,2026
|
660
660
|
reconcile/utils/pagerduty_api.py,sha256=fcSAUez6w51woDvbm0plJW2qSw6_NXQs1Fit_KTNitc,7653
|
@@ -679,7 +679,7 @@ reconcile/utils/structs.py,sha256=LcbLEg8WxfRqM6nW7NhcWN0YeqF7SQzxOgntmLs1SgY,35
|
|
679
679
|
reconcile/utils/template.py,sha256=wTvRU4AnAV_o042tD4Mwls2dwWMuk7MKnde3MaCjaYg,331
|
680
680
|
reconcile/utils/terraform_client.py,sha256=mZEKpu6nbfiQd60wRkc8-5sljBTUTOgaAKnF89itMzU,32085
|
681
681
|
reconcile/utils/terrascript_aws_client.py,sha256=VlvIHgrZRiMFVgx6a8ZHxoiJoDwqbtOmsZFnwwNrdL0,273199
|
682
|
-
reconcile/utils/three_way_diff_strategy.py,sha256=
|
682
|
+
reconcile/utils/three_way_diff_strategy.py,sha256=nnTk4VDex1GIEqryFVfATU1AeRwzXyoPl_FX6zzmRFI,4643
|
683
683
|
reconcile/utils/throughput.py,sha256=iP4UWAe2LVhDo69mPPmgo9nQ7RxHD6_GS8MZe-aSiuM,344
|
684
684
|
reconcile/utils/vault.py,sha256=AYGG5aDJ7CSVhTFdZowfEg3iSQWenoAt676aGjHQMX8,14978
|
685
685
|
reconcile/utils/vaultsecretref.py,sha256=3Ed2uBy36TzSvL0B-l4FoWQqB2SbBKDKEuUPIO608Bo,931
|
@@ -811,8 +811,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=SX7qL3D1SIRKFo95FoQztvf
|
|
811
811
|
tools/test/test_qontract_cli.py,sha256=_D61RFGAN5x44CY1tYbouhlGXXABwYfxKSWSQx3Jrss,4941
|
812
812
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
813
813
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
814
|
-
qontract_reconcile-0.10.
|
815
|
-
qontract_reconcile-0.10.
|
816
|
-
qontract_reconcile-0.10.
|
817
|
-
qontract_reconcile-0.10.
|
818
|
-
qontract_reconcile-0.10.
|
814
|
+
qontract_reconcile-0.10.1rc825.dist-info/METADATA,sha256=nGrMqUI3wHpzTSQEQryBhjGLr_ABZ4pd5zx0TOp4F_8,2314
|
815
|
+
qontract_reconcile-0.10.1rc825.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
816
|
+
qontract_reconcile-0.10.1rc825.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
|
817
|
+
qontract_reconcile-0.10.1rc825.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
818
|
+
qontract_reconcile-0.10.1rc825.dist-info/RECORD,,
|
@@ -109,3 +109,13 @@ def test_3wpd_change_empty_env_value_should_not_apply(deployment):
|
|
109
109
|
]
|
110
110
|
|
111
111
|
assert three_way_diff_using_hash(c_item, d_item) is True
|
112
|
+
|
113
|
+
|
114
|
+
def test_3wpd_diff_detects_missing_annotation(deployment):
|
115
|
+
d_item = OR(deployment, "", "")
|
116
|
+
d_item.body["metadata"]["annotations"]["new-annotation"] = "test-value"
|
117
|
+
c_item = d_item.annotate(canonicalize=False)
|
118
|
+
|
119
|
+
del c_item.body["metadata"]["annotations"]["new-annotation"]
|
120
|
+
|
121
|
+
assert three_way_diff_using_hash(c_item, d_item) is False
|
@@ -20,6 +20,8 @@ NORMALIZE_COMPARE_EXCLUDED_ATTRS = {
|
|
20
20
|
"managedFields",
|
21
21
|
"namespace",
|
22
22
|
}
|
23
|
+
K8S_ANNOTATION_LAC = "kubectl.kubernetes.io/last-applied-configuration"
|
24
|
+
NORMALIZE_IGNORE_ANNOTATIONS = QONTRACT_ANNOTATIONS | {K8S_ANNOTATION_LAC}
|
23
25
|
|
24
26
|
|
25
27
|
def _normalize_secret(secret: OR) -> None:
|
@@ -59,9 +61,9 @@ def normalize_object(item: OR) -> OR:
|
|
59
61
|
validate_k8s_object=False,
|
60
62
|
)
|
61
63
|
|
62
|
-
annotations = n.body.get("annotations", {})
|
64
|
+
annotations = n.body.get("metadata", {}).get("annotations", {})
|
63
65
|
metadata["annotations"] = {
|
64
|
-
k: v for k, v in annotations.items() if k not in
|
66
|
+
k: v for k, v in annotations.items() if k not in NORMALIZE_IGNORE_ANNOTATIONS
|
65
67
|
}
|
66
68
|
|
67
69
|
# Run normalizers on Kinds with special needs
|
File without changes
|
File without changes
|
{qontract_reconcile-0.10.1rc824.dist-info → qontract_reconcile-0.10.1rc825.dist-info}/top_level.txt
RENAMED
File without changes
|