Deprecate run_instance and remove unnecessary code

This begins a deprecation path for the compute manager run_instance
code.

For now the scheduler run_instance rpc method is being removed as it is
unused.

In the K cycle the scheduler schedule_run_instance methods can be
removed which means that the run_instance compute rpc method can be
removed.

In the L cycle the run_instance compute method can be removed.

This also removes cells schedule_run_instance methods which have been
unused since Havana.

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

Change-Id: I284ac124fe2ec952db0feab61206eda2a20e40c8
Use objects through the run_instance() path

This removes the use of dict-based instances for the run_instance
path when called from conductor to compute manager.

Related to blueprint compute-manager-objects-juno

Change-Id: I8a206f63cab1e4f939d2c97c258312a8fa540aff
String-convert IPAddr objects for FixedIP.attach()

This fixes a couple places where we pass a (non-serializeable)
IPAddr object to the FixedIP.attach() method, which blows up.
We probably need a more generic solution to this problem, as it
keeps coming up. However, for the moment, this is less problematic
than the patch reverted just before this.

Change-Id: I716c558a3535b3ed5c9b10f5788a4463a3daa3d3
Fix docstring typo in need_legacy_block_device_info

Change-Id: I9aaec5f73f3001c0926aba2fba4165f3a66319f1
Merge "Fix docstring typo in need_legacy_block_device_info"
Merge "Deprecate run_instance and remove unnecessary code"
libvirt: remove redundant 'libvirt_' prefix in test case names

All the virt driver tests were moved into subdirectories
which are separate for each virt driver. There is thus no
reason to still have 'libvirt_' as a prefix in the filename
too.

A further problem with the current naming is that if you
want to just run the 'test_libvirt' test, a substring match
on that will also pick up other test suites (eg it will match
test_libvirt_config) and run those too. The renaming ensures
that no test name is a valid prefix for another test name,
making it easier to specify exactly which test file you want
run.

Change-Id: I9fe3dee5d7b7b834de84b719cab993969e34d16b
libvirt: merge two utils tests files

The nova/virt/libvirt/utils.py file had some of its tests in
test_utils.py and some in test_image_utils.py. Move them all
into test_utils.py, so the test filename matches the source
filename

Change-Id: I1001e1485646fc3546e86ddb25eb2d6ad8c88315
Merge "String-convert IPAddr objects for FixedIP.attach()"
Merge "Use objects through the run_instance() path"
Merge "libvirt: remove redundant 'libvirt_' prefix in test case names"
Merge "libvirt: merge two utils tests files"