Align to openstack python package index mirror

Some modules we developed will not be updated to pypi in time, meanwhile,
jenkins will poll packages from openstack mirror, so it is worth to be
set as default index in tox.

User can use -i option in tox cli to change default index server to any
popular or his favorite.

Change-Id: I4449f9b6861a327cf2fd888205843b51a57dcd2f
Closes-Bug: #1289121
Fix the floatingip pollster

Ceilometer cannot poll and publish floatingip samples, this is
because Nova and Novaclient didn't provide floatingips that don't belong
to the project of the current context.
After merging the following patches it will be possible if parameter
all_tenants is enabled.

I7ab1d5ff463fc29928f6811f846c9e204390a412
I4549341badfdb846c03f2828159c46bc4c4a2c77
I35a2155401247d49017bf3c03341b082cb87750d

Change-Id: Ib5a22d6ba6a815f61713194accb4ece11171f706
Closes-bug: #1262124
Don't rely on oslomsg configuration options

We shouldn't use internal oslo.messaging configuration options.

This patch removes them when an oslo.messaging public API equivalent is
possible.

Closes-bug: #1323324

Change-Id: I0d901bfaf7dd67f0adb0ad9c1b4371994573a6c8
Remove (c) and remove unnecessary encoding lines

The word "Copyright" alone is sufficient to claim copyright, the (c)
symbol need not be present.[1]

As per PEP 263, a Python file with non-ASCII characters must have a
line with "coding: <some-encoding>". Python files containing only
7-bit ASCII characters need no such line.[2]

This commit removes unnecessary Unicode copyright symbols and
unnecessary encoding lines.

[1]: http://www.copyright.gov/circs/circ03.pdf
[2]: http://legacy.python.org/dev/peps/pep-0263/

Closes-Bug: #1324686
Change-Id: Id381ea1f029a0cfddd3773c6d9f16c47842d9c33
Clean tox.ini

The parameters of the documentation related environments
in tox.ini contain redundant and unnecessary parts.

The doc gate job uses the 'venv', which starts a MongoDB
instance. Nor the doc gate job, neither the others like
packaging, which use this env, need a MongoDB instance.
Therefore the 'deps' and the setup-test-env.sh call were
removed from the 'venv' section.

The 'deps' definition was removed from the 'docs' section
also, as it is unnecessary there.

Change-Id: Icfb3e9f88724553cc52143fd24de25f8bcf243a0
Add new 'storage': {'production_ready': True} capability

This capability is needed to be used in the Tempest tests
to have the difference between Icehouse version (where tests
won't pass due to *really* huge running time) and new Juno
version, where this performance issue has been fixed.

Change-Id: I83bf184a58bfba0e48e09a754237a8b0a4dceb25
Merge "Add new 'storage': {'production_ready': True} capability"
Merge "Align to openstack python package index mirror"
Merge "Don't rely on oslomsg configuration options"
Merge "Clean tox.ini"
Merge "Fix the floatingip pollster"
Add missing explicit cfg option import

The test ceilometer.tests.event.test_endpoint.TestEventEndpoint cannot
be run standalone because of missing import.

This change fixes that.

Change-Id: I18083a0793204da5ef9b78573fa4a0483964e158
Fix notification for NotImplemented record_events

With mongodb as storage backend, notification-to-sample will be broken by
NotImplementedError of record_events() method if we have set
"store_events" option as True in ceilometer.conf.

This patch catch the NotImplementedError and enable the
notification-to-sample process.

Change-Id: I7ace5a8581518fa56e58abca2e377b513ff38675
Closes-Bug: #1320420
Refactor tests to remove direct access to test DBManagers

Previously in several tests DBManager was specified explicitly and some
tests tried to use it even if no backend was available.
Now we should not access them directly. Instead we can mark certain
tests as applicable only to certain backend driver.
One will only have to provide an URL for tests to use.

Later this code will be used to integrate jenkins jobs on real backends.
Database URL will be provided by jenkins and tests will figure out which
manager should be used and what tests can run with it.

Related to blueprint sql-unit-tests-on-real-backend

Change-Id: I9910c25fffb971addec9cec33b624e3b8387f310
Change pipeline_manager to instance attribute in hooks

We should not assume the type of object which pecan.make_app() return
because it varies based on different configuration settings during the
test.

In order to achieve this, we have to change the PipelineHook's class
attribute pipeline_manager to be instance attribute, otherwise,
different api server created for different DB back-end would end up
sharing the same pipeline_manager which would break test tests.

(Failing unit tests in gate, manually booting it out. Please *DONT*
run recheck no bug on unit test failures).

Change-Id: Ic4370b1b8bec5723a0d719c74bdcdad8a6552912
Closes-Bug: #1327032
Merge "Fix notification for NotImplemented record_events"
Merge "Add missing explicit cfg option import"
Removes per test testr timeout

Because testr run tests in parallel and we use fake driver of
oslo.messaging to make unittests and this one use time.sleep() monkey
patched by eventlet, a test can take a lot of time, just because
eventlet have decided to run other tests before instead of finish the
started one.

So, just remove the per test testr timeout, like we have before.

Change-Id: I26f14937a16b23428f55fc7f42b4066b398c06a8
Closes-bug: #1323524
Metering LoadBalancer as a Service

This adds support for measurements around LBaaS.
Added Pollsters to track Load balancer Pools, Vips,
members and Health Probes. Also includes statistics
pollsters to track total_connections, active_connections
and bandwidth.

Included test coverage for Neutron client and LBaaS
pollsters.

Change-Id: Ia0570a824e099c341c8f12f95f576dfb8b1fdfc4
Partially Implements: blueprint ceilometer-meter-lbaas
Merge "Refactor tests to remove direct access to test DBManagers"