4.0 Migration Guide
CromwellOnAzure 4.0 introduces a number of breaking changes, and doesn't support upgrade from prior versions with the --update flag. However, you can reuse your existing resource groups and many resources such as the storage account and batch account if you like.
VM Based Deployments
Download the containers-to-mount file from your storage account and you can pass it to the deployer.
./deploy-cromwell-on-azure-linux --subscriptionid $subscription --regionname $region \
--mainidentifierprefix $prefix \
--StorageAccountName $storage_account_name \
--BatchAccountName $batch_account_name \
--resourcegroupname $resource_group_name \
--vnetname $vnet_name \
--vnetresourcegroupname $resource_group_name \
--subnetname vmsubnet \
--containersToMountPath containers-to-mount
After the deployment is finished, you can delete the old CosmosDb account and VM.
AKS Based Deployments
For AKS based deployments, you can do the above as well which will create a new AKS cluster and Postgresql database.
To upgrade to 4.0 with an existing AKS cluster, you can do the following steps.
- Create a TES database and Tes user on the Postgresql server.
// Reset Admin password
az postgres server update --resource-group myresourcegroup --name myserver --admin-password <new-password>
// Create TES DB
az postgres db create --resource-group myresourcegroup --server myserver -n tes_db
// Create TES user
PGPASSWORD=<admin-password> -U coa_admin@<myserver> -h <myserver>.postgres.database.azure.com -d tes_db -v sslmode=true -c "CREATE USER tes WITH PASSWORD '<your-random-tes-password>'; GRANT ALL PRIVILEGES ON DATABASE tes_db TO tes;"
- Update the helm chart with the correct values for 4.0.
- Download the helm chart https://github.com/microsoft/CromwellOnAzure/tree/4.0.0/src/deploy-cromwell-on-azure/scripts/helm
- Copy values-template.yaml to values.yaml
- Update the RUNTIME_PARAMETER with the appropriate values. You can find the current values in your CoA storage account /configuration/aksValues.yaml
Images should be the following for 4.0
images:
cromwell: broadinstitute/cromwell:85
tes: mcr.microsoft.com/cromwellonazure/tes:4
triggerservice: mcr.microsoft.com/cromwellonazure/triggerservice:4
This config should be as follows:
gen2BatchImageOffer: ubuntu-hpc
gen2BatchImagePublisher: microsoft-dsvm
gen2BatchImageSku: 2004
gen2BatchImageVersion: latest
gen1BatchImageOffer: ubuntu-server-container
gen1BatchImagePublisher: microsoft-azure-batch
gen1BatchImageSku: 20-04-lts
gen1BatchImageVersion: latest
...
batchPrefix: // Fill this value with a random eight character alphanumeric string such as (ER6F4XFI), this value must be unique for TES deployments that share a batch account.
- Finally run the helm update.
az aks get-credentials --resource-group $rgName --name $aksName --subscription $subscription --file kubeconfig.txt
helm upgrade --install cromwellonazure ./helm --kubeconfig kubeconfig.txt --namespace coa
When finished updating, delete the old CosmosDb account, and the old AKS cluster if using the deployer install.
To search, expand the Pages section above.