[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