Retrieving .jama file From Kubernetes Pod For Backing Up Jama Connect (KOTS)

Sravya Bandari
Sravya Bandari
  • Updated

Author: Sravya Bandari

Date: January 2, 2024

Audience: Everyone

Environmental details: Jama Connect® Self-hosted, Replicated - KOTS

Summary 

This document explains how to retrieve a .jama backup file step by step from a Kubernetes pod to back up a Jama Connect (KOTS) instance.

Solution

Create a Backup of the .jama File

  1. Log in to Jama Connect as a root user.
  2. Select the backup tab and choose Option 3.

For more details on the backup process, please refer to the following link: Backup Information.

Retrieve the .jama File on the Application Server

You can retrieve the .jama file using either of the two (2) methods outlined below.

Method 1

You will need to copy the file off the running core-0 pod. First, ensure the file is present by running:

kubectl exec --tty -c core pods/core-0 -- ls /home/contour/tenant/<TENANT-NAME>/backup


<TENANT-NAME> will usually be the name of your main Jama database. The output should return a value like: 

support@AWS-support-app-01:~$ kubectl exec --tty -c core pods/core-0 -- ls /home/contour/tenant/jama/backup
jama__202405131940.jama

Next, we can copy the file off the core-0 pod with:

kubectl cp core-0:/home/contour/tenant/<TENANT-NAME>/backup/back-up-file-name.jama ./back-up-file-name.jama

For example:

kubectl cp core-0:/home/contour/tenant/jama/backup/jama__202405131940.jama ./jama__202405131940.jama

 
Could you check that it succeeded by running an 

on your current directory? You should now see the backup file listed on the host filesystem.

Method 2

Copy the file directly from the tenantfs PVC. Start by listing all PVCs with the following:

kubectl get pvc


The output will appear as follows:

support@AWS-support-app-01:~$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
kotsadm-rqlite-kotsadm-rqlite-0 Bound pvc-6fd6765e-3915-42f3-a3ec-95106b26a62a 1Gi RWO local 19d
tenantfs Bound pvc-0264dc3c-5f96-43f2-88b8-6758a32f3bc8 7Gi RWO local 19d
volume-activemq-0 Bound pvc-43e4f915-ee62-4164-90b7-83b5b0adade9 5Gi RWO local 19d
volume-core-0 Bound pvc-ae959979-3cfc-4a63-96c4-73b12e81614c 3Gi RWO local 19d
volume-diff-0 Bound pvc-03f8f73f-d17e-40c9-b6d1-b2869c75f995 2Gi RWO local 19d
volume-elasticsearch-0 Bound pvc-803ca01d-9f1a-414a-95d8-301e97cfe079 10Gi RWO local 19d
volume-hazelcast-0 Bound pvc-fd90d6bf-5ab3-4a8e-a1d2-0b4812c7903a 2Gi RWO local 19d
volume-nginx-0 Bound pvc-c1026692-8bc9-4dfc-b85d-e2a594b0468c 2Gi RWO local 19d
volume-oauth-0 Bound pvc-9633abfb-f91c-42ff-8eb4-6c643e8c0164 2Gi RWO local 19d
volume-saml-0 Bound pvc-02305def-aba0-4437-a29a-76c4fdb1a460 2Gi RWO local 19d
volume-search-0 Bound pvc-496ec594-b0e2-4c99-a2d8-c5e86238f13d 2Gi RWO local 19d


Grab the value under the volume column for tenantfs. In this example, that value is pvc-0264dc3c-5f96-43f2-88b8-6758a32f3bc8. Next, follow the instructions for your version of Jama Connect (KOTS).

Jama Connect (KOTS) v9.0.x and Earlier

First, ensure the file is present by running:

sudo ls /var/lib/kubelet/plugins/kubernetes.io/csi/pv/<PVC-VOLUME-NAME>/globalmount

NOTE: You may have to search around this directory tree to find the backup file then, you can copy the file in the standard way:

sudo cp /var/lib/kubelet/plugins/kubernetes.io/csi/pv/<PVC-VOLUME-NAME>/globalmount/path/to/back-up-file-name.jama ./back-up-file-name.jama

Jama Connect (KOTS) v9.6.x and Later

First, ensure the file is present by running:

sudo ls /var/openebs/local/<PVC-VOLUME-NAME>/<TENANT-NAME>/backup/

Then, you can copy the file in the standard way:

sudo cp /var/openebs/local/<PVC-VOLUME-NAME>/<TENANT-NAME>/backup/back-up-file-name.jama ./back-up-file-name.jama

Fallback

If neither method works, please try to find the file on your filesystem using:

sudo find / -name "back-up-file-name.jama" -print
 

Feedback

Please leave feedback in the comments below.

Related to

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Article is closed for comments.