Setting up swift-proxy on Bionic causes swift-proxy.service to fail at start with:
Feb 21 11:16:07 juju-29125a-0-lxd-15 systemd[1]: Stopped LSB: Swift proxy server.
Feb 21 11:16:07 juju-29125a-0-lxd-15 systemd[1]: swift-proxy.service: Failed to reset devices.list: Operation not permitted
Feb 21 11:16:07 juju-29125a-0-lxd-15 systemd[1]: Starting LSB: Swift proxy server...
Feb 21 11:16:07 juju-29125a-0-lxd-15 swift-proxy[41939]: * Starting Swift Swift proxy server swift-init proxy-server
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: Starting proxy-server...(/etc/swift/proxy-server.conf)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: Traceback (most recent call last):
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/bin/swift-proxy-server", line 23, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: sys.exit(run_wsgi(conf_file, 'proxy-server', **options))
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 912, in run_wsgi
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: loadapp(conf_path, global_conf=global_conf)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 390, in loadapp
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: ctx = loadcontext(loadwsgi.APP, conf_file, global_conf=global_conf)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 374, in loadcontext
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: global_conf=global_conf)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: global_conf=global_conf)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: return loader.get_context(object_type, name, global_conf)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 66, in get_context
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: object_type, name=name, global_conf=global_conf)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 450, in get_context
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: global_additions=global_additions)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 562, in _pipeline_app_context
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: for name in pipeline[:-1]]
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 66, in get_context
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: object_type, name=name, global_conf=global_conf)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 458, in get_context
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: section)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 517, in _context_from_explicit
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: value = import_string(found_expr)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 22, in import_string
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: return pkg_resources.EntryPoint.parse("x=" + s).load(False)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2324, in load
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: return self.resolve()
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2330, in resolve
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: module = __import__(self.module_name, fromlist=['__name__'], level=0)
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 221, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from keystoneauth1 import adapter
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 16, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from keystoneauth1 import session
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/keystoneauth1/session.py", line 40, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: import osprofiler.web as osprofiler_web
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/osprofiler/web.py", line 20, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from osprofiler import profiler
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/osprofiler/profiler.py", line 26, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from osprofiler import notifier
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/osprofiler/notifier.py", line 16, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from osprofiler.drivers import base
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/osprofiler/drivers/__init__.py", line 4, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from osprofiler.drivers import loginsight # noqa
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/osprofiler/drivers/loginsight.py", line 24, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from oslo_concurrency.lockutils import synchronized
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 27, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: import fasteners
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/fasteners/__init__.py", line 23, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from fasteners.lock import locked # noqa
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/fasteners/lock.py", line 24, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from fasteners import _utils
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/fasteners/_utils.py", line 22, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: from monotonic import monotonic as now # noqa
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: File "/usr/lib/python2.7/dist-packages/monotonic.py", line 164, in <module>
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: raise RuntimeError('no suitable implementation for this system')
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: RuntimeError: no suitable implementation for this system
Feb 21 11:16:08 juju-29125a-0-lxd-15 swift-proxy[41939]: ...fail!
Feb 21 11:16:08 juju-29125a-0-lxd-15 systemd[1]: Started LSB: Swift proxy server.
Charm options: storage: *swift- cluster- space -origin: *openstack-origin assignment: manual -power: *partition-power
swift-proxy:
charm: cs:swift-proxy
num_units: 3
bindings:
"": *oam-space
public: *public-space
admin: *admin-space
internal: *internal-space
swift-
options:
openstack
vip: *swift-proxy-vip
region: *openstack-region
zone-
partition
workers: *workers
to:
- lxd:0
- lxd:1
- lxd:2
Setting up swift-proxy on Bionic causes swift-proxy.service to fail at start with:
Feb 21 11:16:07 juju-29125a- 0-lxd-15 systemd[1]: Stopped LSB: Swift proxy server. 0-lxd-15 systemd[1]: swift-proxy. service: Failed to reset devices.list: Operation not permitted 0-lxd-15 systemd[1]: Starting LSB: Swift proxy server... 0-lxd-15 swift-proxy[41939]: * Starting Swift Swift proxy server swift-init proxy-server 0-lxd-15 swift-proxy[41939]: Starting proxy-server. ..(/etc/ swift/proxy- server. conf) 0-lxd-15 swift-proxy[41939]: Traceback (most recent call last): 0-lxd-15 swift-proxy[41939]: File "/usr/bin/ swift-proxy- server" , line 23, in <module> 0-lxd-15 swift-proxy[41939]: sys.exit( run_wsgi( conf_file, 'proxy-server', **options)) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ swift/common/ wsgi.py" , line 912, in run_wsgi 0-lxd-15 swift-proxy[41939]: loadapp(conf_path, global_ conf=global_ conf) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ swift/common/ wsgi.py" , line 390, in loadapp 0-lxd-15 swift-proxy[41939]: ctx = loadcontext( loadwsgi. APP, conf_file, global_ conf=global_ conf) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ swift/common/ wsgi.py" , line 374, in loadcontext 0-lxd-15 swift-proxy[41939]: global_ conf=global_ conf) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ paste/deploy/ loadwsgi. py", line 296, in loadcontext 0-lxd-15 swift-proxy[41939]: global_ conf=global_ conf) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ paste/deploy/ loadwsgi. py", line 320, in _loadconfig 0-lxd-15 swift-proxy[41939]: return loader. get_context( object_ type, name, global_conf) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ swift/common/ wsgi.py" , line 66, in get_context 0-lxd-15 swift-proxy[41939]: object_type, name=name, global_ conf=global_ conf) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ paste/deploy/ loadwsgi. py", line 450, in get_context 0-lxd-15 swift-proxy[41939]: global_ additions= global_ additions) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ paste/deploy/ loadwsgi. py", line 562, in _pipeline_ app_context 0-lxd-15 swift-proxy[41939]: for name in pipeline[:-1]] 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ swift/common/ wsgi.py" , line 66, in get_context 0-lxd-15 swift-proxy[41939]: object_type, name=name, global_ conf=global_ conf) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ paste/deploy/ loadwsgi. py", line 458, in get_context 0-lxd-15 swift-proxy[41939]: section) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ paste/deploy/ loadwsgi. py", line 517, in _context_ from_explicit 0-lxd-15 swift-proxy[41939]: value = import_ string( found_expr) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ paste/deploy/ loadwsgi. py", line 22, in import_string 0-lxd-15 swift-proxy[41939]: return pkg_resources. EntryPoint. parse(" x=" + s).load(False) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ pkg_resources/ __init_ _.py", line 2324, in load 0-lxd-15 swift-proxy[41939]: return self.resolve() 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ pkg_resources/ __init_ _.py", line 2330, in resolve 0-lxd-15 swift-proxy[41939]: module = __import_ _(self. module_ name, fromlist= ['__name_ _'], level=0) 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ keystonemiddlew are/auth_ token/_ _init__ .py", line 221, in <module> 0-lxd-15 swift-proxy[41939]: from keystoneauth1 import adapter 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ keystoneauth1/ adapter. py", line 16, in <module> 0-lxd-15 swift-proxy[41939]: from keystoneauth1 import session 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ keystoneauth1/ session. py", line 40, in <module> 0-lxd-15 swift-proxy[41939]: import osprofiler.web as osprofiler_web 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ osprofiler/ web.py" , line 20, in <module> 0-lxd-15 swift-proxy[41939]: from osprofiler import profiler 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ osprofiler/ profiler. py", line 26, in <module> 0-lxd-15 swift-proxy[41939]: from osprofiler import notifier 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ osprofiler/ notifier. py", line 16, in <module> 0-lxd-15 swift-proxy[41939]: from osprofiler.drivers import base 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ osprofiler/ drivers/ __init_ _.py", line 4, in <module> 0-lxd-15 swift-proxy[41939]: from osprofiler.drivers import loginsight # noqa 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ osprofiler/ drivers/ loginsight. py", line 24, in <module> 0-lxd-15 swift-proxy[41939]: from oslo_concurrenc y.lockutils import synchronized 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ oslo_concurrenc y/lockutils. py", line 27, in <module> 0-lxd-15 swift-proxy[41939]: import fasteners 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ fasteners/ __init_ _.py", line 23, in <module> 0-lxd-15 swift-proxy[41939]: from fasteners.lock import locked # noqa 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ fasteners/ lock.py" , line 24, in <module> 0-lxd-15 swift-proxy[41939]: from fasteners import _utils 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ fasteners/ _utils. py", line 22, in <module> 0-lxd-15 swift-proxy[41939]: from monotonic import monotonic as now # noqa 0-lxd-15 swift-proxy[41939]: File "/usr/lib/ python2. 7/dist- packages/ monotonic. py", line 164, in <module> 0-lxd-15 swift-proxy[41939]: raise RuntimeError('no suitable implementation for this system') 0-lxd-15 swift-proxy[41939]: RuntimeError: no suitable implementation for this system 0-lxd-15 swift-proxy[41939]: ...fail! 0-lxd-15 systemd[1]: Started LSB: Swift proxy server.
Feb 21 11:16:07 juju-29125a-
Feb 21 11:16:07 juju-29125a-
Feb 21 11:16:07 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Feb 21 11:16:08 juju-29125a-
Looking at errors for monotonic lib, I can find other references around github: /github. com/nameko/ nameko/ issues/ 533 /github. com/eventlet/ eventlet/ issues/ 401
https:/
https:/
Swift-proxy indeed depends on eventlet: 29125a- 0-lxd-15: ~# dpkg -l | grep eventlet
root@juju-
ii python-eventlet 0.20.0-4 all concurrent networking library - Python 2.x
And then the issue described at: https:/ /github. com/eventlet/ eventlet/ issues/ 401 applies.
Moving back to Xenial seems to stabilize swift proxy.