<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Dear Qiu,<br>
<br>
Thank you so much. The patch in the first URL is not applicable as i see that the httpclient.py does not resemble the code given there.<br>
But surely, second patch "<a href="https://review.openstack.org/#/c/69628/" target="_blank">https://review.openstack.org/#/c/69628/</a>" did wonders and it worked well.<br>
<br>
In the mean time, i did a heck like passing a variable from keystoneclient/v3/projects.py all the way to the keystoneclient/httpclient.py
<br>
and in the httpclient,py i had checked that if this variable is there, then do not change the management_url to v2 like<br>
<br>
from code <br>
<br>
def _cs_request(self, url, method, **kwargs):<br>
<br>
        if is_management:<br>
            url_to_use = self.management_url<br>
<br>
to <br>
<br>
def _cs_request(self, url, method, **kwargs):<br>
        management_is = None<br>
        if 'management_is' in kwargs:<br>
            management_is = kwargs['management_is']<br>
            del kwargs['management_is']<br>
        if is_management and (management_is == None):<br>
            url_to_use = self.management_url<br>
<br>
This one also worked, but your solution is definitely better than my hack.<br>
<br>
Thanks once again,<br>
Regards,<br>
Vinod Kumar Boppanna<br>
<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF254894"><font color="#000000" size="2" face="Tahoma"><b>From:</b> Qiu Yu [unicell@gmail.com]<br>
<b>Sent:</b> 07 February 2014 04:41<br>
<b>To:</b> Vinod Kumar Boppanna<br>
<b>Cc:</b> openstack@lists.openstack.org<br>
<b>Subject:</b> Re: [Openstack] Problem in Nova trying to take data from keystone using v3<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">
<div>Keystoneclient isn't doing very well regarding version negotiation. So my guess on the problem you met is that there're multiple identity service defined in your deployment, and keystoneclient falls back to use default v2.0 for management url.</div>
<div><br>
</div>
<div>To fix it, configure only one identity service for v3. Or, apply ugly hacks in keystoneclient, such as</div>
<div><br>
</div>
<div><a href="https://review.openstack.org/#/c/62801/" target="_blank">https://review.openstack.org/#/c/62801/</a><br>
</div>
<div><a href="https://review.openstack.org/#/c/69628/" target="_blank">https://review.openstack.org/#/c/69628/</a><br>
</div>
<div><br>
</div>
<div>Thanks!</div>
<div class="gmail_extra">
<div>--<br>
Qiu Yu</div>
<br>
<br>
<div class="gmail_quote">On Fri, Feb 7, 2014 at 1:04 AM, Vinod Kumar Boppanna <span dir="ltr">
<<a href="mailto:vinod.kumar.boppanna@cern.ch" target="_blank">vinod.kumar.boppanna@cern.ch</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-color:rgb(204,204,204); border-left-style:solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">Dear All,<br>
<br>
I was trying to get the list of project for a domain in nova by connecting to the keystone using V3 auth tokens, but i am facing problem.<br>
<br>
project_list = []<br>
auth_url = "http://<ip of keystone endpoint>:35357/v3/"<br>
keystone = client.Client(token=context.auth_token,<br>
                                 auth_url=auth_url,<br>
                                 project_id = context.project_id)<br>
<br>
project_list = keystone.projects.list(domain=context.domain_id)<br>
<br>
The first step of authentication is getting successfully completed (as seen in logs)
<br>
<br>
urllib3.connectionpool [-] "POST /v3/auth/tokens HTTP/1.1" 201 7351 _make_request /usr/lib/python2.6/site-packages/urllib3/connectionpool.py:295<br>
<br>
But when it is trying to retrieve the project list, it is using v2 instead of v3 like<br>
<br>
GET /v2.0/projects?domain_id=default HTTP/1.1"<br>
<br>
The problem is why the keystone client is using v2 for data and v3 for authentication. Should i say some where to use V3 for data as well.
<br>
<br>
How can i say to use /v3/projects?domain_id=default  instead of v2.0?<br>
<br>
Thanks & Regards,<br>
Vinod Kumar Boppanna<br>
<br>
</div>
</div>
<br>
_______________________________________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org" target="_blank">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</body>
</html>