On 10/14/19 10:28 AM, Oguz Bektas wrote:
> in vm_pending API, this method is used to represent the configuration as
> a table with current, pending and delete columns.
> 
> by adding it as a guesthelper, we can also use it for container pending
> changes.
> 
> Signed-off-by: Oguz Bektas <o.bek...@proxmox.com>
> ---
>  PVE/GuestHelpers.pm | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
> 
> diff --git a/PVE/GuestHelpers.pm b/PVE/GuestHelpers.pm
> index a36b9bc..a1ec76f 100644
> --- a/PVE/GuestHelpers.pm
> +++ b/PVE/GuestHelpers.pm
> @@ -142,4 +142,39 @@ sub format_pending {
>      }
>  }
>  
> +sub conf_table_with_pending {

nothing to do with table itself, it just returns a array of
hashes with current and pending value..

I'd rather like to not bind method names to something their caller
may do with them, but to something they actually do their self.

Albeit a good name is not to easy here... Maybe:
get_current_config_with_pending

> +    my ($conf, $pending_delete_hash) = @_;
> +
> +    my $res = [];
> +
> +    foreach my $opt (keys %$conf) {
> +     next if ref($conf->{$opt});
> +     my $item = { key => $opt };
> +     $item->{value} = $conf->{$opt} if defined($conf->{$opt});
> +     $item->{pending} = $conf->{pending}->{$opt} if 
> defined($conf->{pending}->{$opt});
> +     $item->{delete} = ($pending_delete_hash->{$opt}->{force} ? 2 : 1) if 
> exists $pending_delete_hash->{$opt};
> +
> +     push @$res, $item;
> +    }
> +
> +    foreach my $opt (keys %{$conf->{pending}}) {
> +     next if $opt eq 'delete';
> +     next if ref($conf->{pending}->{$opt}); # just to be sure
> +     next if defined($conf->{$opt});
> +     my $item = { key => $opt };
> +     $item->{pending} = $conf->{pending}->{$opt};
> +
> +     push @$res, $item;
> +    }
> +
> +    while (my ($opt, $force) = each %$pending_delete_hash) {
> +     next if $conf->{pending}->{$opt}; # just to be sure
> +     next if $conf->{$opt};
> +     my $item = { key => $opt, delete => ($force ? 2 : 1)};
> +     push @$res, $item;
> +    }
> +
> +    return $res;
> +}
> +
>  1;
> 


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to