No relevant message when stop a stopped VM

When user tries to stop a stopped VM, there is no need to stop it again,
and We need return it's vm_state.

Fixes bug 1181934

Change-Id: I71772dfcead440cb49b6ccdbb4e1a891475bb75e
(cherry picked from commit 62ca3783ce4fcc0b03e96936972abc83b54c772f)
Fix simultaneous timeout with smart iptables usage

Simultaneous boots were getting timeouts in allocate_for_network.
This was due to our inefficient use of iptables where we attempt
to recreate the same rules over and over using initialize_gateway,
plug, and restart_dhcp.

This patch makes the iptables code a little bit smarter by only
shelling out if the rule list has changed. Note that there is
a small difference in the interpretation of duplicate rules.
Previously, the last copy of the rule would win whereas now
the first copy of the rule will win. Multiple copies of the same
rule were never supported. This means the only thing that one
needs to remember is it is necessary to remove a rule and re-add
it if you want to move it later in the list.

Fixes bug 1199433

Change-Id: I9920f8d6aa269d9b3bfd88a8dbbb00f859deb158
(cherry picked from commit 176c483cdf2bc8eff7cfff4a9b0ac0dd98239da1)
Remove invalid block_device_mapping volume_size of ''

Parsing block_device_mapping from strings sometimes results in
volume_size being set to '' or u''.  This causes a problem when
inserting into PostgreSQL, which insists that integer columns
actually contain integers.  Remove invalid device_size before
inserting or updating block_device_mapping database records.

(cherry picked from commit 188a94c898bcf07f9fe42ef2f3b5ee4aa8859b49)

Fixes: Bug #1171190
Change-Id: If9132a96604b5b0e3a6df96624e565e016d5c9a3
fix broken WSDL logic

vSphere driver incorrectly assumes that a WSDL is locally required.
A local WSDL is only needed as a work-around for certain situations.

Fixes bug 1171215

cherry picked from commit cf3cc74fcb65de3c59f98db001267e05ae405186

Change-Id: I1cc81d96e263ad586b903a74dc9d5c602d475dc9
Enforce flavor access during instance boot

The code in the servers API did not pass the context when retrieving
flavor details.  That means it would use an admin context instead,
bypassing all flavor access control checks.

This patch includes the fix, and the corresponding unit test for the v2
API.

Closes-bug: #1212179

(cherry picked from commit 4054cc4a22a1fea997dec76afb5646fd6c6ea6b9)

Conflicts:
	nova/api/openstack/compute/plugins/v3/servers.py
	nova/api/openstack/compute/servers.py
	nova/tests/api/openstack/compute/plugins/v3/test_servers.py
	nova/tests/api/openstack/compute/test_servers.py

Change-Id: I681ae9965e19767df22fa74c3315e4e03a459d3b
Merge "Enforce flavor access during instance boot" into stable/grizzly
Merge "Fix simultaneous timeout with smart iptables usage" into stable/grizzly
Merge "No relevant message when stop a stopped VM" into stable/grizzly
Merge "fix broken WSDL logic" into stable/grizzly
Merge remote-tracking branch 'openstack/stable/grizzly' into cells_grizzly

Conflicts:
	nova/db/sqlalchemy/api.py