Переглянути джерело

Some doc fixes and release process fixes

Nuwan Goonasekera 7 роки тому
батько
коміт
e3d678adac
4 змінених файлів з 52 додано та 44 видалено
  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)
 -------
-* 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)
 -------
 
-* Added Microsoft Azure as a provider
+* 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
   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``,
   ``name``, and ``label`` properties 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
+* 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
   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
+* 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 ``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)
 -------
 
-* Remove explicit versioning of requests and Babel
+* Remove explicit versioning of requests and Babel.
 
 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)
 -------
 
-* Patch for binary file handling in OpenStack
+* Patch for binary file handling in OpenStack.
 
 0.3.0 - April 11, 2017. (sha 13539ccda9e4809082796574d18b1b9bb3f2c624)
 -------
@@ -58,8 +59,8 @@
 * Removed exists() method from object store interface. Use get()==None check
   instead.
 * 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
 * General documentation updates (testing, release process)
 
@@ -70,35 +71,35 @@
   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)
+  object (thanks @VJalili).
 * Modified `get_ec2_credentials()` method to `get_or_create_ec2_credentials()`
 * 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)
 -------
 
-* 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.
 -------
 
-* 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
-  `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
 ---------------------------------
 
-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
 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
   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
   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
@@ -82,7 +82,7 @@ It is intended as a reference.
   appending a uuid to the label, depending on the provider. At other times, it
   would simply map to an id.
   
-  ***Third iteration***
+  **Third iteration**
   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
   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
   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
   objects. The `id` is a unique identifier for an object, always
   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
    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.
 
 4. Add release notes to ``CHANGELOG.rst``. Also add last commit hash to