Build fixes and improvements
Improvements:
- Mount src volume inside docker-compose to allow for changes instantly inside the container
Bugfixes:
- Replace cache with redis in .env variables
INVENIO_CACHE_REDIS_HOST
andINVENIO_RATELIMIT_STORAGE_URL
- Mkdir nginx/tls before writing keys to it
- Downgrade marshmallow version from the current==3.2.1 to the previous functional one ==2.19.2. (Required from invenio-rest 1.0.0, which requires marshmallow >=2.5.0
Reason:
[2019-10-22 10:08:23,357] ERROR in app: Exception on /records/ [GET]
Traceback (most recent call last):
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask/app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask/app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask_cors/extension.py", line 161, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask/app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask/views.py", line 89, in view
return self.dispatch_request(*args, **kwargs)
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_rest/views.py", line 240, in dispatch_request
*args, **kwargs
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/flask/views.py", line 163, in dispatch_request
return meth(*args, **kwargs)
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_records_rest/views.py", line 423, in need_record_permission_decorator
return f(self, record=record, *args, **kwargs)
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_records_rest/views.py", line 557, in get
item_links_factory=self.item_links_factory,
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_rest/views.py", line 221, in make_response
return serializer(*args, **kwargs)
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_records_rest/serializers/response.py", line 56, in view
item_links_factory=item_links_factory),
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_records_rest/serializers/json.py", line 62, in serialize_search
) for hit in search_result['hits']['hits']],
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_records_rest/serializers/json.py", line 62, in <listcomp>
) for hit in search_result['hits']['hits']],
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_records_rest/serializers/marshmallow.py", line 43, in transform_search_hit
links_factory=links_factory, **kwargs), context)
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/invenio_records_rest/serializers/marshmallow.py", line 28, in dump
return self.schema_class(context=context).dump(obj).data
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/marshmallow/schema.py", line 557, in dump
POST_DUMP, result, many=many, original_data=obj
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/marshmallow/schema.py", line 1053, in _invoke_dump_processors
tag, pass_many=False, data=data, many=many, original_data=original_data
File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/marshmallow/schema.py", line 1216, in _invoke_processors
data = processor(data, many=many, **kwargs)
TypeError: remove_base64() got an unexpected keyword argument 'many'
[pid: 21978|app: 0|req: 153/14644] 10.76.27.1 () {56 vars in 1020 bytes} [Tue Oct 22 10:08:22 2019] GET //api/records/?q= => generated 228 bytes in 1225 msecs (HTTP/1.1 500) 15 headers in 727 bytes (1 switches on core 2)