Closed TheDJVG closed 5 years ago
@TheDJVG I have pushed a fix #33 for this. My previous commit #31 broke this I believe.
@ahmedsajid I can verify this fixed it. Works like a charm now! Thank you!
@TheDJVG But I'm seeing some python tracebacks while doing basic operations... Not sure if thats related Do you see these as well?
lemur-web_1 | [2018-04-03 20:46:34,266] ERROR in app: Exception on /api/1/certificates [POST]
lemur-web_1 | Traceback (most recent call last):
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2848, in one
lemur-web_1 | ret = self.one_or_none()
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2827, in one_or_none
lemur-web_1 | "Multiple rows were found for one_or_none()")
lemur-web_1 | sqlalchemy.orm.exc.MultipleResultsFound: Multiple rows were found for one_or_none()
lemur-web_1 |
lemur-web_1 | During handling of the above exception, another exception occurred:
lemur-web_1 |
lemur-web_1 | Traceback (most recent call last):
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
lemur-web_1 | rv = self.dispatch_request()
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
lemur-web_1 | return self.view_functions[rule.endpoint](**req.view_args)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask_restful/__init__.py", line 480, in wrapper
lemur-web_1 | resp = resource(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask/views.py", line 84, in view
lemur-web_1 | return self.dispatch_request(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask_restful/__init__.py", line 595, in dispatch_request
lemur-web_1 | resp = meth(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/auth/service.py", line 135, in decorated_function
lemur-web_1 | return f(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/common/schema.py", line 152, in decorated_function
lemur-web_1 | data, errors = input_schema.load(request_data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 580, in load
lemur-web_1 | result, errors = self._do_load(data, many, partial=partial, postprocess=True)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 660, in _do_load
lemur-web_1 | index_errors=self.opts.index_errors,
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/marshalling.py", line 295, in deserialize
lemur-web_1 | index=(index if index_errors else None)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/marshalling.py", line 68, in call_and_store
lemur-web_1 | value = getter_func(data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/marshalling.py", line 288, in <lambda>
lemur-web_1 | data
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/fields.py", line 265, in deserialize
lemur-web_1 | output = self._deserialize(value, attr, data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/fields.py", line 465, in _deserialize
lemur-web_1 | data, errors = self.schema.load(value)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 580, in load
lemur-web_1 | result, errors = self._do_load(data, many, partial=partial, postprocess=True)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 685, in _do_load
lemur-web_1 | original_data=data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 858, in _invoke_load_processors
lemur-web_1 | data=data, many=many, original_data=original_data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 960, in _invoke_processors
lemur-web_1 | data = utils.if_none(processor(data), data)
lemur-web_1 | File "/usr/local/src/lemur/lemur/schemas.py", line 159, in get_object
lemur-web_1 | return fetch_objects(RotationPolicy, data, many=many)
lemur-web_1 | File "/usr/local/src/lemur/lemur/schemas.py", line 91, in fetch_objects
lemur-web_1 | return model.query.filter(getattr(model, attr) == data[attr]).one()
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2851, in one
lemur-web_1 | "Multiple rows were found for one()")
lemur-web_1 | sqlalchemy.orm.exc.MultipleResultsFound: Multiple rows were found for one()
lemur-web_1 | Exception on /api/1/certificates [POST]
lemur-web_1 | Traceback (most recent call last):
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2848, in one
lemur-web_1 | ret = self.one_or_none()
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2827, in one_or_none
lemur-web_1 | "Multiple rows were found for one_or_none()")
lemur-web_1 | sqlalchemy.orm.exc.MultipleResultsFound: Multiple rows were found for one_or_none()
lemur-web_1 |
lemur-web_1 | During handling of the above exception, another exception occurred:
lemur-web_1 |
lemur-web_1 | Traceback (most recent call last):
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
lemur-web_1 | rv = self.dispatch_request()
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
lemur-web_1 | return self.view_functions[rule.endpoint](**req.view_args)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask_restful/__init__.py", line 480, in wrapper
lemur-web_1 | resp = resource(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask/views.py", line 84, in view
lemur-web_1 | return self.dispatch_request(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/flask_restful/__init__.py", line 595, in dispatch_request
lemur-web_1 | resp = meth(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/auth/service.py", line 135, in decorated_function
lemur-web_1 | return f(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/common/schema.py", line 152, in decorated_function
lemur-web_1 | data, errors = input_schema.load(request_data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 580, in load
lemur-web_1 | result, errors = self._do_load(data, many, partial=partial, postprocess=True)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 660, in _do_load
lemur-web_1 | index_errors=self.opts.index_errors,
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/marshalling.py", line 295, in deserialize
lemur-web_1 | index=(index if index_errors else None)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/marshalling.py", line 68, in call_and_store
lemur-web_1 | value = getter_func(data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/marshalling.py", line 288, in <lambda>
lemur-web_1 | data
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/fields.py", line 265, in deserialize
lemur-web_1 | output = self._deserialize(value, attr, data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/fields.py", line 465, in _deserialize
lemur-web_1 | data, errors = self.schema.load(value)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 580, in load
lemur-web_1 | result, errors = self._do_load(data, many, partial=partial, postprocess=True)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 685, in _do_load
lemur-web_1 | original_data=data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 858, in _invoke_load_processors
lemur-web_1 | data=data, many=many, original_data=original_data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/marshmallow/schema.py", line 960, in _invoke_processors
lemur-web_1 | data = utils.if_none(processor(data), data)
lemur-web_1 | File "/usr/local/src/lemur/lemur/schemas.py", line 159, in get_object
lemur-web_1 | return fetch_objects(RotationPolicy, data, many=many)
lemur-web_1 | File "/usr/local/src/lemur/lemur/schemas.py", line 91, in fetch_objects
lemur-web_1 | return model.query.filter(getattr(model, attr) == data[attr]).one()
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2851, in one
lemur-web_1 | "Multiple rows were found for one()")
lemur-web_1 | sqlalchemy.orm.exc.MultipleResultsFound: Multiple rows were found for one()
I do get some tracebacks when I'm trying to add an auhority:
lemur-web_1 | Traceback (most recent call last):
lemur-web_1 | File "/usr/local/src/lemur/lemur/common/schema.py", line 160, in decorated_function
lemur-web_1 | resp = f(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/authorities/views.py", line 223, in post
lemur-web_1 | return service.create(**data)
lemur-web_1 | File "/usr/local/src/lemur/lemur/authorities/service.py", line 107, in create
lemur-web_1 | cert = upload(**kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/certificates/service.py", line 235, in upload
lemur-web_1 | cert = Certificate(**kwargs)
lemur-web_1 | File "<string>", line 4, in __init__
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/state.py", line 417, in _initialize_instance
lemur-web_1 | manager.dispatch.init_failure(self, args, kwargs)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
lemur-web_1 | compat.reraise(exc_type, exc_value, exc_tb)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 187, in reraise
lemur-web_1 | raise value
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/state.py", line 414, in _initialize_instance
lemur-web_1 | return manager.original_init(*mixed[1:], **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/certificates/models.py", line 144, in __init__
lemur-web_1 | cert = lemur.common.utils.parse_certificate(kwargs['body'])
lemur-web_1 | File "/usr/local/src/lemur/lemur/common/utils.py", line 53, in parse_certificate
lemur-web_1 | return x509.load_pem_x509_certificate(body, default_backend())
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/cryptography/x509/base.py", line 43, in load_pem_x509_certificate
lemur-web_1 | return backend.load_pem_x509_certificate(data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1132, in load_pem_x509_certificate
lemur-web_1 | mem_bio = self._bytes_to_bio(data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 436, in _bytes_to_bio
lemur-web_1 | data_char_p = self._ffi.new("char[]", data)
lemur-web_1 | TypeError: 'NoneType' object cannot be interpreted as an integer
lemur-web_1 | 'NoneType' object cannot be interpreted as an integer
lemur-web_1 | Traceback (most recent call last):
lemur-web_1 | File "/usr/local/src/lemur/lemur/common/schema.py", line 160, in decorated_function
lemur-web_1 | resp = f(*args, **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/authorities/views.py", line 223, in post
lemur-web_1 | return service.create(**data)
lemur-web_1 | File "/usr/local/src/lemur/lemur/authorities/service.py", line 107, in create
lemur-web_1 | cert = upload(**kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/certificates/service.py", line 235, in upload
lemur-web_1 | cert = Certificate(**kwargs)
lemur-web_1 | File "<string>", line 4, in __init__
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/state.py", line 417, in _initialize_instance
lemur-web_1 | manager.dispatch.init_failure(self, args, kwargs)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
lemur-web_1 | compat.reraise(exc_type, exc_value, exc_tb)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 187, in reraise
lemur-web_1 | raise value
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/sqlalchemy/orm/state.py", line 414, in _initialize_instance
lemur-web_1 | return manager.original_init(*mixed[1:], **kwargs)
lemur-web_1 | File "/usr/local/src/lemur/lemur/certificates/models.py", line 144, in __init__
lemur-web_1 | cert = lemur.common.utils.parse_certificate(kwargs['body'])
lemur-web_1 | File "/usr/local/src/lemur/lemur/common/utils.py", line 53, in parse_certificate
lemur-web_1 | return x509.load_pem_x509_certificate(body, default_backend())
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/cryptography/x509/base.py", line 43, in load_pem_x509_certificate
lemur-web_1 | return backend.load_pem_x509_certificate(data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1132, in load_pem_x509_certificate
lemur-web_1 | mem_bio = self._bytes_to_bio(data)
lemur-web_1 | File "/usr/local/src/lemur/venv/lib/python3.5/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 436, in _bytes_to_bio
lemur-web_1 | data_char_p = self._ffi.new("char[]", data)
lemur-web_1 | TypeError: 'NoneType' object cannot be interpreted as an integer
But those don't seem to be related to yours.
Edit: looks like this only happens when you use the CFSSL role. I'm just doing trial and error here, need to read into it.
Thanks @TheDJVG
+1
Those errors look like a configuration value is not being set for you authority of choice I would double check that you have all of those values filled out. Essentially lemur is trying to load a root/intermediate certificate for your authority but it's 'None'.
Hello,
Cloned a fresh copy of the repository, ran
docker-compose up
and the webinterface came up clean but I wasn't able to perform any actions.The logs spits out:
lemur-nginx_1 | 2018/04/03 19:37:42 [error] 7#7: *8 connect() failed (113: No route to host) while connecting to upstream, client: 172.17.0.1, server: lemur.io, request: "GET /api/1/auth/providers HTTP/1.1", upstream: "http://172.17.0.3:8000/api/1/auth/providers", host: "localhost"
And every minute or so docker-compuse keeps spitting this out:
I've removed all the images, volumes and containers multiple times but this keeps happening. As this was my first test on using Lemur I'm not able to debug yet (no knowledge of how it works yet).
Am I missing something?