fix ips to 'ips' in APIRouter

Actually ips in `ips in init_only` would not be valued as True because
ips is a moudle object not a string. Fixing this to string 'ips' could
prevent potential issues and improve readability.

Change-Id: I74564349e1fef00e7430cfb0547b3ad87c8e471c
ec2 api should check 'max_count'&'min_count' para

in ec2 api,run_instance method have not check para
about 'max_count' and 'min_count'

Change-Id: I852dac71e56c658a54b127053cba155e1a260a73
Closes-Bug: #1267382
Add API schema for v3 rescue API

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint nova-api-validation-fw

Change-Id: I3d08bc20e4c585dca1e218e8d97b208d158a3096
Fixed incorrect test case of test_server_metadata.py

Fixed incorrect test case about following points.
 * delete 2 test case because same test will be done
   in other part of same class.
 * fixed parameter according to test purpose.
 * fixed expected exception code.

Change-Id: I3116e9b4e22a86c583a531c8b8e46069f876296e
Corrected typo in metrics

Change-Id: If23292d83776be50f22f45c849fd45b7b04da7d9
XenAPI: Report the CPU details correctly

Driver was not filling in the cpu_count in the correct field.
Also added VM vcpu count

Change-Id: I6339d7fd4faffcd5320fd86b55ff3a5e3515e2bf
Closes-bug: 1192528
Update log message to support translations

Add i18n support to a missing message

Change-Id: Ie4b2c32fbcc03266a1bfc08796b2dc6eebdc7edb
VMware: fix exception when using multiple compute nodes

When there is more than one compute node running and one of the
nodes restarts it terminates on an exception that the resource is
not found.

The cause of the issue is that a vif plug was being attempted for
a resource that did not exist. The vif plug should have raised an
"NotImplemented" exception.

Change-Id: I5a3f1cc73a981173b6c2fa493de3aad10a7e97fd
Closes-bug: #1272286
libvirt: making set_host_enabled to be a private methods

Currently _set_host_enabled() is being used only for internal libvirt
driver purposes, which doesn't correlate to set_host_enabled in the
compute API.

_set_host_enabled in the driver is disabling and re-enabling
the compute service automatically and shouldn't be exposed to the users.

Also, adding disable_reason as an optional variable and enabled variable
to be boolean only.

Change-Id: I5fd13ef352fcbb4a1c96764a9e473cdaf7b128da
Closes-Bug: #1251803
report port number for address already in use errors

* nova/wsgi.py(Service.__init__): Catch external errors
(socket.error is a subclass of EnvironmentError since python 2.6),
and log the port number attempted to bind to.

Closes-Bug: 1237961
Change-Id: Ia4eb46c76db855fc3168c5b7a233ce94d2ef7726
Removes os-instance-usage-audit-log from the V3 API

The extension pre-dates ceilometer and equivalent
functionality is now much better managed using
ceilometer. So we're removing this before the V3 API
is officially released.

Partially implements blueprint v3-api-remove-extensions

Change-Id: I9b7892346a4ad7c54a903cfcbcb97156dfc8c734
Add "body=" argument to v3 API unit tests

This patch adds "body=" argument to v3 API unit tests for avoiding
the test failures due to KeyError when applying the API validation
framework to "create a server" API.

_process_stack() of nova's wsgi passes kwargs which includes 'body'
like:
    {'body': {u'server': {u'name': u'my-server', [..]}}}
to an API method. The validation framework finds a body with the
keyword 'body' from the kwargs, and validates the body with the API
schema. So this changes is also for fitting the arguments to the wsgi
behavior.

Partially implements blueprint nova-api-validation-fw

Change-Id: Id5fa416e021b529e20aca3701e3f159bb316e7fb
Make nova-network use FixedIP object for disassociations

This makes nova-network mananger use the FixedIP object for
disassociating IPs.

Related to blueprint nova-network-objects

Change-Id: Ia0a38bbd31cc22095893bff89bcaa402a9bc2722
Make nova-network use FixedIP object for updates

This makes nova-network manager use the FixedIP object for
updates instead of direct database calls.

Related to blueprint nova-network-objects

Change-Id: Ia191148cf7510ffdb0fbd4186fa34bb4c5ab1b0f
Make nova-network use FixedIP for timeouts

This makes nova-network manager use the FixedIP object when
disassociating addresses due to timeout.

Related to blueprint nova-network-objects

Change-Id: I909f710543239207f6d27230b527b4495a23f2cb
Make nova_ipam_lib use Network, FixedIP, and FloatingIP objects

This makes nova_ipam_lib use objects for almost everything except
for VIF-related functions, which is coming soon.

Related to blueprint nova-network-objects

Change-Id: Ib39bbc86921eeb849e715a205dccaab3aad6d1c6
Replace oslo.sphinx with oslosphinx

oslosphinx is now available as a replacement for oslo.sphinx that
won't conflict with oslo.config in virtual envs.

Change-Id: I7c116f816af895261e76af385ee3e9288e6fa70f
Closes-Bug: #1277168
Support setting a machine type to enable ARMv7/AArch64 guests to boot

By default the libvirt driver does not specify a machine type. On ARM systems
that results in a default type which will fail. This change provides two ways
to have Nova specify a machine type in the libvirt configuration:

1) The image can be tagged with the property "hw_machine_type=<type>"
2) If Nova detects an armv7 or aarch64 processor it will use vexpress-a15 or
   virt machine types respectively (this can be overridden with an image
   property)

Change-Id: I8aadfcf50e35a1370783ea795f80b29c1a71abff
Closes-Bug: #1261978
DocImpact
compute: removes unnecessary condition

An unnecessary condition is used in compute/manager.py

Change-Id: If1a27009079721198aebebbd8c1c773f10f51f1a
Count memory and disk slots once in cells state manager

If multiple instance types in a cell had the same memory_mb value or
root_gb + ephemeral_gb added to the same value, then capacity counts
would be inaccurate since slots would get counted multiple times.
Rather than counting based on instance type it is now based on the set
of memory or disk values pulled from instance types.

Change-Id: Iaded7fa69dadb4aa0335ef1569975bdfcb2767c6
Closes-bug: #1276728