-
Notifications
You must be signed in to change notification settings - Fork 54
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.
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.
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.