diff options
| author | Pavel Zhukov <33721692+LeaveMyYard@users.noreply.github.com> | 2023-08-23 17:17:50 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-23 17:17:50 +0300 |
| commit | 54569717fc8767d78fd8ea163ac12d1ce1b36fc2 (patch) | |
| tree | 4223e7e0b03d185ed1718826eca1b790cf0368b7 | |
| parent | 42f6e61c855a4e00aecf71e389932e6f991d7a34 (diff) | |
| parent | b7d49e97a4ad55f61825ac96783fa6cd4d0409a3 (diff) | |
Merge pull request #131 from robusta-dev/fix-rollouts-listing
Fix listing rollout pods, fix rollout type
| -rw-r--r-- | robusta_krr/core/integrations/kubernetes.py | 18 | ||||
| -rw-r--r-- | robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py | 4 | ||||
| -rw-r--r-- | robusta_krr/core/models/objects.py | 2 |
3 files changed, 12 insertions, 12 deletions
diff --git a/robusta_krr/core/integrations/kubernetes.py b/robusta_krr/core/integrations/kubernetes.py index 915f79b..db85fb9 100644 --- a/robusta_krr/core/integrations/kubernetes.py +++ b/robusta_krr/core/integrations/kubernetes.py @@ -129,7 +129,7 @@ class ClusterLoader(Configurable): self.debug(f"Skipping {kind}s in {self.cluster}") return - if kind == "rollout" and not self.__rollouts_available: + if kind == "Rollout" and not self.__rollouts_available: return self.debug(f"Listing {kind}s in {self.cluster}") @@ -147,7 +147,7 @@ class ClusterLoader(Configurable): self.debug(f"Found {len(ret_multi.items)} {kind} in {self.cluster}") for item in ret_multi.items: for container in item.spec.template.spec.containers: - yield self.__build_obj(item, container) + yield self.__build_obj(item, container, kind) else: tasks = [ loop.run_in_executor( @@ -167,11 +167,11 @@ class ClusterLoader(Configurable): total_items += len(ret_single.items) for item in ret_single.items: for container in item.spec.template.spec.containers: - yield self.__build_obj(item, container) + yield self.__build_obj(item, container, kind) self.debug(f"Found {total_items} {kind} in {self.cluster}") except ApiException as e: - if kind == "rollout" and e.status in [400, 401, 403, 404]: + if kind == "Rollout" and e.status in [400, 401, 403, 404]: if self.__rollouts_available: self.debug(f"Rollout API not available in {self.cluster}") self.__rollouts_available = False @@ -182,35 +182,35 @@ class ClusterLoader(Configurable): def _list_deployments(self) -> AsyncIterator[K8sObjectData]: return self._list_workflows( - kind="deployment", + kind="Deployment", all_namespaces_request=self.apps.list_deployment_for_all_namespaces, namespaced_request=self.apps.list_namespaced_deployment, ) def _list_rollouts(self) -> AsyncIterator[K8sObjectData]: return self._list_workflows( - kind="rollout", + kind="Rollout", all_namespaces_request=self.rollout.list_rollout_for_all_namespaces, namespaced_request=self.rollout.list_namespaced_rollout, ) def _list_all_statefulsets(self) -> AsyncIterator[K8sObjectData]: return self._list_workflows( - kind="statefulset", + kind="StatefulSet", all_namespaces_request=self.apps.list_stateful_set_for_all_namespaces, namespaced_request=self.apps.list_namespaced_stateful_set, ) def _list_all_daemon_set(self) -> AsyncIterator[K8sObjectData]: return self._list_workflows( - kind="daemonset", + kind="DaemonSet", all_namespaces_request=self.apps.list_daemon_set_for_all_namespaces, namespaced_request=self.apps.list_namespaced_daemon_set, ) def _list_all_jobs(self) -> AsyncIterator[K8sObjectData]: return self._list_workflows( - kind="job", + kind="Job", all_namespaces_request=self.batch.list_job_for_all_namespaces, namespaced_request=self.batch.list_namespaced_job, ) diff --git a/robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py b/robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py index 728dc52..205fc78 100644 --- a/robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py +++ b/robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py @@ -160,12 +160,12 @@ class PrometheusMetricsService(MetricsService): pod_owners: list[str] pod_owner_kind: str cluster_label = self.get_prometheus_cluster_label() - if object.kind == "Deployment": + if object.kind in ["Deployment", "Rollout"]: replicasets = await self.query( f""" kube_replicaset_owner{{ owner_name="{object.name}", - owner_kind="Deployment", + owner_kind="{object.kind}", namespace="{object.namespace}" {cluster_label} }}[{period_literal}] diff --git a/robusta_krr/core/models/objects.py b/robusta_krr/core/models/objects.py index 23f7345..926404a 100644 --- a/robusta_krr/core/models/objects.py +++ b/robusta_krr/core/models/objects.py @@ -4,7 +4,7 @@ import pydantic as pd from robusta_krr.core.models.allocations import ResourceAllocations -KindLiteral = Literal["deployment", "daemonset", "statefulset", "job", "rollout"] +KindLiteral = Literal["Deployment", "DaemonSet", "StatefulSet", "Job", "Rollout"] class PodData(pd.BaseModel): |
