Merge lp://staging/~wallyworld/goose/hpopenstack into lp://staging/goose
Status: | Merged |
---|---|
Approved by: | Ian Booth |
Approved revision: | 73 |
Merged at revision: | 68 |
Proposed branch: | lp://staging/~wallyworld/goose/hpopenstack |
Merge into: | lp://staging/goose |
Diff against target: |
841 lines (+411/-57) 15 files modified
identity/live_test.go (+5/-3) identity/local_test.go (+15/-1) identity/userpass.go (+14/-4) identity/userpass_test.go (+33/-0) nova/export_test.go (+5/-0) nova/json.go (+160/-0) nova/live_test.go (+49/-22) nova/local_test.go (+19/-2) nova/nova.go (+42/-16) nova/nova_test.go (+41/-2) testservices/identityservice/userpass.go (+2/-2) testservices/identityservice/userpass_test.go (+1/-1) testservices/novaservice/service.go (+2/-0) testservices/novaservice/service_http.go (+18/-3) testservices/openstackservice/openstack.go (+5/-1) |
To merge this branch: | bzr merge lp://staging/~wallyworld/goose/hpopenstack |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
John A Meinel | Approve | ||
Review via email:
|
Commit message
Add HP Cloud support
A few major changes here. HP Cloud sends many core data structures over the wire with int IDs rather than string.
It also lacks a security groups API but instead adds the groups to the server detail record.
To make everything work in the least invasive way, I added custom json (un)marshallers to the affected data structures. The affected
data structures are Entity, ServerDetail, FloatingIP, FlavorDetail. The approach allows the built in marshalling to be used for everything except
the IDs, which are converted from int or string as required.
The live tests are enhanced to allow them to be run against HP Cloud or Canonistack as required:
go test -gocheck.v -live -vendor canonistack
or
go test -gocheck.v -live -vendor hpcloud
The local tests are configured to run twice - once with nemric ids and one with string ids.
Description of the change
Add HP Cloud support
A few major changes here. HP Cloud sends many core data structures over the wire with int IDs rather than string.
It also lacks a security groups API but instead adds the groups to the server detail record.
To make everything work in the least invasive way, I added custom json (un)marshallers to the affected data structures. The affected
data structures are Entity, ServerDetail, FloatingIP, FlavorDetail. The approach allows the built in marshalling to be used for everything except
the IDs, which are converted from int or string as required.
The live tests are enhanced to allow them to be run against HP Cloud or Canonistack as required:
go test -gocheck.v -live -vendor canonistack
or
go test -gocheck.v -live -vendor hpcloud
The local tests are configured to run twice - once with nemric ids and one with string ids.
Quick note, it might be easier to review and land if we split out the "regionMatches" component from the rest of it.
However, I'll try to review it all together for now.