When executing the gppkg --clean command after adding new spare hosts to a cluster, the utility fails with a Python traceback and a KeyError. The error indicates that a specific package (e.g., Greenplum Streaming Server) cannot be located on the new segments:
20260626:10:18:13:012429 gppkg:####:gpadmin-[ERROR]:-'gpss-2.2.0-1.x86_64.rpm'
Traceback (most recent call last):
File "/usr/local/greenplum-db-6.28.2/lib/python/gppylib/commands/base.py", line 279, in run
self.cmd.run()
...
File "/usr/local/greenplum-db-6.28.2/lib/python/gppylib/operations/package.py", line 1067, in execute
RemoteOperation(InstallPackageLocally(dstFile), self.host).run()
KeyError: 'gpss-2.2.0-1.x86_64.rpm'
The Master node detects that newly added segment hosts lack the GPSS package in their local archive directory (${GPHOME}/share/packages/archive/). When gppkg --clean attempts to synchronize the cluster state, the remote execution module crashes because the package mapping is missing on the new OS instances.
Manually placing the required .gppkg archive file onto the new segment hosts allows the synchronization tool to complete.
Locate the package archive on the Master node Log into the Master node and identify the exact GPSS package file:
Copy the package to the new segment hosts Use scp or gpscp to copy the .gppkg file from the Master to the same directory on all new hosts:
Run the cluster cleanup Return to the Master node and execute the cleanup command:
If the command still fails, consider copying the entire packages folder to the new hosts to ensure all dependencies are present.
For further assistance, see or .