<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
I currently have OpenStack installed (using the ManagedIT PPA) to use Keystone for authentication.  However I'm still receiving a number of "Malformed request URL" messages, both in Dashboard as well as when using the Nova command line client.  Also, some of
 the Euca2ools command run OK, others (such as euca-describe-images) don't.  I'm aware that not all the Euca commands are supported in Diablo, but currently I don't have any commands that let me launch instances.
<div><br>
</div>
<div>For example:  euca-describe-availability-zones verbose yields</div>
<div><br>
</div>
<div>
<div><font class="Apple-style-span" face="Courier">root@nova:~# euca-describe-availability-zones verbose</font></div>
<div><font class="Apple-style-span" face="Courier">AVAILABILITYZONE<span class="Apple-tab-span" style="white-space:pre">
</span>nova<span class="Apple-tab-span" style="white-space:pre"> </span>available</font></div>
<div><font class="Apple-style-span" face="Courier">AVAILABILITYZONE<span class="Apple-tab-span" style="white-space:pre">
</span>|- nova<span class="Apple-tab-span" style="white-space:pre"> </span></font></div>
<div><font class="Apple-style-span" face="Courier">AVAILABILITYZONE<span class="Apple-tab-span" style="white-space:pre">
</span>| |- nova-network<span class="Apple-tab-span" style="white-space:pre"> </span>
enabled :-) 2012-02-06 22:15:16</font></div>
<div><font class="Apple-style-span" face="Courier">AVAILABILITYZONE<span class="Apple-tab-span" style="white-space:pre">
</span>| |- nova-scheduler<span class="Apple-tab-span" style="white-space:pre"> </span>
enabled :-) 2012-02-06 22:15:15</font></div>
<div><font class="Apple-style-span" face="Courier">AVAILABILITYZONE<span class="Apple-tab-span" style="white-space:pre">
</span>| |- nova-vncproxy<span class="Apple-tab-span" style="white-space:pre"> </span>
enabled :-) 2012-02-06 22:15:14</font></div>
<div><font class="Apple-style-span" face="Courier">AVAILABILITYZONE<span class="Apple-tab-span" style="white-space:pre">
</span>| |- nova-compute<span class="Apple-tab-span" style="white-space:pre"> </span>
enabled :-) 2012-02-06 22:15:07</font></div>
<div><font class="Apple-style-span" face="Courier">AVAILABILITYZONE<span class="Apple-tab-span" style="white-space:pre">
</span>|- nova1<span class="Apple-tab-span" style="white-space:pre"> </span></font></div>
<div><font class="Apple-style-span" face="Courier">AVAILABILITYZONE<span class="Apple-tab-span" style="white-space:pre">
</span>| |- nova-compute<span class="Apple-tab-span" style="white-space:pre"> </span>
enabled :-) 2012-02-06 22:15:08</font></div>
</div>
<div><br>
</div>
<div>however, euca-describe-images yields (with debug enabled)</div>
<div><br>
</div>
<div>
<div><font class="Apple-style-span" face="Courier">root@nova:~# euca-describe-images --debug</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,289 euca2ools [DEBUG]:Method: POST</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,289 euca2ools [DEBUG]:Path: /services/Cloud/</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,289 euca2ools [DEBUG]:Data: </font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,289 euca2ools [DEBUG]:Headers: {}</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,290 euca2ools [DEBUG]:Host: 173.23.181.1:8773</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,290 euca2ools [DEBUG]:establishing HTTP connection: kwargs={}</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,290 euca2ools [DEBUG]:using _calc_signature_2</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,290 euca2ools [DEBUG]:query string: AWSAccessKeyId=admin%3Aadmin&Action=DescribeImages&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-02-06T22%3A16%3A28Z&Version=2010-08-31</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,290 euca2ools [DEBUG]:string_to_sign: POST</font></div>
<div><font class="Apple-style-span" face="Courier">173.23.181.1:8773</font></div>
<div><font class="Apple-style-span" face="Courier">/services/Cloud/</font></div>
<div><font class="Apple-style-span" face="Courier">AWSAccessKeyId=admin%3Aadmin&Action=DescribeImages&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-02-06T22%3A16%3A28Z&Version=2010-08-31</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,290 euca2ools [DEBUG]:len(b64)=44</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,290 euca2ools [DEBUG]:base64 encoded digest: vSajubq/uXVIsFyMiUjxViprJ1zYHPpIONPcW5cN5yI=</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,290 euca2ools [DEBUG]:query_string: AWSAccessKeyId=admin%3Aadmin&Action=DescribeImages&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-02-06T22%3A16%3A28Z&Version=2010-08-31
 Signature: vSajubq/uXVIsFyMiUjxViprJ1zYHPpIONPcW5cN5yI=</font></div>
<div><font class="Apple-style-span" face="Courier">send: 'POST /services/Cloud/ HTTP/1.1\r\nHost: 173.23.181.1:8773\r\nAccept-Encoding: identity\r\nContent-Length: 207\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nUser-Agent: Boto/2.0
 (linux2)\r\n\r\nAWSAccessKeyId=admin%3Aadmin&Action=DescribeImages&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-02-06T22%3A16%3A28Z&Version=2010-08-31&Signature=vSajubq/uXVIsFyMiUjxViprJ1zYHPpIONPcW5cN5yI%3D'</font></div>
<div><font class="Apple-style-span" face="Courier">reply: 'HTTP/1.1 400 Bad Request\r\n'</font></div>
<div><font class="Apple-style-span" face="Courier">header: Content-Type: text/xml</font></div>
<div><font class="Apple-style-span" face="Courier">header: Content-Length: 239</font></div>
<div><font class="Apple-style-span" face="Courier">header: Date: Mon, 06 Feb 2012 22:16:28 GMT</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,299 euca2ools [DEBUG]:<?xml version="1.0"?></font></div>
<div><font class="Apple-style-span" face="Courier"><Response><Errors><Error><Code>UnknownError</Code><Message>An unknown error has occurred. Please try your request again.</Message></Error></Errors><RequestID>b7f94f66-d309-4dcf-bc5f-c6aa5a09a83a</RequestID></Response></font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,299 euca2ools [ERROR]:400 Bad Request</font></div>
<div><font class="Apple-style-span" face="Courier">2012-02-06 16:16:28,300 euca2ools [ERROR]:<?xml version="1.0"?></font></div>
<div><font class="Apple-style-span" face="Courier"><Response><Errors><Error><Code>UnknownError</Code><Message>An unknown error has occurred. Please try your request again.</Message></Error></Errors><RequestID>b7f94f66-d309-4dcf-bc5f-c6aa5a09a83a</RequestID></Response></font></div>
<div><font class="Apple-style-span" face="Courier">UnknownError: An unknown error has occurred. Please try your request again.</font></div>
</div>
<div><br>
</div>
<div>The corresponding nova command yields the following (again with debug enabled)</div>
<div><br>
</div>
<div>
<div><font class="Apple-style-span" face="Courier">root@nova:~# nova --debug image-list</font></div>
<div><font class="Apple-style-span" face="Courier">connect: (173.23.181.1, 5000)</font></div>
<div><font class="Apple-style-span" face="Courier">send: 'POST /v2.0/tokens HTTP/1.1\r\nHost: 173.23.181.1:5000\r\nContent-Length: 100\r\ncontent-type: application/json\r\naccept-encoding: gzip, deflate\r\nuser-agent: python-novaclient\r\n\r\n{"auth": {"tenantName":
 "admin", "passwordCredentials": {"username": "admin", "password": "admin"}}}'</font></div>
<div><font class="Apple-style-span" face="Courier">reply: 'HTTP/1.1 200 OK\r\n'</font></div>
<div><font class="Apple-style-span" face="Courier">header: Content-Type: application/json; charset=UTF-8</font></div>
<div><font class="Apple-style-span" face="Courier">header: Content-Length: 1007</font></div>
<div><font class="Apple-style-span" face="Courier">header: Date: Mon, 06 Feb 2012 22:19:52 GMT</font></div>
<div><font class="Apple-style-span" face="Courier">connect: (173.23.181.1, 8774)</font></div>
<div><font class="Apple-style-span" face="Courier">send: u'GET /v1.1/1/images/detail HTTP/1.1\r\nHost: 173.23.181.1:8774\r\nx-auth-project-id: admin\r\nx-auth-token: 10111213141516171819\r\naccept-encoding: gzip, deflate\r\nuser-agent: python-novaclient\r\n\r\n'</font></div>
<div><font class="Apple-style-span" face="Courier">reply: 'HTTP/1.1 400 Bad Request\r\n'</font></div>
<div><font class="Apple-style-span" face="Courier">header: Content-Length: 65</font></div>
<div><font class="Apple-style-span" face="Courier">header: Content-Type: application/json; charset=UTF-8</font></div>
<div><font class="Apple-style-span" face="Courier">header: Date: Mon, 06 Feb 2012 22:19:52 GMT</font></div>
<div><font class="Apple-style-span" face="Courier">Traceback (most recent call last):</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/bin/nova", line 9, in <module></font></div>
<div><font class="Apple-style-span" face="Courier">    load_entry_point('python-novaclient==2012.1', 'console_scripts', 'nova')()</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 353, in main</font></div>
<div><font class="Apple-style-span" face="Courier">    OpenStackComputeShell().main(sys.argv[1:])</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 304, in main</font></div>
<div><font class="Apple-style-span" face="Courier">    args.func(self.cs, args)</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/lib/python2.7/dist-packages/novaclient/v1_1/shell.py", line 312, in do_image_list</font></div>
<div><font class="Apple-style-span" face="Courier">    image_list = cs.images.list()</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/lib/python2.7/dist-packages/novaclient/v1_1/images.py", line 45, in list</font></div>
<div><font class="Apple-style-span" face="Courier">    return self._list("/images/detail", "images")</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/lib/python2.7/dist-packages/novaclient/base.py", line 69, in _list</font></div>
<div><font class="Apple-style-span" face="Courier">    resp, body = self.api.client.get(url)</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 130, in get</font></div>
<div><font class="Apple-style-span" face="Courier">    return self._cs_request(url, 'GET', **kwargs)</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 118, in _cs_request</font></div>
<div><font class="Apple-style-span" face="Courier">    **kwargs)</font></div>
<div><font class="Apple-style-span" face="Courier">  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 101, in request</font></div>
<div><font class="Apple-style-span" face="Courier">    raise exceptions.from_response(resp, body)</font></div>
<div><font class="Apple-style-span" face="Courier">novaclient.exceptions.BadRequest: Malformed request url (HTTP 400)</font></div>
</div>
<div><br>
</div>
<div>As mentioned, these error carry over to the Dashboard application.  </div>
<div><br>
</div>
<div>Interestingly, I can create keypairs and create/modify security groups with no problems (using the Euca commands).  None of the nova client commands execute without reporting a malformed URL request.</div>
<div><br>
</div>
<div>What am I missing today?  I've checked keystone endpointTemplates (they're correct).  The debug trace above shows that the request is authenticating w/ keystone correctly.  Also, the request URI for the subsequent GET appear correct (to me, at least).</div>
<div><br>
</div>
<div>Finally, should the EC2/Euca commands work and support starting and stopping instances when using Keystone with Diablo?  Life seemed so much easier before I decided to integrate keystone into my setup.  Sigh…</div>
<div><br>
</div>
<div>Thanks in advance for any help or insight you might be able to provide.  Additional details can be furnished as needed.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Ross</div>
<div><br>
</div>
</body>
</html>