Binary fetch reports missing vmware-postgres-advanced-patroni-python3.12 RPM
search cancel

Binary fetch reports missing vmware-postgres-advanced-patroni-python3.12 RPM

book

Article ID: 447715

calendar_today

Updated On:

Products

VMware Tanzu Data Suite VMware Tanzu for Postgres VMware Tanzu Greenplum

Issue/Introduction

During a binary fetch operation from the Cloud Services Provider (CSP) or upstream repository, the VMware Postgres Orchestrator completes the fetch but logs an "Incomplete Postgres" warning for specific database versions.

Symptoms

The Orchestrator logs or CLI output shows validation failures similar to the following:
Fetching binaries from csp source for OS el9 and Postgres versions 17.7,18.0...

Incomplete Postgres 17.7: 9 RPMs present, 1 missing
  Missing packages:
    - vmware-postgres-advanced-patroni-python3.12-4.0.5.0-3.el9.x86_64.rpm

Incomplete Postgres 18.0: 9 RPMs present, 1 missing
  Missing packages:
    - vmware-postgres-advanced-patroni-python3.12-4.0.5.0-2.el9.x86_64.rpm

Environment

  • Product: VMware Postgres Orchestrator (Tanzu for Postgres)
  • Versions: Versions supporting Postgres 17.x and 18.x
  • Database Versions: 17.7, 18.0 (and potentially other recent releases)

Cause

The Orchestrator API Server uses a string match filter against the package_excludes configuration array. When the string "python" is present in this exclusion list, the download logic automatically skips any package containing that substring—including the required vmware-postgres-advanced-patroni-python3.12-*.rpm package.

Because this package is mandatory for High Availability (Patroni) clusters, the internal validator marks the repository sync as incomplete even though the 9 core Postgres engine binaries were downloaded successfully.

Resolution

Remove the "python" string filter from the package_excludes configuration block.

Step-by-Step Instructions

1. Access the API Server
Establish an SSH session to the VMware Postgres Orchestrator API Server node (root or sudo access required).

2. Backup the Configuration
Create a timestamped backup of the configuration file before making edits:

3. Edit the Configuration File

Bash

sudo vi /etc/pg-orchestrator-api/config.yaml

Locate the storage section and update package_excludes to the default recommended values:

YAML

storage:
  package_excludes: ["debuginfo", "debugsource", "static", "doc", "tests"]

Note: This keeps standard debug, documentation, and test packages excluded while allowing the required Patroni Python runtime package to bypass the filter.

4. Restart the API Service

Restart the daemon to apply the configuration changes:
sudo systemctl restart pg-orchestrator-api.service

5. Re-run the Binary Fetch
Execute the binary synchronization command again. The Patroni Python RPM should now download successfully, and validation will complete cleanly.

Additional Information

Verification

After re-fetching, the command output will no longer display the "Incomplete Postgres" messages and will verify that all required packages (10 RPMs total per database version) are present.

References

Installing and Configuring the Orchestrator

Additional Notes

  • This change is global and applies to all subsequent binary fetch operations.
  • No restart of running database clusters or workloads is required.
  • If you utilize a custom package_excludes list with additional entries, ensure that "python" is not present as a substring match filter.