[pve-devel] [PATCH 2/3] Skip templates when using the start all VMs button

Fabian Grünbichler f.gruenbichler at proxmox.com
Fri Mar 11 13:15:06 CET 2016


> Caspar Smit <casparsmit at supernas.eu> hat am 11. März 2016 um 12:59
> geschrieben:
> 
> 
> Signed-off-by: Caspar Smit <casparsmit at supernas.eu>
> ---
>  PVE/API2/Nodes.pm | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/PVE/API2/Nodes.pm b/PVE/API2/Nodes.pm
> index d4af788..6f639d2 100644
> --- a/PVE/API2/Nodes.pm
> +++ b/PVE/API2/Nodes.pm
> @@ -1274,6 +1274,18 @@ __PACKAGE__->register_method ({
>  		foreach my $vmid (sort {$a <=> $b} keys %$vmlist) {
>  		    my $d = $vmlist->{$vmid};
>  
> +		    # skip templates
> +		    my $conf;
> +		    if ($d->{type} eq 'lxc') {
> +			$conf = PVE::LXC::load_config($vmid);
> +		    } elsif ($d->{type} eq 'qemu') {
> +			$conf = PVE::QemuServer::load_config($vmid);
> +		    } else {
> +			die "unknown VM type '$d->{type}'\n";
> +		    }
> +		    next if PVE::QemuServer::is_template($conf);
> +		    next if PVE::LXC::is_template($conf);
> +
>  		    PVE::Cluster::check_cfs_quorum(); # abort when we loose quorum
>  	    
>  		    eval {
> -- 
> 2.1.4
> 

PVE::LXC::load_config and PVE::QemuServer::load:config were refactored to
pve-common/src/pve/AbstractConfig.pm (PVE::AbstractConfig, implemented/extended
in PVE::LXC::Config and PVE::QemuConfig), so these should be called via the
respective subclasses PVE::LXC::Config->load_config and
PVE::QemuConfig->load_config. The same applies for is_template.

The is_template check should move into the if branches, it doesn't make sense to
check this twice, especially since both subclasses use the implementation in
AbstractConfig.pm anyway.

I'll leave the general review to the others - thanks for you contribution in any
case!

Regards,
Fabian




More information about the pve-devel mailing list