Update openstack/common/periodic_task

The following commits are in this update:

1771a77 Adjust import order according to PEP8 imports rule
4bfb7a2 Apply six for metaclass
0ea069e Removed calls to locals()
1a2df89 Enable H302 hacking check

Change-Id: I5d15d9772002a2f764acef16e28bcfa16a9760c0
convert min_count and max_count to type int in nova v3 api

this converts min_count and max_count to type:int in nova
v3 api.
If the string type hasn't been converted, in the method
_check_num_instances_quota of nova/compute/api.py, something
like req_ram = '2'*128 will occur. That's why the issue in
bug 1254616 arise.

Change-Id: I567b249e7a30681980ed760d5d09aad4c8e603b9
Closes-bug: 1254616
Delete instance faults when deleting instance

Instance delete should also delete related record from the
instance_faults table.

Change-Id: I9c845bce6cf39003858a1b2a726734db9fb9e584
Closes-bug: #1237155
Remove redundant body validation for createBackup

The body validation is redundant for createBackup, should remove it. In
fact that this extension is registered as WSGI action implies that the
body must contain a key with the same name as action.

Change-Id: I327688b2df50782bc38b97a4750f83a607623ce4
Closes-Bug: #1254988
Add boolean convertors for migrate_live API

migrate_live API contains "block_migration" and "disk_over_commit" as
the parameters. They should be boolean.
There are the other boolean parameters such as "on_shared_storage" of
evacuate API, they can be passed with either boolean or string(e.g. "True").
For API consistency, this patch adds boolean convertors to migrate_live
API.

Change-Id: Ic3040811977c834bfd4b0b4527795382e11227ed
Closes-Bug: #1257661
Return client tokens in EC2 DescribeInstances

EC2 instances can be instantiated with a client token, a per-instance
unique token that enforces idempotency for RunInstance calls.
If a client token exists, DescribeInstances will return it wrapped
in <clientToken></clientToken>.

Change-Id: I1deb2c0666d0274ed3c181ecb0e0dc65112605ec
Closes-Bug: #1260853
Remove middleware ratelimits from v3 api

The ratelimit middleware isn't really useful. That is pointed out
by https://review.openstack.org/#/c/34821/. And it didn't get any
object from mail-list:
http://lists.openstack.org/pipermail/openstack-dev/2013-November/020291.html

This patch remove ratelimit middleware and limits extension. The config option
'api_rate_limit' is only valid in v2 api. The pipeline factory for v3 api won't
check that option anymore. For compatibility, if user is still using old
'api-paste.init', pipeline factory will ignore to load ratelimit middleware, and
print warning message to user for notice ratelimit is deprecated in v3 api.

Closes-bug: 1255471
DocImpact

Change-Id: Ifeae0504e11089f95e4d8af58bcb7372dca87f81
Initialize iptables rules on initialization of MetadataManager

To avoid multiple initialization of iptables rules if there are a few
workers for metadata service, perform iptables configuration in
__init__() of MetadataManager.

Change-Id: I674c04f973318f06cbb98693f0a884c824af8748
Closes-Bug: #1097999
Fix incorrect exception on os-migrateLive

If the server state is conflict to live-migrate, it raises
400(HTTPBadRequest)exception.We should raise HTTPConflict instead of
HTTPBadRequest.

Change-Id: I40ccb0f268716da20ae4b3de9d295a41a2dba18d
Closes-Bug: #1255001
Setting the xen vm device id on vm record

Currently, while setting the device_id, the hypervisor
version is being incorrectly handled since the method
get_major_minor_version expects either an int, float,
or string format. However, the xen hypervisor
version is stored in the session product_version as a tuple.
This fix correctly uses the version to set the appropriate
device_id on the vm record. Also, removing the method
get_major_minor_version as it is not needed anymore.

Closes-bug: #1260178

Change-Id: I6b1353cdb7cc856b34f02e3d3679c142ba032533
ValueError should use '%' instead of ','

ValueError do not support using ',' to connect log and variables,
we should use '%' instead.

Change-Id: I04c2002a970465d8250e5550f6bf992b48845a0d
Closes-Bug: #1261621
Object-ify build_and_run_instance

The code for build_and_run_instance was put in place before the switch
to using Instance objects.  This updates the new boot process code to
use objects rather than dictionaries for instances.

bp remove-cast-to-schedule-run-instance

Change-Id: I47866536e924510d0d89d24336e0b690733c19e1
Cleanup object usage in the delete path

This patch cleans up some dict-like usage of instances in the compute
api path, as well as removes a redundant direct call to fetch the
instance's system_metadata.

Related to blueprint icehouse-objects

Change-Id: I1cf89f0a46280b53d7d929ca61dde1cb3ea3cace
Change default ephemeral FS to ext4.

The ext3 filesystem does orders of magnitude more I/O than ext4 in
mkfs - a brief benchmark showed 14m to make a 1TB ext3 filesystem
vs 7 seconds to make a 1TB ext4 filesystem, with the ext3 filesystem
doing upwards of 6GB I/O.

Since ext4 has been a default in all major Linux distributions for
a long time now - RHEL5 has it as default, for instance - there is
no reason to default to ext3: users that need ext3 can configure
that themselves.

DocImpact

Change-Id: I833356af81df743a63d4442d389be82bc25f3914
Imported Translations from Transifex

Change-Id: I05e259df5a7881a4504951b5be8d38f8b41ca027
pass the empty body into the controller

This allows POST and PUT reqeusts without content-body. The
default body: None will be passed into the controller, and
will be validated in the controller, so it fixes the bug 1253089.

When the request method is GET or DELETE, the content-type
and body in the request will be ignored
.
When POST or PUT a request with body but without content-type,
it will return "unsupported the content-type provided" with
response code 400.

side-effect: The method which handle the request method: POST
or PUT must have the parameter: body. Otherwise, it will raise:
"got an unexpected keyword argument 'body'"

And some tests are updated due to this change.
The parameter: body are also added for some actions which are
mapped to the method: POST or PUT.

Closes-bug: 1253089

Change-Id: Icda59feed439625bbbe079444feeda57576ef131
Merge "Imported Translations from Transifex"
Add wsgiref to requirements.txt

Baremetal deploy helper (nova/cmd/baremetal_deploy_helper.py) uses
wsgiref module, so it should be in requirements.

Closes-bug: #1263480
Change-Id: Ibdd917d8065c085411a21a65e2d9ae016e265ee5
Merge "Object-ify build_and_run_instance"
Remove unused variables in test_conductor.py

There are two variables in test_conductor.py that are not used
by anyone, just remove it.

Change-Id: I5086c02004aa70f2393ee3f5a8e25609cc466afa