Opening stable/juno

Bump version to next stable release on juno branch, and set
defaultbranch in .gitreview for convenience.

Change-Id: I4a6d5ba62f78843876a7775095c8f864432e8acf
Handle poorly formed individual sensor readings

ipmitool returns a series of multiple readings per run. Some of
these readings may be of a form that parser code cannot handle. The
desired behavior in this case is for the single reading to be
dropped and for parsing to continue. This change ensures that
behavior by continuing through the loop instead of allowing
exceptions to cause the loop to exit.

Tests have been added which verify the correct behavior.

Note that though there was an opportunity to log each skipped
reading this would lead to a very large number of log messages as
many or even most samples from ipmitool are not parsed.

Change-Id: I6a3193d5a6e12c69ca5c548e5fb58d8bc9646348
Closes-Bug: #1381600
(cherry picked from commit 8323cfe92af2ad27f6611be0a6887cac12b2c630)
Sync strutils from oslo-incubator for mask_password fix

This sync pulls in:
   1131b56 Enable mask_password to handle byte code strings

This is needed because Ceilometer commands are hitting the same
problem Cinder was hitting in bug 1368527 which was fixed
by this strutils update in bug 1366189.

This is not needed in kilo because in kilo Ceilometer has moved
to using the oslo.utils library, which has this fix in it.

Closes-bug: #1366189
Change-Id: I4aacbe8d44f0ae2a649294652a388fbd5e15b4c9
Fixes Hyper-V Inspector disk metrics cache issue

Hyper-V Inspector yields a Disk with the property
'device' containing a dictionary. This causes an
exception when the values are cached in a dictionary
using the said 'device' as a key.

Closes-Bug: #1395807

Change-Id: I09b4ec2a37a6f7e6580a059517ab6e606bfc346f
(cherry picked from commit a2e11a37aca6d4c0f76376938a147a37b1950ec6)
fix swift middleware parsing

swift middleware is incorrectly stripping out 'HTTP_' headers. This
patch fixes this.

Change-Id: I866d08badd32c83f72f05d113acc684fc40c501d
Closes-Bug: #1394453
(cherry picked from commit 6417139b839dba96a6840c745d772e85a4f1d8bc)
Add user_metadata to network samples

Previously 'user_metadata' is not included in ceilometer network samples,
while it is in other samples. This causes network samples not triggering
alarms heat created.

Change-Id: Iafb4c42955fceaaf20fef1f9580ddb1331a0c724
Closes-Bug: 1369500
(cherry picked from commit cca6fcd89e0044f310f6b05c62665302582e14e1)
Merge "Add user_metadata to network samples" into stable/juno
Add encoding to keys in compute_signature

Unlike fixed sample keys as counter_name and counter_volume,
metadata keys may contain unicode characters.
ceilometer.publisher.utils.compute_signature can't calculate
signature of unicode symbols and crashes.
In this patch encoding keys is added.

Change-Id: I94d02ce20999510e9c6aaf33f7ee503bbb350e87
Closes-bug: #1391517
(cherry picked from commit 05276690525d76e18769712bc66d0cd535b11f18)
Database.max_retries only override on sqlalchemy side

Currently, the max_retries parameter will be override in
get_connection_from_config function. But it will be used
later in safe_mongo_call function.

Since the override of max_retries only need on sqlalchemy
side, this patch move the override from get_connection_
from_config to storage.impl_sqlalchemy.Connection.__init__
and make sure max_retries can be used on mongoDB side.

Change-Id: I83f35c886bc8b7299c1efd7297fdbc980214567f
Closes-Bug: #1395972
(cherry picked from commit afb90e0cfc7fadae17ed9d360124e5683cb0b99a)
Add timeout to all http requests

Currently, we generate lots of samples by polling data from other services,
but theses rest requests have no timeout limitation. We have observed that
some requests (for example, keystone due to openssl problem) may stuck for
over several days (maybe forever if we don't restart the service). Other
pollsters in same thread will not be able to work too. The worst thing is
that, when outside (keystone) service becomes normal, Ceilometer cannot
recover itself automatically, cloud operator needs to restart it manually.

So I strongly suggest that we should add timeout limit to **every** rest api
call, this is quite important to improve Ceilometer's robust and reliability.

This patch adds a new option named http_timeout, and applies it to almost
all http requests in Ceilometer project.

Change-Id: I76df2c0a9ffacb252e15edbb125e37ccb2aac4aa
Closes-Bug: #1388778
(cherry picked from commit bd0244ffe63b752649ae74f65a46563e986dcb00)
Merge "Add encoding to keys in compute_signature" into stable/juno
Merge "fix swift middleware parsing" into stable/juno
Merge "Add timeout to all http requests" into stable/juno
Merge "Sync strutils from oslo-incubator for mask_password fix" into stable/juno
Change event type for identity trust notifications

Our identity trust notification event type do not match keystone
event type for these notifications. This patch fix it.

Change-Id: I73c4ce9334a26574f3b2c83244ea67b219bec920
Closes-bug: #1392326
(cherry picked from commit 31350c54cb8d56880cd0b72811c532d07f8f5a28)
Fix signature validation failure when using qpid message queue

When using qpid message queue, the metering message will get
signature validation failure because of extra unicode encoding
given by json loads. This change peels off unicode of the message
so that this issue can be avoided.

Change-Id: Ia23af789460ad8597867902f713b8a78f4a09e06
Closes-Bug: 1373356
(cherry picked from commit 4166da70b30291e8de74cf8c18e27753d0902ace)
Validate AdvEnum & return an InvalidInput on error

Raise a relevant exception of InvalidInput while validating if
the input to AdvEnum is not one of what is expected.

Closes-bug: #1320430
Change-Id: I48f014cc09e7d88e9b0f02fb8e9cf45772178b2c
(cherry picked from commit 7cf60e2a3b54b7a763434f65cb045b80074addf1)
Internal error with period overflow

When statistics queried with large period value the overflow
causes error 500. This patch converts the overflow error to
ClientSideError which is returned as 400 bad input error

Change-Id: Iacf89c75428713a151fbe81aa1601df63785f942
Closes-Bug: 1396223
(cherry picked from commit 9f923ae928176ca36ad784fadeea56bfc806e7e1)
Merge "Validate AdvEnum & return an InvalidInput on error" into stable/juno
Merge "Fix signature validation failure when using qpid message queue" into stable/juno