Skip central agent interval_task when keystone fails

There is a chance when ceilometer-agent-central try to trigger interval_task
but keystone is not available, then an exception is raised but not caught, the
outside oslo.loopingcall will stop calling the task function, finally leading
to the agent-central service is no longer available forever, even the keystone
is available again.

We can skip the particular interval_task when keystone is not available.

Change-Id: I0849cafadac8fb8a7670aaa4cc76dc708bdb25a1
Closes-Bug: #1287613
Fix order of arguments in assertEquals

Part 4

Related to: bug #1277104

Change-Id: I8aea7478afe209096d55ded9966d45a3684248dc
Fix order of arguments in assertEquals

Part 2

Related to: bug #1277104

Change-Id: If2aa8f43d1a9f788e805abe0119f4715a7e14c24
Eventlet monkeypatch must be done before anything

This patch ensure eventlet have patched modules before they are loaded
and used.

Closes-bug: #1288878

Change-Id: Ieb1fc252bde94a19fdba14a87c9f97848208bdc5
Change the sample_type from tuple to string

The Collector can not persistence compute node CPU metrics when set
‘compute_monitors = ComputeDriverCPUMonitor’ in nova.
The root cause of that issue is the counter_type is the 'tuple',
In actually the type of the counter_type should be String,
so it can not persistence to DB success, please refer to the SQL,
the counter_type value is [u'cumulative'] that is a 'tuple'.

Change-Id: I8d1218f813d081e1031c331c59a17c227c9a8958
Closes-Bug: #1295004
Fix the type of the disk IO rate measurements

The type of the following measurements should be Gauge:
disk.write.requests.rate
disk.write.bytes.rate
disk.read.bytes.rate

Closes-bug: #1295088
Change-Id: Ia11f8ca36a02ca2e5f74de275df80faeaa5b7d39
Ensure intended indices on project_id are created for mongo

Fixes bug 1291666

Previously, despite the clear intent of the code, the mongodb
driver failed to create indices on project_id for the meter
and resource collections, due to a index name clash.

Now, we ensure a different index name is used for the user_id
and project_id indices on each collection.

The previously missing index is created in the background to
avoid blocking other DB operations when upgrading against an
existing mongo instance with large collections.

Change-Id: Ia3c6765445f16ab9beafbd7fd9265a045814003f
Fixes Hyper-V metrics units

Changes the units of the values returned for the network and disks data to
bytes as expected.

Closes-Bug: #1289015
Change-Id: If4950d05213a345900b3450c83450345e04560fc
Merge "Fix the type of the disk IO rate measurements"
Merge "Change the sample_type from tuple to string"
Merge "Eventlet monkeypatch must be done before anything"
Merge "Fix order of arguments in assertEquals"
Merge "Fix order of arguments in assertEquals"
Merge "Fixes Hyper-V metrics units"
Merge "Ensure intended indices on project_id are created for mongo"
Merge "Skip central agent interval_task when keystone fails"