Cannot work with Nova using RightAWS
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Masanori Itoh |
Bug Description
Hi,
A colleague of mine mentioned that Nova cannot work with Ruby RightAWS, and
here is result of our analysis.
When RightAWS generates a Signature, it drops port number (e.g., ':8773'
or ':443') from the given server_string. On the contrary, Python boto does not
drop it.
Actually, Amazon AWS accepts Signatures generated both with and without port
numbers. Therefore, Amazon AWS must be generating 2 Signatures for each
request and pick one which matches with Signature with the given Request,
I think. I heard that Eucalyptus also does like the above.
The below are some evidence logs. I got both of the log lines below using
euca-describe-
DescribeAvailab
EC2_URL="http://
1) boto (euca-describe-
2011-04-07 23:04:29,343 DEBUG nova.signer [-] string_to_sign: GET
192.168.
/services/Cloud/
AWSAccessKeyId=
2) RightAWS case
2011-04-07 23:05:10,544 DEBUG nova.signer [-] string_to_sign: GET
192.168.138.135 *** NOTE(itoumsn): WITHOUT PORT NUMBER ":8773" ***
/services/Cloud
AWSAccessKeyId=
I wrote a patch for EC2 API authentication code retrying authentication
using server_string without port number on Signature un-match failure:
lp:~itoumsn/nova/enable-rightaws
, and I would like to know thoughts of people on this issue.
# Should I post a merge proposal right now...???
-Masanori
Related branches
- Dan Prince (community): Approve
- Vish Ishaya (community): Approve
- Matt Dietz (community): Needs Fixing
- Rick Harris (community): Approve
-
Diff: 162 lines (+108/-9)4 files modifiednova/auth/manager.py (+16/-6)
nova/tests/test_auth.py (+37/-3)
nova/tests/test_utils.py (+25/-0)
nova/utils.py (+30/-0)
Changed in nova: | |
assignee: | nobody → Masanori Itoh (itoumsn) |
Changed in nova: | |
status: | New → In Progress |
Changed in nova: | |
importance: | Undecided → Medium |
Changed in nova: | |
status: | In Progress → Fix Committed |
Changed in nova: | |
milestone: | none → diablo-1 |
Changed in nova: | |
milestone: | diablo-1 → 2011.3 |
status: | Fix Committed → Fix Released |