Skip to main content

Add a new slave to a running pool and match the patch level

VKB-1096How-to
📦 Applies to
XCP-ng
🗓️ Created
2026-07-29
🔄 Updated
2026-10-10

Environment​

  • An existing XCP-ng pool with a running master.
  • A new slave host to be added, with SSH access from the new slave to the pool master.

Procedure​

  1. On the new slave, list the packages installed on the master and locally, replacing X.X.X.X with the IP of the existing pool's master:

    root@dom0
    # MASTER_IP=X.X.X.X
    # ssh root@"$MASTER_IP" rpm -qa | sort > master-rpms.txt
    # rpm -qa | sort > local-rpms.txt
  2. Keep the package versions present on the master but not on this host:

    root@dom0
    # comm -23 master-rpms.txt local-rpms.txt | tee updates.txt
  3. Check the contents of the three files, especially updates.txt.

  4. Install exactly those versions:

    root@dom0
    # yum install $(cat updates.txt)

    Use yum install, not yum update. Given exact package versions, yum install updates the installed packages and installs the missing ones at the master's versions. An older version of this procedure used yum update, which did not pin the versions of new packages pulled in as dependencies.

Verification​

Run the comparison again. Once the host matches the master, comm -23 master-rpms.txt local-rpms.txt prints nothing when local-rpms.txt is regenerated:

root@dom0
# rpm -qa | sort > local-rpms.txt
# comm -23 master-rpms.txt local-rpms.txt