Fixing up the fallout from patch 2, interdiff:
diff --git a/lib/cmdlib/backup.py b/lib/cmdlib/backup.py
index a51958f..2241b48 100644
--- a/lib/cmdlib/backup.py
+++ b/lib/cmdlib/backup.py
@@ -32,8 +32,7 @@ from ganeti import masterd
from ganeti import utils
from ganeti.cmdlib.base import NoHooksLU, LogicalUnit
-from ganeti.cmdlib.common import CheckNodeOnline, \
- ExpandNodeUuidAndName, GetFullHVParams
+from ganeti.cmdlib.common import CheckNodeOnline, ExpandNodeUuidAndName
from ganeti.cmdlib.instance_storage import StartInstanceDisks, \
ShutdownInstanceDisks
from ganeti.cmdlib.instance_utils import GetClusterDomainSecret, \
@@ -273,7 +272,7 @@ class LUBackupExport(LogicalUnit):
# Check prerequisites for zeroing
if self.op.zero_free_space:
# Check that user shutdown detection has been enabled
- hvparams = GetFullHVParams(self, self.instance.uuid)
+ hvparams = self.cfg.GetClusterInfo().FillHV(self.instance)
if self.instance.hypervisor == constants.HT_KVM and \
not hvparams.get(constants.HV_KVM_USER_SHUTDOWN, False):
raise errors.OpPrereqError("Instance shutdown detection must be "
@@ -285,7 +284,6 @@ class LUBackupExport(LogicalUnit):
raise errors.OpPrereqError("Booting from disk must be set for
zeroing "
"to work")
-
def _CleanupExports(self, feedback_fn):
"""Removes exports of current instance from all other nodes.
On Wed, Apr 2, 2014 at 1:30 PM, Hrvoje Ribicic <[email protected]> wrote:
> The first version of zeroing requires two things: that the
> self-initiated shutdown of the instance can be detected, and that the
> instance boots from the first disk supplied to it. This patch checks
> for these by examining the hypervisor parameters.
>
> Signed-off-by: Hrvoje Ribicic <[email protected]>
> ---
> lib/cmdlib/backup.py | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/lib/cmdlib/backup.py b/lib/cmdlib/backup.py
> index 85fdcaf..a51958f 100644
> --- a/lib/cmdlib/backup.py
> +++ b/lib/cmdlib/backup.py
> @@ -33,7 +33,7 @@ from ganeti import utils
>
> from ganeti.cmdlib.base import NoHooksLU, LogicalUnit
> from ganeti.cmdlib.common import CheckNodeOnline, \
> - ExpandNodeUuidAndName
> + ExpandNodeUuidAndName, GetFullHVParams
> from ganeti.cmdlib.instance_storage import StartInstanceDisks, \
> ShutdownInstanceDisks
> from ganeti.cmdlib.instance_utils import GetClusterDomainSecret, \
> @@ -270,6 +270,22 @@ class LUBackupExport(LogicalUnit):
> raise errors.OpPrereqError("Export not supported for instances
> with"
> " file-based disks",
> errors.ECODE_INVAL)
>
> + # Check prerequisites for zeroing
> + if self.op.zero_free_space:
> + # Check that user shutdown detection has been enabled
> + hvparams = GetFullHVParams(self, self.instance.uuid)
> + if self.instance.hypervisor == constants.HT_KVM and \
> + not hvparams.get(constants.HV_KVM_USER_SHUTDOWN, False):
> + raise errors.OpPrereqError("Instance shutdown detection must be "
> + "enabled for zeroing to work")
> +
> + # Check that the instance is set to boot from the disk
> + if constants.HV_BOOT_ORDER in hvparams and \
> + hvparams[constants.HV_BOOT_ORDER] != constants.HT_BO_DISK:
> + raise errors.OpPrereqError("Booting from disk must be set for
> zeroing "
> + "to work")
> +
> +
> def _CleanupExports(self, feedback_fn):
> """Removes exports of current instance from all other nodes.
>
> --
> 1.9.1.423.g4596e3a
>
>