Hi, I'm investigating using libcloudspawner as a way of making use of an OpenStack cloud infrastructure I have access to. I installed libcloudspawner through Pip and when I select an image through the drop downs, I get the following error message:
[E 2019-07-31 13:56:04.999 JupyterHub user:477] Unhandled error starting xfu59478's server: {"error": {"message": "get_version_v3() got an unexpected keyword argument 'credentials'", "code": 400, "title": "Bad Request"}}
[E 2019-07-31 13:56:05.073 JupyterHub pages:148] Failed to spawn single-user server with form
Traceback (most recent call last):
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/jupyterhub/handlers/pages.py", line 146, in post
await self.spawn_single_user(user, options=options)
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/jupyterhub/handlers/base.py", line 715, in spawn_single_user
timedelta(seconds=self.slow_spawn_timeout), finish_spawn_future
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/jupyterhub/handlers/base.py", line 636, in finish_user_spawn
await spawn_future
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/jupyterhub/user.py", line 489, in spawn
raise e
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/jupyterhub/user.py", line 409, in spawn
url = await gen.with_timeout(timedelta(seconds=spawner.start_timeout), f)
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloudspawner/spawner.py", line 236, in start
self.user_options_from_form)
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloudspawner/manager/nodemanager.py", line 251, in create_machine
node_conf['image'] = self._get_image(imagename)
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloudspawner/manager/nodemanager.py", line 90, in _get_image
images = self.driver.list_images()
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloud/compute/drivers/openstack.py", line 364, in list_images
self.connection.request('/images/detail').object, ex_only_active)
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloud/common/openstack.py", line 224, in request
raw=raw)
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloud/common/base.py", line 534, in request
action = self.morph_action_hook(action)
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloud/common/openstack.py", line 291, in morph_action_hook
self._populate_hosts_and_request_paths()
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloud/common/openstack.py", line 325, in _populate_hosts_and_request_paths
osa = osa.authenticate(**kwargs) # may throw InvalidCreds
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloud/common/openstack_identity.py", line 808, in authenticate
method='POST')
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloud/common/base.py", line 636, in request
response = responseCls(**kwargs)
File "/home/xfu59478/jupyterhub/venv3.6/lib64/python3.6/site-packages/libcloud/common/base.py", line 153, in __init__
headers=self.headers)
libcloud.common.exceptions.BaseHTTPError: {"error": {"message": "get_version_v3() got an unexpected keyword argument 'credentials'", "code": 400, "title": "Bad Request"}}
c.JupyterHub.spawner_class = 'libcloudspawner.spawner.LibcloudSpawner'
c.LibcloudSpawner.cloud_url = "https://mydomainname.com:4565/v3"
c.LibcloudSpawner.cloud_user = "myuser"
c.LibcloudSpawner.cloud_userpassword = "mypassword"
c.LibcloudSpawner.cloud_project = "myproject"
c.LibcloudSpawner.libcloudparams = {"arg_user_id": "myuser",
"arg_key": "secret",
"ex_force_auth_url": "https://openstack.stfc.ac.uk:5000/v3",
"ex_tenant_name": "myproject",
"ex_domain_name": "default"
}
c.LibcloudSpawner.machine_sizes = [("1 CPU, 1GB RAM", "m1.tiny"),
("2 CPUs, 4GB RAM", "c3.small")]
c.LibcloudSpawner.machine_images = [("Centos-7", "Centos-7"),
("SL7 GUI", "ScientificLinux-7-Gui")]
As you can see, there are a few parameters that I haven't set as I'm not sure what they should be set to.
Have you had anyone else have experiences or any suggestions on how I can move forwards?
Thanks very much!