[pve-devel] [PATCH zsync] close #1933: add -dest-config-path option

Mira Limbeck m.limbeck at proxmox.com
Wed Apr 3 13:59:00 CEST 2019


On 4/3/19 12:25 PM, Thomas Lamprecht wrote:
> On 4/3/19 11:59 AM, Mira Limbeck wrote:
>> this allows the config dir to be set on the destination target. this can
>> be useful if the default path in $CONFIG_PATH (/var/lib/pve-zsync) is not
>> persistent. the option is optional and falls back to $CONFIG_PATH if not
>> specified.
> does not applies here, are you on newest master?
I was but somehow went back 1 commit? Sending a v2 soon.
>
>> Signed-off-by: Mira Limbeck <m.limbeck at proxmox.com>
>> ---
>>   pve-zsync | 19 ++++++++++++++++---
>>   1 file changed, 16 insertions(+), 3 deletions(-)
>>
>> diff --git a/pve-zsync b/pve-zsync
>> index e99cd30..39663d0 100755
>> --- a/pve-zsync
>> +++ b/pve-zsync
>> @@ -220,6 +220,7 @@ sub parse_argv {
>>   	source_user => undef,
>>   	dest_user => undef,
>>   	properties => undef,
>> +	dest_config_path => undef,
>>       };
>>   
>>       my ($ret) = GetOptionsFromArray(
>> @@ -235,6 +236,7 @@ sub parse_argv {
>>   	'source-user=s' => \$param->{source_user},
>>   	'dest-user=s' => \$param->{dest_user},
>>   	'properties' => \$param->{properties},
>> +	'dest-config-path=s' => \$param->{dest_config_path},
>>       );
>>   
>>       die "can't parse options\n" if $ret == 0;
>> @@ -304,6 +306,7 @@ sub param_to_job {
>>       $job->{source_user} = $param->{source_user};
>>       $job->{dest_user} = $param->{dest_user};
>>       $job->{properties} = !!$param->{properties};
>> +    $job->{dest_config_path} = $param->{dest_config_path} if $param->{dest_config_path};
>>   
>>       return $job;
>>   }
>> @@ -450,6 +453,7 @@ sub format_job {
>>       $text .= " --source-user $job->{source_user}";
>>       $text .= " --dest-user $job->{dest_user}";
>>       $text .= " --properties" if $job->{properties};
>> +    $text .= " --dest-config-path $job->{dest_config_path}" if $job->{dest_config_path};
>>       $text .= "\n";
>>   
>>       return $text;
>> @@ -627,7 +631,7 @@ sub sync {
>>   		&$sync_path($source, $dest, $job, $param, $date);
>>   	    }
>>   	    if ($param->{method} eq "ssh" && ($source->{ip} || $dest->{ip})) {
>> -		send_config($source, $dest,'ssh', $param->{source_user}, $param->{dest_user});
>> +		send_config($source, $dest,'ssh', $param->{source_user}, $param->{dest_user}, $param->{dest_config_path});
>>   	    } else {
>>   		send_config($source, $dest,'local', $param->{source_user}, $param->{dest_user});
> could it makes sense to generalize this and do it also here?
> or why not (not really in the code, atm, sorry if stupid question)
Yes, can make sense to set a different config path on the local machine 
as well. Will include that.
>
>>   	    }
>> @@ -963,12 +967,13 @@ sub send_image {
>>   
>>   
>>   sub send_config{
>> -    my ($source, $dest, $method, $source_user, $dest_user) = @_;
>> +    my ($source, $dest, $method, $source_user, $dest_user, $dest_config_path) = @_;
>>   
>>       my $source_target = $source->{vm_type} eq 'qemu' ? "$QEMU_CONF/$source->{vmid}.conf": "$LXC_CONF/$source->{vmid}.conf";
>>       my $dest_target_new ="$source->{vmid}.conf.$source->{vm_type}.$source->{new_snap}";
>>   
>> -    my $config_dir = $dest->{last_part} ?  "${CONFIG_PATH}/$dest->{last_part}" : $CONFIG_PATH;
>> +    my $config_dir = $dest_config_path // $CONFIG_PATH;
>> +    $config_dir .= "/$dest->{last_part}" if $dest->{last_part};
>>   
>>       $dest_target_new = $config_dir.'/'.$dest_target_new;
>>   
>> @@ -1095,6 +1100,10 @@ $PROGNAME create -dest <string> -source <string> [OPTIONS]
>>   	-properties	boolean
>>   
>>   		Include the dataset's properties in the stream.
>> +
>> +	-dest-config-path    string
>> +
>> +		specify a custom config path on the destination target. default is /var/lib/pve-zsync
>>       },
>>       sync => qq{
>>   $PROGNAME sync -dest <string> -source <string> [OPTIONS]\n
>> @@ -1137,6 +1146,10 @@ $PROGNAME sync -dest <string> -source <string> [OPTIONS]\n
>>   	-properties	boolean
>>   
>>   		Include the dataset's properties in the stream.
>> +
>> +	-dest-config-path    string
>> +
>> +		specify a custom config path on the destination target. default is /var/lib/pve-zsync
>>       },
>>       list => qq{
>>   $PROGNAME list
>>




More information about the pve-devel mailing list