Sfoglia il codice sorgente

Some doc fixes and release process fixes

Nuwan Goonasekera 7 anni fa
parent
commit
e3d678adac
4 ha cambiato i file con 52 aggiunte e 44 eliminazioni
  1. 41 40
      CHANGELOG.rst
  2. 1 1
      docs/concepts.rst
  3. 3 3
      docs/topics/design_decisions.rst
  4. 7 0
      docs/topics/release_process.rst

+ 41 - 40
CHANGELOG.rst

@@ -1,52 +1,53 @@
 1.0.1 - September 7, 2018. (sha 3130492008c5e0e115b8dfec880d32a4ac90b761)
 1.0.1 - September 7, 2018. (sha 3130492008c5e0e115b8dfec880d32a4ac90b761)
 -------
 -------
-* Fixed minor bug when retrieving buckets with only limited access
-* Relaxed some library version dependencies (e.g. six)
+* Fixed minor bug when retrieving buckets with only limited access.
+* Relaxed some library version dependencies (e.g. six).
 
 
 1.0.0 - September 6, 2018. (sha 11bccd822f21a598fc753995440cf1a409984889)
 1.0.0 - September 6, 2018. (sha 11bccd822f21a598fc753995440cf1a409984889)
 -------
 -------
 
 
-* Added Microsoft Azure as a provider
+* Added Microsoft Azure as a provider.
 * Restructured the interface to make it more comprehensible and uniform across
 * Restructured the interface to make it more comprehensible and uniform across
   all supported providers. See `issue #69 <https://github.com/CloudVE/cloudbridge/issues/69>`_
   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
   for more details as well as the library layout image for an easy visual
   reference: https://github.com/CloudVE/cloudbridge#quick-reference.
   reference: https://github.com/CloudVE/cloudbridge#quick-reference.
-* Migrated AWS implementation to use boto3 library from boto (thanks @01000101)
+* Migrated AWS implementation to use the boto3 library (thanks @01000101)
 * Cleaned up use of ``name`` property for resources. Resources now have ``id``,
 * Cleaned up use of ``name`` property for resources. Resources now have ``id``,
   ``name``, and ``label`` properties to represent respectively: a unique
   ``name``, and ``label`` properties to represent respectively: a unique
   identifier supplied by the provider; a descriptive, unchangeable name; and a
   identifier supplied by the provider; a descriptive, unchangeable name; and a
   user-supplied label that can be modified during the existence of a resource.
   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
+* Added enforcement of name and label value: names must be at least 3 characters
+  in length at minimum, and 64 characters at maximum, consisting of only lower
+  case letters and dashes. Should not start or end with a dash.
 * Refactored tests and extracted standard interface tests where all resources
 * Refactored tests and extracted standard interface tests where all resources
   are being tested using the same code structure. Also, tests will run only
   are being tested using the same code structure. Also, tests will run only
   for providers that implement a given service.
   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
+* 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
 * 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 ``DELETED`` state instead of ``TERMINATED``
-* Return VM type RAM in GB
-* Add implementation for ``generate_url`` on OpenStack
-* General documentation updates
+* 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 ``DELETED`` state instead of ``TERMINATED``.
+* Return VM type RAM in GB.
+* Add implementation for ``generate_url`` on OpenStack.
+* General documentation updates.
 
 
 0.3.3 - August 7, 2017. (sha 348e1e88935f61f53a83ed8d6a0e012a46621e25)
 0.3.3 - August 7, 2017. (sha 348e1e88935f61f53a83ed8d6a0e012a46621e25)
 -------
 -------
 
 
-* Remove explicit versioning of requests and Babel
+* Remove explicit versioning of requests and Babel.
 
 
 0.3.2 - June 10, 2017. (sha f07f3cbd758a0872b847b5537d9073c90f87c24d)
 0.3.2 - June 10, 2017. (sha f07f3cbd758a0872b847b5537d9073c90f87c24d)
 -------
 -------
 
 
-* Patch release to support files>5GB with OpenStack (thanks @MartinPaulo)
-* Misc bug fixes
+* Patch release to support files>5GB with OpenStack (thanks @MartinPaulo).
+* Misc bug fixes.
 
 
 0.3.1 - April 18, 2017. (sha f36a462e886d8444cb2818f6573677ecf0565315)
 0.3.1 - April 18, 2017. (sha f36a462e886d8444cb2818f6573677ecf0565315)
 -------
 -------
 
 
-* Patch for binary file handling in OpenStack
+* Patch for binary file handling in OpenStack.
 
 
 0.3.0 - April 11, 2017. (sha 13539ccda9e4809082796574d18b1b9bb3f2c624)
 0.3.0 - April 11, 2017. (sha 13539ccda9e4809082796574d18b1b9bb3f2c624)
 -------
 -------
@@ -58,8 +59,8 @@
 * Removed exists() method from object store interface. Use get()==None check
 * Removed exists() method from object store interface. Use get()==None check
   instead.
   instead.
 * New method (img.min_disk) for getting size of machine image.
 * New method (img.min_disk) for getting size of machine image.
-* Test improvements (flake8 during build, more tests)
-* Misc bug fixes and improvements
+* Test improvements (flake8 during build, more tests).
+* Misc bug fixes and improvements.
 * Changed library to beta state
 * Changed library to beta state
 * General documentation updates (testing, release process)
 * General documentation updates (testing, release process)
 
 
@@ -70,35 +71,35 @@
   removed the option of adding network interface to a launch config object.
   removed the option of adding network interface to a launch config object.
 * Added object store methods: upload from file path, list objects with a
 * 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
   prefix, check if an object exists, (AWS only) get an accessible URL for an
-  object (thanks @VJalili)
+  object (thanks @VJalili).
 * Modified `get_ec2_credentials()` method to `get_or_create_ec2_credentials()`
 * Modified `get_ec2_credentials()` method to `get_or_create_ec2_credentials()`
 * Added an option to read provider config values from a file
 * Added an option to read provider config values from a file
-  (`~/.cloudbridge` or `/etc/cloudbridge`)
-* Replaced py35 with py36 for running tests
-* Added logging configuration for the library
-* General documentation updates
+  (`~/.cloudbridge` or `/etc/cloudbridge`).
+* Replaced py35 with py36 for running tests.
+* Added logging configuration for the library.
+* General documentation updates.
 
 
 
 
 0.1.1 - Aug 10, 2016. (sha 0122fb1173c88ae64e40140ffd35ff3797e9e4ad)
 0.1.1 - Aug 10, 2016. (sha 0122fb1173c88ae64e40140ffd35ff3797e9e4ad)
 -------
 -------
 
 
-* 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
+* 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.
 
 
 
 
 0.1.0 - Jan 30, 2016.
 0.1.0 - Jan 30, 2016.
 -------
 -------
 
 
-* Initial release of CloudBridge
-* Support for Bucket, Instance, Instance type, Key pair, Machine image
-  Region, Security group, Snapshot, Volume, Network and Subnet services
-* Support for paging results, block device mapping and launching into VPCs
-* Support for AWS and OpenStack clouds
-* Basic usage docs and complete API docs
-* 95% test coverage
+* Initial release of CloudBridge.
+* Support for Bucket, Instance, Instance type, Key pair, Machine image.
+  Region, Security group, Snapshot, Volume, Network and Subnet services.
+* Support for paging results, block device mapping and launching into VPCs.
+* Support for AWS and OpenStack clouds.
+* Basic usage docs and complete API docs.
+* 95% test coverage.
 * Support for AWS mock test provider (via
 * Support for AWS mock test provider (via
-  `moto <https://github.com/spulec/moto>`_)
+  `moto <https://github.com/spulec/moto>`_).

+ 1 - 1
docs/concepts.rst

@@ -31,7 +31,7 @@ The actual source code structure of CloudBridge also mirrors this organisation.
 Object identification and naming
 Object identification and naming
 ---------------------------------
 ---------------------------------
 
 
-In order to function uniformly across across cloud providers, object identity
+In order to function uniformly across cloud providers, object identity
 and naming must be conceptually consistent. In CloudBridge, there are three
 and naming must be conceptually consistent. In CloudBridge, there are three
 main properties for identifying and naming an object.
 main properties for identifying and naming an object.
 
 

+ 3 - 3
docs/topics/design_decisions.rst

@@ -25,7 +25,7 @@ It is intended as a reference.
   several iterations of naming and labeling, before finally settling on the
   several iterations of naming and labeling, before finally settling on the
   current design. This section captures that history and design rationale.
   current design. This section captures that history and design rationale.
 
 
-  ***First iteration***
+  **First iteration**
   In the early days, when CloudBridge supported only AWS and OpenStack, there
   In the early days, when CloudBridge supported only AWS and OpenStack, there
   were only two concepts, id and name. The id was straightforward enough, as it
   were only two concepts, id and name. The id was straightforward enough, as it
   usually mapped to a unique identifier, auto-generated by the provider. The
   usually mapped to a unique identifier, auto-generated by the provider. The
@@ -82,7 +82,7 @@ It is intended as a reference.
   appending a uuid to the label, depending on the provider. At other times, it
   appending a uuid to the label, depending on the provider. At other times, it
   would simply map to an id.
   would simply map to an id.
   
   
-  ***Third iteration***
+  **Third iteration**
   It soon became apparent that some resources like keypairs could not have a
   It soon became apparent that some resources like keypairs could not have a
   label at all, yet needed to be named during object creation. However, we
   label at all, yet needed to be named during object creation. However, we
   could not use display_id for this purpose became the display_id, by
   could not use display_id for this purpose became the display_id, by
@@ -100,7 +100,7 @@ It is intended as a reference.
   to minimum length restrictions, we could make the overall conventions uniform
   to minimum length restrictions, we could make the overall conventions uniform
   across all resources and therefore easier to remember and enforce)
   across all resources and therefore easier to remember and enforce)
   
   
-  ***TL;DR***
+  **TL;DR**
   CloudBridge has three concepts when it comes to naming and identifying
   CloudBridge has three concepts when it comes to naming and identifying
   objects. The `id` is a unique identifier for an object, always
   objects. The `id` is a unique identifier for an object, always
   auto-generated. The `name` is a read-only, user-friendly value which is
   auto-generated. The `name` is a read-only, user-friendly value which is

+ 7 - 0
docs/topics/release_process.rst

@@ -8,6 +8,13 @@ Release Process
    a range with the upper limit being the latest known working version, and the
    a range with the upper limit being the latest known working version, and the
    lowest being the last known working version.
    lowest being the last known working version.
 
 
+   In general, our strategy is to make provider sdk libraries fixed within
+   relatively known compatibility ranges, so that we reduce the chances of
+   breakage. If someone uses cloudbridge, presumably, they do not use the sdks
+   directly. For all other libraries, especially, general purpose libraries
+   (e.g. six), our strategy is to make compatibility as broad and unrestricted
+   as possible.
+
 3. Run all ``tox`` tests.
 3. Run all ``tox`` tests.
 
 
 4. Add release notes to ``CHANGELOG.rst``. Also add last commit hash to
 4. Add release notes to ``CHANGELOG.rst``. Also add last commit hash to