From 11fda4f242d0f1cf88a1e8a05e7faa8a9de87298 Mon Sep 17 00:00:00 2001 From: Malachi Griffith Date: Tue, 15 Oct 2024 11:10:16 -0500 Subject: [PATCH] changes needed to test use of cromwell 87 and the GCP Batch backend --- manual-workflows/base_cromwell.conf | 4 +--- manual-workflows/start.sh | 8 ++++---- scripts/cloudize-workflow.py | 0 scripts/create_resources.sh | 15 +++++++++++++++ scripts/enable_api.sh | 2 ++ 5 files changed, 22 insertions(+), 7 deletions(-) mode change 100755 => 100644 scripts/cloudize-workflow.py diff --git a/manual-workflows/base_cromwell.conf b/manual-workflows/base_cromwell.conf index 3fd0a13..a55c24b 100644 --- a/manual-workflows/base_cromwell.conf +++ b/manual-workflows/base_cromwell.conf @@ -24,11 +24,10 @@ engine.filesystems { backend.default = "default" backend.providers.default { - actor-factory = "cromwell.backend.google.pipelines.v2beta.PipelinesApiLifecycleActorFactory" + actor-factory = "cromwell.backend.google.batch.GcpBatchBackendLifecycleActorFactory" config { genomics { auth = "application-default" - endpoint-url = "https://lifesciences.googleapis.com/" location = "us-central1" } filesystems { @@ -37,7 +36,6 @@ backend.providers.default { caching.duplication-strategy = "reference" } } - include "papi_v2_reference_image_manifest.conf" } } diff --git a/manual-workflows/start.sh b/manual-workflows/start.sh index 377cfed..3389e8a 100644 --- a/manual-workflows/start.sh +++ b/manual-workflows/start.sh @@ -18,7 +18,7 @@ arguments: --workflow-options Local path to workflow_options.json. DEFAULT \$SRC_DIR/workflow_options.json --machine-type GCP machine type for the instance. DEFAULT e2-standard-2 --zone DEFAULT us-central1-c. For options, visit: https://cloud.google.com/compute/docs/regions-zones ---analysis-release DEFAULT 1.1.4. For options, visit: https://github.com/wustl-oncology/analysis-wdls/releases +--analysis-release DEFAULT 1.2.2-gcpbranch. For options, visit: https://github.com/wustl-oncology/analysis-wdls/releases Additional arguments are passed directly to gsutil compute instances create command. For more information on those arguments, check that commands @@ -100,7 +100,7 @@ while test $# -gt 0; do ;; --analysis-release*) if [ ! "$2" ]; then - ANALYSIS_RELEASE="1.1.4" + ANALYSIS_RELEASE="1.2.2-gcpbatch" else ANALYSIS_RELEASE=$2 shift @@ -120,7 +120,7 @@ MACHINE_TYPE=${MACHINE_TYPE:-"e2-standard-2"} [ -z $CROMWELL_CONF ] && CROMWELL_CONF="$SRC_DIR/cromwell.conf" [ -z $WORKFLOW_OPTIONS ] && WORKFLOW_OPTIONS="$SRC_DIR/workflow_options.json" [ -z $ZONE ] && ZONE="us-central1-c" -[ -z $ANALYSIS_RELEASE ] && ANALYSIS_RELEASE="1.1.4" +[ -z $ANALYSIS_RELEASE ] && ANALYSIS_RELEASE="1.2.2-gcpbatch" if [[ ! -f $CROMWELL_CONF ]]; then cat < /dev/null +gcloud projects add-iam-policy-binding $PROJECT \ + --member="serviceAccount:$SERVER_ACCOUNT" \ + --role='roles/batch.jobsEditor' > /dev/null +gcloud projects add-iam-policy-binding $PROJECT \ + --member="serviceAccount:$SERVER_ACCOUNT" \ + --role='roles/batch.agentReporter' > /dev/null gcloud projects add-iam-policy-binding $PROJECT \ --member="serviceAccount:$SERVER_ACCOUNT" \ --role='roles/compute.instanceAdmin' > /dev/null @@ -40,6 +46,15 @@ gcloud iam service-accounts add-iam-policy-binding $COMPUTE_ACCOUNT \ --project=$PROJECT \ --role='roles/iam.serviceAccountUser' > /dev/null +gcloud projects add-iam-policy-binding $PROJECT \ + --member="serviceAccount:$COMPUTE_ACCOUNT" \ + --role='roles/batch.jobsEditor' > /dev/null +gcloud projects add-iam-policy-binding $PROJECT \ + --member="serviceAccount:$COMPUTE_ACCOUNT" \ + --role='roles/batch.agentReporter' > /dev/null +gcloud projects add-iam-policy-binding $PROJECT \ + --member="serviceAccount:$COMPUTE_ACCOUNT" \ + --role='roles/compute.instanceAdmin' > /dev/null # Network gcloud compute networks create $NETWORK \ diff --git a/scripts/enable_api.sh b/scripts/enable_api.sh index e0f83d0..e6779e4 100644 --- a/scripts/enable_api.sh +++ b/scripts/enable_api.sh @@ -7,3 +7,5 @@ gcloud services enable storage.googleapis.com gcloud services enable lifesciences.googleapis.com gcloud services enable iam.googleapis.com gcloud services enable compute.googleapis.com +gcloud services enable batch.googleapis.com +