Skip to content
Permalink
Browse files

OpenStack: allow *all* parameters to be set through the environment.

Fixes #606
  • Loading branch information...
riccardomurri committed Feb 14, 2019
1 parent 2be2823 commit db795967119c1d44acaafd21fbd537d44e81d72f
Showing with 26 additions and 2 deletions.
  1. +8 −0 docs/configure.rst
  2. +18 −2 elasticluster/providers/openstack.py
@@ -482,6 +482,14 @@ For Google Compute Engine you can use::
gce_client_secret=****REPLACE WITH YOUR SECRET KEY****
gce_project_id=****REPLACE WITH YOUR PROJECT ID****

In order to connect to an OpenStack instance, source the "openrc" file
(v2 or v3) that you can download from the web interface, and use the
following simple configuration stanza::

[cloud/openstack]
provider=openstack
# any other value is taken from the environment

If you would want to use libcloud to connect to openstack using password authentication
you can configure the following::

@@ -3,7 +3,7 @@
# @(#)openstack.py
#
#
# Copyright (C) 2013, 2015 S3IT, University of Zurich. All rights reserved.
# Copyright (C) 2013, 2015, 2019 S3IT, University of Zurich. All rights reserved.
#
#
# This program is free software; you can redistribute it and/or modify it
@@ -129,14 +129,30 @@ class OpenStackCloudProvider(AbstractCloudProvider):
or `None` (default, meaning try v3 first and fall-back to v2).
:param cacert: Path to CA certificate bundle (for verifying HTTPS sessions)
or ``None`` to use the systems' default.
Parameters *username*, *password*, *user_domain_name*,
*project_name*, *project_domain_name*, and *region_name* will be
taken from the environment if not provided. Similarly,
environmental variables can be used to set values for the
preferred version of identity, compute, image, network, and volume
API to use.
In all these cases, any value explicitly passed to the constructor
takes precedence over the corresponding environmental variable,
which in turn takes precedence over the default value in the class
(if any).
"""

__node_start_lock = threading.Lock()
"""
Lock used for node startup.
"""

def __init__(self, username, password, project_name, auth_url,
def __init__(self,
username=None,
password=None,
project_name=None,
auth_url=None,
user_domain_name="default", project_domain_name="default",
region_name=None, storage_path=None,
request_floating_ip=False,

0 comments on commit db79596

Please sign in to comment.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.