From 6a2bdfd7521d602d8b22fc26e84237abfd6b3f40 Mon Sep 17 00:00:00 2001 From: Aljorani Date: Wed, 23 Nov 2022 15:07:01 -0600 Subject: [PATCH 1/9] automatically adding monitor.sh --- manual-workflows/resources.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manual-workflows/resources.sh b/manual-workflows/resources.sh index 5715990..90b84fd 100644 --- a/manual-workflows/resources.sh +++ b/manual-workflows/resources.sh @@ -139,7 +139,8 @@ EOF "maxRetries": 2 }, "final_workflow_log_dir": "gs://$BUCKET/final-logs", - "final_call_logs": "gs://$BUCKET/call-logs" + "final_call_logs": "gs://$BUCKET/call-logs", + "monitoring_script": "gs://$BUCKET/scripts/monitor.sh" } EOF } From b91ea4d8ee35864fa9667b6de0b727ca998ef68b Mon Sep 17 00:00:00 2001 From: Aljorani Date: Wed, 23 Nov 2022 15:42:32 -0600 Subject: [PATCH 2/9] syntax fix --- manual-workflows/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manual-workflows/start.sh b/manual-workflows/start.sh index 8446d5c..8a2a487 100644 --- a/manual-workflows/start.sh +++ b/manual-workflows/start.sh @@ -132,7 +132,7 @@ EOF exit 1 fi -# $@ indicates the ability to add any of the other flags that come with gcloud compute instances creat +# $@ indicates the ability to add any of the other flags that come with "gcloud compute instances create" # for a full account, visit https://cloud.google.com/sdk/gcloud/reference/compute/instances/create gcloud compute instances create $INSTANCE_NAME \ --project $PROJECT \ From 1e7211ff6a4ba952e4dc100b1458383863428636 Mon Sep 17 00:00:00 2001 From: Aljorani Date: Wed, 23 Nov 2022 16:50:34 -0600 Subject: [PATCH 3/9] copying script to vm --- manual-workflows/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manual-workflows/start.sh b/manual-workflows/start.sh index 8a2a487..7e06123 100644 --- a/manual-workflows/start.sh +++ b/manual-workflows/start.sh @@ -143,7 +143,7 @@ gcloud compute instances create $INSTANCE_NAME \ --service-account=$SERVER_ACCOUNT --scopes=cloud-platform \ --network=$NETWORK --subnet=$SUBNET \ --metadata=cromwell-version=71 \ - --metadata-from-file=startup-script=$SRC_DIR/server_startup.py,cromwell-conf=$CROMWELL_CONF,helpers-sh=$SRC_DIR/helpers.sh,cromwell-service=$SRC_DIR/cromwell.service,workflow-options=$WORKFLOW_OPTIONS,persist-artifacts=$SRC_DIR/../scripts/persist_artifacts.py \ + --metadata-from-file=startup-script=$SRC_DIR/server_startup.py,cromwell-conf=$CROMWELL_CONF,helpers-sh=$SRC_DIR/helpers.sh,cromwell-service=$SRC_DIR/cromwell.service,workflow-options=$WORKFLOW_OPTIONS,persist-artifacts=$SRC_DIR/../scripts/persist_artifacts.py,monitor-sh=$SRC_DIR/../scripts/monitor.sh \ $@ cat < Date: Wed, 23 Nov 2022 17:02:24 -0600 Subject: [PATCH 4/9] added monitor to server_startup --- manual-workflows/server_startup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/manual-workflows/server_startup.py b/manual-workflows/server_startup.py index 12d7380..01897a9 100644 --- a/manual-workflows/server_startup.py +++ b/manual-workflows/server_startup.py @@ -114,6 +114,7 @@ def startup_script(): download_from_metadata('cromwell-conf', os.path.join(SHARED_DIR, 'cromwell', 'cromwell.conf')) download_from_metadata('workflow-options', os.path.join(SHARED_DIR, 'cromwell', 'workflow_options.json')) download_from_metadata('persist-artifacts', os.path.join(SHARED_DIR, 'persist_artifacts.py')) + download_from_metadata('monitor-sh', os.path.join(SHARED_DIR, 'monitor.sh')) start_cromwell_service() clone_analysis_wdls() From 01e7fe103ed90725bf8fea2b9ffb86340738a8c9 Mon Sep 17 00:00:00 2001 From: Aljorani Date: Thu, 1 Dec 2022 14:47:21 -0600 Subject: [PATCH 5/9] added custom path for monitoring script and removed it from VM --- manual-workflows/resources.sh | 14 +++++++++++++- manual-workflows/server_startup.py | 1 - manual-workflows/start.sh | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/manual-workflows/resources.sh b/manual-workflows/resources.sh index 90b84fd..ba4a8a8 100644 --- a/manual-workflows/resources.sh +++ b/manual-workflows/resources.sh @@ -20,6 +20,7 @@ function show_help { echo " --ip-range block/range of acceptable IPs e.g. 172.16.0.0/24 or a single IP address e.g. 172.16.5.9/32 or a comma-seperated list of IPs/CIDRs." echo " --gc-region DEFAULT='us-central1'. For other regions, check: https://cloud.google.com/compute/docs/regions-zones" echo " --retention DEFAULT is none. For more option, check: https://cloud.google.com/storage/docs/gsutil/commands/mb#retention-policy" + echo " --ms-path monitoring script path relative to \$BUCKET. DEFAULT='scripts/monitor.sh'" echo "" } @@ -91,6 +92,14 @@ while test $# -gt 0; do shift fi ;; + --ms-path*) + if [ ! "$2" ]; then + MS_PATH="scripts/monitor.sh" + else + MS_PATH=$2 + shift + fi + ;; *) break ;; @@ -116,6 +125,9 @@ fi if [ -z $RETENTION ]; then RETENTION="" fi +if [ -z $MS_PATH ]; then + MS_PATH="scripts/monitor.sh" +fi COMPUTE_NAME="cromwell-compute" SERVER_NAME="cromwell-server" @@ -140,7 +152,7 @@ EOF }, "final_workflow_log_dir": "gs://$BUCKET/final-logs", "final_call_logs": "gs://$BUCKET/call-logs", - "monitoring_script": "gs://$BUCKET/scripts/monitor.sh" + "monitoring_script": "gs://$BUCKET/$MS_PATH" } EOF } diff --git a/manual-workflows/server_startup.py b/manual-workflows/server_startup.py index 01897a9..12d7380 100644 --- a/manual-workflows/server_startup.py +++ b/manual-workflows/server_startup.py @@ -114,7 +114,6 @@ def startup_script(): download_from_metadata('cromwell-conf', os.path.join(SHARED_DIR, 'cromwell', 'cromwell.conf')) download_from_metadata('workflow-options', os.path.join(SHARED_DIR, 'cromwell', 'workflow_options.json')) download_from_metadata('persist-artifacts', os.path.join(SHARED_DIR, 'persist_artifacts.py')) - download_from_metadata('monitor-sh', os.path.join(SHARED_DIR, 'monitor.sh')) start_cromwell_service() clone_analysis_wdls() diff --git a/manual-workflows/start.sh b/manual-workflows/start.sh index 7e06123..8a2a487 100644 --- a/manual-workflows/start.sh +++ b/manual-workflows/start.sh @@ -143,7 +143,7 @@ gcloud compute instances create $INSTANCE_NAME \ --service-account=$SERVER_ACCOUNT --scopes=cloud-platform \ --network=$NETWORK --subnet=$SUBNET \ --metadata=cromwell-version=71 \ - --metadata-from-file=startup-script=$SRC_DIR/server_startup.py,cromwell-conf=$CROMWELL_CONF,helpers-sh=$SRC_DIR/helpers.sh,cromwell-service=$SRC_DIR/cromwell.service,workflow-options=$WORKFLOW_OPTIONS,persist-artifacts=$SRC_DIR/../scripts/persist_artifacts.py,monitor-sh=$SRC_DIR/../scripts/monitor.sh \ + --metadata-from-file=startup-script=$SRC_DIR/server_startup.py,cromwell-conf=$CROMWELL_CONF,helpers-sh=$SRC_DIR/helpers.sh,cromwell-service=$SRC_DIR/cromwell.service,workflow-options=$WORKFLOW_OPTIONS,persist-artifacts=$SRC_DIR/../scripts/persist_artifacts.py \ $@ cat < Date: Thu, 1 Dec 2022 16:32:35 -0600 Subject: [PATCH 6/9] defaulting monitoring_script to null --- fake.log | 0 manual-workflows/resources.sh | 14 +++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 fake.log diff --git a/fake.log b/fake.log new file mode 100644 index 0000000..e69de29 diff --git a/manual-workflows/resources.sh b/manual-workflows/resources.sh index ba4a8a8..53bd908 100644 --- a/manual-workflows/resources.sh +++ b/manual-workflows/resources.sh @@ -20,7 +20,7 @@ function show_help { echo " --ip-range block/range of acceptable IPs e.g. 172.16.0.0/24 or a single IP address e.g. 172.16.5.9/32 or a comma-seperated list of IPs/CIDRs." echo " --gc-region DEFAULT='us-central1'. For other regions, check: https://cloud.google.com/compute/docs/regions-zones" echo " --retention DEFAULT is none. For more option, check: https://cloud.google.com/storage/docs/gsutil/commands/mb#retention-policy" - echo " --ms-path monitoring script path relative to \$BUCKET. DEFAULT='scripts/monitor.sh'" + echo " --ms-path DEFAULT=\"\". Monitoring script path is relative to \$BUCKET. If none provided then no monitoring log." echo "" } @@ -94,7 +94,7 @@ while test $# -gt 0; do ;; --ms-path*) if [ ! "$2" ]; then - MS_PATH="scripts/monitor.sh" + MS_PATH="" else MS_PATH=$2 shift @@ -126,7 +126,7 @@ if [ -z $RETENTION ]; then RETENTION="" fi if [ -z $MS_PATH ]; then - MS_PATH="scripts/monitor.sh" + MS_PATH="" fi COMPUTE_NAME="cromwell-compute" @@ -151,8 +151,12 @@ EOF "maxRetries": 2 }, "final_workflow_log_dir": "gs://$BUCKET/final-logs", - "final_call_logs": "gs://$BUCKET/call-logs", - "monitoring_script": "gs://$BUCKET/$MS_PATH" + $(if [ "$MS_PATH" != "" ]; then + echo "\"monitoring_script\": \"gs://$BUCKET/$MS_PATH\"," + else + echo "\"monitoring_script\": null," + fi) + "final_call_logs": "gs://$BUCKET/call-logs" } EOF } From 042b74a5a07c19dbcf626d7ff3994688bd5177f2 Mon Sep 17 00:00:00 2001 From: Aljorani Date: Thu, 1 Dec 2022 16:33:16 -0600 Subject: [PATCH 7/9] deleted extra file --- fake.log | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 fake.log diff --git a/fake.log b/fake.log deleted file mode 100644 index e69de29..0000000 From 2f58ac259f33bc7da58eb60f400b229f6357cc95 Mon Sep 17 00:00:00 2001 From: Aljorani Date: Thu, 1 Dec 2022 17:33:03 -0600 Subject: [PATCH 8/9] can't use null --- manual-workflows/resources.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/manual-workflows/resources.sh b/manual-workflows/resources.sh index 53bd908..80d57c4 100644 --- a/manual-workflows/resources.sh +++ b/manual-workflows/resources.sh @@ -153,8 +153,6 @@ EOF "final_workflow_log_dir": "gs://$BUCKET/final-logs", $(if [ "$MS_PATH" != "" ]; then echo "\"monitoring_script\": \"gs://$BUCKET/$MS_PATH\"," - else - echo "\"monitoring_script\": null," fi) "final_call_logs": "gs://$BUCKET/call-logs" } From b6f9fb9939075b62936d39ef2c39868f04188916 Mon Sep 17 00:00:00 2001 From: Aljorani Date: Thu, 1 Dec 2022 17:43:18 -0600 Subject: [PATCH 9/9] cleaning whitespace --- manual-workflows/resources.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manual-workflows/resources.sh b/manual-workflows/resources.sh index 80d57c4..11c34ee 100644 --- a/manual-workflows/resources.sh +++ b/manual-workflows/resources.sh @@ -150,10 +150,10 @@ EOF "preemptible": 1, "maxRetries": 2 }, - "final_workflow_log_dir": "gs://$BUCKET/final-logs", - $(if [ "$MS_PATH" != "" ]; then + $(if [ "$MS_PATH" != "" ]; then echo "\"monitoring_script\": \"gs://$BUCKET/$MS_PATH\"," - fi) + fi) + "final_workflow_log_dir": "gs://$BUCKET/final-logs", "final_call_logs": "gs://$BUCKET/call-logs" } EOF