Platform9 PCD Upgrade Pre & Post Check Validation

Problem

What are the Pre- and Post-Check Validations for Platform Self-Hosted PCD Upgrades?

Environment

  • Platform9 Private Cloud Director- Self-Hosted

Upgrade Preparation

Refer to the following guidelines before starting any upgrades:

Info

In Release notes, ensure to go through the Upgrade Notes, Bug Fixes and Know Issues.

Pre & Post-Check Validations

Info

Please continue to follow the same procedures both prior to and after the upgrade.

SAVE all the outputs in a text file in the specified format precheck-region-$(date)-versoin and postcheck-region-$(date)-version

It is essential to compare these outputs following the upgrade to ensure consistency and verify that the changes have been successfully implemented.

Control Plane Services Check:

  1. Check the current PCD version and Status.

$ airctl status

The airctl status command should display a "ready" status for the deployment status, as well as for region health. Additionally, the desired services must match the ready services for all regions.

$ airctl status fqdn: test-pf9.platform9.com region: test-pf9 deployment status: ready region health: ✅ Ready version: PCD 2025.6-151 -------- region service status ---------- desired services: 29 ready services: 29 ------------- deployment details --------------- fqdn: test-pf9-regionone.platform9.com region: test-pf9-regionone deployment status: ready region health: ✅ Ready version: PCD 2025.6-151 -------- region service status ---------- desired services: 77 ready services: 77
  • On checking airctl status If task state stuck in **host_upgrade_error**, use the following command to reset it

$ airctl reset-taskstate --region <AFFECTED_REGION_NAME> --region-state ready
  1. Check the deployment status. All deployments should be available.

$ kubectl get deployment -n <REGION_NS>
  1. Check the hostagent version.

$ NS=<WORKLOAD_REGION_NS> $ kubectl -n $NS exec deploy/resmgr -c resmgr -- curl -s http://localhost:8082/v1/hosts | jq -r '.[] | .host_id + " | " + .status + " | "+ .info.hostname + " | " + .host_agent.version'

Verify that the version of the hostagent is consistent with the current version of the management plane.

  1. Check whether the hosts are responding or not from DB.

$ NS=<WORKLOAD_REGION_NS> $ kubectl exec -i -n "$NS" $(kubectl get po -n "$NS" -l du-app=resmgr -o jsonpath="{.items[0].metadata.name}") -c resmgr -- mysql -t resmgr -u root -h $(kubectl get po -n "$NS" -l du-app=mysql -o jsonpath='{.items[0].status.podIP}') -p$(kubectl exec -i -n "$NS" $(kubectl get po -n "$NS" -l du-app=resmgr -o jsonpath="{.items[0].metadata.name}") -c resmgr -- /bin/bash -c "DB=\$(consul-dump-yaml --start-key customers/\$CUSTOMER_ID/regions/\$REGION_ID/db | awk '/dbserver:/ {print \$2}'); consul-dump-yaml --start-key customers/\$CUSTOMER_ID/dbservers/\$DB | awk '/admin_pass:/ {print \$2}'") -e "SELECT id,hostname,responding FROM hosts;

A response of 0 indicates that the node is not connected to the management plane, while a response of 1 indicates that it is connected to the management plane.

Info

Disconnected hosts will not get upgraded. Please make sure that the hosts are connected to the management plane before starting host upgrade.

OpenStack Services Check:

Info

Export the admin_rc file before executing the OpenStack Commands.

  1. Check hypervisor list

$ openstack --insecure hypervisor list --long
  1. Check hypervisor status

$ openstack --insecure hypervisor stats show
  1. Check compute service list

$ openstack --insecure compute service list --long
  1. Check network agent

$ openstack --insecure network agent list --long
  1. Check volume service-list

$ openstack --insecure volume service list --long
  1. Filter Inactive VM's

$ openstack server list --all | egrep -v "ACTIVE"

UI Validation

After the upgrade, attempt to access the UI and navigate through multiple pages to verify that the interface is functioning properly. Recommended sample pages include: hosts, cluster, VM, image, and network.

  • If these steps prove insufficient or not applicable, reach out to the Platform9 Support Team for additional assistance.


self hostedupgade