summaryrefslogtreecommitdiff
path: root/openstackclient/compute/client.py
diff options
context:
space:
mode:
authorDoug Hellmann <doug.hellmann@dreamhost.com>2012-05-02 17:02:08 -0400
committerDoug Hellmann <doug.hellmann@dreamhost.com>2012-05-04 09:35:40 -0400
commit5e4032150d360a305397e0220e51c5a66f2f5313 (patch)
tree77ca626617774880f4eda5fa3143f0c9add642e3 /openstackclient/compute/client.py
parentb5a809d8e39e856a4b5e60383f5f35065a48fd12 (diff)
downloadpython-openstackclient-5e4032150d360a305397e0220e51c5a66f2f5313.tar.gz
Fix "help" command and implement "list server" and "show server"
blueprint client-manager blueprint nova-client bug 992841 Move the authentication logic into a new ClientManager class so that only commands that need to authenticate will trigger that code. Implement "list server" and "show server" commands as examples of using the ClientManager, Lister, and ShowOne classes. Change-Id: I9845b70b33bae4b193dbe41871bf0ca8e286a727
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