]> git.proxmox.com Git - pve-cluster.git/log
pve-cluster.git
4 years agobump version to 6.0-0+1
Thomas Lamprecht [Tue, 21 May 2019 16:11:28 +0000 (18:11 +0200)]
bump version to 6.0-0+1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobuildsys: use dpkg-dev Makefile helpers for pkg info
Thomas Lamprecht [Tue, 21 May 2019 16:07:41 +0000 (18:07 +0200)]
buildsys: use dpkg-dev Makefile helpers for pkg info

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobuildsys: reuse PERL_DOC_INC from pve-doc-generator
Thomas Lamprecht [Tue, 21 May 2019 15:54:06 +0000 (17:54 +0200)]
buildsys: reuse PERL_DOC_INC from pve-doc-generator

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 5.0-37
Thomas Lamprecht [Tue, 30 Apr 2019 13:59:10 +0000 (13:59 +0000)]
bump version to 5.0-37

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoupdate corosync build-dependency
Fabian Grünbichler [Fri, 19 Apr 2019 08:33:34 +0000 (10:33 +0200)]
update corosync build-dependency

transitional corosync-dev is dropped with Debian Buster / PVE 6

5 years agofix #1777: join: assert that local nodename bound IP is configured
Thomas Lamprecht [Mon, 15 Apr 2019 12:40:26 +0000 (12:40 +0000)]
fix #1777: join: assert that local nodename bound IP is configured

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoassert_joinable: report what param caused the error
Thomas Lamprecht [Mon, 15 Apr 2019 12:39:25 +0000 (12:39 +0000)]
assert_joinable: report what param caused the error

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agopmxcfs: allow read access for www-data to /run dir
Thomas Lamprecht [Thu, 11 Apr 2019 05:46:09 +0000 (07:46 +0200)]
pmxcfs: allow read access for www-data to /run dir

There's no real sensible information here, and we naturally only
allow read, but no write/exec.

This makes our IPCC restart connection re-cachin heuristic also work
for processes run as www-data, e.g., pveproxy, and thus guarantee a
more seamless pmxcfs restart - e.g., for package updates.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoipcc: increase restart grace period
Thomas Lamprecht [Thu, 11 Apr 2019 05:42:21 +0000 (07:42 +0200)]
ipcc: increase restart grace period

with bad timing and general restart overhead 5 secs were sometimes a
too small timeout, even if it happened really seldom. Increase it a
bit, as it's desired to have the connection stay a live in a lot of
cases, e.g., to not get logged out on pve-cluster update as
pveproxy's verify_ticked couldn't do IPCC.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-36
Thomas Lamprecht [Wed, 10 Apr 2019 13:47:06 +0000 (15:47 +0200)]
bump version to 5.0-36

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agocleanup and sort use module section
Thomas Lamprecht [Wed, 10 Apr 2019 13:45:42 +0000 (15:45 +0200)]
cleanup and sort use module section

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agodatacenter: only print properties to string if not already
Thomas Lamprecht [Wed, 10 Apr 2019 13:45:21 +0000 (15:45 +0200)]
datacenter: only print properties to string if not already

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-35
Thomas Lamprecht [Wed, 3 Apr 2019 11:38:15 +0000 (13:38 +0200)]
bump version to 5.0-35

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoactually add priv/tfa.cfg to observed files
Thomas Lamprecht [Wed, 3 Apr 2019 11:35:07 +0000 (13:35 +0200)]
actually add priv/tfa.cfg to observed files

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoregister priv/tfa.cfg as observed file
Wolfgang Bumiller [Tue, 2 Apr 2019 10:21:59 +0000 (12:21 +0200)]
register priv/tfa.cfg as observed file

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoadd u2f configuration to datacenter.cfg
Wolfgang Bumiller [Tue, 2 Apr 2019 10:21:58 +0000 (12:21 +0200)]
add u2f configuration to datacenter.cfg

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agofix 'PIDFile= references path below legacy directory /var/run/' warning
Thomas Lamprecht [Tue, 26 Mar 2019 13:50:14 +0000 (14:50 +0100)]
fix 'PIDFile= references path below legacy directory /var/run/' warning

/var/run is a symlink to /run on stretch and buster, and the systemd
version of buster will annoy one with warnings if /var/run/xyz.pid is
used..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agorestart pve-cluster.service on failure
Thomas Lamprecht [Thu, 14 Mar 2019 13:50:26 +0000 (14:50 +0100)]
restart pve-cluster.service on failure

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-34
Thomas Lamprecht [Thu, 14 Mar 2019 08:39:00 +0000 (09:39 +0100)]
bump version to 5.0-34

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agocluster: use lock for legacy authkey generation
Fabian Grünbichler [Wed, 13 Mar 2019 14:01:33 +0000 (15:01 +0100)]
cluster: use lock for legacy authkey generation

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
5 years agocluster: add cfs_lock_authkey
Fabian Grünbichler [Wed, 13 Mar 2019 14:01:32 +0000 (15:01 +0100)]
cluster: add cfs_lock_authkey

used for authkey rotation in pve-access-control

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
5 years agomac_prefix: do not allow multicast prefixes
Stoiko Ivanov [Tue, 12 Mar 2019 15:07:40 +0000 (16:07 +0100)]
mac_prefix: do not allow multicast prefixes

MAC-addresses having the LSB of the first octet set, are considered
multicast-addresses (see [0,1]). LXC (the kernel) does not allow
such a mac-address to be set for a device, thus preventing containers from
starting if a multicast prefix is set (reported in [2] by Alexandre)

This patch introduces 'mac-prefix' (permitting only unicast prefixes) via
register_format and uses it instead of the pattern.

[0] https://lists.linuxcontainers.org/pipermail/lxc-users/2010-August/000783.html
[1] https://en.wikipedia.org/wiki/MAC_address
[2] https://pve.proxmox.com/pipermail/pve-devel/2019-March/035996.html

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
5 years agoallow to setup and remove qdevice for cluster
Oguz Bektas [Tue, 5 Mar 2019 12:42:07 +0000 (13:42 +0100)]
allow to setup and remove qdevice for cluster

makes it possible to setup and remove qdevice through pvecm

requirements:
    * all hosts need corosync-qdevice installed
    * host serving as qdevice needs corosync-qnetd installed
    * root ssh access from pve host to qdevice host

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
5 years agod/control: bump version dependency to pve-doc-generator
Thomas Lamprecht [Fri, 22 Feb 2019 12:31:32 +0000 (13:31 +0100)]
d/control: bump version dependency to pve-doc-generator

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years ago1891 Add zsh command completion for pvecm
Christian Ebner [Thu, 21 Feb 2019 13:25:01 +0000 (14:25 +0100)]
1891 Add zsh command completion for pvecm

This adds the generation of the zsh command completion scripts for
pvecm.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
5 years agoget_nodelist: remove unused variable
Thomas Lamprecht [Fri, 25 Jan 2019 16:47:28 +0000 (17:47 +0100)]
get_nodelist: remove unused variable

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agopve-cluster: dont pretend to be a time-sync provider
Fabian Grünbichler [Tue, 15 Jan 2019 07:46:30 +0000 (08:46 +0100)]
pve-cluster: dont pretend to be a time-sync provider

time-sync.target is a special passive unit, consumers (i.e., units that
intend to say "I want to start after synchronized time has been
established") should only order themselves after it. only providers
(i.e., units that intend to say "I am responsible for synchronizing the
clock") should pull it in via a dependency.

this and 2c7182b76f59b32efaba3135c095b9c722957af1 together also fix #998

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
5 years agofix #2049: avoid conflict with chrony service
Oguz Bektas [Mon, 14 Jan 2019 10:34:37 +0000 (11:34 +0100)]
fix #2049: avoid conflict with chrony service

Do not depend on a specific time synchronizing daemon but allow any
by depend on the general time-sync.target

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-33
Thomas Lamprecht [Mon, 7 Jan 2019 11:51:20 +0000 (12:51 +0100)]
bump version to 5.0-33

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agodatacenter.cfg: add ha setting with shutdown_policy as format string property
Thomas Lamprecht [Thu, 20 Dec 2018 07:44:40 +0000 (08:44 +0100)]
datacenter.cfg: add ha setting with shutdown_policy as format string property

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-32
Thomas Lamprecht [Thu, 20 Dec 2018 09:46:54 +0000 (10:46 +0100)]
bump version to 5.0-32

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agocomment the observed file hash
Thomas Lamprecht [Thu, 20 Dec 2018 07:50:57 +0000 (08:50 +0100)]
comment the observed file hash

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agopmxcfs: add ceph.conf to observed files
Dominik Csapak [Wed, 19 Dec 2018 10:24:37 +0000 (11:24 +0100)]
pmxcfs: add ceph.conf to observed files

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agobuildsys: ensure correct PERL include is set for generating the docs
Thomas Lamprecht [Wed, 19 Dec 2018 09:31:14 +0000 (10:31 +0100)]
buildsys: ensure correct PERL include is set for generating the docs

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobuildsys: error out if a sub target fails
Thomas Lamprecht [Wed, 19 Dec 2018 09:29:16 +0000 (10:29 +0100)]
buildsys: error out if a sub target fails

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agorefactor run_silent_cmd
Thomas Lamprecht [Fri, 14 Dec 2018 10:07:42 +0000 (11:07 +0100)]
refactor run_silent_cmd

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoindentation cleanup
Thomas Lamprecht [Fri, 14 Dec 2018 10:06:50 +0000 (11:06 +0100)]
indentation cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-31
Thomas Lamprecht [Thu, 29 Nov 2018 12:08:27 +0000 (13:08 +0100)]
bump version to 5.0-31

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoadd 'for internal use' to description of addnode
David Limbeck [Wed, 3 Oct 2018 09:53:36 +0000 (11:53 +0200)]
add 'for internal use' to description of addnode

Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
5 years agobuildsys: add build PVE folder to LD_LIBRARY_PATH and PERLLIB
Thomas Lamprecht [Fri, 7 Sep 2018 11:50:47 +0000 (13:50 +0200)]
buildsys: add build PVE folder to LD_LIBRARY_PATH and PERLLIB

ensures that the PVE modules and libraries currently build get used,
not the installed ones.

Besides correctness from a Packaging POV this also makes bootstrapping
easier.

Reported-by: Rhonda D'Vine <rhonda@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoWpedantic: mark flexible arrays with [] not [0]
Thomas Lamprecht [Fri, 7 Sep 2018 11:50:46 +0000 (13:50 +0200)]
Wpedantic: mark flexible arrays with [] not [0]

https://gcc.gnu.org/onlinedocs/gcc-8.2.0/gcc/Zero-Length.html
(same as in GCC 4.7.4 docs)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoWpedantic: add casts to void* for pointer printing
Thomas Lamprecht [Fri, 7 Sep 2018 11:50:45 +0000 (13:50 +0200)]
Wpedantic: add casts to void* for pointer printing

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoWpedantic: remove extra semicolons after function bodies
Thomas Lamprecht [Fri, 7 Sep 2018 11:50:44 +0000 (13:50 +0200)]
Wpedantic: remove extra semicolons after function bodies

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobuildsys: IPCConst.pm is needed by 'check' target
Thomas Lamprecht [Thu, 6 Sep 2018 12:29:01 +0000 (14:29 +0200)]
buildsys: IPCConst.pm is needed by 'check' target

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agofix some format security issues
Thomas Lamprecht [Tue, 28 Aug 2018 13:12:36 +0000 (15:12 +0200)]
fix some format security issues

fix places reported by '-Werror=format-security' in preperance to
make this package debhelper level 9 compatible.

Rename the touched 'str' variable to an actual name in this process

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-30
Thomas Lamprecht [Thu, 23 Aug 2018 12:00:51 +0000 (14:00 +0200)]
bump version to 5.0-30

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoadd missing languages to datacenter_schema
Dominik Csapak [Fri, 17 Aug 2018 09:20:24 +0000 (11:20 +0200)]
add missing languages to datacenter_schema

copied from proxmox-widget-toolkit Utils.js
since i see no good way to only have this in one place

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoFix #1849: typos: aquire -> acquire
Wolfgang Bumiller [Tue, 31 Jul 2018 09:40:42 +0000 (11:40 +0200)]
Fix #1849: typos: aquire -> acquire

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoFix #1848: typo in PVE::Cluster::join()
Wolfgang Bumiller [Tue, 31 Jul 2018 09:19:33 +0000 (11:19 +0200)]
Fix #1848: typo in PVE::Cluster::join()

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoapi/join: avoid using an IPv6 address as worker task ID
Thomas Lamprecht [Mon, 30 Jul 2018 12:31:00 +0000 (14:31 +0200)]
api/join: avoid using an IPv6 address as worker task ID

We used the hostname of the node over which we joined a cluster as
worker ID, which is then encoded in it's task UPID - a unique ID with
encoded information, separated by colons.
While this is no problem for normal hostnames, or IPv4 addresses, the
hostname can also be an IPv6 address - which is also separated by
colons. This throws of the upid_decode method.

While the, from a user POV, best solution would probably be to
connect and query the cluster name from the join peer it is much
simpler to just omit the ID to avoid such problems.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agogitignore: do not track *.buildinfo files
Thomas Lamprecht [Thu, 26 Jul 2018 07:33:06 +0000 (09:33 +0200)]
gitignore: do not track *.buildinfo files

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobuildsys: also cleanup dependency tracking files
Thomas Lamprecht [Thu, 26 Jul 2018 07:27:35 +0000 (09:27 +0200)]
buildsys: also cleanup dependency tracking files

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobuildsys: add dependency tracking
Wolfgang Bumiller [Tue, 24 Jul 2018 10:23:11 +0000 (12:23 +0200)]
buildsys: add dependency tracking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agobuildsys: fixup data/Makefile
Wolfgang Bumiller [Tue, 24 Jul 2018 10:17:34 +0000 (12:17 +0200)]
buildsys: fixup data/Makefile

Actually fill the 'all' target so we don't compile at
install time...

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agobuildsys: replace autotools with plain makefiles
Thomas Lamprecht [Wed, 4 Jul 2018 08:52:48 +0000 (10:52 +0200)]
buildsys: replace autotools with plain makefiles

pve-cluster is not a big project with to much dependencies, so
autotools was a bit of an overkill for it.
Omit it, plus a ./configure step in general and just use a plain
Makefile - in combination with pkg-config - like we do in our other
projects.

Build time gets reduced quite a bit - albeit the were never that big
anyway...:

(old autotools) time make deb
make deb  12.96s user 1.78s system 94% cpu 15.543 total

(new plain makefile) time make deb
make deb  9.40s user 1.14s system 100% cpu 10.465 total

A third less time needed here, and with compiling in parallel I can
shave off even 1.5 seconds more, so almost  half of the original
time.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-29
Thomas Lamprecht [Tue, 24 Jul 2018 09:19:58 +0000 (11:19 +0200)]
bump version to 5.0-29

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agofixup coding style
Thomas Lamprecht [Tue, 24 Jul 2018 09:00:11 +0000 (11:00 +0200)]
fixup coding style

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agofix #1843: always free certificate file after reading it
Stoiko Ivanov [Tue, 24 Jul 2018 08:42:40 +0000 (10:42 +0200)]
fix #1843: always free certificate file after reading it

Reading https://$host:8006/nodes repeadedly leads to pveproxy keeping
a filedescriptor open for each node-certificate in the cluster and
eventually reaching its NOFile limit..

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
5 years agobump version to 5.0-28
Thomas Lamprecht [Tue, 3 Jul 2018 12:16:42 +0000 (14:16 +0200)]
bump version to 5.0-28

5 years agopvecm updatecerts: followup: do work in fork
Thomas Lamprecht [Tue, 3 Jul 2018 12:10:41 +0000 (14:10 +0200)]
pvecm updatecerts: followup: do work in fork

to workaround the case that we may possible get into the
uninterruptedly D state.
While this may still happen, it happens to a fork and we can return
an error to our caller.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agopvecm updatecerts: time out after 30 seconds
Thomas Lamprecht [Mon, 2 Jul 2018 14:29:40 +0000 (16:29 +0200)]
pvecm updatecerts: time out after 30 seconds

We call this in pve-cluster.service as ExecStartPost. We prefix it
with '-' to tell systemd that it should ignore non-zero exit codes,
but if the command hangs (e.g., on IO) systemd kills it after a
timeout (90 seconds default) which then doesn't get ignored and the
unit will also be put in failure state and stopped.
We specifically do not want this to happen, so wrap the updatecerts
call in run_with_timeout and give it a maximum of 30 seconds to
finish.

Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobuildsys: fixup IPCConst.pm dependencies
Wolfgang Bumiller [Wed, 23 May 2018 09:51:59 +0000 (11:51 +0200)]
buildsys: fixup IPCConst.pm dependencies

IPCConst.pm depends on cfs-ipc-ops.h. Additionally, since
the header is the "input" and IPCConst.pm.awk is the
generator, use the header as the main direct dependency and
add the generator as a secondary dependency afterwards
(thus we have to swap the awk parameters).

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agouse constants for IPC request types
Thomas Lamprecht [Fri, 18 May 2018 10:37:25 +0000 (12:37 +0200)]
use constants for IPC request types

Add a simple header with the constants as defines.
Use a simple awk script to translate this to an perl module with the
constants exported. awk is far easier to understand and maintain than
h2ph or h2xs, also their result is quite a mess for such a trivial
thing, IMO.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 5.0-27
Thomas Lamprecht [Fri, 4 May 2018 10:58:54 +0000 (12:58 +0200)]
bump version to 5.0-27

5 years agofix #1743: cluster create: default to ring0_addr for bindnet0
Thomas Lamprecht [Wed, 2 May 2018 08:02:57 +0000 (10:02 +0200)]
fix #1743: cluster create: default to ring0_addr for bindnet0

Else, if a separate network address was passed for ring0_addr but no
bindnet0 adress was set we used the wrong fallback.
Do not fallback to $local_node_ip but always to $ring0_addr, which
itself falls back to local node IP.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi: allow cluster wide sys auditors to get join info
Thomas Lamprecht [Mon, 30 Apr 2018 12:40:48 +0000 (14:40 +0200)]
api: allow cluster wide sys auditors to get join info

add same permissions as the GET cluster config call has.

Else the WebUI shows 'Standalone Node' for clustered nodes if the
user is not root but has audit rights.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agocluster: add cfs_lock_acme
Fabian Grünbichler [Thu, 19 Apr 2018 12:01:31 +0000 (14:01 +0200)]
cluster: add cfs_lock_acme

to lock an ACME account config file

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agobump version to 5.0-26
Wolfgang Bumiller [Tue, 24 Apr 2018 09:07:40 +0000 (11:07 +0200)]
bump version to 5.0-26

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agofixup: use 'an' for 'HTML5'
Thomas Lamprecht [Fri, 20 Apr 2018 10:01:39 +0000 (12:01 +0200)]
fixup: use 'an' for 'HTML5'

6 years agoadd 'xtermjs' to console types
Dominik Csapak [Fri, 13 Apr 2018 07:49:58 +0000 (09:49 +0200)]
add 'xtermjs' to console types

so that we can have it as default in the webinterface

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agobump version to 5.0-25
Wolfgang Bumiller [Fri, 13 Apr 2018 11:50:31 +0000 (13:50 +0200)]
bump version to 5.0-25

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agopmxcfs: only exit parent when successfully started
Dominik Csapak [Thu, 12 Apr 2018 12:38:15 +0000 (14:38 +0200)]
pmxcfs: only exit parent when successfully started

since systemd depends that parent exits only
when the service is actually started, we need to wait for the
child to get to the point where it starts the fuse loop
and signal the parent to now exit and write the pid file

without this, we had an issue, where the
ExecStartPost hook (which runs pvecm updatecerts) did not run reliably,
but which is necessary to setup the nodes/ dir in /etc/pve
and generating the ssl certificates

this could also affect every service which has an
After=pve-cluster

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agobump version to 5.0-24
Wolfgang Bumiller [Wed, 11 Apr 2018 09:28:42 +0000 (11:28 +0200)]
bump version to 5.0-24

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agocreate known_hosts symlink on join
Dominik Csapak [Wed, 11 Apr 2018 07:26:38 +0000 (09:26 +0200)]
create known_hosts symlink on join

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agofix #1723: add missing package for 'remote_node_ip'
Dominik Csapak [Tue, 10 Apr 2018 11:46:39 +0000 (13:46 +0200)]
fix #1723: add missing package for 'remote_node_ip'

without this, we would get perl errors when joining

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agouse ssh -X for upload target
Dietmar Maurer [Thu, 5 Apr 2018 10:26:48 +0000 (12:26 +0200)]
use ssh -X for upload target

6 years agobump version to 5.0-23
Dietmar Maurer [Thu, 5 Apr 2018 10:25:24 +0000 (12:25 +0200)]
bump version to 5.0-23

6 years agoAPI/Cluster: autoflush STDOUT for join and create
Thomas Lamprecht [Tue, 27 Mar 2018 06:08:37 +0000 (08:08 +0200)]
API/Cluster: autoflush STDOUT for join and create

We're in a forked worker here, so STDOUT isn't connected to a
(pseudo)TTY directly, so perl flushes only when it's intewrnal buffer
is full.

Ensure each line gets flushed out to the API client in use to give
immediate feedback about the operation.

For example, our WebUIs Task Viewer won't show anything without this
quite a bit of time, you may even get logged out before the flush
from the perl side happens, which is simply bad UX.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agopvecm join: also default to resolved IP with use_ssh param
Thomas Lamprecht [Thu, 29 Mar 2018 09:06:08 +0000 (11:06 +0200)]
pvecm join: also default to resolved IP with use_ssh param

We already switched to this behaviour in pvecm create and pvecm join
(with API) but did not changed it for the case when a user requested
to use the old method to join with --use_ssh.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agobump version to 5.0-22
Dietmar Maurer [Tue, 13 Mar 2018 11:36:01 +0000 (12:36 +0100)]
bump version to 5.0-22

6 years agofix tainted input in backup_cfs_database
Thomas Lamprecht [Mon, 12 Mar 2018 08:26:27 +0000 (09:26 +0100)]
fix tainted input in backup_cfs_database

We can call this module also now over the API through
pvedaemon/pveproxy which have tainting checks on.

Thus we need to untaint the "read existing backups" inputs,
as else this errors out here.

Only triggers when over 10 backups existed already, so this does
not triggers really often in the real world.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agorefactor backup_cfs_database
Thomas Lamprecht [Mon, 12 Mar 2018 08:26:26 +0000 (09:26 +0100)]
refactor backup_cfs_database

The logic for finding out which backups to delete was a bit weird

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agocluster join: ensure updatecerts gets called on quorate cluster
Thomas Lamprecht [Thu, 8 Mar 2018 16:17:45 +0000 (17:17 +0100)]
cluster join: ensure updatecerts gets called on quorate cluster

We moved the start of pve-cluster together with the one of corosync
earlier, before the quorate check.
This meant that the 'pvecm updatecerts --silent' we call in the
from the pve-cluster.service through ExecStartPost exited as it has
not yet quorum.

So factor the respective code out to the Cluster perl module and
call this function manually after we reached quorum.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoapi: add fork worker ID for create and join
Thomas Lamprecht [Tue, 6 Mar 2018 09:06:42 +0000 (10:06 +0100)]
api: add fork worker ID for create and join

allows to shows this in the web interface in the task log heading,
e.g.:
Create Cluster 'Foo'
Join node 'Bar'

Needs the respective mappings in the widget toolkits Utils file

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agopvecm: check if APIClient exception code is defined
Thomas Lamprecht [Tue, 6 Mar 2018 09:06:41 +0000 (10:06 +0100)]
pvecm: check if APIClient exception code is defined

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agobump version to 5.0-21
Fabian Grünbichler [Tue, 27 Feb 2018 08:57:00 +0000 (09:57 +0100)]
bump version to 5.0-21

6 years agobuildsys: use git rev-parse to retrieve commit
Fabian Grünbichler [Mon, 19 Feb 2018 10:52:06 +0000 (11:52 +0100)]
buildsys: use git rev-parse to retrieve commit

6 years agod/control: wrap-and-sort dependencies
Fabian Grünbichler [Mon, 19 Feb 2018 10:45:31 +0000 (11:45 +0100)]
d/control: wrap-and-sort dependencies

6 years agod/control: bump dependency on libpve-common-perl
Fabian Grünbichler [Mon, 19 Feb 2018 10:43:33 +0000 (11:43 +0100)]
d/control: bump dependency on libpve-common-perl

for 'bwlimit' option in datacenter.cfg

6 years agopvecm: add: create task log on cluster join
Thomas Lamprecht [Mon, 19 Feb 2018 10:21:29 +0000 (11:21 +0100)]
pvecm: add: create task log on cluster join

The API join path creates a task log when joining a cluster.
Also create such a log in the CLI code path.

Changes are mostly indentation only.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agolock locally on cluster create and join
Thomas Lamprecht [Tue, 9 Jan 2018 14:31:00 +0000 (15:31 +0100)]
lock locally on cluster create and join

If we are not part of a cluster we do not need to worry about other
members messing with the config. But there may be local contenders,
e.g., two automation script instances started in parallel by mistake
or two admin (sessions) which start a create or join clsuter request
at the same time.
Reuse the local flock for this purpose.

lock_file silents an exception, but does not alters it so we die if
$@ is set, to ensure a worker gets to know that something bad
happened.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agouse resolved IP address for ring0_addr as default
Thomas Lamprecht [Mon, 18 Dec 2017 14:30:10 +0000 (15:30 +0100)]
use resolved IP address for ring0_addr as default

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoapi/cluster: add endpoint to GET cluster join information
Thomas Lamprecht [Fri, 1 Dec 2017 12:57:42 +0000 (13:57 +0100)]
api/cluster: add endpoint to GET cluster join information

Returns all relevant information for joining this cluster over the
current connected node securely over the API, address, fingerprint,
totem config section and (not directly needed but possibly useful)
cluster configuration digest.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agofactor out common parameter definitions
Thomas Lamprecht [Fri, 26 Jan 2018 12:07:57 +0000 (13:07 +0100)]
factor out common parameter definitions

Besides the obvious reduction of duplicated code, this also
streamlines the descriptions.

Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoapi/cluster: create cluster in forked worker
Thomas Lamprecht [Tue, 12 Dec 2017 16:15:56 +0000 (17:15 +0100)]
api/cluster: create cluster in forked worker

Creating a cluster may need a bit longer, we need to gather random
data for the corosync authkey, restart services and such.
As we're now exposed in the API the 30 second response limit from
pveproxy is a big reason to do this. But we also get a nice task log
entry with this, which is nice.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agomove cluster create to API
Thomas Lamprecht [Fri, 1 Dec 2017 12:56:57 +0000 (13:56 +0100)]
move cluster create to API

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agocluster create: restart corosync & pmxfs in one go and say so
Thomas Lamprecht [Fri, 1 Dec 2017 12:33:09 +0000 (13:33 +0100)]
cluster create: restart corosync & pmxfs in one go and say so

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agocluster create: factor out initial corosync config assembly
Thomas Lamprecht [Fri, 1 Dec 2017 12:31:42 +0000 (13:31 +0100)]
cluster create: factor out initial corosync config assembly

Easier to read and work with in comparison to a heredocs text with
other string variables in there.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agopvecm add: use API by default to join cluster
Thomas Lamprecht [Mon, 27 Nov 2017 11:53:46 +0000 (12:53 +0100)]
pvecm add: use API by default to join cluster

Default to using the API for a add node procedure.

But, allow the user to manually fall back to the legacy SSH method.
Also fallback if the API detected an not up to date peer, this is
done by checking for the 501 HTTP_NOT_IMPLEMENTED response code.

This could be removed in a later major release, e.g. 6.0.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoapi/cluster: add join endpoint
Thomas Lamprecht [Mon, 27 Nov 2017 09:55:14 +0000 (10:55 +0100)]
api/cluster: add join endpoint

Add an endpoint to the API which allows to join an existing PVE
cluster by only using the API instead of CLI tools (pvecm).

Use a worker as this operation may need longer than 30 seconds.
With the worker we also get a task log entry/window for an UI for
free, allowing to give better feedback.

The join helper will be reused by the CLI handler in a later patch.
It is based on its behaviour, but swapped out the ssh parts with API
calls.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>