Add a script to copy code into other projects

See: http://wiki.openstack.org/CommonLibrary#Incubation

Change-Id: Ie90d40952909f766fdcac38379bf6b1ac1a0e5c7
Re-factor update.py to avoid breaking tests

nosetests tries to import update.py and fails.

Re-factor the code so that we have a main function that doesn't get
executed on import.

Note: setup.py would break nose similarly, except nose ignores setup.py
by default.

Change-Id: I609019d492f6fc2d7f2e8b6165228f879cf1ddb7
Add the Mapping interface to cfg.ConfigOpts

Implements blueprint cfg-mapping interface

With cfg, option values are accessed via attributes on ConfigOpts
objects e.g.

  conf = ConfigOpts()
  conf.register_opt(StrOpt('foo'))
  conf()
  print conf.foo

One use case that isn't easily supported with option values represented
this way is iterating over all the registered options. Standard
interfaces for listing attributes on an object aren't suitable because
they will list more than just the options.

For this use case alone, it's worth having ConfigOpts implement the
mapping interface. That way we can do e.g.

  for opt, value in conf.items():
      print "Option %s = %s" % (opt, value)

It's interesting to compare argparse's approach to this problem - option
values are attributes on a Namespace object which has no attributes or
methods to pollute the namespace of option names. This is a nice
approach, but would mean that we would be passing around both a
ConfigOpts object and a Namespace object. That's a bit too much overhead,
and the mapping interface provides a usable workaround where there is a
conflict.

Change-Id: Ic113919a20291048f962999229c76884ebdd5ad8
PEP8 type comparison cleanup

Fixes bug #910295

The None, True, and False values are singletons.

All variable *comparisons* to singletons should use 'is' or 'is not'.
All variable *evaluations* to boolean should use 'if' or 'if not'.

"== None", "== True", "== False", and "!= None" comparisons in sqlalchemy's
where(), or_(), filter(), and_(), and select() functions should not be changed.

Incorrect comparisons or evaluations in comments were not changed.

Change-Id: I087f0883bf115b5fe714ccfda86a794b9b2a87f7
Makes common/cfg.py raise AttributeError

  * fixes bug 915039
  * includes test

Change-Id: I67b886be3b5af3763f52fffe54085975d61d61eb
Implements blueprint separate-nova-volumeapi

[...]
 ** Removes flag osapi_extension and replaces with osapi_compute_extension and osapi_volume_extension
[...]

Change-Id: I4c2e57c3cafd4e1a9e2ff3ce201c8cf28326afcd
Split functions to avoid eventlet import.

Some of these functions are used in setup.py. In a virtualenv
based workflow, python setup.py sdist is called to create a
tarball which is then installed into the virtualenv. These
functions need to be in a separate file so that they can be
imported by setup.py without eventlet needing to be installed.

Change-Id: I6f7dc9614895b8c91135c62373b98afe55e1fc7d
Updated tox config for multi-python testing.

Change-Id: Ib1f768c6783db0e63cb51dfc767ae5a31a295c76
fix namespace declaration

Change-Id: Ib23b9a264173f061afeb72809a9ac40f907d419a
Merge "Split functions to avoid eventlet import."
Merge "Updated tox config for multi-python testing."
Add git vcsversion method.

Leaving in the branch_nick for now - I think we need to go through the
projects using this code and ensure that they aren't going to get screwed
before we remove it.

Change-Id: Ib91b5af050244f44cd811ca47cb6e2c53ef74ddb
Use default values for requirements parsing.

Change-Id: I88a38441d8f3e6e2ef02269c41d4590cbd4acbcf
Add git changelog method.

Change-Id: I71d99f00b2154bf151a1521016118ba6bd088f79
Disable ConfigParser interpolation (lp#930270)

This breaks e.g.

  volume_name_template=volume-%08x
  instance_name_template=instance-%08x

and is not part of the API contract anyway. We use $opt based value
interpolation.

Change-Id: I7ba566ae7c9a77322b52c67c5e1ffbffb760f0fc
Backslash continuations (misc.)

Fixes bug #925166

This patch for packages which have few backslash continuations.

Follow up patches will be for packages network, scheduler, virt,
db/sqlalchemy, tests, and api/openstack.

Change-Id: I4200010b47b33fa8b9115b5d379b543200f6668d
Merge "Disable ConfigParser interpolation (lp#930270)"
PEP8 cleanup (openstack-common)

Fixes bug #930625

Remove backslash continuations in openstack-common.
Fix type checking taboos.

Change-Id: I49ddb9ff5fa5af760dcfccb52cb4793b71e02f19
cfg: unneeded multiple inheritance

Fixed bug #927650

In python=<2.6, collections.Mapping inherits from
collections.Sized, collections.Iterable, and collections.Container
which are also subclasses of object.

Change-Id: I6238c683324127abd9fb637748a10b6bdb2961e0
Merge "Use default values for requirements parsing."