[pve-devel] [PATCHSET v2] pve-cluster split
Fabian Grünbichler
f.gruenbichler at proxmox.com
Mon Nov 11 11:27:52 CET 2019
this patch set attempts to rectify a long-standing issue with our
pve-cluster packaging:
- the combination of pmxcfs+ipcc+binding and various other more or less
cluster-related perl code in mostly one perl module (PVE::Cluster) and
binary package (pve-cluster)
- a cyclic dependency between pve-access-control and pve-cluster
to tackle both issues, pve-cluster gets split into two independent
parts:
- pve-cluster: pmxcfs+IPCC+cfs_*
- libpve-cluster(-api)-perl: rest of the perl code
some notable high-level changes:
- datacenter.cfg got its own perl module PVE::DataCenterConfig (libpve-cluster-perl)
- *ssh_info* got its own perl module PVE::SSHInfo (libpve-cluster-perl)
- the certificate cache got moved (back!) to pve-manager
- the pvecm call in ExecStartPost of pve-cluster.service got moved to ExecStartPre of pveproxy.service
for building, the following order should work:
pve-docs
pve-cluster
pve-access-control
pve-ha-manager
pve-storage
pve-guest-common
pve-container
qemu-server
pve-manager
pve-firewall
changelog v1->v2:
- dropped patches already applied
- dropped addr API endpoint and related patches in pve-cluster[1]
- dropped no longer needed pve-access-control split
- added missing versioned breaks pve-cluster -> libpve-access-control
1: I'll explore monitoring+broadcasting all configured addresses via
pmxcfs instead.
pve-docs:
Fabian Grünbichler (2):
use PVE::DataCenterConfig to get schema
bump version to 6.0-9~test1
debian/changelog | 6 ++++++
gen-datacenter.cfg.5-opts.pl | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
base-commit: 51e544b624b174a3babcde912f5c15407e0965c0
pve-cluster:
Fabian Grünbichler (13):
d/control: add missing build-depends
move RRD creating into own file
move cluster setup related code to own file
move corosync_link schema to Corosync.pm
move certificate cache to own file
move CertCache to pve-manager
move datacenter.cfg to own file
datacenter.cfg: parse/print u2f property string
move ssh_info code to own file
d/control: add versioned breaks
split package into pve-cluster/pmxcfs and perl modules
pve-cluster.service: move pvecm call to pveproxy.service
bump version to 6.0-8~test2
data/PVE/Cluster/Makefile | 2 +-
data/PVE/Makefile | 2 +-
data/PVE/API2/ClusterConfig.pm | 23 +-
data/PVE/CLI/pvecm.pm | 50 +-
data/PVE/Cluster.pm | 1272 +----------------
data/PVE/Cluster/Setup.pm | 744 ++++++++++
data/PVE/Corosync.pm | 32 +
data/PVE/DataCenterConfig.pm | 245 ++++
data/PVE/RRD.pm | 134 ++
data/PVE/SSHInfo.pm | 68 +
debian/changelog | 20 +
debian/control | 64 +-
debian/install | 1 -
debian/libpve-cluster-api-perl.docs | 1 +
debian/libpve-cluster-api-perl.install | 7 +
...ggers => libpve-cluster-api-perl.triggers} | 0
debian/libpve-cluster-perl.docs | 1 +
debian/libpve-cluster-perl.install | 5 +
debian/{dirs => pve-cluster.dirs} | 0
debian/{docs => pve-cluster.docs} | 0
debian/pve-cluster.install | 8 +
debian/pve-cluster.service | 1 -
debian/rules | 3 +
23 files changed, 1377 insertions(+), 1306 deletions(-)
create mode 100644 data/PVE/Cluster/Setup.pm
create mode 100644 data/PVE/DataCenterConfig.pm
create mode 100644 data/PVE/RRD.pm
create mode 100644 data/PVE/SSHInfo.pm
delete mode 100644 debian/install
create mode 100644 debian/libpve-cluster-api-perl.docs
create mode 100644 debian/libpve-cluster-api-perl.install
rename debian/{pve-cluster.triggers => libpve-cluster-api-perl.triggers} (100%)
create mode 100644 debian/libpve-cluster-perl.docs
create mode 100644 debian/libpve-cluster-perl.install
rename debian/{dirs => pve-cluster.dirs} (100%)
rename debian/{docs => pve-cluster.docs} (100%)
create mode 100644 debian/pve-cluster.install
base-commit: c92b771669e68a8b49906b8a0a68b533750567b0
pve-acess-control:
Fabian Grünbichler (4):
use PVE::DataCenterConfig
use already parsed u2f property string
d/control: (build-)depend on libpve-cluster-perl
bump version to 6.0-4~test2
PVE/API2/AccessControl.pm | 2 +-
debian/changelog | 6 ++++++
debian/control | 2 ++
3 files changed, 9 insertions(+), 1 deletion(-)
base-commit: 31969620230aca814b61f9d1158355efdc3452b6
pve-storage:
Fabian Grünbichler (5):
use PVE::DataCenterConfig
use PVE::SSHInfo
use PVE::RRD for RRD data
d/control: add (build-)depends on libpve-cluster-perl
bump version to 6.0-10~test2
PVE/API2/Storage/Content.pm | 3 ++-
PVE/API2/Storage/Status.pm | 5 +++--
PVE/Storage.pm | 6 ++++--
debian/changelog | 12 ++++++++++++
debian/control | 2 ++
5 files changed, 23 insertions(+), 5 deletions(-)
base-commit: ed2df8e35e0b3f275aaad566c9faab5f83b503b7
pve-guest-common:
Fabian Grünbichler (5):
use PVE::DataCenterConfig
use PVE::SSHInfo
d/control: add (build-)depends on libpve-cluster-perl
d/control: add more missing build-dependencies
bump version to 3.0-3~test1
PVE/AbstractMigrate.pm | 6 ++++--
PVE/Replication.pm | 10 ++++++----
debian/changelog | 6 ++++++
debian/control | 7 ++++++-
4 files changed, 22 insertions(+), 7 deletions(-)
base-commit: 7a6a1a4b3735add09b9d12170f15f40f6915dd42
pve-container:
Fabian Grünbichler (3):
use PVE::DataCenterConfig
use PVE::RRD for RRD data
bump version to 3.0-11~test2
debian/changelog | 18 ++++++++++++++++++
debian/control | 2 ++
src/PVE/API2/LXC.pm | 6 ++++--
src/PVE/LXC/Config.pm | 1 +
src/PVE/LXC/Create.pm | 1 +
5 files changed, 26 insertions(+), 2 deletions(-)
base-commit: 13533534d6c473a17d7734c743cebdf4ddb58d6a
qemu-server:
Fabian Grünbichler (6):
use PVE::DataCenterConfig
use PVE::SSHInfo
use PVE::RRD for RRD data
refactor migration IP retrieval
d/control: add (build-)depends on libpve-cluster-perl
bump version to 6.0-14~test1
PVE/API2/Qemu.pm | 15 +++++++++------
PVE/QemuServer.pm | 41 ++++++++++++++++++++++++++++++++---------
debian/changelog | 12 ++++++++++++
debian/control | 2 ++
4 files changed, 55 insertions(+), 15 deletions(-)
base-commit: e987ca201b383d7812a7f9361e834007ced05769
pve-ha-manager:
Fabian Grünbichler (2):
use PVE::DataCenterConfig
bump version to 3.0-3~test1
debian/changelog | 16 ++++++++++++++++
debian/control | 2 ++
src/PVE/HA/Env/PVE2.pm | 1 +
3 files changed, 19 insertions(+)
base-commit: c9b21b5a0bf7288bd437d2b02d87435438884601
pve-manager:
Fabian Grünbichler (10):
takeover CertCache from pve-cluster
use PVE::DataCenterConfig
test: mock PVE::SSHInfo module
use PVE::RRD for RRD data
pveproxy.service: take over pvecm call from pve-cluster.service
test: also mock cfs_read_file
d/control: add (build-)depends on libpve-cluster-perl
d/control: add (build-)depends on libpve-cluster-api-perl
d/control: bump versioned b-d on libpve-guest-common-perl
bump version to 6.0-12~test2
PVE/Makefile | 1 +
PVE/API2.pm | 1 +
PVE/API2/APT.pm | 1 +
PVE/API2/Cluster.pm | 3 +-
PVE/API2/Nodes.pm | 6 ++-
PVE/API2/Subscription.pm | 1 +
PVE/API2Tools.pm | 1 +
PVE/CLI/pveam.pm | 1 +
PVE/CertCache.pm | 92 ++++++++++++++++++++++++++++++++++++++
PVE/HTTPServer.pm | 5 ++-
PVE/Service/pveproxy.pm | 1 +
PVE/VZDump.pm | 1 +
bin/pvemailforward.pl | 1 +
bin/pveupdate | 1 +
debian/changelog | 34 ++++++++++++++
debian/control | 8 +++-
services/pveproxy.service | 1 +
test/ReplicationTestEnv.pm | 15 ++++++-
18 files changed, 166 insertions(+), 8 deletions(-)
create mode 100644 PVE/CertCache.pm
base-commit: 1770237d1add81a04b1c55c017b27ceaaa3a406f
pve-firewall:
Fabian Grünbichler (1):
d/control: add (build-)depends on libpve-cluster-perl
debian/control | 2 ++
1 file changed, 2 insertions(+)
base-commit: e1639957a44ea8d42fbf8ea8e0b997fbe92b0aa8
More information about the pve-devel
mailing list