Dedup HACKING.rst and remove any pep8 or OpenStack hacking rules

Point to OpenStack Style Guide instead of directly to pep8 (it points to
pep8). Remove any rules that are already covered in pep8 or in hacking.

This is the same format that integrated projects are using for there
hacking docs.

Change-Id: Idf35d3fafeb77428c9210b6c6a98eb8c319cc3de
Add specific doc build option and gate on warnings

Add doc venv to align with other OpenStack projejcts (such as keystone,
heat and nova-specs) who are using 'docs' for there doc builds.  Also
enable warnerrors in pbr to raise an error if there are any docs
formatting warnings.

Change-Id: Ifa31edf3c3392106a8aa1352bdd557bde2f1b9a1
Open Juno development

Bump version to 2014.2 to formally open Juno development. The
Icehouse release branch (milestone-proposed) will be cut from
the commit immediately preceding this one.

Change-Id: Id88e4d1b7a71c538cb430cb8e2fd0635840be237
Update comment for version to say "Juno" instead of "Icehouse"

Change-Id: I1372889411159ff1c3b26535e48022fe3dfbbbd9
Merge "Add specific doc build option and gate on warnings"
Updated from global requirements

Change-Id: I4eabc5e31337a7411531b8282ed2001800aaabdf
Use config options to determine message count

This patch replaces the hard coded message count with a parameter
that is read from the config file. This is needed to run the functional
tests against vendor specific implementations of Marconi.

Change-Id: I188463749630b051174eed44bacb2b6d52c8c82d
Merge "Dedup HACKING.rst and remove any pep8 or OpenStack hacking rules"
Merge "Use config options to determine message count"
fix(sharding): deregister queue before delete

This addresses a subtle issue in the case that a worker crashes in the
middle of a queue deletion.

Currently, the order of operations on a queue delete in a sharded
context is:

1. Delete queue from storage
2. Remove the queue from the catalogue

This is *wrong*. If a marconi server dies between 1 and 2, the system
is left in an inconsistent state. Lookups on the catalogue will still
forward operations to storage, and storage may or may not return a 500
depending on the operation performed. It's difficult to reason about.

The new proposed ordering is:

1. Remove the queue from the catalogue
2. Delete queue from storage

In this case, the failure behavior is easy to reason about. For all
operations excluding creating a queue with the same name, a 404 will
be raised, as expected. In the case of a create queue, a 204 will be
returned rather than a 201, which is functionally equivalent.

Change-Id: Ia4063305cebb1e89118cfca8efccf0b38ae41adb
Instantiate app only when needed

This patch instantiates the app only when it is needed. This will
allow the functional tests to run against an external marconi
server, without having to unnecessarily configure the cache_url.

Change-Id: I54e436e08bbe6d2f3e3a4643f687e1d3a1647bb0
Closes-Bug: #1285100
Remove MySQL-python from the dependency list

MySQL is not a recommended database for production environments. The
dependency to the mysql python library was added to be able to run
Marconi on the gate.

Since we're not willing to promote sqlalchemy as the recommended driver,
it makes sense to remove the mysql dependency from the dependencies
list.

Closes-bug: #1308500

Change-Id: Ic83707cb145d752b30e285f1a25376525a80079c
Merge "fix(sharding): deregister queue before delete"
Disable Metadata write operations on v1.1

This is the first step towards removing metadata completely from the
API. This is temporary until we decided whether we will remove read
operations too.

Partially-Implements: api-v1.1-remove-queue-metadata

Change-Id: I18b8b7a9284b37d866dec7ab1f8117dc779431f8
Merge "Instantiate app only when needed"
Merge "Disable Metadata write operations on v1.1"
Adds command line option "daemon" to Marconi

This patch adds daemon command line option
to Marconi. This enables marconi server to run in
background and thus allows marconi to run under
devstack.

Change-Id: If7da6a17db0005848fd5ac9f745d676f8212d9b7
Closes-Bug: #1287490
Updated from global requirements

Change-Id: Iafb6050dfe9d186f62d1223cb516f6683ae81da7
Use jsonschema for testing queue

Validate response of listing queues (GET /queue) with jsonschema in
functional tests. Also the signature of assertSchema was changed:
now it accepts not the schema itself, but its name. It was done to
simplify its usage in test cases.

Partially implements: blueprint jsonschema-validation

Change-Id: Ic48236607746eae088300ff7a6f787622a2156f7
fix(metadata): Fix inconsistent error response under v1.1

This patch modifies the v1.1 `on_put` responder to raise an
instance of falcon.HTTPError, including setting the Allow
header as required by RFC 2616.

This ensures that the structured JSON response body is
consistent with error bodies returned elsewhere in the
API.

A test was also added to cover the v1.1 implementation
of `on_put`.

Change-Id: I05e15cd3c676db8f9fc3fb7d1ba6fcd31613fc30
Partially-Implements: blueprint api-v1.1-remove-queue-metadata