[pve-devel] [PATCH manager] ui: not backed: add emptyText to search field

2020-07-10 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer 
---
 www/manager6/dc/Backup.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/www/manager6/dc/Backup.js b/www/manager6/dc/Backup.js
index 357a4aec..e9f20596 100644
--- a/www/manager6/dc/Backup.js
+++ b/www/manager6/dc/Backup.js
@@ -741,6 +741,7 @@ Ext.define('PVE.dc.BackedGuests', {
{
xtype: 'textfield',
width: 200,
+   emptyText: 'Name, VMID, Type',
enableKeyEvents: true,
listeners: {
buffer: 500,
-- 
2.20.1



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



[pve-devel] Proxmox Backup Server (beta)

2020-07-10 Thread Martin Maurer

We are proud to announce the first beta release of our new Proxmox Backup 
Server.

It's an enterprise-class client-server backup software that backups virtual 
machines, containers, and physical hosts. It is specially optimized for the 
Proxmox Virtual Environment platform and allows you to backup and replicate 
your data securely. It provides easy management with a command line and 
web-based user interface, and is licensed under the GNU Affero General Public 
License v3 (GNU AGPL, v3).

Proxmox Backup Server supports incremental backups, deduplication, compression 
and authenticated encryption. Using Rust https://www.rust-lang.org/ as 
implementation language guarantees high performance, low resource usage, and a 
safe, high quality code base. It features strong encryption done on the client 
side. Thus, it’s possible to backup data to not fully trusted targets.

Main Features

Support for Proxmox VE:
The Proxmox Virtual Environment is fully supported and you can easily backup 
virtual machines (supporting QEMU dirty bitmaps - 
https://www.qemu.org/docs/master/interop/bitmaps.html) and containers.

Performance:
The whole software stack is written in Rust https://www.rust-lang.org/, to 
provide high speed and memory efficiency.

Deduplication:
Periodic backups produce large amounts of duplicate data. The deduplication 
layer avoids redundancy and minimizes the used storage space.

Incremental backups:
Changes between backups are typically low. Reading and sending only the delta 
reduces storage and network impact of backups.

Data Integrity:
The built in SHA-256 https://en.wikipedia.org/wiki/SHA-2 checksum algorithm 
assures the accuracy and consistency of your backups.

Remote Sync:
It is possible to efficiently synchronize data to remote sites. Only deltas 
containing new data are transferred.

Compression:
The ultra fast Zstandard compression is able to compress several gigabytes of 
data per second.

Encryption:
Backups can be encrypted on the client-side using AES-256 in Galois/Counter 
Mode (GCM https://en.wikipedia.org/wiki/Galois/Counter_Mode). This 
authenticated encryption mode provides very high performance on modern hardware.

Web interface:
Manage Proxmox backups with the integrated web-based user interface.

Open Source:
No secrets. Proxmox Backup Server is free and open-source software. The source 
code is licensed under AGPL, v3.

Support:
Enterprise support will be available from Proxmox.

And of course - Backups can be restored!

Release notes
https://pbs.proxmox.com/wiki/index.php/Roadmap

Download
https://www.proxmox.com/downloads
Alternate ISO download:
http://download.proxmox.com/iso

Documentation
https://pbs.proxmox.com

Community Forum
https://forum.proxmox.com

Source Code
https://git.proxmox.com

Bugtracker
https://bugzilla.proxmox.com

FAQ
Q: How does this integrate into Proxmox VE?
A: Just add your Proxmox Backup Server storage as new storage backup target to 
your Proxmox VE. Make sure that you have at least pve-manager 6.2-9 installed.

Q: What will happen with the existing Proxmox VE backup (vzdump)?
A: You can still use vzdump. The new backup is an additional but very powerful 
way to backup and restore your VMs and container.

Q: Can I already backup my other Debian servers (file backup agent)?
A: Yes, just install the Proxmox Backup Client 
(https://pbs.proxmox.com/docs/installation.html#install-proxmox-backup-client-on-debian).

Q: Are there already backup agents for other distributions?
A: Not packaged yet, but using a statically linked binary should work in most 
cases on modern Linux OS (work in progress).

Q: Is there any recommended server hardware for the Proxmox Backup Server?
A: Use enterprise class server hardware with enough disks for the (big) ZFS 
pool holding your backup data. The Backup Server should be in the same 
datacenter as your Proxmox VE hosts.

Q: Where can I get more information about coming feature updates?
A: Follow the announcement forum, pbs-devel mailing list 
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel, and subscribe to 
our newsletter https://www.proxmox.com/news.

Please help us reaching the final release date by testing this beta and by 
providing feedback via https://forum.proxmox.com

--
Best Regards,

Martin Maurer

mar...@proxmox.com
https://www.proxmox.com


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


[pve-devel] [PATCH container] setup/debian: use cidr for buster and newer

2020-07-10 Thread Stoiko Ivanov
starting with version 0.8.35 of ifupdown (shipped currently with buster)
the configuration using a separate 'netmask' line instead of providing the
cidr in the 'address' line of a interface stanza of /etc/network/interfaces
is deprecated.

This means that some software installed on newer debian versions, which
parses /etc/network/interfaces may not support the format currently written
by PVE::LXC::Setup::Debian::setup_network.

This patch changes the content of the generated file to use the newer format
only for newer versions of debian (alpine, older ubuntu versions and devuan
also rely on the sub to generate the network config)

caught by installing proxmox-backup-server on a debian buster container and
getting a parse-error in the network configuration tab in the GUI.

tested by creating a ubuntu-14.04, debian-6, debian-8 and a debian-10
container and checking the resulting /etc/network/interfaces.

[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912220

Signed-off-by: Stoiko Ivanov 
---
 src/PVE/LXC/Setup/Debian.pm | 19 ++-
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/PVE/LXC/Setup/Debian.pm b/src/PVE/LXC/Setup/Debian.pm
index 1d14606..13a2d55 100644
--- a/src/PVE/LXC/Setup/Debian.pm
+++ b/src/PVE/LXC/Setup/Debian.pm
@@ -157,6 +157,7 @@ sub setup_network {
my $ipinfo = PVE::LXC::parse_ipv4_cidr($d->{ip});
$net->{address} = $ipinfo->{address};
$net->{netmask} = $ipinfo->{netmask};
+   $net->{cidr} = $d->{ip};
$cidr = $d->{ip};
}
}
@@ -176,6 +177,7 @@ sub setup_network {
} else {
$net->{address6} = $1;
$net->{netmask6} = $2;
+   $net->{cidr6} = $d->{ip6};
$cidr = $d->{ip6};
}
}
@@ -222,9 +224,12 @@ sub setup_network {
$interfaces .= "iface $ifname inet $1\n\n";
} else {
$interfaces .= "iface $ifname inet static\n";
-   $interfaces .= "\taddress $net->{address}\n" if 
defined($net->{address});
-   $interfaces .= "\tnetmask $net->{netmask}\n" if 
defined($net->{netmask});
-
+   if ($conf->{ostype} eq "debian" && $self->{version} >= 10) {
+   $interfaces .= "\taddress $net->{cidr}\n" if 
defined($net->{cidr});
+   } else {
+   $interfaces .= "\taddress $net->{address}\n" if 
defined($net->{address});
+   $interfaces .= "\tnetmask $net->{netmask}\n" if 
defined($net->{netmask});
+   }
remove_gateway_scripts($section->{attr});
if (defined(my $gw = $net->{gateway})) {
if ($net->{needsroute}) {
@@ -247,8 +252,12 @@ sub setup_network {
$interfaces .= "iface $ifname inet6 $1\n\n";
} else {
$interfaces .= "iface $ifname inet6 static\n";
-   $interfaces .= "\taddress $net->{address6}\n" if 
defined($net->{address6});
-   $interfaces .= "\tnetmask $net->{netmask6}\n" if 
defined($net->{netmask6});
+   if ($conf->{ostype} eq "debian" && $self->{version} >= 10) {
+   $interfaces .= "\taddress $net->{cidr6}\n" if 
defined($net->{cidr6});
+   } else {
+   $interfaces .= "\taddress $net->{address6}\n" if 
defined($net->{address6});
+   $interfaces .= "\tnetmask $net->{netmask6}\n" if 
defined($net->{netmask6});
+   }
remove_gateway_scripts($section->{attr});
if (defined(my $gw = $net->{gateway6})) {
if ($net->{needsroute6}) {
-- 
2.20.1



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



[pve-devel] [PATCH guest-common] fix #2834: skip refs in config_with_pending_array

2020-07-10 Thread Stoiko Ivanov
With the refactoring of config_with_pending_array in
daf8fca57a34417365c873ed91f3a52bf0002a4f a few sanity checks on parsed configs
were dropped.

One case where a config value should be skipped, instead of parsed and added
is when the value is not scalar. This is the case for the raw lxc keys
(e.g. lxc.init.cmd, lxc.apparmor.profile) - which get added as array to the
'lxc' key.

This patch reintroduces the skipping of non-scalar values, when parsing the
config but not for the pending values.
>From a short look through the commit history the sanity checks were in place
since 2014 (introduced in qemu-server for handling pending configuration
changes), and their removal did not cause any other regressions.
To my knowledge only the raw lxc config keys are parsed into a non-scalar
value.

Tested by adding a 'lxc.init.cmd' key to a container config.

Signed-off-by: Stoiko Ivanov 
---
I hope that I did not miss another case where the sanity-checks are necessary,
and can gladly send a v2 reintroducing all of them.

 PVE/GuestHelpers.pm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/PVE/GuestHelpers.pm b/PVE/GuestHelpers.pm
index 16ab3ac..69a05d9 100644
--- a/PVE/GuestHelpers.pm
+++ b/PVE/GuestHelpers.pm
@@ -214,6 +214,8 @@ sub config_with_pending_array {
 
 my $res = [];
 foreach my $opt (keys %$conf) {
+   next if ref($conf->{$opt});
+
my $item = {
key => $opt,
value => $conf->{$opt},
-- 
2.20.1



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