]> git.proxmox.com Git - pve-container.git/commitdiff
stop using lxc-freeze/unfreeze binaries
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Fri, 15 May 2020 09:08:42 +0000 (11:08 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 15 May 2020 11:48:26 +0000 (13:48 +0200)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
src/PVE/LXC/Config.pm
src/PVE/VZDump/LXC.pm
src/test/snapshot-test.pm

index dcc8755228cdf080b32a0498e17d911a14d38558..51470cfb5c31c1228acad39e9237615caad8a1cf 100644 (file)
@@ -103,10 +103,10 @@ sub __snapshot_freeze {
     my ($class, $vmid, $unfreeze) = @_;
 
     if ($unfreeze) {
-       eval { PVE::Tools::run_command(['/usr/bin/lxc-unfreeze', '-n', $vmid]); };
+       eval { PVE::LXC::freeze_thaw($vmid, 0); };
        warn $@ if $@;
     } else {
-       PVE::Tools::run_command(['/usr/bin/lxc-freeze', '-n', $vmid]);
+       PVE::LXC::freeze_thaw($vmid, 1);
        PVE::LXC::sync_container_namespace($vmid);
     }
 }
index 45a3d8fdd3077de42b8154dbbc09dd6f0d543e5a..cb745bf5909b31b51892a1dc125263bf420ec2fb 100644 (file)
@@ -61,8 +61,6 @@ sub new {
 
     PVE::VZDump::check_bin('lxc-stop');
     PVE::VZDump::check_bin('lxc-start');
-    PVE::VZDump::check_bin('lxc-freeze');
-    PVE::VZDump::check_bin('lxc-unfreeze');
 
     my $self = bless {};
 
@@ -274,13 +272,13 @@ sub start_vm {
 sub suspend_vm {
     my ($self, $task, $vmid) = @_;
 
-    $self->cmd ("lxc-freeze -n $vmid");
+    PVE::LXC::freeze_thaw($vmid, 1);
 }
 
 sub resume_vm {
     my ($self, $task, $vmid) = @_;
 
-    $self->cmd ("lxc-unfreeze -n $vmid");
+    PVE::LXC::freeze_thaw($vmid, 0);
 }
 
 sub assemble {
index 0a1bd6b2b90a4a3a313c39a4528912d8dd559bd3..1194805172615b8f5c9c2bec8489901768a2f82a 100644 (file)
@@ -122,15 +122,17 @@ sub mocked_vm_stop {
     }
 }
 
+sub mocked_freeze_thaw {
+    my ($vmid, $freeze) = @_;
+    return () if $freeze_possible;
+    die "lxc-[un]freeze disabled\n";
+}
+
 sub mocked_run_command {
     my ($cmd, %param) = @_;
     my $cmdstring;
     if (my $ref = ref($cmd)) {
        $cmdstring = PVE::Tools::cmd2string($cmd);
-       if ($cmdstring =~ m/.*\/lxc-(un)?freeze.*/) {
-           return 1 if $freeze_possible;
-           die "lxc-[un]freeze disabled\n";
-       }
        if ($cmdstring =~ m/.*\/lxc-stop.*--kill.*/) {
            mocked_vm_stop();
        }
@@ -280,6 +282,7 @@ my $lxc_module = new Test::MockModule('PVE::LXC');
 $lxc_module->mock('sync_container_namespace', sub { return; });
 $lxc_module->mock('check_running', \&mocked_check_running);
 $lxc_module->mock('vm_stop', \&mocked_vm_stop);
+$lxc_module->mock('freeze_thaw', \&mocked_freeze_thaw);
 
 my $lxc_config_module = new Test::MockModule('PVE::LXC::Config');
 $lxc_config_module->mock('config_file_lock', sub { return "snapshot-working/pve-test.lock"; });