Synced jsonutils from oslo-incubator

The sync includes change that drastically enhances performance on Python
2.6 with fresh simplejson library installed.

The latest commit in oslo-incubator:
- 732bdb6297eb9de81667f7713ebcb1ccc2ee45a7

Change-Id: Ib3dc0b713ed90396919feba018772243b3b9c90f
Closes-Bug: 1314129
Add a test equivalent to default_log_levels

This is to mainly kill the migrate script logs
but can be used to quieten down any log.
Also the migrations were not using the FakeLogger
so now both are using the same mechanism.

Fixes-bug: 1281226
Change-Id: I2f1efcace6a38450020fcbf516ee5026204359d2
Fix stack_resource's handle_adopt

- This changes a call from (non-existing) _to_parameters()
  to child_params() like the other surrounding calls to
  create_with_template()
- Also add a missing check_adopt_complete to stack_resource

Change-Id: I4ab9c299bf41d057f85b59dfdffa985e07a15bac
Remove update_allowed_keys definition and usage

The update_allowed_keys attribute didn't really define any useful
policy, and prevented automatic update which should be handled by the
base Resource class like DeletionPolicy. This patch removes the usage
and the various definitions around the code base.

Change-Id: I78494aba07b6badeca8e95f1875ca8e4b9b0290c
Co-Authored-By: ala.rezmerita@cloudwatt.com
Partial-Bug: #1316171
Merge "Remove update_allowed_keys definition and usage"
Move API parameter parsing from OpenStack API to engine

In commit 4169c1bd8ce4db0a794e22471994ea401b77b9c0, the API parameter
parsing was moved to the OpenStack API.  Since then, inputs to the CFN
API were not being validated, creating a security hole.

Change-Id: I21920591075bcefbe695316dab6605afd6f4ec64
Closes-Bug: #1317667
Do not validate constraints in schema constructor

This patch moves validation of constraints out of the constructor of
schema objects into a separate method that can be invoked on the
schema objects after creation. This gives us more control over when
validation shall be invoked.

This patch fixes an issue with custom constraints that could not be
validated when having a default value, since they require the RPC
context to be present. However, the context was not present in the
places where needed.
The short-sighted fix would have been to change a lot of method
signatures to pass the context properly, but that did not seem to be
really clean. The better fix seemed to be to move validation into
a separate method that can be invoked with the proper context. This
will also give us more control on when we do validation, and which
validation we do.

This patch
Closes-Bug: #1314240

This patch will also enable to fix
Partial-Bug: #1314401

For that bug it will be necessary to switch off validation under
certain conditions, which was not possible before when doing
validation right in the constructor.

Change-Id: I19e1fb520551eb42bf36bb380f1cc28c81bbaedd
Add range constraint to AWS volume size

Such constraint was added to OS::Cinder::Volume but was missing
from its AWS counterpart.

Related-Bug: #1267747
Change-Id: Ie2c85b6eed43793302a64cb1f8c44e6e413e69ef
Revert "Default engine workers to the number of CPUs"

This reverts commit 56041687844c7c04bfcad974a07ac3ff35f99e5c.

Problems have been reported on systems using QPID. The gate only tests
RabbitMQ.

Change-Id: Iaf83dc7582835ce5bf4534116c918640da7373aa
Partial-Bug: #1321303
Merge "Add range constraint to AWS volume size"
Merge "Do not validate constraints in schema constructor"
Merge "Revert "Default engine workers to the number of CPUs""
Use oslo.config for heat-keystone-setup-domain

Previously used environment variables exclusively.

Change-Id: If4b4266ce66212d7ae2579e7da6d3bae779ad04a
Merge "Synced jsonutils from oslo-incubator"
Merge "Fix stack_resource's handle_adopt"
Merge "Add a test equivalent to default_log_levels"