Follow the below steps to increase the limit of nginx proxy-body-size:
xxxxxxxxxxvi infoworks/values.yamla. Go to ingress.annotations section and edit the nginx.ingress.kubernetes.io/proxy-body-size to 200m.
b. After editing the annotations, the values.yaml file should look as shown below:

Ensure that the following Python packages are available on the server before starting the upgrade activity of Infoworks environment.
If the aforementioned packages are not available, execute the following command to install them.
xxxxxxxxxxpython3 -m pip install argparse pycryptodomex==3.15.0 PyYAML==6.0 jsonmerge==1.9.0 wheelpip module is installed in the Bastion VM.xxxxxxxxxxcat /opt/infoworks/iw-k8s-installer/infoworks/Chart.yaml | grep appVersionxxxxxxxxxxappVersion: 6.2.0.1
Ensure to take backup of MongoDB Atlas and PostgresDB PaaS. In case you don't take the backup, jobs will fail after the rollback operation. For more information, refer to the MongoDB Atlas Backup and PostgresDB PaaS Backup. |
To improve stability of jobs, it is suggested to increase the linkerd init-proxy memory requests and limits to 30Mi. This can be done by passing the appropriate flags while running linkerd install/upgrade commands: For example: |
To upgrade Infoworks on Kubernetes:
xxxxxxxxxxexport IW_HOME="/opt/infoworks"Before selecting the type of upgrade execute the following commands:
Step 1: Create the required directories and change the path to that directory.
xxxxxxxxxxmkdir -p $IW_HOME/downloadscd $IW_HOME/downloadsStep 1: Download the upgrade tar files shared by the Infoworks team to the Bastion (Jump host) VM and place it under $IW_HOME/downloads.
Step 2: To configure Internet-free upgrade, execute the following command:
xxxxxxxxxxexport INTERNET_FREE=trueStep 1: Download the Update script tar file.
xxxxxxxxxxwget https://iw-saas-setup.s3.us-west-2.amazonaws.com/6.2/iwx_updater_k8s_6.2.1.tar.gzStep 1: Extract the iwx_updater_k8s_6.2.1 .tar.gz under $IW_HOME/downloads.
Do not extract the tar file to /opt/infoworks/iw-k8s-installer as it would result in loss of data. |
xxxxxxxxxxtar xzvf iwx_updater_k8s_6.2.1.tar.gzThis should create two new files as follows - update-k8s.sh and configure.sh.
Step 2: Edit the configure.sh file present in the $IW_HOME/downloads/ directory and fill details as given below. For more information related to Keyvault details, refer to Keyvault and Keyvault Authentication Configuration.
# Key Vault details# Global KeyVault Flag for Infoworksexport KEYVAULT_GLOBAL_ENABLED="true"# Keyvault enabled true for database details stored in keyvaultexport KEYVAULT_ENABLED="true"# if keyvault enabled is true, following parameters are requiredexport AZURE_KEYVAULT_URI="<Keyvault_URI>"export FLAG_AZURE_KEYVAULT_AUTH_SP="true"export AZURE_SERVICE_PRINCIPAL_TENANT_ID="<Tenant_ID>"export AZURE_SERVICE_PRINCIPAL_SUBSCRIPTION_ID="<Subcription_ID>"export AZURE_SERVICE_PRINCIPAL_CLIENT_ID="<Client_ID>"export AZURE_SERVICE_PRINCIPAL_CLIENT_SECRET="<Client_Secret>"export AZURE_MI_TYPE_IS_USER=""export AZURE_USER_MI_CLIENT_ID=""# export EXTERNAL_SECRET_STORE_TYPE=""export KEYVAULT_FLAG_METADB_HOST="true"export KEYVAULT_FLAG_METADB_USER="true"export KEYVAULT_FLAG_POSTGRESDB_HOST="true"export KEYVAULT_FLAG_POSTGRESDB_USER="true"# External Databases Configurations, MongoDB Atlasexport MONGODB_HOSTNAME="METADBHOST"export MONGODB_USERNAME="METADBUSER"export MONGODB_ENCRYPTED_PASSWORD="METADBPASS"# External Postgres Database configurations for PostgresDB on Cloudexport POSTGRESDB_HOSTNAME="POSTGRESDBHOST"export POSTGRESDB_USERNAME="POSTGRESDBUSER"export POSTGRESDB_ENCRYPTED_PASSWORD="POSTGRESDBPASS"Ensure all the above Keyvault fields are filled, otherwise the Keyvault setup will not work as expected. |
Step 3: Edit the configure.sh file present in the $IW_HOME/downloads/ directory and fill details as given below. For more information related to Log Archival, refer to Log Archival Configuration.
xxxxxxxxxx# Infoworks log archivalexport IW_LOG_ARCHIVAL="true"export IW_JOB_LOGS_MAX_AGE="<Number of days>"Step 4: Run the script.
xxxxxxxxxx./update-k8s.sh -v 6.2.1xxxxxxxxxxhelm upgrade aks-upgrade-620 /opt/infoworks/iw-k8s-installer/infoworks -n aks-upgrade-620 -f /opt/infoworks/iw-k8s-installer/infoworks/values.yamlEnter N to skip running the above command to upgrade the helm deployment. (timeout: 30 seconds): N
Upgrade success
Before proceeding with the platform upgrade, the following validations must be performed to ensure configuration correctness, detect unintended changes, and confirm final rendered manifests.
Delete if $IW_HOME/backup/iw-k8s-installer folder exists.
xxxxxxxxxxrm -rf $IW_HOME/backup/iw-k8s-installerExtract the tar file located in $IW_HOME/backup folder.
xxxxxxxxxxtar xzf $IW_HOME/backup/iw-k8s-installer-6.2.0.1-to-6.2.1.tar.gz -C $IW_HOME/backup/xxxxxxxxxxhelm lint $IW_HOME/iw-k8s-installer/infoworks --values $IW_HOME/iw-k8s-installer/infoworks/values.yamlChecks the Helm chart syntax and values file to ensure templates are valid. Fix any errors reported before proceeding ahead.
xxxxxxxxxxdiff -u <(yq eval -o=props $IW_HOME/backup/iw-k8s-installer/infoworks/values.yaml | sort) \ <(yq eval -o=props $IW_HOME/iw-k8s-installer/infoworks/values.yaml | sort) \ | grep -E '^\+|^-' \ | sed -E 's/^(\+.*)$/\x1b[32m\1\x1b[0m/; s/^(\-.*)$/\x1b[31m\1\x1b[0m/'Highlights differences between the current and upgrade values.yaml. Verify all changes are intentional before proceeding.
xxxxxxxxxxhelm template $IW_HOME/iw-k8s-installer/infoworks -n <namespace> -f $IW_HOME/iw-k8s-installer/infoworks/values.yaml >> /tmp/helm_template_6.2.1.yamlGenerates the manifests that will be applied. Review to ensure all resources are correct, and keep the rendered file for reference after the upgrade.
Delete the $IW_HOME/backup/iw-k8s-installer folder.
xxxxxxxxxxrm -rf $IW_HOME/backup/iw-k8s-installerStep 5: With 6.1.3, Infoworks recommends enabling network Policy for enhanced security. Please refer here for detailed documentation on how to enable network policies and for whitelisting additional namespaces. Run helm upgrade command again for the policies to take effect.
xxxxxxxxxxhelm upgrade aks-upgrade-620 /opt/infoworks/iw-k8s-installer/infoworks -n aks-upgrade-620_alpha -f /opt/infoworks/iw-k8s-installer/infoworks/values.yamlStep 6: Run the following command to restart the deployment so that the Network Policy changes take effect.
xxxxxxxxxxkubectl rollout restart deploy -n <namespace>kubectl rollout restart sts -n <namespace>Step 7: Disable quiescent mode:
(i) Infoworks will remain in quiescent mode which means the jobs will remain in pending state and the workflows will be paused.
(ii) User can provide test_workflow_ids and test_job_ids in the advanced configuration run the jobs and workflows to test the sanity of upgrade. Refer General Configuration.
To bring system out of quiescent mode user can run following commands:
xxxxxxxxxxcd ${IW_HOME}/iw-k8s-installer/xxxxxxxxxxsource functions.shxxxxxxxxxxdisable_quiescentStep 8: (Applicable only for Databricks Persistent Clusters):
A change in the Infoworks jar requires libraries being uninstalled and cluster restart. Without this step, there will be stale jars. Perform the following steps:
(i) Go to the Databricks workspace, navigate to the Compute page, and select the cluster that has stale jars.
(ii) In the Libraries tab, select all the Infoworks jars and click Uninstall.
(iii) From Infoworks UI or Databricks dashboard, select Restart Cluster.
xxxxxxxxxxexport IW_HOME=/opt/infoworksxxxxxxxxxxappVersion: 6.2.1Ensure to restore MongoDB Atlas and PostgresDB PaaS. In case you don't restore the backup, jobs will fail. For more information, refer to the MongoDB Atlas Restore and PostgresDB PaaS Restore. |
Step 1: Change into the Infoworks Charts Directory
xxxxxxxxxxcd ${IW_HOME}Step 2: Download the rollback script.
xxxxxxxxxxwget https://iw-saas-setup.s3.us-west-2.amazonaws.com/6.2/rollback-k8s.shStep 3: Place the Update script in the same directory as that of the existing iw-k8s-installer.
Step 4: Ensure you have permission to the $IW_HOME directory.
Step 5: Give executable permission to the rollback script using the below command.
xxxxxxxxxxchmod +x rollback-k8s.shStep 6: Run the script.
xxxxxxxxxx./rollback-k8s.sh -v 6.2.0.1Step 7: You will receive the following prompt. If you want to run helm upgrade manually, then type N and press Enter.
xxxxxxxxxx"Enter N to skip running the above command to upgrade the helm deployment. (timeout: 30 seconds): ", type Y and press Enter.Step 8: Disable quiescent mode:
(i) Infoworks will remain in quiescent mode which means the jobs will remain in pending state and the workflows will be paused.
To bring system out of quiescent mode user can follow these steps:
xxxxxxxxxxcat ${IW_HOME}/iw-k8s-installer/configure.sh \| grep -F "MONGODB_ENCRYPTED_PASSWORD=" | cut -d'=' -f2- | cut -d'"' -f2xxxxxxxxxxkubectl -n <namespace> get po | grep "orchestrator-[^scheduler|worker]"xxxxxxxxxxkubectl exec -it <orchestrator-pod> -n <namespace> -c orchestrator -- bashxxxxxxxxxxexport METADB_PASSWORD=<MONGODB_ENCRYPTED_PASSWORD>cd /opt/infoworks/logshttps://iw-saas-setup.s3.us-west-2.amazonaws.com/6.0/quiescent_mode_scripts.zipunzip -o quiescent_mode_scripts.zip 2>&1 | grep -v -E "warning|Operation\ not\ permitted"cd quiescent_mode_script bash iw_quiescent_mode.sh -e false