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
>
>

Reply via email to