--- in order to be able to bootstrap the package (eg. for stretch) (copypasted as-is from Firewall.pm)
src/PVE/FirewallSimulator.pm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/PVE/FirewallSimulator.pm b/src/PVE/FirewallSimulator.pm index c924b41..fc53a9b 100644 --- a/src/PVE/FirewallSimulator.pm +++ b/src/PVE/FirewallSimulator.pm @@ -6,8 +6,20 @@ use Data::Dumper; use PVE::Firewall; use File::Basename; use Net::IP; -use PVE::LXC; -use PVE::QemuServer; + +# dynamically include PVE::QemuServer and PVE::LXC +# to avoid dependency problems +my $have_qemu_server; +eval { + require PVE::QemuServer; + $have_qemu_server = 1; +}; + +my $have_lxc; +eval { + require PVE::LXC; + $have_lxc = 1; +}; my $mark; my $trace; @@ -530,6 +542,7 @@ sub simulate_firewall { $from_info->{iface} = 'tapXYZ'; $start_state = 'from-bport'; } elsif ($from =~ m/^ct(\d+)$/) { + return 'SKIPPED' if !$have_lxc; my $vmid = $1; $from_info = extract_ct_info($vmdata, $vmid, 0); $start_state = 'fwbr-out'; @@ -563,10 +576,12 @@ sub simulate_firewall { $target->{bridge} = 'vmbr0'; $target->{iface} = 'tapXYZ'; } elsif ($to =~ m/^ct(\d+)$/) { + return 'SKIPPED' if !$have_lxc; my $vmid = $1; $target = extract_ct_info($vmdata, $vmid, 0); $target->{iface} = $target->{tapdev}; } elsif ($to =~ m/^vm(\d+)$/) { + return 'SKIPPED' if !$have_qemu_server; my $vmid = $1; $target = extract_vm_info($vmdata, $vmid, 0); $target->{iface} = $target->{tapdev}; -- 2.11.0 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel