Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 36 million developers.Sign up
- This is a major release which contains many improvements and some breaking
changes to the interface, but the changes are fairly straightforward.
- Support for Google Cloud (thanks to @mbookman, @chiniforooshan, @baizhang)
- Support for middleware, event listening and interception, allowing
CloudBridge to be extended without needing to modify library code (This is
also potentially useful for handling corner cases for specific clouds).
- The mock provider is now available by default as a standard cloud provider,
which is useful for testing applications that use CloudBridge.
- Providers now operate in a single zone, and therefore, all methods that
previously required the zone as a parameter no longer do. Specifically,
subnet.get_or_create_default()are affected in services,
snap.create_volume()is affected in resources. The provider's default
zone must now be specified through the provider config.
- All exceptions that are generated by CloudBridge will now extend from
- The cloud package is deprecated and everything under it has been moved
one level up. For example, instead of
from cloudbridge.cloud.factory import CloudProviderFactoryuse
from cloudbridge.factory import CloudProviderFactory.
- Services are much more uniform now, and sub-services have been introduced
for greater uniformity. For example,
gateways.get_or_create_inet_gateway()is now simply
- AWS instance types are now served through Amazon CloudFront for better
- Miscellaneous bug fixes and improvements.
- Added AWS instance types caching for better performance
- Ensure the default network for CloudBridge on AWS has subnets
- Added Microsoft Azure as a provider
- Restructured the interface to make it more comprehensible and uniform across
all supported providers. See
issue #69 <https://github.com/CloudVE/cloudbridge/issues/69>_
for more details as well as the library layout image for an easy visual
- Migrated AWS implementation to use boto3 library from boto (thanks @01000101)
- Cleaned up use of
nameproperty for resources. Resources now have
labelproperties to represent respectively: a unique
identifier supplied by the provider; a descriptive, unchangeable name; and a
user-supplied label that can be modified during the existence of a resource.
- Added enforcement of name and label value: names must be less than 64 chars
in length and consist of only lower case letters and dashes
- Refactored tests and extracted standard interface tests where all resources
are being tested using the same code structure. Also, tests will run only
for providers that implement a given service.
- Moved the repository from github.com/gvlproject to github.com/cloudve org
- When deleting an OpenStack network, clear any ports
- Added support for launching OpenStack instances into a specific subnet
- Update image list interface to allow filtering by owner
- When listing images on AWS, filter only the ones by current account owner
- Retrieve AWS instance types from a public service to include latest values
- Instance state uses
DELETEDstate instead of
- Return VM type RAM in GB
- Add implementation for
- General documentation updates
- Reworked test framework to rely on tox's test generation features. This allows for individual test cases to be run on a per provider basis.
- Added more OpenStack swift config options (OS_AUTH_TOKEN and OS_STORAGE_URL)
- Added supports for accessing EC2 containers with restricted permissions.
- Removed exists() method from object store interface. Use get()==None check instead.
- New method (img.min_disk) for geting size of machine image.
- Test improvements (flake8 during build, more tests)
- Patch for binary file handling in openstack
- Misc bug fixes and improvements
- Changed library to beta state
- General documentation updates (testing, release process)
- Reworked the instance launch method to require subnet vs. network. This
removed the option of adding network interface to a launch config object.
- Added object store methods: upload from file path, list objects with a
prefix, check if an object exists, (AWS only) get an accessible URL for an
object (thanks @VJalili)
- Added an option to read provider config values from a file
- Replaced py35 with py36 for running tests
- Added logging configuration for the library
- General documentation updates
- For AWS, always launch instances into private networking (i.e., VPC)
- Support for using OpenStack Keystone v3
- Add functionality to manipulate routers and routes
- Add FloatingIP resource type and integrate with Network service
- Numerous documentation updates
- For an OpenStack provider, add method to get the ec2 credentials for a user