Hello, Joe It is bug, "region_name" is not used as should be. Feel free to file a bug for it.
Kind Regards Valeriy Ponomaryov On Thu, Apr 30, 2015 at 8:23 PM, Joe Meadows <joe.mead...@hds.com> wrote: > Hi, > > I work for Hitachi Data Systems (HDS) and am developing Manila support for > our HNAS line of NAS server. The HNAS server has an internal REST server > so I am implementing the Manila API natively on the server. For various > reasons this is a better fit than the standard Python driver implementation. > > This implementation means that each HNAS server is its own endpoint so it > gets added to Keystone as an endpoint using the Manila service Id. I am > using regions to distinguish between multiple HNAS servers or other Manila > endpoints. Therefore, when I add each HNAS endpoint I give that endpoint a > unique region name. > > Initially this worked exactly as expected when using a Manila client that > I installed from GitHub following the instructions at > http://netapp.github.io/openstack/2014/08/15/manila-devstack/ > <https://urldefense.proofpoint.com/v2/url?u=http-3A__netapp.github.io_openstack_2014_08_15_manila-2Ddevstack_&d=AwMGaQ&c=DZ-EF4pZfxGSU6MfABwx0g&r=zHvLuN-cA8dJrDKv-7gpbBCgBAKPaAzJfG6sccaIdHHNpjwlcFjsdjPhFr9XPGnV&m=V37u0qx0ILzWPG7XsUs5_D2uR6KRjHYV2vSQ20UQnEA&s=gagpiobFCwxAaoXUTt9lRA6-g4vNiC_VDR-TQDX8IR0&e=>. > > <https://urldefense.proofpoint.com/v2/url?u=http-3A__netapp.github.io_openstack_2014_08_15_manila-2Ddevstack_&d=AwMGaQ&c=DZ-EF4pZfxGSU6MfABwx0g&r=zHvLuN-cA8dJrDKv-7gpbBCgBAKPaAzJfG6sccaIdHHNpjwlcFjsdjPhFr9XPGnV&m=V37u0qx0ILzWPG7XsUs5_D2uR6KRjHYV2vSQ20UQnEA&s=gagpiobFCwxAaoXUTt9lRA6-g4vNiC_VDR-TQDX8IR0&e=>For > example, I could do 'manila --os-region-name HNAS1 list' and the request > would route to the correct endpoint (i.e. HNAS server). This Manila client > shows version 1.0.2. > > Recently I tried this setup on another developer's OpenStack installation > and the region name was ignored, though this client also claimed to be > version 1.0.2. Next I used pip to install python-manilaclient onto another > machine, version 1.1.0, and again the region is ignored. > > I stepped through the client code and found that when > v1/client.py::__init__() searches for an endpoint it always takes the first > one, never checking the region. > > I made a small change which makes the client behave how I'd like it to. > If region is not specified it retains the original behavior of returning > the first endpoint. If a region is specified then it will return the first > endpoint with a matching region. The patch is below, my changes are > between the #JAMJAM comments. > > --- a/client.py 2015-04-22 16:05:10.000000000 -0700 > +++ b/client.py 2015-04-22 16:00:56.000000000 -0700 > @@ -142,10 +142,21 @@ > service_type) > > if service_type in catalog: > - for e_type, endpoint in > catalog.get(service_type)[0].items(): > - if str(e_type).lower() == str(endpoint_type).lower(): > - service_catalog_url = endpoint > - break > + # JAMJAM START > + srvCat=catalog.get(service_type) > + for catalogEntry in srvCat: > + if region_name != "": > + region=catalogEntry.get("region") > + if region != region_name: > + continue; > + #for e_type, endpoint in > catalog.get(service_type)[0].items(): > + # JAMJAM END > + for e_type, endpoint in catalogEntry.items(): > + if str(e_type).lower() == > str(endpoint_type).lower(): > + service_catalog_url = endpoint > + break > + if service_catalog_url: > + break > > if not service_catalog_url: > raise RuntimeError("Could not find Manila endpoint in > catalog") > > So now, the obvious questions are; Is there already a way to specify a > region that the Manila client will honor? Is this patch fixing something? > Is this not a valid use of regions for Manila? > > Many thanks in advance > Joe Meadows > HNAS Engineering > Hitachi Data Systems > > > __________________________________________________________________________ > 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