From 69f4597bf1232bf4c3a37f2516a48fd185a1d0cd Mon Sep 17 00:00:00 2001 From: Clenimar Filemon Date: Fri, 6 May 2016 21:06:04 -0300 Subject: Update doc examples to use keystoneauth As keystoneclient's Session and auth plugins have been deprecated in favor of keystoneauth, the documentation examples must reflect that. This patch updates all examples in order to show keystoneauth Session usage instead of deprecated keystoneclient Session. Also, the python API bindings were updated too. Change-Id: I4b64fee4f526cc5b4a5e36cc8edb61164ceded51 --- doc/examples/recordset_create.py | 8 ++-- doc/examples/recordset_crud.py | 8 ++-- doc/examples/zone_create_primary.py | 8 ++-- doc/examples/zone_create_secondary.py | 8 ++-- doc/examples/zone_list_nameservers.py | 8 ++-- doc/examples/zone_list_paging.py | 8 ++-- doc/source/bindings.rst | 79 ++++++++++++++++++++++++----------- 7 files changed, 85 insertions(+), 42 deletions(-) (limited to 'doc') diff --git a/doc/examples/recordset_create.py b/doc/examples/recordset_create.py index 40047a5..1bad60f 100644 --- a/doc/examples/recordset_create.py +++ b/doc/examples/recordset_create.py @@ -5,8 +5,8 @@ from designateclient.v2 import client from designateclient import exceptions from designateclient import shell -from keystoneclient.auth.identity import generic -from keystoneclient import session as keystone_session +from keystoneauth1.identity import generic +from keystoneauth1 import session as keystone_session logging.basicConfig(level='DEBUG') @@ -20,7 +20,9 @@ auth = generic.Password( auth_url=shell.env('OS_AUTH_URL'), username=shell.env('OS_USERNAME'), password=shell.env('OS_PASSWORD'), - tenant_name=shell.env('OS_TENANT_NAME')) + project_name=shell.env('OS_PROJECT_NAME'), + project_domain_id='default', + user_domain_id='default') session = keystone_session.Session(auth=auth) diff --git a/doc/examples/recordset_crud.py b/doc/examples/recordset_crud.py index 35f554f..f00e41e 100644 --- a/doc/examples/recordset_crud.py +++ b/doc/examples/recordset_crud.py @@ -4,8 +4,8 @@ from designateclient.v2 import client from designateclient import exceptions from designateclient import shell -from keystoneclient.auth.identity import generic -from keystoneclient import session as keystone_session +from keystoneauth1.identity import generic +from keystoneauth1 import session as keystone_session logging.basicConfig(level='DEBUG') @@ -14,7 +14,9 @@ auth = generic.Password( auth_url=shell.env('OS_AUTH_URL'), username=shell.env('OS_USERNAME'), password=shell.env('OS_PASSWORD'), - tenant_name=shell.env('OS_TENANT_NAME')) + project_name=shell.env('OS_PROJECT_NAME'), + project_domain_id='default', + user_domain_id='default') session = keystone_session.Session(auth=auth) diff --git a/doc/examples/zone_create_primary.py b/doc/examples/zone_create_primary.py index 6185769..91d822c 100644 --- a/doc/examples/zone_create_primary.py +++ b/doc/examples/zone_create_primary.py @@ -6,8 +6,8 @@ from designateclient import exceptions from designateclient import shell from designateclient.v2 import client -from keystoneclient.auth.identity import generic -from keystoneclient import session as keystone_session +from keystoneauth1.identity import generic +from keystoneauth1 import session as keystone_session logging.basicConfig(level='DEBUG') @@ -16,7 +16,9 @@ auth = generic.Password( auth_url=shell.env('OS_AUTH_URL'), username=shell.env('OS_USERNAME'), password=shell.env('OS_PASSWORD'), - tenant_name=shell.env('OS_TENANT_NAME')) + project_name=shell.env('OS_PROJECT_NAME'), + project_domain_id='default', + user_domain_id='default') session = keystone_session.Session(auth=auth) diff --git a/doc/examples/zone_create_secondary.py b/doc/examples/zone_create_secondary.py index ce9da1e..876d1ba 100644 --- a/doc/examples/zone_create_secondary.py +++ b/doc/examples/zone_create_secondary.py @@ -1,8 +1,8 @@ import logging import uuid -from keystoneclient.auth.identity import generic -from keystoneclient import session as keystone_session +from keystoneauth1.identity import generic +from keystoneauth1 import session as keystone_session from designateclient import exceptions from designateclient import shell @@ -15,7 +15,9 @@ auth = generic.Password( auth_url=shell.env('OS_AUTH_URL'), username=shell.env('OS_USERNAME'), password=shell.env('OS_PASSWORD'), - tenant_name=shell.env('OS_TENANT_NAME')) + project_name=shell.env('OS_PROJECT_NAME'), + project_domain_id='default', + user_domain_id='default') session = keystone_session.Session(auth=auth) diff --git a/doc/examples/zone_list_nameservers.py b/doc/examples/zone_list_nameservers.py index f1a1e61..1ee4f8e 100644 --- a/doc/examples/zone_list_nameservers.py +++ b/doc/examples/zone_list_nameservers.py @@ -5,8 +5,8 @@ from designateclient.v2 import client from designateclient import shell from designateclient import utils -from keystoneclient.auth.identity import generic -from keystoneclient import session as keystone_session +from keystoneauth1.identity import generic +from keystoneauth1 import session as keystone_session logging.basicConfig(level='DEBUG') @@ -15,7 +15,9 @@ auth = generic.Password( auth_url=shell.env('OS_AUTH_URL'), username=shell.env('OS_USERNAME'), password=shell.env('OS_PASSWORD'), - tenant_name=shell.env('OS_TENANT_NAME')) + project_name=shell.env('OS_PROJECT_NAME'), + project_domain_id='default', + user_domain_id='default') session = keystone_session.Session(auth=auth) diff --git a/doc/examples/zone_list_paging.py b/doc/examples/zone_list_paging.py index ee9f21b..f62f6d9 100644 --- a/doc/examples/zone_list_paging.py +++ b/doc/examples/zone_list_paging.py @@ -1,8 +1,8 @@ from __future__ import print_function import logging -from keystoneclient.auth.identity import generic -from keystoneclient import session as keystone_session +from keystoneauth1.identity import generic +from keystoneauth1 import session as keystone_session from designateclient import shell from designateclient.v2 import client @@ -13,7 +13,9 @@ auth = generic.Password( auth_url=shell.env('OS_AUTH_URL'), username=shell.env('OS_USERNAME'), password=shell.env('OS_PASSWORD'), - tenant_name=shell.env('OS_TENANT_NAME')) + project_name=shell.env('OS_PROJECT_NAME'), + project_domain_id='default', + user_domain_id='default') session = keystone_session.Session(auth=auth, timeout=10) diff --git a/doc/source/bindings.rst b/doc/source/bindings.rst index 739a504..fdaef0c 100644 --- a/doc/source/bindings.rst +++ b/doc/source/bindings.rst @@ -3,7 +3,7 @@ Python Bindings - v1 and v2 =========================== The python-designateclient package comes with python bindings for both versions -of the Designate API: v1 and v2. These can be used to interact with the Designate +of the Designate API: v1 and v2. These can be used to interact with the Designate API from any python program. Introduction - Bindings v2 @@ -17,14 +17,17 @@ To view examples of usage please checkout the *doc/examples* folder, basic usage from designateclient.v2 import client from designateclient import shell - from keystoneclient.auth.identity import generic - from keystoneclient import session as keystone_session + from keystoneauth1.identity import generic + from keystoneauth1 import session as keystone_session + auth = generic.Password( auth_url=shell.env('OS_AUTH_URL'), username=shell.env('OS_USERNAME'), password=shell.env('OS_PASSWORD'), - tenant_name=shell.env('OS_TENANT_NAME')) + project_name=shell.env('OS_PROJECT_NAME'), + project_domain_id='default', + user_domain_id='default') session = keystone_session.Session(auth=auth) @@ -46,13 +49,15 @@ the bindings. from __future__ import print_function from designateclient.v1 import Client + # Create an instance of the client, providing the necessary credentials client = Client( - auth_url="https://example.com:5000/v2.0/", - username="openstack", - password="yadayada", - tenant_id="123456789" - ) + auth_url="https://example.com:5000/v3/", + username="openstack", + password="yadayada", + project_name="myproject", + project_domain_id='default', + user_domain_id='default') # Fetch a list of the domains this user/tenant has access to domains = client.domains.list() @@ -78,7 +83,10 @@ Designate supports either Keystone authentication, or no authentication at all. Keystone Authentication ----------------------- -Below is a sample of standard authentication with keystone: +Below is a sample of standard authentication with keystone using keystoneauth +Sessions. For more information on keystoneauth API, see `Using Sessions`_. + +.. _Using Sessions: http://docs.openstack.org/developer/keystoneauth/using-sessions.html .. code-block:: python @@ -86,13 +94,24 @@ Below is a sample of standard authentication with keystone: from designateclient.v1 import Client - # Create an instance of the client, providing the necessary credentials - client = Client( - auth_url="https://example.com:5000/v2.0/", - username="openstack", - password="yadayada", - tenant_id="123456789" - ) + from keystoneauth1.identity import generic + from keystoneauth1 import session as keystone_session + + + # Create an authentication plugin providing the necessary credentials + auth = generic.Password( + auth_url="https://example.com:5000/v3/", + username="openstack", + password="yadayada", + project_name="myproject", + project_domain_id='default', + user_domain_id='default' + ) + + session = keystone_session.Session(auth=auth) + + # Create an instance of the client, providing a keystoneauth Session + client = Client(session=session) Below is a sample of standard authentication with keystone, but also explicitly providing the endpoint to use: @@ -106,14 +125,26 @@ providing the endpoint to use: from designateclient.v1 import Client - # Create an instance of the client, providing the necessary credentials + from keystoneauth1.identity import generic + from keystoneauth1 import session as keystone_session + + + # Create an authentication plugin providing the necessary credentials + auth = generic.Password( + auth_url="https://example.com:5000/v3/", + username="openstack", + password="yadayada", + project_name="myproject", + project_domain_id='default', + user_domain_id='default') + + session = keystone_session.Session(auth=auth) + + # Create an instance of the client, providing a keystoneauth Session client = Client( - auth_url="https://example.com:5000/v2.0/", - username="openstack", - password="yadayada", - tenant_id="123456789", - endpoint="https://127.0.0.1:9001/v1/" - ) + session=session, + endpoint="https://127.0.0.1:9001/v1/") + No Authentication ----------------- -- cgit v1.2.1