Environment:
All versions of Yugaware platform
Issue:
The application.log for the universe shows the following error:
Universe version does not match cluster config version
Root Cause:
The error occurs when the change is made for the universe outside of the platform i.e potentially via theyb-admin
command. The universe version becomes “out of sync” with the version recorded in the platform. It is also possible that Platform and DB versions are not in sync anymore.
This will result in failures for any task executed on the universe.
This occurs as the platform does not know about any modifications to the universe made outside of the platform. These changes could be overwritten on the next operation or task execution.
Possible scenarios for this error:
- Platform is configured with HA
- Platform has xcluster configured.
Resolution:
To resolve this issue platform reset the universe version. This can be done either using the Platform REST API or by updating the backend Postgres database.
REST API
Below is the API request for 2DC xcluster setup:
PUT /customers/:cUUID/universes/:uniUUID/setup_universe_2dc
In some cases, the API also typically requires an API token and there is a specific curl syntax like below
curl -X PUT -H 'X-AUTH-YW-API-TOKEN: <API TOKEN value>' http://portal.dev.yugabyte.com/customers/:cUUID/universes/:uniUUID/setup_universe_2dc
To findCustomer UUID: We typically get this by opening up the Chrome network inspector and watching for requests that have thecustomer UUID. Below steps show how to find the customer UUID:
Step 1: Right Click on UI (platform) you will see an option “Inspect” Click on that
Step 2: Reload the UI (platform) and you will see the “network tab” (as shown in screenshot) and click on certificates where you will see"Customer UUID"
For more details about API follow the below doc link
Update the Postgres database used by Yugabyte Platform
-
Log into the YB Anywhere node using SSH, then connect to the yugaware Postgres container
sudo docker exec -it postgres psql -U postgres yugaware
-
Update the version number to -1 for the respective universe.
update universe set version=-1 where name='<name of the universe>';
-
Confirm that the update has been applied:
select name, version from universe;
Permanent fix for Platform with HA:
Starting inv2.12.4.0-b06
, the check can be disabled using the API
This check is not necessary for HA to function, and can be disabled in Platformv2.12.4.0-b06+
To avoid this error , please follow the steps listed below to upgrade Platform tov 2.12
and later to disable the check.
Steps:
- Disable HA in the cluster
- Upgrade to Platform
v2.12.4.0-b06
or newer. - In the Platform UI, Locate your API Token in your User Profile
- Download the attached script
set-runtime-config.sh
and place it in a location where the platform url/ip is accessible - In the directory with the script, run:
./set-runtime-config.sh <Platform_url> <api_token> yb.universe_version_check_mode NEVER
After that, you may enable HA in the cluster
Inv2.14.0
, the check is disabled by default
Comments
0 comments
Article is closed for comments.