Code review comment for lp:~gz/pyjuju/openstack_provider

Revision history for this message
Martin Packman (gz) wrote :

Reviewers: mp+110860_code.launchpad.net,

Message:
Please take a look.

Description:
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)

Please review this at https://codereview.appspot.com/6312050/

Affected files:
   A [revision details]
   M juju/environment/config.py
   M juju/errors.py
   M juju/providers/common/findzookeepers.py
   M juju/providers/ec2/tests/test_launch.py
   A juju/providers/openstack/__init__.py
   A juju/providers/openstack/client.py
   A juju/providers/openstack/files.py
   A juju/providers/openstack/launch.py
   A juju/providers/openstack/machine.py
   A juju/providers/openstack/ports.py
   A juju/providers/openstack/provider.py
   A juju/providers/openstack/tests/__init__.py
   A juju/providers/openstack/tests/test_bootstrap.py
   A juju/providers/openstack/tests/test_client.py
   A juju/providers/openstack/tests/test_files.py
   A juju/providers/openstack/tests/test_getmachines.py
   A juju/providers/openstack/tests/test_machine.py
   A juju/providers/openstack/tests/test_ports.py
   A juju/providers/openstack/tests/test_provider.py
   A juju/providers/openstack/tests/test_shutdown.py
   A juju/providers/openstack/tests/test_state.py
   A juju/providers/openstack_s3/__init__.py
   A juju/providers/openstack_s3/tests/__init__.py
   A juju/providers/openstack_s3/tests/test_provider.py
   M juju/unit/address.py
   M juju/unit/tests/test_address.py

« Back to merge proposal