From fbec3f894a04aabb632a0006dbce37dd639368d1 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Thu, 3 Dec 2020 12:43:40 +0100 Subject: [PATCH] use get_repository from PVE::PBSClient this fixes the issue that we did not generate the correct repository url for pbs storages that contained an ipv6 address or a port Signed-off-by: Dominik Csapak --- PVE/QemuServer.pm | 6 ++---- PVE/VZDump/QemuServer.pm | 7 ++----- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 4989938..70c14ba 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -34,6 +34,7 @@ use PVE::GuestHelpers qw(safe_string_ne safe_num_ne safe_boolean_ne); use PVE::INotify; use PVE::JSONSchema qw(get_standard_option parse_property_string); use PVE::ProcFSTools; +use PVE::PBSClient; use PVE::RPCEnvironment; use PVE::Storage; use PVE::SysFSTools; @@ -6058,13 +6059,10 @@ sub restore_proxmox_backup_archive { my ($storeid, $volname) = PVE::Storage::parse_volume_id($archive); my $scfg = PVE::Storage::storage_config($storecfg, $storeid); - my $server = $scfg->{server}; - my $datastore = $scfg->{datastore}; - my $username = $scfg->{username} // 'root@pam'; my $fingerprint = $scfg->{fingerprint}; my $keyfile = PVE::Storage::PBSPlugin::pbs_encryption_key_file_name($storecfg, $storeid); - my $repo = "$username\@$server:$datastore"; + my $repo = PVE::PBSClient::get_repository($scfg); # This is only used for `pbs-restore`! my $password = PVE::Storage::PBSPlugin::pbs_get_password($scfg, $storeid); diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm index 5003676..b322701 100644 --- a/PVE/VZDump/QemuServer.pm +++ b/PVE/VZDump/QemuServer.pm @@ -14,6 +14,7 @@ use PVE::Cluster qw(cfs_read_file); use PVE::INotify; use PVE::IPCC; use PVE::JSONSchema; +use PVE::PBSClient; use PVE::QMPClient; use PVE::Storage::Plugin; use PVE::Storage::PBSPlugin; @@ -473,12 +474,8 @@ sub archive_pbs { my $starttime = time(); - my $server = $scfg->{server}; - my $datastore = $scfg->{datastore}; - my $username = $scfg->{username} // 'root@pam'; my $fingerprint = $scfg->{fingerprint}; - - my $repo = "$username\@$server:$datastore"; + my $repo = PVE::PBSClient::get_repository($scfg); my $password = PVE::Storage::PBSPlugin::pbs_get_password($scfg, $opts->{storage}); my $keyfile = PVE::Storage::PBSPlugin::pbs_encryption_key_file_name($scfg, $opts->{storage}); -- 2.39.2