summaryrefslogtreecommitdiff
path: root/openstackclient/compute/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/compute/client.py')
-rw-r--r--openstackclient/compute/client.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/openstackclient/compute/client.py b/openstackclient/compute/client.py
new file mode 100644
index 00000000..ef0ceb38
--- /dev/null
+++ b/openstackclient/compute/client.py
@@ -0,0 +1,32 @@
+import logging
+
+from novaclient import client as nova_client
+
+LOG = logging.getLogger(__name__)
+
+
+def make_client(instance):
+ """Returns a compute service client.
+ """
+ LOG.debug('instantiating compute client')
+ # FIXME(dhellmann): Where is the endpoint value used?
+ # url = instance.get_endpoint_for_service_type('compute')
+ client = nova_client.Client(
+ version=instance._compute_api_version,
+ username=instance._username,
+ api_key=instance._password,
+ project_id=instance._tenant_name,
+ auth_url=instance._auth_url,
+ # FIXME(dhellmann): add constructor argument for this
+ insecure=False,
+ region_name=instance._region_name,
+ # FIXME(dhellmann): get endpoint_type from option?
+ endpoint_type='publicURL',
+ # FIXME(dhellmann): add extension discovery
+ extensions=[],
+ service_type='compute',
+ # FIXME(dhellmann): what is service_name?
+ service_name='',
+ )
+ client.authenticate()
+ return client