Applies to: Kyvos Enterprise Kyvos Cloud (SaaS on AWS) Kyvos AWS Marketplace
Kyvos Azure Marketplace Kyvos GCP Marketplace Kyvos Single Node Installation (Kyvos SNI)
Note
From Kyvos 2023.3 onwards, you can see the last operation details, including progress status and start time, by clicking the i icon. To view more comprehensive details, simply click the View Details link, which will take you to the Operations page, where you can view the operation information in detail.
Switching from an external repository to bundled repository
Export data from external Postgres (AWS RDS or Azure Postgres).
In an existing cluster, identify the target node for running bundled Postgres and start the Postgres service on that target node.
On the navigation bar, click Utilities > Manage Kyvos Repository.
On the Manage Kyvos Repository page, select the Bundled Postgres Repository option (by default, bundled Postgres will be shown selected).
Select that cluster node from the dropdown on which the data dump is imported in step #2 above.
If needed, select the Restore Database Dump option to restore a dump of the Postgres database.
Locate Dump data from:
Restore data from last backup: Select this option to get the data restored from the last created backup.
Upload data dump file: Select this option to upload a previously saved data dump file.
Perform repository connection validation using Test Connection link.
NOTE: In case of any problem with the test connection, you will see an error message. Fix those problems before proceeding with switching the repository.Once the connection is validated successfully, click the Save button. This will configure new Postgres as a repository for Kyvos.
Restart the BI Server service.
Switching from bundled repository to external repository
In the case of a cloud environment, you can switch to an external repository.
Export data from bundled Postgres.
Import the data exported from step #1 above, in the new Postgres instance (AWS RDS or Azure Postgres) running on the cloud.
On the Kyvos Manager, navigate to Utilities > Manage Kyvos Repository.
On the page, select the External Repository option (by default, the Bundled Postgres-Server is selected)
Provide the Repository Identifier and click the Fetch details button.
Provide the RDS End Point, Port, and Version for the target external repository.
Note
Ensure that the Role attached on the Kyvos Manager node has sufficient permission to get External repository details.
Fetch details of that External Repository.
In case fetch for details of the external repository fails, then manually provide the necessary details of the external repository (endpoint and port).
Perform repository connection validation using Test Connection link.
NOTE: In case of any problem with the test connection, you will see an error message. Fix those problems before proceeding with switching the repository.Once the connection is validated successfully, click the Save button. This will configure new Postgres as a repository for Kyvos
Restart the BI Server service.
Switching from external repository to another external repository
Export data from the current configured external Postgres repository (AWS RDS or Azure Postgres) running on the cloud.
Import the data exported in above step-1 to the new target external Postgres instance (AWS RDS or Azure Postgres) running on the cloud.
On the Kyvos Manager, navigate to Manage Kyvos > Switch Repository.
On the Switch Repository page, select the Bundled Postgres Repository option (by default external repository will be shown selected).
Note
Ensure that the Role attached on the Kyvos Manager node has sufficient permission to get External repository details.
Fetch details of that External Repository.
In case fetch for details of the external repository fails, then manually provide the necessary details of the external repository (endpoint and port).
Provide details for the target External repository.
Perform repository connection validation using Test Connection link.
NOTE: In case of any problem with the test connection, you will see an error message. Fix those problems before proceeding with switching the repository.Once the connection is validated successfully, click the Save button. This will configure new Postgres as a repository for Kyvos
Restart the BI Server service.
Switching to a new bundled repository (recovered state) from the bundled repository
Kyvos Manager node Disaster Recovery scenario, when bundled Postgres was configured on Kyvos Manager node
Download data dump from DFS.
In an existing cluster, identify the target node for running bundled Postgres and start the Postgres service on that target node, and import that data into that Postgres instance which was downloaded as a dump from DFS in step #1.
On the Kyvos Manager, navigate to Manage Kyvos > Switch Repository.
On the Switch Repository page, select the Bundled Postgres Repository option (by default external repository will be shown selected).
Provide details for the target External repository.
Perform repository connection validation using Test Connection link.
NOTE: In case of any problem with the test connection, you will see an error message. Fix those problems before proceeding with switching the repository.Once the connection is validated successfully, click the Save button. This will configure new Postgres as a repository for Kyvos.
Restart the BI Server service.
Important points to remember
To avoid cube data loss, ensure that before switching ensure property “OBSOLETE_CUBE_PURGE_FREQUENCY“ is set in olapengine.properties by increasing the value for it to desired frequency value in which verification that switching worked well can be complete.
If the target repository password is different then only for connection testing purposes password can be specified in provided optional input. If not specified explicitly, Kyvos Manager will use the existing password configured in the system for validating the connection.
Before switching the repository ensure that you have data ready in the target Postgres instance to which you are switching.
Dump import and export can be done using pgdump and psql. However, in case of external to external repository change service on the snapshot offered by the cloud can be used to take snapshot from source Postgres and restore it in destination Postgres.
Username and Password and database name in target Postgres instance to which switching to is expected to be same as that of current in-use Postgres instance.
Rollback Scenario: If after an upgrade, the repository is switched then before performing rolling back, ensure it is switched back to the original repository.
For Azure, the Postgres port is fixed (5432) and cannot be specified manually.
Permissions required in role attached on Kyvos Manager node remains same as that of required for automated deployed in case of external repository thus for switching from external repository to external repository no additional permission is required in the role added on Kyvos Manager node.
For switching from bundled to an external repository, you need to add permission on the role attached to the Kyvos Manager node so that fetch or external repository details work. If permission is not added to the role, then the Fetch Details will not work. However, you can still proceed ahead by providing those details manually on provided UI inputs.
If switching to an external repository, then proper network access should be configured.
The security group must have a role granting access to the port used by external repo from BI Server and Kyvos Manager node if it is in the same region and resource group (For Azure Postgres) as that of the cluster.
Following tags are expected on the external repository:
UsedBy - Kyvos
ROLE - DATABASE
LAYER - Metadata_Storage
Commands for dump import and export
Note: Database name is fixed and always required as delverepo.
Commands to connect with bundled Postgres
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:{KYVOS_HOME}/Postgres/lib ./psql -p 45421 -U Postgres -d delverepo ./psql -h <HOST-NAME> -p <PORT> -U <USER-NAME>
For jmport and export, run the below commands from kyvos/Postgres/bin folder of Kyvos Manager machine.
Export Command
kyvos/postgres/bin/pg_dump -c -C "host=localhost port=45421 dbname=delverepo user=postgres password=PROVIDE-ACTUAL_PWD" > data-dump.sql
Import command
Before importing
Ensure database delverepo is created and exists.
If a database already exists, then first delete it and create a new one before importing.
(drop database delverepo; create database delverepo;) ./psql -U {USER-NAME} -p {PORT} -d delverepo < {PATH-TO-FILE-IN-WHICH-CONTAINS-EXPORTED-DUMP}
Commands to connect with Flexible Server
./pgconnect.sh 5432 username servername database ./pgconnect.sh 5432 postgres kyvos-postgresserver-9900.postgres.database.azure.com delverepo
Import command for Flexible Server
./psql -U ${user} -h ${hostname} -f ${filename} ./psql -U postgres -h kyvos-postgresserver-63058.postgres.database.azure.com -f databasedump
Export command for Flexible Server
./pg_dump -c -C --host=<host> --port=<port> --dbname=<database name> --user=<user name> --password=<password> <file name> ./pg_dump -c -C "host=kyvos-postgresserver-1010.postgres.database.azure.com port=5432 dbname=delverepo user=postgres@kyvos-postgresserver-1010 password=delve@123" > Kyvos2023-5-Build026-014-D2023-Nov-14-T12-46-41