]>
git.proxmox.com Git - pve-common.git/log
Dietmar Maurer [Sat, 6 May 2017 07:00:50 +0000 (09:00 +0200)]
JSONSchema.pm: register new standard option pve-replicate
Fabian Grünbichler [Fri, 5 May 2017 10:39:24 +0000 (12:39 +0200)]
bump version to 5.0-11
Thomas Lamprecht [Fri, 5 May 2017 09:10:43 +0000 (11:10 +0200)]
get_options: handle array and scalar refs on decoding
get_options is for parsing CLI options, here we decode after using
Getopt as we are not sure how well it handles already decoded data.
But as Gettopt can produces references for the parsed data we must
handle them explictily.
So check if we have a ARRAY or SCALAR reference and decode them
respectively.
All other reference types should not get returned from Getopt so
error out on them.
This bug was seen when viewing backup jobs, as we save the job as a
comand entry in /etc/pve/vzdump.cron and parse it then with this
function on reading.
Besides the use there we use it in the RESTHandler Packages
cli_handler sub method, so some CLI tools could be possibly affected
by this.
Fixes: 24197a9f6c698985b7255fbf7792b0b6bd8188b5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 2 May 2017 09:51:19 +0000 (11:51 +0200)]
Network: add helpers to resolve hostnames to IPs
Add addr_to_ip and get_ip_from_hostname helpers to PVE::Network
The first helper, addr_to_ip, is based on Wolfgangs version of this
[0]
I just moved it from PVE::Tools to PVE::Network, as it seems a more
fitting place.
It uses getnameinfo to extract information from the paddr parameter,
which is sockaddr struct
It gets used in the second helper and in a bug fix series from
Wolfgang [1]
The second helper, get_ip_from_hostname, resolves an hostname to an
IP and checks if it isn't one from the for loopback reserved 127/8
subnet. It will be used in get_remote_nodeip from PVE::CLuster and
for a bugfix in pvecm.
[0]: http://pve.proxmox.com/pipermail/pve-devel/2017-April/026099.html
[1]: http://pve.proxmox.com/pipermail/pve-devel/2017-April/026098.html
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Tue, 2 May 2017 09:52:41 +0000 (11:52 +0200)]
bump version to 5.0-10
Dietmar Maurer [Tue, 2 May 2017 09:30:50 +0000 (11:30 +0200)]
mark decode_utf8_parameters() as depreciated
Dietmar Maurer [Tue, 2 May 2017 09:09:35 +0000 (11:09 +0200)]
use Encode::Locale to encode parameters read from console(getopt)
Dietmar Maurer [Sat, 29 Apr 2017 06:28:30 +0000 (08:28 +0200)]
bump version to 5.0-9
Dietmar Maurer [Sat, 29 Apr 2017 06:27:09 +0000 (08:27 +0200)]
PVE::RESTEnvironment::get_user - add $noerr parameter
Wolfgang Bumiller [Thu, 20 Apr 2017 10:29:48 +0000 (12:29 +0200)]
bump version to 5.0-8
Wolfgang Bumiller [Thu, 20 Apr 2017 08:35:52 +0000 (10:35 +0200)]
cpuset: remove max-cpu range check
CpuSets usually come from (or a built using) values read
from cgroups anyway. (Eg. for container balancing we only
use ids found in lxc/cpuset.effective_cpus.)
Fabian Grünbichler [Mon, 10 Apr 2017 14:08:35 +0000 (16:08 +0200)]
bump version to 5.0-7
Thomas Lamprecht [Wed, 5 Apr 2017 09:35:53 +0000 (11:35 +0200)]
run_command: default exit code to -1
When the child process running the command got an signal or failed
to execute exitcode was still undefined as we extract it just only
after the signal/failed to execute check.
This led to:
> Use of uninitialized value in numeric ne (!=) at
> /usr/share/perl5/PVE/API2/Qemu.pm line 1433.
errors if we used run_commands `noerr` param and checked for the
commands exit code.
So just default the exit code to -1 for such cases.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Mon, 6 Mar 2017 14:35:39 +0000 (15:35 +0100)]
net: only disable ipv6 on actual creation
And leave it alone if the interface already existed.
Dietmar Maurer [Tue, 4 Apr 2017 07:32:59 +0000 (09:32 +0200)]
Makefile(clean): remove *.buildinfo
Dietmar Maurer [Tue, 4 Apr 2017 04:02:34 +0000 (06:02 +0200)]
PVE::Tools::dump_journal: allow to filter a specific service
Dietmar Maurer [Mon, 3 Apr 2017 09:07:56 +0000 (11:07 +0200)]
bump version to 5.0-6
Emmanuel Kasper [Wed, 22 Mar 2017 11:41:26 +0000 (12:41 +0100)]
Add utility subroutine to get the fully qualified domain name of a host
Dietmar Maurer [Thu, 30 Mar 2017 15:51:06 +0000 (17:51 +0200)]
bump version to 5.0-4
Dietmar Maurer [Thu, 30 Mar 2017 15:49:26 +0000 (17:49 +0200)]
PVE::Tools::encrypt_pw() - new helper copied from pve-access-control
Dietmar Maurer [Thu, 30 Mar 2017 15:40:33 +0000 (17:40 +0200)]
bump version to 5.0-4
Dietmar Maurer [Thu, 30 Mar 2017 15:41:34 +0000 (17:41 +0200)]
depend on libmime-base32-perl (required by OTP.pm)
Dietmar Maurer [Thu, 30 Mar 2017 15:38:22 +0000 (17:38 +0200)]
OTP.pm: new class with OTP helpers
Copied from pve-access-control.
Fabian Grünbichler [Wed, 29 Mar 2017 12:21:59 +0000 (14:21 +0200)]
README.dev: remove vlan and ifenslave-2.6 packages
we have a conflict on the former and the latter does not
even exist in Jessie.
Fabian Grünbichler [Wed, 29 Mar 2017 12:01:19 +0000 (14:01 +0200)]
README.dev: remove '-y' from apt-get
Dietmar Maurer [Tue, 21 Mar 2017 11:07:34 +0000 (12:07 +0100)]
bump version to 5.0-3
Dietmar Maurer [Tue, 21 Mar 2017 10:56:49 +0000 (11:56 +0100)]
INotify.pm: use Clone::clone instead of Storable::dclone
I run into seroius troubles with dclone, which seem to be
buggy with tainted flag ...
Also, documentation states Clone::clone is much faster.
Wolfgang Bumiller [Mon, 13 Mar 2017 14:07:18 +0000 (15:07 +0100)]
bump version to 5.0-2
Dietmar Maurer [Mon, 13 Mar 2017 11:58:51 +0000 (12:58 +0100)]
README.dev: add libiscsi-dev libiscsi7
Dietmar Maurer [Mon, 13 Mar 2017 11:54:05 +0000 (12:54 +0100)]
README.dev: change build order (pve-firewall before qemu-server)
Dietmar Maurer [Mon, 13 Mar 2017 11:41:52 +0000 (12:41 +0100)]
README.dev: remove lvm.git
Dietmar Maurer [Mon, 13 Mar 2017 11:39:15 +0000 (12:39 +0100)]
README.dev: add extjs.git and pve-guest-common.git
root [Mon, 13 Mar 2017 11:26:21 +0000 (12:26 +0100)]
README.dev: add missing build depends for pve-cluster
root [Mon, 13 Mar 2017 11:22:48 +0000 (12:22 +0100)]
add missing build dependencies
root [Mon, 13 Mar 2017 10:22:54 +0000 (11:22 +0100)]
README.dev: adopt package list for stretch
Dominik Csapak [Tue, 28 Feb 2017 11:06:35 +0000 (12:06 +0100)]
add keeplocale parameter to run_command
since the "lang" param has not worked, introduce a "keeplocale"
parameter instead.
the default behaviour is the same (set LC_ALL to 'C'), but we can use
the parameter to keep the locale from the host (eg. for the vncshell)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Wed, 8 Mar 2017 11:14:43 +0000 (12:14 +0100)]
Makefile: upload to --product pve,pmg
We use the same library for new proxmox mail gateway (pmg).
Fabian Grünbichler [Wed, 8 Mar 2017 09:27:29 +0000 (10:27 +0100)]
bump version to 5.0-1
Dietmar Maurer [Wed, 8 Mar 2017 08:56:23 +0000 (09:56 +0100)]
Makefile: use "--product pve --dist jessie" for upload
Dietmar Maurer [Wed, 8 Mar 2017 05:18:32 +0000 (06:18 +0100)]
bump version to 4.0-93
Dietmar Maurer [Sat, 25 Feb 2017 08:37:18 +0000 (09:37 +0100)]
SectionConfig::check_value: return bool/numbers as numeric value
This is important when we convert the result to JSON.
Else the GUI receives booleans as "0", which evaluate to true
in JS!
NOTE: "0" evaluates to false with perl.
Dietmar Maurer [Sat, 25 Feb 2017 08:24:24 +0000 (09:24 +0100)]
JSONSchema::check_type: return success (not value)
Dietmar Maurer [Fri, 24 Feb 2017 05:30:16 +0000 (06:30 +0100)]
RESTEnvironment->init_request: reset result_attributes
Dietmar Maurer [Mon, 20 Feb 2017 11:40:33 +0000 (12:40 +0100)]
SectionConfig: add new parameter $skip_type to createSchema()
This is useful when there is only a single type of entries.
Dietmar Maurer [Sun, 19 Feb 2017 13:45:08 +0000 (14:45 +0100)]
SectionConfig:write_config: sort options by key name
Else we can get different config digest...
Dietmar Maurer [Sun, 19 Feb 2017 10:17:34 +0000 (11:17 +0100)]
SectionConfig: allow to get class specific updateSchema()
Useful when you have different section types, and you want to have
separate update API methods.
Dominik Csapak [Thu, 16 Feb 2017 08:24:18 +0000 (09:24 +0100)]
(maybe) fixes #1229: fix port reservation
when reserving ports, we use lock_file to lock the
reservation file, but then use file_set_content which
writes a new file and renames it, making the lock invalid
and different processes waiting for the lock get inconsistent
data
instead we use a designated lock file for the lock, so that we don't
lose the lock when writing the reservation file
this should fix the problem that sometimes multiple vms get the
same vnc/spice port
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Wed, 15 Feb 2017 16:09:37 +0000 (17:09 +0100)]
fix trailing whitespaces
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Emmanuel Kasper [Tue, 14 Feb 2017 13:36:31 +0000 (14:36 +0100)]
Fix example to latest RestHandler
looking at the handle() sub from RestHandler.pm
my $result = &$func($param);
this parameters are not passed anymore
Wolfgang Bumiller [Thu, 9 Feb 2017 10:40:07 +0000 (11:40 +0100)]
bump version to 4.0-92
Wolfgang Bumiller [Tue, 7 Feb 2017 13:58:08 +0000 (14:58 +0100)]
deps: moving skiplock breaks qemu-server << 4.0-109
Wolfgang Bumiller [Tue, 7 Feb 2017 13:50:44 +0000 (14:50 +0100)]
JSONSchema: adding skiplock option here
Wolfgang Bumiller [Mon, 6 Feb 2017 10:21:01 +0000 (11:21 +0100)]
Network: stop using ifconfig
We shouldn't mix different tool sets on the one hand, and on
the other hand net-tools is an optional package in stretch
and there's no real need for us to depend on it.
Fabian Grünbichler [Mon, 6 Feb 2017 13:45:47 +0000 (14:45 +0100)]
bump version to 4.0-91
Fabian Grünbichler [Mon, 6 Feb 2017 13:44:48 +0000 (14:44 +0100)]
add Breaks for upgrade path
Wolfgang Bumiller [Fri, 3 Feb 2017 11:12:54 +0000 (12:12 +0100)]
buildsys: missing build-dependencies
Fabian Grünbichler [Fri, 27 Jan 2017 14:21:54 +0000 (15:21 +0100)]
cleanup previous commit
Wolfgang Link [Fri, 27 Jan 2017 12:14:15 +0000 (13:14 +0100)]
Fix interface writer for bridge_ports and slaves.
The pve-iface-list allow to separate interfaces with [;,\s].
But in the interface file are only whitespace allowed to separate interfaces.
Fabian Grünbichler [Fri, 27 Jan 2017 09:57:59 +0000 (10:57 +0100)]
bump version to 4.0-90
Wolfgang Bumiller [Thu, 26 Jan 2017 10:13:20 +0000 (11:13 +0100)]
RESTEnvironment: let check_worker take a $self
Fabian Grünbichler [Wed, 25 Jan 2017 08:12:22 +0000 (09:12 +0100)]
bump version to 4.0-89
Fabian Grünbichler [Wed, 25 Jan 2017 08:10:05 +0000 (09:10 +0100)]
remove AbstractConfig and AbstractMigrate
they have their own repo / package now (pve-guest-common)
Dietmar Maurer [Tue, 24 Jan 2017 10:16:32 +0000 (11:16 +0100)]
set compat level to 9
To avoid warnings on debian stretch.
Dietmar Maurer [Tue, 24 Jan 2017 10:12:53 +0000 (11:12 +0100)]
runtest.pl: use lib '.' - because newer perl does not have that by default
To make tests work again on debian stretch.
Wolfgang Bumiller [Wed, 18 Jan 2017 09:48:11 +0000 (10:48 +0100)]
fix #1232: cleanup bridges on veth_delete
When a container stops or hotplug changes are applied we
do a veth_delete() which does not cleanup the firewall
bridges or OVS ports. This is problematic at the next
startup. When creating a network device we usually want to
copy the MTU of the bridge we intend to put it on, however,
with OVS still having the old port lying around the
recreated device gets associated with the bridge before we
read its MTU, potentially reducing it to that of the newly
created device.
This cleanup also gets rid of stale fwbr/fwln devices from
stopped containers.
Dietmar Maurer [Thu, 19 Jan 2017 11:53:30 +0000 (12:53 +0100)]
bump version to 4.0-88
Dietmar Maurer [Thu, 19 Jan 2017 11:52:32 +0000 (12:52 +0100)]
remove libmime-base32-perl - we do not need that
Dietmar Maurer [Thu, 19 Jan 2017 11:42:40 +0000 (12:42 +0100)]
PVE::Ticket - new helper class to create auth tickets
Dietmar Maurer [Thu, 19 Jan 2017 08:09:53 +0000 (09:09 +0100)]
bump version to 4.0-87
Dietmar Maurer [Wed, 18 Jan 2017 15:46:54 +0000 (16:46 +0100)]
JSONSchema: remove formatter option
We do no longer store that information in the method info.
Dietmar Maurer [Wed, 18 Jan 2017 12:13:23 +0000 (13:13 +0100)]
RESTHandler.pm: remove register_page_formatter (no longer required)
Dietmar Maurer [Wed, 18 Jan 2017 12:11:42 +0000 (13:11 +0100)]
PVE::RESTEnvironment: new base class for PVE::RPCEnvironment
Copied most code from PVE::RPCEnvironment.
Dietmar Maurer [Fri, 13 Jan 2017 10:22:43 +0000 (11:22 +0100)]
bump version to 4.0-86
Dietmar Maurer [Thu, 12 Jan 2017 09:12:16 +0000 (10:12 +0100)]
CLIHandler.pm: remove run as root restriction
This should be checked somewhere else.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Thu, 12 Jan 2017 09:12:15 +0000 (10:12 +0100)]
CLIHandler.pm: add setup_environment hook
Most PVE command line tools will simply call
PVE::RPCEnvironment->setup_default_cli_env();
there.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Thu, 12 Jan 2017 09:12:14 +0000 (10:12 +0100)]
remove calls to PVE::RPCEnvironment
This introduces a cyclic dependency, so we need to remove this.
PVE::CLI::* classes should instead add ad call to
PVE::RPCEnvironment->setup_default_cli_env();
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Thu, 22 Dec 2016 11:37:16 +0000 (12:37 +0100)]
bump version 4.0-85
Fabian Grünbichler [Wed, 21 Dec 2016 09:54:18 +0000 (10:54 +0100)]
refactor delete_snapshot for readability
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 21 Dec 2016 09:54:17 +0000 (10:54 +0100)]
set 'snapshot-delete' lock when deleting snapshot
unless we are in cleanup mode from a failed snapshot_create,
in which case the config already has a 'snapshot' lock.
this is necessary to prevent concurrent starting of or other
actions on the guest in the windows inbetween holding the
flock, e.g. when removing the volume snapshot (which can
take a bit of time).
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Wed, 21 Dec 2016 10:53:36 +0000 (11:53 +0100)]
bump version to 4.0-84
and remove RELEASE
Dietmar Maurer [Wed, 21 Dec 2016 07:56:06 +0000 (08:56 +0100)]
CpuSet write_to_cgroup: catch errors from close()
Dietmar Maurer [Wed, 21 Dec 2016 07:44:14 +0000 (08:44 +0100)]
CpuSet short_string - avoid ranges like 0-0, 1-1, 2-2, ...
Dietmar Maurer [Mon, 28 Nov 2016 06:46:56 +0000 (07:46 +0100)]
bump version to 4.0-83
Dietmar Maurer [Mon, 28 Nov 2016 06:42:34 +0000 (07:42 +0100)]
safe_read_from: add filename parameter to improve error messages
Dietmar Maurer [Wed, 23 Nov 2016 11:22:23 +0000 (12:22 +0100)]
bump version to 4.0-82
Wolfgang Bumiller [Thu, 17 Nov 2016 10:24:19 +0000 (11:24 +0100)]
cpuset: fix short_string
don't drop the next current cpu after finishing a range
Dietmar Maurer [Tue, 22 Nov 2016 10:50:51 +0000 (11:50 +0100)]
bump version to 4.0-81
Thomas Lamprecht [Thu, 3 Nov 2016 13:22:55 +0000 (14:22 +0100)]
use better regex for remote ip check
while the input should be correctly generated by the other site its
still better to be on the safe side, so check if the IP is really an
valid one.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Sat, 5 Nov 2016 15:44:59 +0000 (16:44 +0100)]
schema_get_type_text: do not always expand enums
We try to keep the text short by default.
Dietmar Maurer [Sat, 5 Nov 2016 14:38:29 +0000 (15:38 +0100)]
schema_get_type_text: render generic types as <type>
Dietmar Maurer [Thu, 3 Nov 2016 08:46:03 +0000 (09:46 +0100)]
bump version to 4.0-80
Thomas Lamprecht [Mon, 31 Oct 2016 08:42:32 +0000 (09:42 +0100)]
use the pvecm mtunnel command to get remote migration ip
Ask the pvecm mtunnel command (was earlier in qm) if the remote side
has an IP configured in a given migration_network denoted by a CIDR.
If such a IP is available reset the nodeip and rem_ssh variables
and check if we can connect to the other side with ssh public key
authentication.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Wed, 2 Nov 2016 11:25:51 +0000 (12:25 +0100)]
tempfile: use /tmp for fallback-tempfiles
At this point we know it's not a tmpfs (as tmpfs definitely
supports O_TMPFILE), so /tmp makes more sense than /run as
default path.
Wolfgang Bumiller [Wed, 2 Nov 2016 11:25:50 +0000 (12:25 +0100)]
tempfile: unliked-file fallback
some file systems (eg. ZFS) don't support O_TMPFILE
Wolfgang Bumiller [Wed, 2 Nov 2016 11:25:49 +0000 (12:25 +0100)]
Fix #1188: tempfile: use /run by default
as /tmp is not a tmpfs by default and some file systems
(like ZFS) don't support O_TMPFILE
Wolfgang Bumiller [Wed, 2 Nov 2016 11:08:33 +0000 (12:08 +0100)]
JSONSchema: named formats in parse_property_string
While our code currently passes the format hashes directly,
some code gets them via the format property of a
configuration description which verifies successfully via
check_format() for named property string formats, so this
should be allowed.
Dietmar Maurer [Fri, 28 Oct 2016 15:47:21 +0000 (17:47 +0200)]
bump version to 4.0-79
Dietmar Maurer [Fri, 28 Oct 2016 15:43:41 +0000 (17:43 +0200)]
CpuSet: read $MAX_CPUID from /proc/cpuinfo
Thomas Lamprecht [Fri, 28 Oct 2016 09:53:24 +0000 (11:53 +0200)]
add get_local_ip_from_cidr
The get_local_ip_from_cidr method can be used to determine addresses
configured on interfaces from the callers node which are located
in the subnet. The subnet can be passed in CIDR notation.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dominik Csapak [Fri, 28 Oct 2016 06:38:49 +0000 (08:38 +0200)]
fix typo
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>