From f4b46d182a72a4eac9b93b7e67b098eb8a8547ed Mon Sep 17 00:00:00 2001 From: Hayk Hovsepyan <hhovsepy@redhat.com> Date: Wed, 19 May 2021 20:09:08 +0200 Subject: [PATCH] Added new config type WorkloadGroup --- kiali_qe/components/__init__.py | 1 + kiali_qe/components/enums.py | 1 + kiali_qe/rest/kiali_api.py | 16 ++++++++++++++++ kiali_qe/rest/openshift_api.py | 5 +++++ 4 files changed, 23 insertions(+) diff --git a/kiali_qe/components/__init__.py b/kiali_qe/components/__init__.py index 78cd8e90..b5b42951 100644 --- a/kiali_qe/components/__init__.py +++ b/kiali_qe/components/__init__.py @@ -2405,6 +2405,7 @@ def _get_item_validation(self, element): return get_validation(_valid, _not_valid, _warning) def _get_details_validation(self): + wait_to_spinner_disappear(self.browser) _not_valid = len(self.browser.elements( parent=self.DETAILS_ROOT, locator='.//*[contains(@class, "ace_error")]')) > 0 diff --git a/kiali_qe/components/enums.py b/kiali_qe/components/enums.py index 9e071fe3..46d22a04 100644 --- a/kiali_qe/components/enums.py +++ b/kiali_qe/components/enums.py @@ -317,6 +317,7 @@ class IstioConfigObjectType(StringEnum): SIDECAR = ('Sidecar') VIRTUAL_SERVICE = ('VirtualService') WORKLOAD_ENTRY = ('WorkloadEntry') + WORKLOAD_GROUP = ('WorkloadGroup') class IstioConfigValidationType(StringEnum): diff --git a/kiali_qe/rest/kiali_api.py b/kiali_qe/rest/kiali_api.py index 51c90cbc..7b1b3b8c 100644 --- a/kiali_qe/rest/kiali_api.py +++ b/kiali_qe/rest/kiali_api.py @@ -46,6 +46,7 @@ 'VirtualService': 'virtualservices', 'ServiceEntry': 'serviceentries', 'WorkloadEntry': 'workloadentries', + 'WorkloadGroup': 'workloadgroups', 'Gateway': 'gateways', 'Handler': 'handler', 'EnvoyFilter': 'envoyfilters', @@ -336,6 +337,17 @@ def istio_config_list(self, namespaces=[], config_names=[], params=None): 'workloadentries', _policy['metadata']['name']))) + # update workloadGroups + if len(_data['workloadGroups']) > 0: + for _policy in _data['workloadGroups']: + items.append(IstioConfig( + name=_policy['metadata']['name'], + namespace=_namespace, + object_type=OBJECT_TYPE.WORKLOAD_GROUP.text, + validation=self.get_istio_config_validation(_namespace, + 'workloadgroups', + _policy['metadata']['name']))) + # update sidecars if len(_data['sidecars']) > 0: for _policy in _data['sidecars']: @@ -406,6 +418,10 @@ def istio_config_details(self, namespace, object_type, object_name): if _data['workloadEntry']: config_data = _data['workloadEntry'] + # get workloadGroup + if _data['workloadGroup']: + config_data = _data['workloadGroup'] + # get PeerAuthentication if _data['peerAuthentication']: config_data = _data['peerAuthentication'] diff --git a/kiali_qe/rest/openshift_api.py b/kiali_qe/rest/openshift_api.py index 4fb9c96e..10d13c35 100644 --- a/kiali_qe/rest/openshift_api.py +++ b/kiali_qe/rest/openshift_api.py @@ -45,6 +45,7 @@ 'DestinationRule': '_destinationrule', 'ServiceEntry': '_serviceentry', 'WorkloadEntry': '_workloadentry', + 'WorkloadGroup': '_workloadgroup', 'EnvoyFilter': '_envoyfilter', 'PeerAuthentication': '_peerauthentication', 'RequestAuthentication': '_requestauthentication', @@ -143,6 +144,10 @@ def _serviceentry(self): def _workloadentry(self): return self._istio_config(kind='WorkloadEntry', api_version='v1alpha3') + @property + def _workloadgroup(self): + return self._istio_config(kind='WorkloadGroup', api_version='v1alpha3') + @property def _kubernetes(self): return self._istio_config(kind='kubernetes', api_version='v1alpha2')