Last Updated: May 10, 2022
The following Jiffy versions can do a direct upgrade to version 4.7.
Name | Version | Type | Description |
---|---|---|---|
jiffy-playbook.tar.gz | 4.7 | Ansible playbook | Ansible scripts which does the upgrade |
jiffy-upgrade.tar.gz | 4.7 | Compressed tar | Jiffy core artifacts |
jiffy-helms-v.4.7.zip | 4.7 | Helm charts | Helm charts for container deployments |
Container | Tags (4.7) | Tags (4.7.1) | Tags (4.7.2) |
---|---|---|---|
backward-comp | JARVIS-MAIN-BackwardCompatibilityEngine6419Apr22 | JARVIS-MAIN-4.7-BackwardCompatibilityEngine6624May22 | |
bolcategory | JARVIS-MAIN-vendorcategorisation_11026Apr22 | JARVIS-MAIN-4.7-vendorcategorisation_11726May22 | |
bolml | JARVIS-MAIN-T4.3.017526Apr22 | JARVIS-MAIN-4.7-T4.3.017824May22 | |
docsplit | JARVIS-MAIN-DocumentSplit_6026Apr22 | JARVIS-MAIN-4.7-DocumentSplit_6624May22 | |
functionator | JARVIS-MAIN-232 | JARVIS-MAIN-4.7-238 | |
handwritingsegmentation | JARVIS-MAIN-HWSegmentation_11927Apr22 | JARVIS-MAIN-4.7-HWSegmentation_12224May22 | |
invoicecategory | JARVIS-MAIN-T4.3.017526Apr22 | JARVIS-MAIN-4.7-T4.3.017824May22 | |
invoiceml | JARVIS-MAIN-T4.3.017526Apr22 | JARVIS-MAIN-4.7-T4.3.017824May22 | |
pdf2image | JARVIS-MAIN-Pdf2Image_7726Apr22 | JARVIS-MAIN-4.7-Pdf2Image_7924May22 | |
pdf2json-service | JARVIS-MAIN-Pdf2JsonService_10725Apr22 | JARVIS-MAIN-4.7-Pdf2JsonService_11231May22 | |
pdfsplit | JARVIS-MAIN-Pdfsplit_6919Apr22 | JARVIS-MAIN-4.7-Pdfsplit_7124May22 | |
portfolio | JARVIS-MAIN-4.7-Portfolio_27902Jun22 | JARVIS-MAIN-4.7-Portfolio_28514Jun22 | JARVIS-MAIN-4.7-Portfolio_27902Jun22 |
template-converter | JARVIS-MAIN-198 | JARVIS-MAIN-4.7-209 | |
w2ml | JARVIS-MAIN-w2ml_8226Apr22 | JARVIS-MAIN-4.7-w2ml_9125May22 | |
w2split | JARVIS-MAIN-W2Split_10126Apr22 | JARVIS-MAIN-4.7-W2Split_10624May22 | |
lineitemmatch | JARVIS-MAIN-LineItemMatch_7226Apr22 | JARVIS-MAIN-4.7-LineItemMatch_7724May22 |
No changes are made to the helm charts after release 4.6.
Component | Port | Process | Source | Destination |
---|---|---|---|---|
Email Server (TCP Ports) | 25 | SMTP Server | Core Application Server | |
Email Server | 993 | IMAP/IMAPS | Core Application Server | |
Jiffy Web | 443 | Nginx | Any windows machine where the user accesses Jiffy application | Core Application Server |
JPipe gRPC | 443 | Nginx | All the windows client machines where BOT is installed | Core Application Server |
RabbitMQ Viewer | 15672 | RabbitMQ | Any windows machine where the user accesses RabbitMQ web page | Core Application Server |
MongoDB | 27017 | MongoDB | Core Application Server | Database Server |
Postgres | 5432 | Postgres | Core Application Server | Database Server |
Kubernetes Server | 443 | Nginx Ingress | Core Application Server | Kubernetes Server |
LDAP Server | 389 | LDAP | Core application server | LDAP Server |
Software | Existing Version | Latest Version |
---|---|---|
Vault | 1.8.5 | 1.10.0 |
Drill | 1.17 | 1.19.0 |
Nginx | 1.17.8 | 1.20.2 |
libedit-devel | NA | 3.0-12.20121213 |
Python | 3.7.9 | 3.10.3 |
ZooKeeper | 3.4.8 | 3.7.0 |
RabbitMQ | 3.8.2 | 3.9.14-1 |
Mongo | 4.0.19-1 | 4.2.19 |
.Net Framework | 4.7.2 | 4.8 + |
llvm5.0-devel | NA | 5.0.1-7 |
llvm-toolset-7-clang | NA | 5.0.1-4 |
Redis | 6.0.5 | 6.2.6 |
Postgres - DB server version | 12.4 | 14.2 |
erlang | 22.3.4.6-1 | 23.3.4.11-1 |
libicu | NA | 50.2-4 |
- application stop all
- application stop vault
- pg_dump -h {DB hostname} -p 5432 {jiffy-schema-name} -U {username} | gzip > {filename.gz}
- pg_dump -h {DB hostname} -p 5432 {gus-schema-name} -U {username} | gzip > {filename.gz}
Command will prompt for DB admin password.mongodump --ssl --host {MongoDB hostname} --port 27017 --sslPEMKeyFile {Keyfile} --sslAllowInvalidCertificates --authenticationDatabase admin -u admin --out {filename.dump}
- export JIFFY_INSTALL=“/tmp/jiffy-install/4.7/”
- mkdir -p $JIFFY_INSTALL/helm/
- cd $JIFFY_INSTALL/helm/
- wget –user {username} –ask-password downloads.jiffy.ai/4.7/Upgrade/jiffy-helms-v4.7.zip
unzip jiffy-helms-v4.7.zip
- cd $JIFFY_INSTALL
- wget –user {username} –ask-password downloads.jiffy.ai/4.7/Upgrade/jiffy-playbook.tar.gz
- wget –user {username} –ask-password downloads.jiffy.ai/4.7/Upgrade/jiffy-upgrade.tar.gz
- tar -xf jiffy-playbook.tar.gz
- tar -xf jiffy-upgrade.tar.gz -C $JIFFY_INSTALL/upgrade/
The pip package pyscopg requires yum package postgresql-devel.
The postgresql-devel yum package requires llvm-toolset-7-clang yum.
To install llvm-toolset-7-clang and to enable repository, use the following commands.
- subscription-manager repos --enable rhel-7-server-devtools-rpms
- subscription-manager repos --enable rhel-server-rhscl-7-rpms
- cd /etc/pki/rpm-gpg
- wget -O RPM-GPG-KEY-redhat-devel https://www.redhat.com/security/data/a5787476.txt
- rpm --import RPM-GPG-KEY-redhat-devel
- yum install http://mirror.centos.org/centos/7/os/x86_64/Packages/libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm
- yum install llvm5.0-devel -y
- yum install llvm-toolset-7-clang -y
- yum install libicu -y
- export JIFFY_INSTALL="/tmp/jiffy-install/4.7/"
- cd $JIFFY_INSTALL/upgrade/
- chmod u+x presetup.sh
- ./presetup.sh
The following steps will cover code backup, in case of rollback to a previously installed version.
source /opt/jiffy3rdparty/ansibleEnv/bin/activate
For debug mode
- cd $JIFFY_INSTALL
- ansible-playbook pre-upgrade/root.yml -i inventory -e @variable.yml
For detailed debug mode:ansible-playbook pre-upgrade/root.yml -i inventory -e @variable.yml -v
ansible-playbook pre-upgrade/root.yml -i inventory -e @variable.yml -vvvv
source /opt/jiffy3rdparty/ansibleEnv/bin/activate
For debug mode:ansible-playbook pre-upgrade/non-root.yml -i inventory -e @variable.yml
For detailed debug mode:ansible-playbook pre-upgrade/non-root.yml -i inventory -e @variable.yml -v
ansible-playbook pre-upgrade/non-root.yml -i inventory -e @variable.yml -vvvv
source /opt/jiffy3rdparty/ansibleEnv/bin/activate
For debug mode:
- export JIFFY_INSTALL="/tmp/jiffy-install/4.7/"
- cd $JIFFY_INSTALL
- ansible-playbook upgrade/root.yml -i inventory -l core -e @variable.yml
For detailed debug mode:ansible-playbook upgrade/root.yml -i inventory -l core -e @variable.yml -v
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 -vvvv
ansible-playbook upgrade/root.yml -i inventory -l core -e @variable.yml -kK
chown -R {jiffyapp linux user}:{jiffyapp linux user} /tmp/{jiffy-install}
source /opt/jiffy3rdparty/ansibleEnv/bin/activate
For debug mode:
- export JIFFY_INSTALL="/tmp/jiffy-install/4.7/"
- cd $JIFFY_INSTALL
- ansible-playbook upgrade/non-root.yml -i inventory -l core -e @variable.yml
For detailed debug mode:ansible-playbook upgrade/non-root.yml -i inventory -l core -e @variable.yml -v
ansible-playbook upgrade/non-root.yml -i inventory -l core -e @variable.yml -vvvv
without masterkey prompt:ansible-playbook jiffyconfiguration.yml -l core -e @variable.yml
ansible-playbook jiffyconfiguration.yml -l core -e masterKey='{replaceme}' -e @variable.yml
- cd $JIFFY_HOME/.vault.d/
- nohup vault server -config=startupconfig.hcl >vault_$(date +%Y%m%d_%H%M%S).log 2>&1 &
- vault operator unseal {unseal key 1}
- vault operator unseal {unseal key 2}
During this upgrade, ulimits value is modified on the DB server.
source /opt/jiffy3rdparty/ansibleEnv/bin/activate
For debug mode:
- export JIFFY_INSTALL=“/tmp/jiffy-install/4.7/”
- cd $JIFFY_INSTALL
- ansible-playbook upgrade/root.yml -i inventory -l db -e @variable.yml
For detailed debug mode:ansible-playbook upgrade/root.yml -i inventory -l db -e @variable.yml -v
ansible-playbook upgrade/root.yml -i inventory -l db -e @variable.yml -vvvv
- export JIFFY_INSTALL="/tmp/jiffy-install/4.7/"
- cd $JIFFY_INSTALL/helm/
- chmod 777 k8s-upgrade.sh
kubectl delete secret jiffy-auth -n jiffy-cognitive
kubectl create secret generic jiffy-auth --from-literal=password_key='{masterkey}' --from-file={mountpoint}/jiffy/auth/.at -n jiffy-cognitive
- namespace(n)=jiffy-cognitive
- replicacount(r)=1
- mountpoint(m)=/opt
helm uninstall docplit -n {namespace}
./k8s-upgrade.sh -n {namespace} -c {clusterDNS|mandatory} -r {replicacount} -m {mountpoint}
Restart Nginx:
Nginx on core server has to be restarted by user with elevated privileges.
- /opt/nginx/sbin/nginx -s stop
- /opt/jiffy3rdparty/nginx/sbin/nginx
As jiffy application user, execute the below commands to modify/apply DRILL_MEMORY parameters.
Verify the DRILL_MAX_HEAP_MEMORY on the drill configuration file.
- #!/bin/bash
- sed -i 's/^#export DRILL_HEAP=${DRILL_HEAP:-"4G"}/export DRILL_HEAP=${DRILL_HEAP:-"8G"}/g' $DOCUBE_HOME/apache-drill-1.17.0/conf/drill-env.sh
- sed -i 's/#export DRILL_MAX_DIRECT_MEMORY=${DRILL_MAX_DIRECT_MEMORY:-"8G"}/export DRILL_MAX_DIRECT_MEMORY=${DRILL_MAX_DIRECT_MEMORY:-"16G"}/g' $DOCUBE_HOME/apache-drill-1.17.0/conf/drill-env.sh
- application stop all
- application start all
cat $DOCUBE_HOME/drill/conf/drill-env.sh
Verification:
cat $JIFFY_HOME/productversion.txt
cat $JIFFY_HOME/data/client/setup/version.txt
supervisorctl status
kubectl get pods -n {namespace}
vault status