From: Dominik Csapak Date: Thu, 3 Dec 2020 11:43:39 +0000 (+0100) Subject: PBSPlugin: use get_repository from PVE::PBSClient X-Git-Url: https://git.proxmox.com/?p=pve-storage.git;a=commitdiff_plain;h=53003cb5ea05d60220872b8a6fa51a8006dbc1be PBSPlugin: use get_repository from PVE::PBSClient Signed-off-by: Dominik Csapak --- diff --git a/PVE/Storage/PBSPlugin.pm b/PVE/Storage/PBSPlugin.pm index bc777f5..6c6816e 100644 --- a/PVE/Storage/PBSPlugin.pm +++ b/PVE/Storage/PBSPlugin.pm @@ -13,6 +13,7 @@ use POSIX qw(strftime ENOENT); use PVE::APIClient::LWP; use PVE::JSONSchema qw(get_standard_option); use PVE::Network; +use PVE::PBSClient; use PVE::Storage::Plugin; use PVE::Tools qw(run_command file_read_firstline trim dir_glob_regex dir_glob_foreach $IPV6RE); @@ -161,18 +162,6 @@ sub print_volid { return "${storeid}:${volname}"; } -my sub get_server_with_port { - my ($scfg) = @_; - - my $server = $scfg->{server}; - $server = "[$server]" if $server =~ /^$IPV6RE$/; - - if (my $port = $scfg->{port}) { - $server .= ":$port" if $port != 8007; - } - return $server; -} - my $USE_CRYPT_PARAMS = { backup => 1, restore => 1, @@ -188,9 +177,7 @@ my sub do_raw_client_cmd { die "executable not found '$client_exe'! Proxmox backup client not installed?\n" if ! -x $client_exe; - my $server = get_server_with_port($scfg); - my $datastore = $scfg->{datastore}; - my $username = $scfg->{username} // 'root@pam'; + my $repo = PVE::PBSClient::get_repository($scfg); my $userns_cmd = delete $opts{userns_cmd}; @@ -216,7 +203,7 @@ my sub do_raw_client_cmd { push @$cmd, @$param if defined($param); - push @$cmd, "--repository", "$username\@$server:$datastore"; + push @$cmd, "--repository", $repo; local $ENV{PBS_PASSWORD} = pbs_get_password($scfg, $storeid); @@ -484,12 +471,10 @@ sub path { my ($vtype, $name, $vmid) = $class->parse_volname($volname); - my $server = get_server_with_port($scfg); - my $datastore = $scfg->{datastore}; - my $username = $scfg->{username} // 'root@pam'; + my $repo = PVE::PBSClient::get_repository($scfg); # artifical url - we currently do not use that anywhere - my $path = "pbs://$username\@$server:$datastore/$name"; + my $path = "pbs://$repo/$name"; return ($path, $vmid, $vtype); }