You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2020/11/07 09:40:02 UTC
[GitHub] [airflow] potiuk opened a new issue #12151: Kubernetes tests are failing in master
potiuk opened a new issue #12151:
URL: https://github.com/apache/airflow/issues/12151
Kubernetes tests are failing master build:
Example here:
https://github.com/apache/airflow/actions/runs/350798991
The failing test is:
```
_______________ TestKubernetesPodOperatorSystem.test_pod_failure _______________
self = <kubernetes_tests.test_kubernetes_pod_operator.TestKubernetesPodOperatorSystem testMethod=test_pod_failure>
def test_pod_failure(self):
"""
Tests that the task fails when a pod reports a failure
"""
bad_internal_command = ["foobar 10 "]
k = KubernetesPodOperator(
namespace='default',
image="ubuntu:16.04",
cmds=["bash", "-cx"],
arguments=bad_internal_command,
labels={"foo": "bar"},
name="test-" + str(random.randint(0, 1000000)),
task_id="task" + self.get_current_task_name(),
in_cluster=False,
do_xcom_push=False,
)
with self.assertRaises(AirflowException):
context = create_context(k)
> k.execute(context)
kubernetes_tests/test_kubernetes_pod_operator.py:536:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py:313: in execute
status = self.client.read_namespaced_pod(self.name, self.namespace)
.build/.kubernetes_venv/lib/python3.6/site-packages/kubernetes/client/api/core_v1_api.py:19078: in read_namespaced_pod
(data) = self.read_namespaced_pod_with_http_info(name, namespace, **kwargs) # noqa: E501
.build/.kubernetes_venv/lib/python3.6/site-packages/kubernetes/client/api/core_v1_api.py:19169: in read_namespaced_pod_with_http_info
collection_formats=collection_formats)
.build/.kubernetes_venv/lib/python3.6/site-packages/kubernetes/client/api_client.py:345: in call_api
_preload_content, _request_timeout)
.build/.kubernetes_venv/lib/python3.6/site-packages/kubernetes/client/api_client.py:176: in __call_api
_request_timeout=_request_timeout)
.build/.kubernetes_venv/lib/python3.6/site-packages/kubernetes/client/api_client.py:366: in request
headers=headers)
.build/.kubernetes_venv/lib/python3.6/site-packages/kubernetes/client/rest.py:241: in GET
query_params=query_params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def request(self, method, url, query_params=None, headers=None,
body=None, post_params=None, _preload_content=True,
_request_timeout=None):
"""Perform requests.
:param method: http request method
:param url: http request url
:param query_params: query parameters in the url
:param headers: http request headers
:param body: request json body, for `application/json`
:param post_params: request post parameters,
`application/x-www-form-urlencoded`
and `multipart/form-data`
:param _preload_content: if False, the urllib3.HTTPResponse object will
be returned without reading/decoding response
data. Default is True.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
"""
method = method.upper()
assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
'PATCH', 'OPTIONS']
if post_params and body:
raise ValueError(
"body parameter cannot be used with post_params parameter."
)
post_params = post_params or {}
headers = headers or {}
timeout = None
if _request_timeout:
if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): # noqa: E501,F821
timeout = urllib3.Timeout(total=_request_timeout)
elif (isinstance(_request_timeout, tuple) and
len(_request_timeout) == 2):
timeout = urllib3.Timeout(
connect=_request_timeout[0], read=_request_timeout[1])
if 'Content-Type' not in headers:
headers['Content-Type'] = 'application/json'
try:
# For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
if query_params:
url += '?' + urlencode(query_params)
if re.search('json', headers['Content-Type'], re.IGNORECASE):
if headers['Content-Type'] == 'application/json-patch+json':
if not isinstance(body, list):
headers['Content-Type'] = \
'application/strategic-merge-patch+json'
request_body = None
if body is not None:
request_body = json.dumps(body)
r = self.pool_manager.request(
method, url,
body=request_body,
preload_content=_preload_content,
timeout=timeout,
headers=headers)
elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501
r = self.pool_manager.request(
method, url,
fields=post_params,
encode_multipart=False,
preload_content=_preload_content,
timeout=timeout,
headers=headers)
elif headers['Content-Type'] == 'multipart/form-data':
# must del headers['Content-Type'], or the correct
# Content-Type which generated by urllib3 will be
# overwritten.
del headers['Content-Type']
r = self.pool_manager.request(
method, url,
fields=post_params,
encode_multipart=True,
preload_content=_preload_content,
timeout=timeout,
headers=headers)
# Pass a `string` parameter directly in the body to support
# other content types than Json when `body` argument is
# provided in serialized form
elif isinstance(body, str):
request_body = body
r = self.pool_manager.request(
method, url,
body=request_body,
preload_content=_preload_content,
timeout=timeout,
headers=headers)
else:
# Cannot generate the request from given parameters
msg = """Cannot prepare a request message for provided
arguments. Please check that your arguments match
declared content type."""
raise ApiException(status=0, reason=msg)
# For `GET`, `HEAD`
else:
r = self.pool_manager.request(method, url,
fields=query_params,
preload_content=_preload_content,
timeout=timeout,
headers=headers)
except urllib3.exceptions.SSLError as e:
msg = "{0}\n{1}".format(type(e).__name__, str(e))
raise ApiException(status=0, reason=msg)
if _preload_content:
r = RESTResponse(r)
# In the python 3, the response.data is bytes.
# we need to decode it to string.
if six.PY3:
r.data = r.data.decode('utf8')
# log response body
logger.debug("response body: %s", r.data)
if not 200 <= r.status <= 299:
> raise ApiException(http_resp=r)
E kubernetes.client.rest.ApiException: (404)
E Reason: Not Found
E HTTP response headers: HTTPHeaderDict({'Content-Type': 'application/json', 'Date': 'Sat, 07 Nov 2020 07:33:13 GMT', 'Content-Length': '190'})
E HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"pods \"test-815505\" not found","reason":"NotFound","details":{"name":"test-815505","kind":"pods"},"code":404}
.build/.kubernetes_venv/lib/python3.6/site-packages/kubernetes/client/rest.py:231: ApiException
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] potiuk edited a comment on issue #12151: Kubernetes tests are failing in master
Posted by GitBox <gi...@apache.org>.
potiuk edited a comment on issue #12151:
URL: https://github.com/apache/airflow/issues/12151#issuecomment-723435708
Negative. The fix from #12150 - while a valid problem, did not fix the failure of kubernetes tests https://github.com/apache/airflow/pull/12154/checks?check_run_id=1367546765
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] ashb closed issue #12151: Kubernetes tests are failing in master
Posted by GitBox <gi...@apache.org>.
ashb closed issue #12151:
URL: https://github.com/apache/airflow/issues/12151
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] potiuk commented on issue #12151: Kubernetes tests are failing in master
Posted by GitBox <gi...@apache.org>.
potiuk commented on issue #12151:
URL: https://github.com/apache/airflow/issues/12151#issuecomment-723424023
Might be related to #12150
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] potiuk commented on issue #12151: Kubernetes tests are failing in master
Posted by GitBox <gi...@apache.org>.
potiuk commented on issue #12151:
URL: https://github.com/apache/airflow/issues/12151#issuecomment-723435708
Negative. The fix from #12150 - while a valid problem, did not fix the failure of kubernetes tests https://github.com/apache/airflow/pull/12154/checks?check_run_id=1367546765 did not
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org