qontract-reconcile 0.10.1rc1072__py3-none-any.whl → 0.10.1rc1073__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.1rc1072
3
+ Version: 0.10.1rc1073
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
@@ -161,7 +161,7 @@ reconcile/aws_version_sync/merge_request_manager/merge_request_manager.py,sha256
161
161
  reconcile/change_owners/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
162
  reconcile/change_owners/approver.py,sha256=Z3_11vnK2WNOxjEEXVDh0224-_-qbt9d6mBeVE-7fsc,2259
163
163
  reconcile/change_owners/bundle.py,sha256=ZIlXRo6Z2raeWSCUqYsexBdol-q-r9kWJs5O_YPaEYk,5273
164
- reconcile/change_owners/change_log_tracking.py,sha256=dmjtD1zJ7tFC355fe82pmqChQdkIJjXAmcsqqwbLWuA,5834
164
+ reconcile/change_owners/change_log_tracking.py,sha256=9A_fJoahIckRF_qepfKYEwZmedrcq8KTJh_KFt4DuRQ,6542
165
165
  reconcile/change_owners/change_owners.py,sha256=0HRJhDm0oW3uYJFgzynqA1gA0lbhalhSkmWOiQmr-NM,17062
166
166
  reconcile/change_owners/change_types.py,sha256=TjVtvmkU0s8w2NA6qvWQccB6PwlCrChFySlsHLYZjpE,32027
167
167
  reconcile/change_owners/changes.py,sha256=pa3cNAL-Xawh700ARJJQjY0p09NA1J2329RcE0F0MHM,17224
@@ -870,8 +870,8 @@ tools/test/test_qontract_cli.py,sha256=_D61RFGAN5x44CY1tYbouhlGXXABwYfxKSWSQx3Jr
870
870
  tools/test/test_saas_promotion_state.py,sha256=dy4kkSSAQ7bC0Xp2CociETGN-2aABEfL6FU5D9Jl00Y,6056
871
871
  tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
872
872
  tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
873
- qontract_reconcile-0.10.1rc1072.dist-info/METADATA,sha256=3DGV1p_ONSF7YyGVdoAzLKcLRzCKpxc2Ta2HufdLsJM,2213
874
- qontract_reconcile-0.10.1rc1072.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
875
- qontract_reconcile-0.10.1rc1072.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
876
- qontract_reconcile-0.10.1rc1072.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
877
- qontract_reconcile-0.10.1rc1072.dist-info/RECORD,,
873
+ qontract_reconcile-0.10.1rc1073.dist-info/METADATA,sha256=-kqHT-1qUat0a9_QgEuiARkSUDCNkc-JxeGfmvp3nDk,2213
874
+ qontract_reconcile-0.10.1rc1073.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
875
+ qontract_reconcile-0.10.1rc1073.dist-info/entry_points.txt,sha256=GKQqCl2j2X1BJQ69een6rHcR26PmnxnONLNOQB-nRjY,491
876
+ qontract_reconcile-0.10.1rc1073.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
877
+ qontract_reconcile-0.10.1rc1073.dist-info/RECORD,,
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ from collections import defaultdict
2
3
  from collections.abc import Callable
3
4
  from dataclasses import asdict, dataclass, field
4
5
 
@@ -13,6 +14,7 @@ from reconcile.change_owners.change_owners import (
13
14
  from reconcile.change_owners.change_types import ChangeTypeContext
14
15
  from reconcile.change_owners.changes import aggregate_file_moves, parse_bundle_changes
15
16
  from reconcile.typed_queries.apps import get_apps
17
+ from reconcile.typed_queries.external_resources import get_namespaces
16
18
  from reconcile.utils import gql
17
19
  from reconcile.utils.defer import defer
18
20
  from reconcile.utils.gitlab_api import MRState
@@ -65,6 +67,12 @@ class ChangeLogIntegration(QontractReconcileIntegration[ChangeLogIntegrationPara
65
67
  ]
66
68
  apps = get_apps()
67
69
  app_name_by_path = {a.path: a.name for a in apps}
70
+ namespaces = get_namespaces()
71
+ app_names_by_cluster_name = defaultdict(set)
72
+ for ns in namespaces:
73
+ cluster = ns.cluster.name
74
+ app = ns.app.name
75
+ app_names_by_cluster_name[cluster].add(app)
68
76
 
69
77
  integration_state = init_state(
70
78
  integration=self.name,
@@ -134,6 +142,13 @@ class ChangeLogIntegration(QontractReconcileIntegration[ChangeLogIntegrationPara
134
142
  if (name := app_name_by_path.get(c["app"]["$ref"]))
135
143
  }
136
144
  change_log_item.apps.extend(changed_apps)
145
+ case "/openshift/cluster-1.yml":
146
+ changed_apps = {
147
+ name
148
+ for c in change_versions
149
+ for name in app_names_by_cluster_name.get(c["name"], [])
150
+ }
151
+ change_log_item.apps.extend(changed_apps)
137
152
 
138
153
  # TODO(maorfr): switch apps to set
139
154
  change_log_item.apps = list(set(change_log_item.apps))