Search

Jiffy Upgrade to 4.7.2

Articles

Supported Upgrade Versions

The following Jiffy versions can do a direct upgrade to version 4.7.2.

  1. Jiffy Automate 4.7.0
  2. Jiffy Automate 4.7.1

Artifact list

Name Version Type Description
jiffy-playbook.tar.gz 4.7.2 Ansible playbook Ansible scripts which does the upgrade
jiffy-upgrade.tar.gz 4.7.2 Compressed tar Jiffy core artifacts
jiffy-helms-v4.7.2.zip 4.7.2 Compressed zip Helm charts

Container List

Name Tag HELM Chart Changes Description
backward-compatibility-engine JARVIS-MAIN-BackwardCompatibilityEngine6419Apr22 No Container images and
Helm charts for kubernetes deployment
bolcategory JARVIS-MAIN-vendorcategorisation_11026Apr22 No Container images and
Helm charts for kubernetes deployment
bolml JARVIS-MAIN-T4.3.017526Apr22 No Container images and Helm charts for kubernetes deployment
docsplit JARVIS-MAIN-DocumentSplit_6026Apr22 No Container images and
Helm charts for kubernetes deployment
functionator JARVIS-MAIN-232 No Container images and
Helm charts for kubernetes deployment
handwritingsegmentation JARVIS-MAIN-HWSegmentation_11927Apr22 No Container images and
Helm charts for kubernetes deployment
invoicecategory JARVIS-MAIN-T4.3.017526Apr22 No Container images and
Helm charts for kubernetes deployment
invoiceml JARVIS-MAIN-T4.3.017526Apr22 No Container images and
Helm charts for kubernetes deployment
pdf2image JARVIS-MAIN-Pdf2Image_7726Apr22 No Container images and
Helm charts for kubernetes deployment
pdf2json-service JARVIS-MAIN-Pdf2JsonService_10725Apr22 No Container images and
Helm charts for kubernetes deployment
pdfsplit JARVIS-MAIN-Pdfsplit_6919Apr22 No Container images and
Helm charts for kubernetes deployment
portfolio JARVIS-MAIN-Portfolio_26126Apr22 No Container images and
Helm charts for kubernetes deployment
template-converter JARVIS-MAIN-198 No Container images and
Helm charts for kubernetes deployment
w2ml JARVIS-MAIN-w2ml_8226Apr22 No Container images and
Helm charts for kubernetes deployment
w2split JARVIS-MAIN-W2Split_10126Apr22 No Container images and
Helm charts for kubernetes deployment
lineitemmatch JARVIS-MAIN-LineItemMatch_7226Apr22 No Container images and
Helm charts for kubernetes deployment

Upgrade Prerequisites

  1. Stop Jiffy application.
    1. Log in to the core server shell.
    2. Switch to jiffy application user.
    3. Stop the application.

      1. application stop all
      2. application stop vault

  2. Backup the Postgresql, and MongoDB databases.
    1. For Jiffy and GUS postgres backups (Commands will prompt for DB password):

      1. pg_dump -h {DB hostname} -p 5432 {jiffy-schema-name} -U {username} | gzip > {filename.gz}
      2. pg_dump -h {DB hostname} -p 5432 {gus-schema-name} -U {username} | gzip > {filename.gz}

    2. For mongoDB backup
      Self Hosted:
      1. Connect to the mongoDB server
      2. Switch to jiffy application user

        mongodump --ssl --host {MongoDB hostname} --port 27017 --sslPEMKeyFile {Keyfile the certificate is a combination of ca+cert> } --sslAllowInvalidCertificates --authenticationDatabase admin -u admin --out {filename.dump}

        Command will prompt for DB admin password.
  3. Backup Postgresql Data directory, MongoDB Data directory, Vault data directory

Pre-Upgrade steps

  1. Connect to the core server.
  2. Switch to the jiffy application user.
  3. Download the artifact files:
    1. Download helm charts.

      1. export JIFFY_INSTALL=“/tmp/jiffy-install/4.7.2/”
      2. mkdir -p $JIFFY_INSTALL/helm/
      3. cd $JIFFY_INSTALL/helm/
      4. wget –user {username} –ask-password downloads.jiffy.ai/4.7.2/Upgrade/jiffy-helms-v4.7.2.zip

    2. Extract the helm charts in jiffy core server.

      unzip jiffy-helms-v4.7.2.zip

    3. Download ansible-playbook and upgrade artifact.

      1. cd $JIFFY_INSTALL
      2. wget –user {username} –ask-password downloads.jiffy.ai/4.7.2/Upgrade/jiffy-playbook.tar.gz
      3. wget –user {username} –ask-password downloads.jiffy.ai/4.7.2/Upgrade/jiffy-upgrade.tar.gz

    4. Extract ansible-playbook and upgrade artifact.

      1. tar -xf jiffy-playbook.tar.gz
      2. tar -xf jiffy-upgrade.tar.gz -C $JIFFY_INSTALL/upgrade/

  4. Fill in the inventory file and variable.yml file as per requirement (use the existing files or parameters from the previous/last installation as reference)
    1. The inventory file contains all the details of the servers, authentication methods, etc.
    2. variable.yml file contains all the parameters such as the username, custom application parameters, mount point, etc.

Backup

The following steps will cover code backup, in case of rollback to a previously installed version.

  1. Switch to root user in the core server
  2. Activate the Ansible Python virtual environment.
    Applicable only, if Ansible is installed under python virtual environment.

    source /opt/jiffy3rdparty/ansibleEnv/bin/activate

  3. Start backup process:

    1. export JIFFY_INSTALL="/tmp/jiffy-install/4.7.2/"
    2. cd $JIFFY_INSTALL
    3. ansible-playbook pre-upgrade/root.yml -i inventory -e @variable.yml

    For debug mode

    ansible-playbook pre-upgrade/root.yml -i inventory -e @variable.yml -v

    For detailed debug mode:

    ansible-playbook pre-upgrade/root.yml -i inventory -e @variable.yml -vvvv

  4. Change ownership of /tmp/jiffy-install to jiffy application user.

    chown -R {jiffyapp linux user}:{jiffyapp linux user group} /tmp/jiffy-install

  5. Switch to the jiffy application user
  6. Activate the ansible python virtual environment.
    Applicable only, if ansible is installed under python virtual environment

    source /opt/jiffy3rdparty/ansibleEnv/bin/activate

  7. Run the non-root installer : (Sample variable and inventory file below)

    ansible-playbook pre-upgrade/non-root.yml -i inventory -e @variable.yml

    For debug mode:

    ansible-playbook pre-upgrade/non-root.yml -i inventory -e @variable.yml -v

    For detailed debug mode:

    ansible-playbook pre-upgrade/non-root.yml -i inventory -e @variable.yml -vvvv

Upgrade procedure

Core Upgrade

  1. Switch to root user in the core server.
  2. Activate the ansible python virtual environment.
    Applicable only, if ansible is installed under python virtual environment.

    source /opt/jiffy3rdparty/ansibleEnv/bin/activate

  3. Execute the playbook to begin the upgrade.

    1. export JIFFY_INSTALL="/tmp/jiffy-install/4.7.2/"
    2. cd $JIFFY_INSTALL
    3. ansible-playbook upgrade/root.yml -i inventory -l core -e @variable.yml

    For debug mode:

    ansible-playbook upgrade/root.yml -i inventory -l core -e @variable.yml -v

    For detailed debug mode:

    ansible-playbook upgrade/root.yml -i inventory -l core -e @variable.yml -vvvv

    For sudo and ssh password prompt add -kK options along with run command:

    ansible-playbook upgrade/root.yml -i inventory -l core -e @variable.yml -kK

  4. Change ownership of /tmp/jiffy-install to jiffy application user.

    chown -R {jiffyapp linux user}:{jiffyapp linux user group} /tmp/jiffy-install

  5. Switch to the jiffy application user.
  6. Activate the ansible python virtual environment.
    Applicable only, if Ansible is installed under python virtual environment.

    source /opt/jiffy3rdparty/ansibleEnv/bin/activate

  7. Run the non-root installer.

    • export JIFFY_INSTALL="/tmp/jiffy-install/4.7.2/"
    • cd $JIFFY_INSTALL
    • ansible-playbook upgrade/non-root.yml -i inventory -l core -e @variable.yml
    For debug mode:

    ansible-playbook upgrade/non-root.yml -i inventory -l core -e @variable.yml -v

    For detailed debug mode:

    ansible-playbook upgrade/non-root.yml -i inventory -l core -e @variable.yml -vvvv

  8. Execute the below ansible command to update application configuration changes.
    with masterkey prompt:

    ansible-playbook jiffyconfiguration.yml -l core -e @variable.yml

    without masterkey prompt:

    ansible-playbook jiffyconfiguration.yml -l core -e masterKey='{replaceme}' -e @variable.yml

  9. Start the application.

    application start all

Kubernetes Upgrade

  1. Connect to Core server.
  2. Execute the following commands.

    1. export JIFFY_INSTALL="/tmp/jiffy-install/4.7.2/"
    2. cd $JIFFY_INSTALL/helm/
    3. chmod 777 k8s-upgrade.sh

  3. Switch to jiffy application user.
  4. Execute the script for Kubernetes upgrade. Default values for the Kubernetes upgrade script.

    • namespace(n)=jiffy-cognitive
    • replicacount(r)=1
    • mountpoint(m)=/opt

  5. Uninstall the existing docplit container from the cluster.

    helm uninstall docplit -n {namespace}

    ./k8s-upgrade.sh -k '{masterkey|mandatory}' -n {namespace} -c {clusterDNS|mandatory} -r {replicacount} -m {mountpoint}

Testing

Verification:

  • Connect to core server.
  • Switch to jiffy application user.
  1. Verify jiffy version by running the following command in the core server. Version should be 4.7.2.

    cat $JIFFY_HOME/productversion.txt

  2. Verify jiffy client version by running the following command in the core server. Version should be 4.7.2.

    cat $JIFFY_HOME/data/client/setup/version.txt

  3. Verify configuration in the application properties file.
    1. anthill.properties ($JIFFY_HOME/properties/)
    2. mangrove.properties ($JIFFY_HOME/properties/)
    3. coral.properties ($JIFFY_HOME/properties/)
    4. application.properties ($GUS_HOME/)
    5. app.properties ($JIFFY_HOME/)
  4. Check uptime and status of jiffy core application processes

    supervisorctl status

  5. Check pod status.

    kubectl get pods -n {namespace}

  6. Check Vault status.

    vault status

Smoke Test

  1. Connect to Bot Machine.
    1. Right-click on the Bot Manager bottom right and Press **Check for updates**.
    2. Click the **check for updates** button to upgrade bot machine.
  2. Connect to jiffy application URL.
  3. Log in to tenant.
    1. Run the below tasks (if available):
      1. Doc node
      2. Web node
      3. Excel node
      4. Add new secrets to vault and verify vault status.
      5. Add dataset

Roll-Back

  1. Switch to Jiffy Application User.

    application stop all

Database Restore

  1. Restore gus,jiffy Postgres schemas from backup.
  2. Restore Mongo DB from backup.

Code Restore

  1. Code backup is stored in $JIFFY_HOME/uploads/backup folder. Backup folders are available for each component.
    1. Anthill
    2. Mangrove
    3. Coral
    4. Zeus
    5. jiffy-web
    6. fileserver
    7. gusbe
    8. gusfe
    9. data-client-engine
    10. connectors
    11. docube-web
    12. jiffy-commons
    13. Sentry
  2. Restore these backup folders to the original location.
  3. Restore properties from backup folder.
  4. Start application.

    application start all

Click here to learn more about the command for Code Restore and Properties Restore.

Kubernetes Restore

Deploy the Kubernetes containers from the previous version of the artifacts.

Did you find what you were looking for?