Remove redundant disk template check

ClusterSetParams fails if there are instances with a newly disabled
template.

This is already checked by _CheckInstancesOfDisabledDiskTemplates.

Signed-off-by: Aaron Karper <akarper@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Fail migration if any disk isn't mirrored

To remove the dependency of InstanceMigration on the disk_template, we
define "instance not mirrored" as "there is a disk that isn't mirrored".

Signed-off-by: Aaron Karper <akarper@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Check if all disks are internally/externally mirrored

Currently disks with heterogeneous layouts mixing drbd and externally
mirrored storage is disallowed, because this changes the logic further.
This change checks and forbids this, a later change will provide the
functionality for heterogeneous layouts.

Signed-off-by: Aaron Karper <akarper@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Report mismatch of disk types correctly

Migration fails if there is no secondary node but the instance has DRBD
disks. With this patch, we report that the disk types imply that
something is wrong.

Signed-off-by: Aaron Karper <akarper@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Wait for sync if any disk is internally mirrored

EnsureSecondary and WaitUntilSync are called if there is any disk that
is mirrored using DRBD.

Signed-off-by: Aaron Karper <akarper@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Revert disk status specific to internal/external mirroring

Both cleanup procedures are executed when there is any disk of that
type.

Signed-off-by: Aaron Karper <akarper@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Unmap only RBD and ext disks

As part of a cleanup, RBD and external disks are unmapped. This should
be restricted to disks of that type.

Signed-off-by: Aaron Karper <akarper@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Remove check for internal/external using disk_template

This allows the migration to work without accessing the disk template of
the instance at all.

Signed-off-by: Aaron Karper <akarper@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>