Skip to content

Commit 4ad7e13

Browse files
committed
Don't allow discovery to fail because one endpoint couldn't be parsed
1 parent eba043e commit 4ad7e13

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

openshift/dynamic/client.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,13 @@
1616
from kubernetes.client.api_client import ApiClient
1717
from kubernetes.client.rest import ApiException
1818

19-
from openshift.dynamic.exceptions import ResourceNotFoundError, ResourceNotUniqueError, api_exception, KubernetesValidateMissing
19+
from openshift.dynamic.exceptions import (
20+
api_exception,
21+
DynamicApiError,
22+
ResourceNotFoundError,
23+
ResourceNotUniqueError,
24+
KubernetesValidateMissing
25+
)
2026

2127
try:
2228
import kubernetes_validate
@@ -162,11 +168,14 @@ def parse_api_groups(self):
162168
groups[prefix] = {}
163169

164170
for group in groups_response:
165-
new_group = {}
166-
for version_raw in group['versions']:
167-
version = version_raw['version']
168-
preferred = version_raw == group['preferredVersion']
169-
new_group[version] = self.get_resources_for_api_version(prefix, group['name'], version, preferred)
171+
try:
172+
new_group = {}
173+
for version_raw in group['versions']:
174+
version = version_raw['version']
175+
preferred = version_raw == group['preferredVersion']
176+
new_group[version] = self.get_resources_for_api_version(prefix, group['name'], version, preferred)
177+
except DynamicApiError:
178+
continue
170179
groups[prefix][group['name']] = new_group
171180
self.__cache['resources'] = groups
172181
return self.__cache['resources']

0 commit comments

Comments
 (0)