F5Networks / marathon-bigip-ctlr

Repository for F5 BIG-IP Controller for Marathon.
Apache License 2.0
3 stars 11 forks source link

Failure to authenticate to DC/OS Enterprise #284

Closed edarzins closed 6 years ago

edarzins commented 6 years ago

Description

The controller fails to authenticate to DC/OS Enterprise and encounters a python exception.

Mesos Version

DC/OS Enterprise

Marathon Version

Any

Controller Version

v1.2.0

BIG-IP Version

Any

Diagnostic Information

The controller encounters an exception when creating the JSON Web Token (JWT): Traceback (most recent call last): File "/app/marathon-bigip-ctlr.py", line 1185, in events = marathon.get_event_stream(args.sse_timeout) File "/app/marathon-bigip-ctlr.py", line 543, in get_event_stream timeout=timeout) File "/usr/local/lib/python2.7/site-packages/sseclient.py", line 38, in init self._connect() File "/usr/local/lib/python2.7/site-packages/sseclient.py", line 46, in _connect self.resp = requester.get(self.url, stream=True, self.requests_kwargs) File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 67, in get return request('get', url, params=params, kwargs) File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 53, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 454, in request prep = self.prepare_request(req) File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 388, in prepare_request hooks=merge_hooks(request.hooks, self.hooks), File "/usr/local/lib/python2.7/site-packages/requests/models.py", line 297, in prepare self.prepare_auth(auth, url) File "/usr/local/lib/python2.7/site-packages/requests/models.py", line 490, in prepare_auth r = auth(self) File "/app/common.py", line 112, in call token = jwt.encode(payload, self.private_key, self.scheme) File "/usr/local/lib/python2.7/site-packages/jwt/api_jwt.py", line 56, in encode json_payload, key, algorithm, headers, json_encoder File "/usr/local/lib/python2.7/site-packages/jwt/api_jws.py", line 101, in encode raise NotImplementedError('Algorithm not supported')

edarzins commented 6 years ago

The runtime image is missing the python cryptography module. This bug was introduced with a32e856b8f96bdbfbd77c7fa338668e41efd5dd6 when the build was separated between two Dockerfiles.

edarzins commented 6 years ago

Fixed via 30f8b2830c8fa20d64926394f5a1b03552b43c77.