pve-common.git
23 months agobump version to 5.0-22
Wolfgang Bumiller [Mon, 20 Nov 2017 13:22:24 +0000 (14:22 +0100)]
bump version to 5.0-22

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agodaemon: fix send termination to all workers on exit
Thomas Lamprecht [Fri, 17 Nov 2017 13:05:48 +0000 (14:05 +0100)]
daemon: fix send termination to all workers on exit

The hash slice did not work as intented here, it only return the keys
from the last elemend defined in the slice, thus not all workers got
a TERM.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 5.0-21
Dietmar Maurer [Tue, 14 Nov 2017 07:01:56 +0000 (08:01 +0100)]
bump version to 5.0-21

2 years agopartially revert: daemon: refactor and cleanup
Wolfgang Bumiller [Mon, 13 Nov 2017 09:31:58 +0000 (10:31 +0100)]
partially revert: daemon: refactor and cleanup

Reverts a hunk of 0da5a3e43b16 which removed checking &
untainting of pids from the PVE_DAEMON_WORKER_PIDS env var.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agodaemon: add missing parenthesis around list
Wolfgang Bumiller [Fri, 10 Nov 2017 11:24:05 +0000 (12:24 +0100)]
daemon: add missing parenthesis around list

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Fixes: 0da5a3e43b16 ("daemon: refactor and cleanup")

2 years agodaemon: terminate_server reduce code reuse
Thomas Lamprecht [Fri, 10 Nov 2017 11:09:29 +0000 (12:09 +0100)]
daemon: terminate_server reduce code reuse

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodaemon: refactor and cleanup
Thomas Lamprecht [Fri, 10 Nov 2017 11:09:28 +0000 (12:09 +0100)]
daemon: refactor and cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodaemon: don't send SIGTERM before restart on leave_children_open_on_reload
Thomas Lamprecht [Fri, 10 Nov 2017 11:09:27 +0000 (12:09 +0100)]
daemon: don't send SIGTERM before restart on leave_children_open_on_reload

Else this options is not really useful. First, sending a SIGTERM lets
the children exit, not quite what "leave_children_open_on_reload"
promises.

The problem this causes is that we may get a time window where no
worker is active and thus, for example, our API daemon would not
accept connections during a restart (or better said, reload).

So, don't request termination of any child worker, if this option is
set, but rather just restart (re-exec) ourself, startup a new set of
workers and only then request the termination of the old ones,
allowing a fully seamless reload.

This is only done on `$daemon-exe restart` and thus on
`systemctl reload $daemon`, systemctl restart or any other stop start
cycles always exit all other workers first.

This expects that the worker can do a graceful termination on
SIGTERM, which is already the case for anything using our AnyEvent
based class (which is base of our HTTPServer module).
With graceful termination is meant the following: the worker accepts
no new work and exits immediately after the current queued work is
done.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agotests: remove acquire-lock newline termination
Wolfgang Bumiller [Fri, 10 Nov 2017 10:29:52 +0000 (11:29 +0100)]
tests: remove acquire-lock newline termination

Not needed anymore.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agolock_file_full: add missing trailing newline
Thomas Lamprecht [Fri, 10 Nov 2017 09:24:25 +0000 (10:24 +0100)]
lock_file_full: add missing trailing newline

When we do not instantly get the lock we print a respective message
to stderr. This shows also up in the task logs, and if it's the last
message before a 'Task OK' the UI gets confused an shows the task as
erroneous.

Keep the message as its a good feedback for the user to see why an op
seems to do nothing, so simply add a trailing newline.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoJSONSchema.pm - add a 'download' attribute
Dietmar Maurer [Wed, 8 Nov 2017 08:42:58 +0000 (09:42 +0100)]
JSONSchema.pm - add a 'download' attribute

To mark methods which downloads file content to the client.

2 years agobump version to 5.0-20
Fabian Grünbichler [Tue, 17 Oct 2017 13:08:57 +0000 (15:08 +0200)]
bump version to 5.0-20

2 years agocli: whitespace cleanup
Philip Abernethy [Tue, 17 Oct 2017 11:16:26 +0000 (13:16 +0200)]
cli: whitespace cleanup

2 years agocli: code cleanup
Philip Abernethy [Tue, 17 Oct 2017 11:16:25 +0000 (13:16 +0200)]
cli: code cleanup

Removes obsolete subroutine and unused Dumper

2 years agotools: more general run_fork_with_timeout + run_fork
Wolfgang Bumiller [Tue, 10 Oct 2017 08:08:12 +0000 (10:08 +0200)]
tools: more general run_fork_with_timeout + run_fork

2 years agobuild: reformat debian/control
Fabian Grünbichler [Wed, 4 Oct 2017 09:05:33 +0000 (11:05 +0200)]
build: reformat debian/control

using wrap-and-sort -abt

2 years agobump version to 5.0-19
Dietmar Maurer [Tue, 3 Oct 2017 09:35:09 +0000 (11:35 +0200)]
bump version to 5.0-19

2 years agoPVE/Subscription.pm - check if we have a key
Dietmar Maurer [Tue, 3 Oct 2017 10:04:47 +0000 (12:04 +0200)]
PVE/Subscription.pm -  check if we have a key

2 years agoPVE/Subscription.pm - avoid warn, and return error message instead
Dietmar Maurer [Tue, 3 Oct 2017 10:02:45 +0000 (12:02 +0200)]
PVE/Subscription.pm - avoid warn, and return error message instead

2 years agoPVE::Subscription - new class to simplify subscription management
Dietmar Maurer [Fri, 29 Sep 2017 07:17:01 +0000 (09:17 +0200)]
PVE::Subscription - new class to simplify subscription management

2 years agoProcFSTools:read_proc_mounts: increase read size
Alexandre Derumier [Fri, 16 Dec 2016 16:26:10 +0000 (17:26 +0100)]
ProcFSTools:read_proc_mounts: increase read size

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2 years agotools: df: handle a failing df
Wolfgang Bumiller [Mon, 11 Sep 2017 07:20:08 +0000 (09:20 +0200)]
tools: df: handle a failing df

This function assumed df() will work or hang, but it can
also actually fail and return undef which results in
warnings - let's silence those.

2 years agobump version to 5.0-18
Wolfgang Bumiller [Tue, 12 Sep 2017 11:43:55 +0000 (13:43 +0200)]
bump version to 5.0-18

2 years agorun_fork_with_timeout: allow returning complex structures
Thomas Lamprecht [Tue, 12 Sep 2017 11:25:30 +0000 (13:25 +0200)]
run_fork_with_timeout: allow returning complex structures

Encode the result or the error in JSON. This way complex objects or
exceptions may be passed to the parent in a generic way.

This allows to remove the second pipe 'pipe_err'.

Allow also to return undef without any warnings to our caller.
This avoids a "use of uninitialized variable ..." warning

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoUse double hyphens when prefixing command options in the documentation
Emmanuel Kasper [Wed, 6 Sep 2017 12:37:33 +0000 (14:37 +0200)]
Use double hyphens when prefixing command options in the documentation

This makes our man pages follow the GNU long option recommandations
where non-single character options are prefixed with a double hyphen
(https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html)

The benefit for PVE is that our documentation looks more similar to what
a user with previous Linux knowledge is used to.

Our bash autocompletion helper only completes options using double hyphens too.

2 years agoTools: add `convert_size` for generic byte conversion
Thomas Lamprecht [Mon, 11 Sep 2017 08:41:34 +0000 (10:41 +0200)]
Tools: add `convert_size` for generic byte conversion

We often need to convert between file sizes, for formatting output,
but also code-internal. Some methods expect kilobytes, some gigabytes
and sometimes we need bytes.

While conversion from smaller to bigger units can be simply done with
a left-shift, the opposite conversion may need more attention -
depending on the used context.

If we allocate disks this is quite critical. For example, if we need
to allocate a disk with size 1023 bytes using the
PVE::Storage::vdisk_alloc method (which expects kilobytes) a
right shift by 10 (<=> division by 1024) would result in "0", which
obviously fails.

Thus we round up the converted value if a remainder was lost on the
transformation in this new method. This behaviour is opt-out, to be
on the safe side.

The method can be used in a clear way, as it gives information about
the source and target unit size, unlike "$var *= 1024", which doesn't
gives direct information at all, if not commented or derived
somewhere from its context.

For example:
 > my $size = convert_unit($value, 'gb' => 'kb');
is more clear than:
 > my $size = $value*1024*1024;

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agorun_fork_with_timeout: do not overwrite global signal handlers
Thomas Lamprecht [Wed, 6 Sep 2017 11:29:03 +0000 (13:29 +0200)]
run_fork_with_timeout: do not overwrite global signal handlers

perls 'local' must be either used in front of each $SIG{...}
assignments or they must be put in a list, else it affects only the
first variable and the rest are *not* in local context.

This may cause weird behaviour where daemons seemingly do not get
terminating signals delivered correctly and thus may not shutdown
gracefully anymore.

As we only send SIGINT to processes if a manual stop action gets
triggered just catch this one here.

As this is a general method which allows to pass an arbitrary code
payload we cannot sanely handle all signals here, so remove trapping
all other besides SIGINT, if those need to be trapped that should be
done by the caller on a case by case basis.

Fixes: #1495

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 5.0-17
Fabian Grünbichler [Wed, 6 Sep 2017 07:37:01 +0000 (09:37 +0200)]
bump version to 5.0-17

2 years agobuild: drop -rfakeroot
Fabian Grünbichler [Wed, 6 Sep 2017 07:36:49 +0000 (09:36 +0200)]
build: drop -rfakeroot

2 years agobuild: use 'git rev-parse' for GITVERSION
Fabian Grünbichler [Wed, 6 Sep 2017 07:36:41 +0000 (09:36 +0200)]
build: use 'git rev-parse' for GITVERSION

2 years agorename variable
Fabian Grünbichler [Mon, 15 May 2017 07:31:08 +0000 (09:31 +0200)]
rename variable

to prevent confusion of rendered type text vs. original type
property

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi: fix rendering of filepath/string parameters
Fabian Grünbichler [Mon, 15 May 2017 07:31:07 +0000 (09:31 +0200)]
api: fix rendering of filepath/string parameters

25d9bda94127b1a91181cd80bb9948093dea389b broke this check,
but it is a better idea to check against the actual type
rather then the rendered type text anyway.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agotools: add pipe_socket_to_command
Thomas Lamprecht [Thu, 17 Aug 2017 13:05:45 +0000 (15:05 +0200)]
tools: add pipe_socket_to_command

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoJSONSchema: add parse_boolean helper
Wolfgang Bumiller [Fri, 28 Jul 2017 07:52:44 +0000 (09:52 +0200)]
JSONSchema: add parse_boolean helper

2 years agorestenv: catch broadcast_tasklist errors gracefully
Thomas Lamprecht [Tue, 25 Jul 2017 13:32:23 +0000 (15:32 +0200)]
restenv: catch broadcast_tasklist errors gracefully

Don't die because the tasklist could not be broadcasted, just log the
error.
Else we may hinder all task to run with a quite confusing error (i.e.
"ipcc_send_rec: file to big").

This may happen if there are a lot currently running tasks at once.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agorestenv: remove unused variable 'ctime'
Thomas Lamprecht [Tue, 25 Jul 2017 13:32:21 +0000 (15:32 +0200)]
restenv: remove unused variable 'ctime'

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agorestenv: remove unnecessary if
Thomas Lamprecht [Tue, 25 Jul 2017 13:32:20 +0000 (15:32 +0200)]
restenv: remove unnecessary if

we return early from this function if the $rest_env singleton doesn't
evaluates to true yet, so this check is useless here.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 5.0-16
Wolfgang Bumiller [Fri, 30 Jun 2017 07:18:17 +0000 (09:18 +0200)]
bump version to 5.0-16

2 years agoAdd run_fork_with_timeout utility
Emmanuel Kasper [Thu, 29 Jun 2017 12:48:12 +0000 (14:48 +0200)]
Add run_fork_with_timeout utility

This runs subroutine in a forked process
and kills it after a timeout

2 years agobump version to 5.0-15
Dietmar Maurer [Tue, 27 Jun 2017 09:26:56 +0000 (11:26 +0200)]
bump version to 5.0-15

2 years agouse more reliable checks in wait_for_vnc_port
Thomas Lamprecht [Tue, 27 Jun 2017 09:12:04 +0000 (11:12 +0200)]
use more reliable checks in wait_for_vnc_port

We run into problems where this method returned to early, even if the
port wasn't actually ready yet. The reason for this is that we
checked /proc/net/tcp which does not guarantees and always up to date
state of only those ports which are actuall available, i.e. a port
could linger around (time-wait state) or appear even if it wasn't
accepting connections yet (as stated in the kernel docs:
/proc/net/tcp is seen as obsolete by the kernel devs).

Use the `ss` tool from the iproute2 package, it uses netlink to get
the current state and has switches where we can direct it to really
only get the state of those sockets which interest us currently.
I.e., we tell it to get only listening TCP sockets from the requested
port.

The only drawback is that we loop on a run_command, which is slower
than just reading a file. A single loop needs about 1ms here vs the
60µs on the /proc/net/tcp read. But this isn't a api call which is
used highly frequently but rather once per noVNC console open.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 5.0-14
Dietmar Maurer [Thu, 22 Jun 2017 06:26:17 +0000 (08:26 +0200)]
bump version to 5.0-14

2 years agoadd the parsing error message to the format
Dominik Csapak [Tue, 13 Jun 2017 09:25:35 +0000 (11:25 +0200)]
add the parsing error message to the format

so that one can see its error when using the api/gui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoadd ability to have multiple timespecs for hours and minutes
Dominik Csapak [Tue, 13 Jun 2017 09:25:34 +0000 (11:25 +0200)]
add ability to have multiple timespecs for hours and minutes

so things like: 2,4:0 will work

also add regression tests for this

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agotrim event and check if empty
Dominik Csapak [Tue, 13 Jun 2017 09:25:33 +0000 (11:25 +0200)]
trim event and check if empty

give a meaningful error if it is empty and disallow it instead of having
an implicit default (the default should be set by the component using
the calendarevent, not the calendarevent itself)

also add regression tests

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoadd and use physical NIC regexp
Fabian Grünbichler [Mon, 22 May 2017 07:44:17 +0000 (09:44 +0200)]
add and use physical NIC regexp

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoget_ip_from_hostname: improve error message
Dietmar Maurer [Wed, 31 May 2017 12:59:44 +0000 (14:59 +0200)]
get_ip_from_hostname: improve error message

And do not generate multi-line error message.

2 years agocalendarevent: check range for start also without repetition
Dominik Csapak [Thu, 1 Jun 2017 12:17:10 +0000 (14:17 +0200)]
calendarevent: check range for start also without repetition

else an event like "61" never finishes when calculating the next event

also add regression tests for this and other range checks

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agobump version to 5.0-13
Dietmar Maurer [Wed, 31 May 2017 07:08:07 +0000 (09:08 +0200)]
bump version to 5.0-13

2 years agocalendarevent: change sorting of hours and minutes to numeric
Dominik Csapak [Tue, 30 May 2017 13:30:22 +0000 (15:30 +0200)]
calendarevent: change sorting of hours and minutes to numeric

otherwise the numbers are sorted like this:
[1,10,11 .. 19, 2, 20, ..]
which would lead to the wrong next time

also add regression tests for this and mixed forms like:
20..22:*/30

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agotools: next_unused_port: use IPPROTO_TCP explicitly
Wolfgang Bumiller [Tue, 30 May 2017 13:30:10 +0000 (15:30 +0200)]
tools: next_unused_port: use IPPROTO_TCP explicitly

Otherwise perl tries to bind+listen on a UDP socket if the
TCP socket fails - which is a waste since we're looking for
TCP ports.
Additionall since UDP doesn't support listen(), perl will
return EOPNOTSUPP instead of, say, EADDRINUSE. (We don't
care about the error in this code though.)

2 years agotools: unused ports: optional address parameter
Wolfgang Bumiller [Tue, 30 May 2017 13:30:09 +0000 (15:30 +0200)]
tools: unused ports: optional address parameter

While it should be impossible to bind to a wildcard address
when the port is in use by any other address there's one
case where this is allowed, and that's when the port is in
use by an ipv6 address while trying to bind to an ipv4
wildcard.
This currently happens when qemu finds ::1 for the
'localhost' we pass to qemu's spice address while we're
resolving the local nodename via IPv4.

2 years agoPVE::JSONSchema - add proxyto_callback property
Dietmar Maurer [Mon, 29 May 2017 09:37:09 +0000 (11:37 +0200)]
PVE::JSONSchema - add proxyto_callback property

2 years agoRevert "JSONSchema.pm: register new standard option pve-replicate"
Dietmar Maurer [Tue, 23 May 2017 11:03:57 +0000 (13:03 +0200)]
Revert "JSONSchema.pm: register new standard option pve-replicate"

This reverts commit b6501c2fd913d9359a48007594d94a8c8a8745b5.

No longer required, because we use a separate SectionConfig file to
store replication config.

2 years agoMerge branch 'master' of pve-git:pve/pve-common
Fabian Grünbichler [Mon, 29 May 2017 11:57:03 +0000 (13:57 +0200)]
Merge branch 'master' of pve-git:pve/pve-common

2 years agoswap raw syscall numbers with syscall.ph for easier porting
Thomas Lamprecht [Wed, 10 May 2017 13:03:45 +0000 (15:03 +0200)]
swap raw syscall numbers with syscall.ph for easier porting

Raw syscall numbers were not platform independent, so replace them
with the helpers provided from the syscall.ph perl bits helper.

This makes reading the code easier as a nice side effect.

As syscall.ph is not an ordinary module and makes problems when it is
required by multiple modules we make a own module PVE::Syscall which
loads it and allows to export the necessary constants in a sane way.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 5.0-12
Fabian Grünbichler [Thu, 18 May 2017 13:44:42 +0000 (15:44 +0200)]
bump version to 5.0-12

2 years agofix #1388: cpuset: sort members numerically
Wolfgang Bumiller [Thu, 18 May 2017 06:54:15 +0000 (08:54 +0200)]
fix #1388: cpuset: sort members numerically

2 years agoPVE::CalendarEvent - register format 'pve-calendar-event'
Dietmar Maurer [Wed, 17 May 2017 08:49:30 +0000 (10:49 +0200)]
PVE::CalendarEvent - register format 'pve-calendar-event'

2 years agotest/calendar_event_test.pl: regression tests for PVE::CalendarEvent
Dietmar Maurer [Wed, 17 May 2017 05:18:24 +0000 (07:18 +0200)]
test/calendar_event_test.pl: regression tests for PVE::CalendarEvent

2 years agoCalendarEvent.pm: implement parser/utils for systemd like calender exents
Dietmar Maurer [Wed, 17 May 2017 05:07:25 +0000 (07:07 +0200)]
CalendarEvent.pm: implement parser/utils for systemd like calender exents

Not complete, but useful.

2 years agoTools: make file-locking aware of external exception sources
Wolfgang Bumiller [Thu, 11 May 2017 10:40:02 +0000 (12:40 +0200)]
Tools: make file-locking aware of external exception sources

Previously an external exception (eg. caused by a SIGARLM in a code
which is already inside a run_with_timeout() call) could happen in
various places where we did not properly this situation.
For instance after calling $lock_func() but before reaching the cleanup
code. In this case a lock was leaked.
Additionally the code was broken in that it used perl's automatic hash
creation side effect ($a->{x}->{y} implicitly initializing $a->{x} with
an empty hash when it did not exist). The effect was that if our own
time out was triggered after the initial check for an existing file
handle inside $lock_func() happened (extremely rare since perl would have
to be running insanely slow), the cleanup did:

    if (my $fh = $lock_handles->{$$}->{$filename}->{fh}) {

This recreated $lock_handles->{$$}->{$filename} as an empty hash.
A subsequent call to lock_file_full() will think a file descriptor
already exists because the check simply used:

    if (!$lock_handles->{$$}->{$filename}) {

While this could have been a one-line fix for this one particular case,
we'd still not be taking external timeouts into account causing the
first issue described above.

2 years agoSectionConfig.pm: pass section data to format_section_header
Dietmar Maurer [Wed, 10 May 2017 09:14:53 +0000 (11:14 +0200)]
SectionConfig.pm: pass section data to format_section_header

So that we can store data in section headers

2 years agoJSONSchema.pm: register new standard option pve-replicate
Dietmar Maurer [Sat, 6 May 2017 07:00:50 +0000 (09:00 +0200)]
JSONSchema.pm: register new standard option pve-replicate

2 years agobump version to 5.0-11
Fabian Grünbichler [Fri, 5 May 2017 10:39:24 +0000 (12:39 +0200)]
bump version to 5.0-11

2 years agoget_options: handle array and scalar refs on decoding
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>
2 years agoNetwork: add helpers to resolve hostnames to IPs
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>
2 years agobump version to 5.0-10
Dietmar Maurer [Tue, 2 May 2017 09:52:41 +0000 (11:52 +0200)]
bump version to 5.0-10

2 years agomark decode_utf8_parameters() as depreciated
Dietmar Maurer [Tue, 2 May 2017 09:30:50 +0000 (11:30 +0200)]
mark decode_utf8_parameters() as depreciated

2 years agouse Encode::Locale to encode parameters read from console(getopt)
Dietmar Maurer [Tue, 2 May 2017 09:09:35 +0000 (11:09 +0200)]
use Encode::Locale to encode parameters read from console(getopt)

2 years agobump version to 5.0-9
Dietmar Maurer [Sat, 29 Apr 2017 06:28:30 +0000 (08:28 +0200)]
bump version to 5.0-9

2 years agoPVE::RESTEnvironment::get_user - add $noerr parameter
Dietmar Maurer [Sat, 29 Apr 2017 06:27:09 +0000 (08:27 +0200)]
PVE::RESTEnvironment::get_user - add $noerr parameter

2 years agobump version to 5.0-8
Wolfgang Bumiller [Thu, 20 Apr 2017 10:29:48 +0000 (12:29 +0200)]
bump version to 5.0-8

2 years agocpuset: remove max-cpu range check
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.)

2 years agobump version to 5.0-7
Fabian Grünbichler [Mon, 10 Apr 2017 14:08:35 +0000 (16:08 +0200)]
bump version to 5.0-7

2 years agorun_command: default exit code to -1
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>
2 years agonet: only disable ipv6 on actual creation
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.

2 years agoMakefile(clean): remove *.buildinfo
Dietmar Maurer [Tue, 4 Apr 2017 07:32:59 +0000 (09:32 +0200)]
Makefile(clean): remove *.buildinfo

2 years agoPVE::Tools::dump_journal: allow to filter a specific service
Dietmar Maurer [Tue, 4 Apr 2017 04:02:34 +0000 (06:02 +0200)]
PVE::Tools::dump_journal: allow to filter a specific service

2 years agobump version to 5.0-6
Dietmar Maurer [Mon, 3 Apr 2017 09:07:56 +0000 (11:07 +0200)]
bump version to 5.0-6

2 years agoAdd utility subroutine to get the fully qualified domain name of a host
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

2 years agobump version to 5.0-4
Dietmar Maurer [Thu, 30 Mar 2017 15:51:06 +0000 (17:51 +0200)]
bump version to 5.0-4

2 years agoPVE::Tools::encrypt_pw() - new helper copied from pve-access-control
Dietmar Maurer [Thu, 30 Mar 2017 15:49:26 +0000 (17:49 +0200)]
PVE::Tools::encrypt_pw() - new helper copied from pve-access-control

2 years agobump version to 5.0-4
Dietmar Maurer [Thu, 30 Mar 2017 15:40:33 +0000 (17:40 +0200)]
bump version to 5.0-4

2 years agodepend on libmime-base32-perl (required by OTP.pm)
Dietmar Maurer [Thu, 30 Mar 2017 15:41:34 +0000 (17:41 +0200)]
depend on libmime-base32-perl (required by OTP.pm)

2 years agoOTP.pm: new class with OTP helpers
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.

2 years agoREADME.dev: remove vlan and ifenslave-2.6 packages
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.

2 years agoREADME.dev: remove '-y' from apt-get
Fabian Grünbichler [Wed, 29 Mar 2017 12:01:19 +0000 (14:01 +0200)]
README.dev: remove '-y' from apt-get

2 years agobump version to 5.0-3
Dietmar Maurer [Tue, 21 Mar 2017 11:07:34 +0000 (12:07 +0100)]
bump version to 5.0-3

2 years agoINotify.pm: use Clone::clone instead of Storable::dclone
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.

2 years agobump version to 5.0-2
Wolfgang Bumiller [Mon, 13 Mar 2017 14:07:18 +0000 (15:07 +0100)]
bump version to 5.0-2

2 years agoREADME.dev: add libiscsi-dev libiscsi7
Dietmar Maurer [Mon, 13 Mar 2017 11:58:51 +0000 (12:58 +0100)]
README.dev: add libiscsi-dev libiscsi7

2 years agoREADME.dev: change build order (pve-firewall before qemu-server)
Dietmar Maurer [Mon, 13 Mar 2017 11:54:05 +0000 (12:54 +0100)]
README.dev: change build order (pve-firewall before qemu-server)

2 years agoREADME.dev: remove lvm.git
Dietmar Maurer [Mon, 13 Mar 2017 11:41:52 +0000 (12:41 +0100)]
README.dev: remove lvm.git

2 years agoREADME.dev: add extjs.git and pve-guest-common.git
Dietmar Maurer [Mon, 13 Mar 2017 11:39:15 +0000 (12:39 +0100)]
README.dev: add extjs.git and pve-guest-common.git

2 years agoREADME.dev: add missing build depends for pve-cluster
root [Mon, 13 Mar 2017 11:26:21 +0000 (12:26 +0100)]
README.dev: add missing build depends for pve-cluster

2 years agoadd missing build dependencies
root [Mon, 13 Mar 2017 11:22:48 +0000 (12:22 +0100)]
add missing build dependencies

2 years agoREADME.dev: adopt package list for stretch
root [Mon, 13 Mar 2017 10:22:54 +0000 (11:22 +0100)]
README.dev: adopt package list for stretch

2 years agoadd keeplocale parameter to run_command
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>
2 years agoMakefile: upload to --product pve,pmg
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).