|
Implementation of a provider using native OpenStack apis, and using swift for file storage. There is still some important features to complete here, but the core is done and the remaining gaps documented.
Also included is an openstack_s3 provider fudge that uses the Nova api, with the S3 api for storage. This allows for running against deployments using nova-objectstore rather than swift, which currently includes canonistack.
The basics are modelled on the EC2 provider implementation, with the addition of a client module that handles the details of the OpenStack api in the manner of txaws. Along the way I also refactored the security_groups module into helper class for port management.
I've made an effort to document all the tricky bits as clearly as possible, to guard against important details getting lost in translation. See those docstrings for a deeper description of the implementation.
Apologies for the size of the delta, all feedback welcome.
https://code.launchpad.net/~gz/juju/openstack_provider/+merge/110860
(do not edit description out of merge proposal)
Total comments: 20
Total comments: 25
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+3376 lines, -9 lines) |
Patch |
|
A |
[revision details]
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
juju/environment/config.py
|
View
|
1
2
|
3 chunks |
+42 lines, -1 line |
0 comments
|
Download
|
|
M |
juju/errors.py
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
juju/providers/common/findzookeepers.py
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
juju/providers/common/tests/test_findzookeepers.py
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
juju/providers/ec2/tests/test_launch.py
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
A |
juju/providers/openstack/__init__.py
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/client.py
|
View
|
1
2
|
1 chunk |
+439 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/credentials.py
|
View
|
1
2
|
1 chunk |
+98 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/files.py
|
View
|
1
2
|
1 chunk |
+84 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/launch.py
|
View
|
1
2
|
1 chunk |
+127 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/machine.py
|
View
|
|
1 chunk |
+68 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/ports.py
|
View
|
|
1 chunk |
+174 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/provider.py
|
View
|
1
2
|
1 chunk |
+204 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/__init__.py
|
View
|
1
2
|
1 chunk |
+205 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_bootstrap.py
|
View
|
1
2
|
1 chunk |
+202 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_client.py
|
View
|
1
2
|
1 chunk |
+75 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_credentials.py
|
View
|
1
2
|
1 chunk |
+216 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_files.py
|
View
|
|
1 chunk |
+103 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_getmachines.py
|
View
|
1
2
|
1 chunk |
+115 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_launch.py
|
View
|
1
2
|
1 chunk |
+127 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_machine.py
|
View
|
|
1 chunk |
+110 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_ports.py
|
View
|
|
1 chunk |
+383 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_provider.py
|
View
|
1
2
|
1 chunk |
+116 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_shutdown.py
|
View
|
1
2
|
1 chunk |
+169 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack/tests/test_state.py
|
View
|
|
1 chunk |
+58 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack_s3/__init__.py
|
View
|
1
|
1 chunk |
+48 lines, -0 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack_s3/tests/__init__.py
|
View
|
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A |
juju/providers/openstack_s3/tests/test_provider.py
|
View
|
1
2
|
1 chunk |
+122 lines, -0 lines |
0 comments
|
Download
|
|
M |
juju/unit/address.py
|
View
|
|
5 chunks |
+26 lines, -3 lines |
0 comments
|
Download
|
|
M |
juju/unit/tests/test_address.py
|
View
|
|
4 chunks |
+56 lines, -1 line |
0 comments
|
Download
|
Total messages: 7
|