On 24 February 2016 at 22:18, Andrey Kurilin <akuri...@mirantis.com> wrote:
> Hi! > > >didn't work for me in this particular case because of a bug in novaclient > > Can you tell more about bug in novaclient or share a bug report? > > Sure - https://bugs.launchpad.net/python-novaclient/+bug/1494116 > On Wed, Feb 24, 2016 at 8:42 AM, Xav Paice <xavpa...@gmail.com> wrote: > >> fwiw, the second part of Monty's message is in the docs, sans region - it >> would be a fairly swift change to add that and I'll probably submit a >> gerrit for it soon. >> >> Regards os_client_config, >> http://docs.openstack.org/developer/os-client-config/ is great. >> Unfortunately it didn't work for me in this particular case because of a >> bug in novaclient, but that's beside the point - os_client_config is doing >> exactly the right thing and I'm really happy with that approach in most >> cases (and am changing some of our tooling to reflect that). >> >> On 24 February 2016 at 05:05, Matt Riedemann <mrie...@linux.vnet.ibm.com> >> wrote: >> >>> >>> >>> On 2/22/2016 8:02 AM, Monty Taylor wrote: >>> >>>> On 02/21/2016 11:40 PM, Andrey Kurilin wrote: >>>> >>>>> Hi! >>>>> `novaclient.client.Client` entry-point supports almost the same >>>>> arguments as `novaclient.v2.client.Client`. The difference is only in >>>>> api_version, so you can set up region via `novaclient.client.Client` in >>>>> the same way as `novaclient.v2.client.Client`. >>>>> >>>> >>>> The easiest way to get a properly constructed nova Client is with >>>> os-client-config: >>>> >>>> import os_client_config >>>> >>>> OS_PROJECT_NAME="d8af8a8f-a573-48e6-898a-af333b970a2d" >>>> OS_USERNAME="0b8c435b-cc4d-4e05-8a47-a2ada0539af1" >>>> OS_PASSWORD="REDACTED" >>>> OS_AUTH_URL="http://auth.vexxhost.net" >>>> OS_REGION_NAME="ca-ymq-1" >>>> >>>> client = os_client_config.make_client( >>>> 'compute', >>>> auth_url=OS_AUTH_URL, username=OS_USERNAME, >>>> password=OS_PASSWORD, project_name=OS_PROJECT_NAME, >>>> region_name=OS_REGION_NAME) >>>> >>>> The upside is that the constructor interface is the same for all of the >>>> rest of the client libs too (just change the first argument) - and it >>>> will also read in OS_ env vars or named clouds from clouds.yaml if you >>>> have them set. >>>> >>>> (The 'simplest' way is to put your auth and region information into a >>>> clouds.yaml file like this: >>>> >>>> >>>> http://docs.openstack.org/developer/os-client-config/#site-specific-file-locations >>>> >>>> >>>> Such as: >>>> >>>> # ~/.config/openstack/clouds.yaml >>>> clouds: >>>> vexxhost: >>>> profile: vexxhost >>>> auth: >>>> project_name: d8af8a8f-a573-48e6-898a-af333b970a2d >>>> username: 0b8c435b-cc4d-4e05-8a47-a2ada0539af1 >>>> password: REDACTED >>>> region_name: ca-ymq-1 >>>> >>>> >>>> And do: >>>> >>>> client = os_client_config.make_client('compute', cloud='vexxhost') >>>> >>>> >>>> If you don't want to do that for some reason but you'd like to construct >>>> a novaclient Client object by hand: >>>> >>>> >>>> from keystoneauth1 import loading >>>> from keystoneauth1 import session as ksa_session >>>> from novaclient import client as nova_client >>>> >>>> OS_PROJECT_NAME="d8af8a8f-a573-48e6-898a-af333b970a2d" >>>> OS_USERNAME="0b8c435b-cc4d-4e05-8a47-a2ada0539af1" >>>> OS_PASSWORD="REDACTED" >>>> OS_AUTH_URL="http://auth.vexxhost.net" >>>> OS_REGION_NAME="ca-ymq-1" >>>> >>>> # Get the auth loader for the password auth plugin >>>> loader = loading.get_plugin_loader('password') >>>> # Construct the auth plugin >>>> auth_plugin = loader.load_from_options( >>>> auth_url=OS_AUTH_URL, username=OS_USERNAME, password=OS_PASSWORD, >>>> project_name=OS_PROJECT_NAME) >>>> >>>> # Construct a keystone session >>>> # Other arguments that are potentially useful here are: >>>> # verify - bool, whether or not to verify SSL connection validity >>>> # cert - SSL cert information >>>> # timout - time in seconds to use for connection level TCP timeouts >>>> session = ksa_session.Session(auth_plugin) >>>> >>>> # Now make the client >>>> # Other arguments you may be interested in: >>>> # service_name - if you need to specify a service name for finding the >>>> # right service in the catalog >>>> # service_type - if the cloud in question has given a different >>>> # service type (should be 'compute' for nova - but >>>> # novaclient sets it, so it's safe to omit in most cases >>>> # endpoint_override - if you want to tell it to use a different URL >>>> # than what the keystone catalog returns >>>> # endpoint_type - if you need to specify admin or internal >>>> # endpoints rather than the default 'public' >>>> # Note that in glance and barbican, this key is called >>>> # 'interface' >>>> client = nova_client.Client( >>>> version='2.0', # or set the specific microversion you want >>>> session=session, region_name=OS_REGION_NAME) >>>> >>>> It might be clear why I prefer the os_client_config factory function >>>> instead - but what I prefer and what you prefer might not be the same >>>> thing. :) >>>> >>>> On Mon, Feb 22, 2016 at 6:11 AM, Xav Paice <xavpa...@gmail.com >>>>> <mailto:xavpa...@gmail.com>> wrote: >>>>> >>>>> Hi, >>>>> >>>>> In http://docs.openstack.org/developer/python-novaclient/api.html >>>>> it's got some pretty clear instructions not to >>>>> use novaclient.v2.client.Client but I can't see another way to >>>>> specify the region - there's more than one in my installation, and >>>>> no param for region in novaclient.client.Client >>>>> >>>>> Shall I hunt down/write a blueprint for that? >>>>> >>>>> >>>>> >>>>> __________________________________________________________________________ >>>>> >>>>> OpenStack Development Mailing List (not for usage questions) >>>>> Unsubscribe: >>>>> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>>> >>>>> <http://openstack-dev-requ...@lists.openstack.org?subject:unsubscribe> >>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Best regards, >>>>> Andrey Kurilin. >>>>> >>>>> >>>>> >>>>> __________________________________________________________________________ >>>>> >>>>> OpenStack Development Mailing List (not for usage questions) >>>>> Unsubscribe: >>>>> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>> >>>>> >>>> >>>> >>>> __________________________________________________________________________ >>>> OpenStack Development Mailing List (not for usage questions) >>>> Unsubscribe: >>>> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>> >>>> >>> <cough> would be good to capture this in the docs for novaclient so we >>> could just link to it </cough> >>> >>> :) >>> >>> -- >>> >>> Thanks, >>> >>> Matt Riedemann >>> >>> >>> >>> >>> __________________________________________________________________________ >>> OpenStack Development Mailing List (not for usage questions) >>> Unsubscribe: >>> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>> >> >> >> __________________________________________________________________________ >> OpenStack Development Mailing List (not for usage questions) >> Unsubscribe: >> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> > > > -- > Best regards, > Andrey Kurilin. > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > >
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev