Fixes Hyper-V Inspector network metrics values

The Hyper-V inspector is currently returning the wrong metric values. The
current values are the aggregated ones, which is not correct in scenarios
in which instances have more than one nic.
Furthermore, values were taken from the
Msvm_EthernetPortAllocationSettingData, instead of
Msvm_EthernetSwitchPortAclSettingData.

(cherry picked from commit 01190ccee364dc061038ef7d8f3cc701c8d447ba)

Change-Id: I669ff52a1be2ee56bf69aa3b680ab42fdcaf1cb7
Closes-bug: #1289014
Disable specifying alarm itself in combination rule

Currently, update combination alarm can specify itself in alarm_ids,
however, that will cause endless loop when evaluating this alarm.

This patch adds a check to disable such behavior.

Change-Id: I63b465c59fe39206ae04b0736482d1ffd7bf59c4
Closes-Bug: #1304419
(cherry picked from commit de8176fa736ffa9c4d6b0a57a8db2f58083f124a)
Ensure routing key is specified in the address for a direct producer

This change is already merged in oslo-incubator.  Note that for
Ceilometer this is an Icehouse-specific patch since master has already
been updated to use the oslo.messaging library.

Original commit message body includes:

    Porting this fix from oslo.messaging.  This fixes the impl_qpid.py
    driver to allow it to work with the latest stable upstream QPID broker
    (version 0.28).  See the Apache Qpid Jira bug
    https://issues.apache.org/jira/browse/QPID-5557

Change-Id: If71f78e50f8a9b3acfd1e9d02c8271f17c4ebee7
Related-Bug: #1300318
(cherry picked from commit 096106f72fad5975bd0cb8ffa3447931c8fee9f5)
Use swift master

Swift is not available on PyPI, so use the tarball from master instead.

Change-Id: I1721804890423c242bb69697d2c42ca57d0871a4
(cherry picked from commit 28f6bee013c55ac9f4b4545293fd8849da45c961)
Merge "Ensure routing key is specified in the address for a direct producer" into stable/havana
Updated from global requirements

Change-Id: I2e0056a9c0514ed8697166827e5623e4cd3d913e
Sync RPC module from oslo

This change syncs the following patches from stable/havana oslo RPC:
- I67923cb024bbd143edc8edccf35b9b400df31eb3
- Ia148baa6e1ec632789ac3621c85173c2c16f3918

RabbitMQ: advance thru the list of brokers on reconnect

In RabbitMQ implementation, when using multiple rabbit_hosts, we don't want to
immediately retry failed connection for the same failed broker. This was not
the case in existing implementation though, where we've always attempted to
reconnect starting from the first broker in the list of candidates. So if the
first broker failed, we initiated reconnect to the same failed broker.

This change makes reconnect() implementation to select the next broker in the
list. This also means that non-failure reconnect attempts will also switch the
current broker. All in all, users should not rely on any particular order to
use brokers from the list, so this should not constitute an issue.

Qpid: advance thru the list of brokers on reconnect

In Qpid implementation, when using multiple qpid_hosts, we don't want to
immediately retry failed connection for the same failed broker. This was not
the case in existing implementation though, where we've always attempted to
reconnect starting from the first broker in the list of candidates. So if the
first broker failed, we initiated reconnect to the same failed broker.

This change makes reconnect() implementation to select the next broker in the
list. This also means that non-failure reconnect attempts will also switch the
current broker. All in all, users should not rely on any particular order to
use brokers from the list, so this should not constitute an issue.

Partial-Bug: #1261631
Change-Id: Icde6b3a1fa173be2a3ccc729b7ed739dd4f4aa11
Update ensure()/reconnect() to catch MessagingError

The error handling code that gets connections reset if necessary
caught ConnectionError. It really needs to catch MessagingError,
which ConnectionError inherits from. There are other types of
MessagingErrors that may occur, such as InternalError, and they need
to cause the connection to reset, as well.

This fix has already been merged into oslo.messaging.

--

Cherry-picked from oslo-incubator 234f64d608266f43d8856ff98c89ceba6699d752
See also https://bugzilla.redhat.com/show_bug.cgi?id=1086077

Closes-bug: #1303890
Change-Id: Ic5082b74a362ded8b35cbc75cf178fe6e0db62d0
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
(cherry picked from commit f55e3510bbee39d3101fcbf2283fc037c7a42c99)

Change-Id: If4950d05213a345900b3450c83450345e04560fc
Merge "Fixes Hyper-V Inspector network metrics values" into stable/havana
Merge "Fixes Hyper-V metrics units" into stable/havana
Merge "Disable specifying alarm itself in combination rule" into stable/havana
Merge "Update ensure()/reconnect() to catch MessagingError" into stable/havana
Merge branch 'stable/havana' of https://github.com/openstack/ceilometer into cis-havana-staging