-
Notifications
You must be signed in to change notification settings - Fork 145
Closed
Description
Target cluster version: Openshift 4.2.5
openshift pip version: 0.10.0
kubernetes pip version: 10.0.1
ansible 2.9.2
- name: wait for kubernetes service
k8s_info:
api_version: v1
kind: Service
kubeconfig: "{{ cluster_kubeconfig }}"
name: kubernetes
namespace: default
register: _kube_service
Ansible std_error block:
"stderr_lines": [
"Traceback (most recent call last):",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/client.py\", line 42, in inner",
" resp = func(self, *args, **kwargs)",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/client.py\", line 241, in request",
" _return_http_data_only=params.get('_return_http_data_only', True)",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/api_client.py\", line 334, in call_api",
" _return_http_data_only, collection_formats, _preload_content, _request_timeout)",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/api_client.py\", line 168, in __call_api",
" _request_timeout=_request_timeout)",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/api_client.py\", line 355, in request",
" headers=headers)",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/rest.py\", line 231, in GET",
" query_params=query_params)",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/rest.py\", line 222, in request",
" raise ApiException(http_resp=r)",
"kubernetes.client.rest.ApiException: (503)",
"Reason: Service Unavailable",
"HTTP response headers: HTTPHeaderDict({'Cache-Control': 'no-cache, private', 'Content-Type': 'text/plain; charset=utf-8', 'X-Content-Type-Options': 'nosniff', 'Date': 'Thu, 12 Dec 2019 23:00:40 GMT', 'Content-Length': '20'})",
"HTTP response body: b'service unavailable\\n'",
"",
"",
"During handling of the above exception, another exception occurred:",
"",
"Traceback (most recent call last):",
" File \"/root/.ansible/tmp/ansible-tmp-1576191621.8594584-53701596979993/AnsiballZ_k8s_info.py\", line 102, in <module>",
" _ansiballz_main()",
" File \"/root/.ansible/tmp/ansible-tmp-1576191621.8594584-53701596979993/AnsiballZ_k8s_info.py\", line 94, in _ansiballz_main",
" invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)",
" File \"/root/.ansible/tmp/ansible-tmp-1576191621.8594584-53701596979993/AnsiballZ_k8s_info.py\", line 40, in invoke_module",
" runpy.run_module(mod_name='ansible.modules.clustering.k8s.k8s_info', init_globals=None, run_name='__main__', alter_sys=True)",
" File \"/usr/lib/python3.7/runpy.py\", line 205, in run_module",
" return _run_module_code(code, init_globals, run_name, mod_spec)",
" File \"/usr/lib/python3.7/runpy.py\", line 96, in _run_module_code",
" mod_name, mod_spec, pkg_name, script_name)",
" File \"/usr/lib/python3.7/runpy.py\", line 85, in _run_code",
" exec(code, run_globals)",
" File \"/tmp/ansible_k8s_info_payload_hb4to5hf/ansible_k8s_info_payload.zip/ansible/modules/clustering/k8s/k8s_info.py\", line 179, in <module>",
" File \"/tmp/ansible_k8s_info_payload_hb4to5hf/ansible_k8s_info_payload.zip/ansible/modules/clustering/k8s/k8s_info.py\", line 175, in main",
" File \"/tmp/ansible_k8s_info_payload_hb4to5hf/ansible_k8s_info_payload.zip/ansible/modules/clustering/k8s/k8s_info.py\", line 156, in execute_module",
" File \"/tmp/ansible_k8s_info_payload_hb4to5hf/ansible_k8s_info_payload.zip/ansible/module_utils/k8s/common.py\", line 215, in kubernetes_facts",
" File \"/tmp/ansible_k8s_info_payload_hb4to5hf/ansible_k8s_info_payload.zip/ansible/module_utils/k8s/common.py\", line 205, in find_resource",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/discovery.py\", line 201, in get",
" results = self.search(**kwargs)",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/discovery.py\", line 242, in search",
" results = self.__search(self.__build_search(**kwargs), self.__resources, [])",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/discovery.py\", line 284, in __search",
" matches.extend(self.__search([key] + parts[1:], resources, reqParams))",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/discovery.py\", line 270, in __search",
" return self.__search(parts[1:], resourcePart, reqParams + [part] )",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/discovery.py\", line 284, in __search",
" matches.extend(self.__search([key] + parts[1:], resources, reqParams))",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/discovery.py\", line 270, in __search",
" return self.__search(parts[1:], resourcePart, reqParams + [part] )",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/discovery.py\", line 263, in __search",
" group, part, resourcePart.preferred)",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/discovery.py\", line 166, in get_resources_for_api_version",
" resources_response = self.client.request('GET', path).resources or []",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/client.py\", line 44, in inner",
" raise api_exception(e)",
"openshift.dynamic.exceptions.ServiceUnavailableError: 503",
"Reason: Service Unavailable",
"HTTP response headers: HTTPHeaderDict({'Cache-Control': 'no-cache, private', 'Content-Type': 'text/plain; charset=utf-8', 'X-Content-Type-Options': 'nosniff', 'Date': 'Thu, 12 Dec 2019 23:00:40 GMT', 'Content-Length': '20'})",
"HTTP response body: b'service unavailable\\n'",
"Original traceback: ",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/client.py\", line 42, in inner",
" resp = func(self, *args, **kwargs)",
"",
" File \"/usr/lib/python3.7/site-packages/openshift/dynamic/client.py\", line 241, in request",
" _return_http_data_only=params.get('_return_http_data_only', True)",
"",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/api_client.py\", line 334, in call_api",
" _return_http_data_only, collection_formats, _preload_content, _request_timeout)",
"",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/api_client.py\", line 168, in __call_api",
" _request_timeout=_request_timeout)",
"",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/api_client.py\", line 355, in request",
" headers=headers)",
"",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/rest.py\", line 231, in GET",
" query_params=query_params)",
"",
" File \"/usr/lib/python3.7/site-packages/kubernetes/client/rest.py\", line 222, in request",
" raise ApiException(http_resp=r)",
""
]
Inspecting the cluster, post k8s_info failure, the following apiservices are in a failed state.
apiservice.apiregistration.k8s.io/v1.packages.operators.coreos.com openshift-operator-lifecycle-manager/v1-packages-operators-coreos-com False (FailedDiscoveryCheck)
apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io openshift-monitoring/prometheus-adapter False (FailedDiscoveryCheck)
I'm surmising that one or both of the apiservices in FailedDiscoveryCheck
caused the failure. What I'm struggling to understand is why.
Some questions/observations:
- Based on discussions in issue Client init fails if one of apis is unavailable #327 the openshift client is gathering all
v1
resources, Is this correct? - If so, why?
- I suspect that if I called
oc get service -n default kubernetes -o yaml
the command would work successfully.
lucaspalm
Metadata
Metadata
Assignees
Labels
No labels