Check if volume is bootable when creating an instance

Cinder provides a bootable flags for volumes that's not being
checked when creating an instance.

If a user select a non-bootable volume, then the VM became unusable
since nothing will be booted at all.

This check is done only in case that a volume is selected as root
device for a VM.  Boot from snapshot will still work (even that the
volume will be marked as non-bootable by cinder, but will boot the
attached snapshot instead)
If the attribute bootable is not present, we keep the old behaviour
and allow the instance creation.

Change-Id: I8e028d40d6a11beeac4f043afccb17eb61f6ce62
Closes-Bug: #1321334
Use no_timer_check with soft-qemu

The Linux kernel timer check not working properly
when the hypervisor's thread preempted by the host CPU scheduler.

The timer check is automatically disabled with other types
of hypervisors including the hardware accelerated kvm,
but timer_check is not disabled when qemu used without hardware acceleration.

This issue is frequently mischaracterized as an SSH connectivity issue and
causes rechecks and occasional boot failures.

This change adds no_timer_check kernel parameter when we are using
uec images with qemu.

Closes-Bug: #1312199
Change-Id: I3cfdfe9048fe219fc12cdac8a399b496f237e55e
maint: correct docstring parameter description

Change-Id: I15ad8f17d05c1af3fc2e3b90ed4e71451fdd328d
Fix live_migration method's docstring

Update with actual code path.

Change-Id: I5a306773d93affc30fa756a51a34924f60aafa69
Fix infinitely reschedule instance due to miss retry info

The logic of building instance is moved from scheduler to conductor,
But 'retry' info is still populated at scheduler manager, and that
can't be take back from rpc call. This patch moves the retry checking
logic into conductor, and keep the old 'schedule_run_instance'
same as before.

Change-Id: I4efafe815e8623881e6c037eb9d04c0dbb7052a2
Partial-Bug: #1326207
maint: Fixes wrong docstring of method get_memory_mb_used

Change-Id: Id82b1f9b54ce008650d16a4104e41b80525364f6
Remove unused code from test_compute_cells

The decorator was introduced in change
I048cc532614c602f3aa6b539fb51e951174e4598 - but it's usage has since
been removed.

Change-Id: Icf00f85a72198aeaf1ac7d32fb492b020399e3b4
Merge "maint: Fixes wrong docstring of method get_memory_mb_used"
Merge "Check if volume is bootable when creating an instance"
Merge "Use no_timer_check with soft-qemu"
Merge "Remove unused code from test_compute_cells"
Merge "Fix infinitely reschedule instance due to miss retry info"
Merge "Fix live_migration method's docstring"
Merge "maint: correct docstring parameter description"