This is an automated email from the ASF dual-hosted git repository.

yasith pushed a commit to branch cybershuttle-staging
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 21d1de022649d6ab1651e073c18db1dde5e353d7
Author: yasith <[email protected]>
AuthorDate: Mon Apr 7 12:05:28 2025 -0400

    add overlay fs to agent for rw access. update makefile scripts, add stderr 
logging to agent
---
 modules/agent-framework/airavata-agent/Makefile | 34 +++++++++++++++++++------
 modules/agent-framework/airavata-agent/agent.go |  4 +--
 modules/agent-framework/airavata-agent/agent.sh | 16 +++++++-----
 3 files changed, 38 insertions(+), 16 deletions(-)

diff --git a/modules/agent-framework/airavata-agent/Makefile 
b/modules/agent-framework/airavata-agent/Makefile
index 2c4fc8b218..8fd4614dad 100644
--- a/modules/agent-framework/airavata-agent/Makefile
+++ b/modules/agent-framework/airavata-agent/Makefile
@@ -10,30 +10,48 @@ build-container:
 run-container:
        docker run -it $(IMAGE_NAME) /opt/airavata-agent $(AGENT_SVC_URL) 
$(AGENT_ID)
 
-deploy-all: deploy-anvil-scigap deploy-anvil-waterhub deploy-anvil-gcommunityus
+deploy-anvil: deploy-anvil-scigap deploy-anvil-waterhub 
deploy-anvil-gcommunityus
 
 deploy-anvil-scigap:
-       ssh [email protected] srun -p shared --mem 4G -t 30 
singularity pull \
+       ssh x-scigap@anvil srun -p shared --mem 4G -t 30 singularity pull \
        --disable-cache \
        --force \
        cybershuttle/container/remote-agent-base.sif \
        docker://$(IMAGE_NAME)
 
 deploy-anvil-waterhub:
-       ssh [email protected] srun -p shared --mem 4G -t 30 
singularity pull \
+       ssh x-waterhub@anvil srun -p shared --mem 4G -t 30 singularity pull \
        --disable-cache \
        --force \
        cybershuttle/container/remote-agent-base.sif \
        docker://$(IMAGE_NAME)
 
 deploy-anvil-gcommunityus:
-       ssh [email protected] srun -p shared --mem 4G -t 30 
singularity pull \
+       ssh x-gcommunityus@anvil srun -p shared --mem 4G -t 30 singularity pull 
\
        --disable-cache \
        --force \
        cybershuttle/container/remote-agent-base.sif \
        docker://$(IMAGE_NAME)
 
-deploy-bootstrap-anvil:
-       scp agent.sh [email protected]:~/cybershuttle/agent.sh && \
-       scp agent.sh [email protected]:~/cybershuttle/agent.sh 
&& \
-       scp agent.sh 
[email protected]:~/cybershuttle/agent.sh
+deploy-expanse: deploy-expanse-scigap deploy-expanse-gridchem
+
+deploy-expanse-scigap:
+       ssh scigap@expanse srun -p shared --mem 4G -t 30 singularity pull \
+       --disable-cache \
+       --force \
+       cybershuttle/container/remote-agent-base.sif \
+       docker://$(IMAGE_NAME)
+
+deploy-expanse-gridchem:
+       ssh gridchem@expanse srun -p shared --mem 4G -t 30 singularity pull \
+       --disable-cache \
+       --force \
+       cybershuttle/container/remote-agent-base.sif \
+       docker://$(IMAGE_NAME)
+
+deploy-bootstrap:
+       scp agent.sh x-scigap@anvil:~/cybershuttle/agent.sh && \
+       scp agent.sh x-waterhub@anvil:~/cybershuttle/agent.sh && \
+       scp agent.sh x-gcommunityus@anvil:~/cybershuttle/agent.sh && \
+       scp agent.sh scigap@expanse:~/cybershuttle/agent.sh && \
+       scp agent.sh gridchem@expanse:~/cybershuttle/agent.sh
diff --git a/modules/agent-framework/airavata-agent/agent.go 
b/modules/agent-framework/airavata-agent/agent.go
index bd64d08ae9..6814328326 100644
--- a/modules/agent-framework/airavata-agent/agent.go
+++ b/modules/agent-framework/airavata-agent/agent.go
@@ -68,7 +68,7 @@ func main() {
                libCmd := exec.Command("micromamba", "install", "-n", envName, 
"--yes")
                libCmd.Args = append(libCmd.Args, libList...)
                if err := libCmd.Run(); err != nil {
-                       log.Fatalf("[agent.go] main() Error Installing --lib: 
%v\n", err)
+                       log.Fatalf("[agent.go] main() Error Installing --lib: 
%v\n%s\n", err, libCmd.Stderr)
                }
                log.Printf("[agent.go] main() Installed --lib: %v\n", libList)
        } else {
@@ -82,7 +82,7 @@ func main() {
                pipCmd := exec.Command("micromamba", "run", "-n", envName, 
"pip", "install")
                pipCmd.Args = append(pipCmd.Args, pipList...)
                if err := pipCmd.Run(); err != nil {
-                       log.Fatalf("[agent.go] main() Error Installing --pip: 
%v\n", err)
+                       log.Fatalf("[agent.go] main() Error Installing --pip: 
%v\n%s\n", err, pipCmd.Stderr)
                }
                log.Printf("[agent.go] main() Installed --pip: %v\n", pipList)
 
diff --git a/modules/agent-framework/airavata-agent/agent.sh 
b/modules/agent-framework/airavata-agent/agent.sh
old mode 100644
new mode 100755
index 8a9db1f91e..9059ae09cf
--- a/modules/agent-framework/airavata-agent/agent.sh
+++ b/modules/agent-framework/airavata-agent/agent.sh
@@ -1,4 +1,4 @@
-#!/bin/bash -x
+#!/bin/bash
 
 # #####################################################################
 # Airavata Agent Bootstrapper
@@ -18,7 +18,6 @@
 
 # Default values
 CS_HOME=$HOME/cybershuttle
-WORKDIR=$CS_HOME/workspace
 AGENT=""
 SERVER=""
 CONTAINER=""
@@ -26,7 +25,7 @@ LIBRARIES=""
 PIP=""
 BIND_OPTS=()
 
-PARSED_OPTIONS=$(getopt -o '' --long server:,agent:,container:,bind: -n "$0" 
-- "$@")
+PARSED_OPTIONS=$(getopt -o '' --long 
server:,agent:,container:,libraries:,pip:,mounts:,bind: -n "$0" -- "$@")
 if [ $? -ne 0 ]; then
     echo "Usage: $0 \
     --server SERVER \
@@ -50,7 +49,7 @@ while true; do
         --mounts)    
             IFS=',' read -ra MOUNTS <<< "$2"
             for MOUNT in "${MOUNTS[@]}"; do
-              BIND_OPTS+=("--bind $MOUNT:ro")
+              BIND_OPTS+=("--bind $(eval echo $MOUNT):ro")
             done
             shift 2 ;;
         --bind)      BIND_OPTS+=("--bind $2:ro"); shift 2 ;;
@@ -61,7 +60,6 @@ done
 
 # Final values
 echo "CS_HOME=$CS_HOME"
-echo "WORKDIR=$WORKDIR"
 echo "AGENT=$AGENT"
 echo "SERVER=$SERVER"
 echo "CONTAINER=$CONTAINER"
@@ -72,8 +70,14 @@ echo "BIND_OPTS=$BIND_OPTS"
 # ----------------------------------------------------------------------
 # STEP 2 - RUN AGENT
 # ----------------------------------------------------------------------
+# Create overlay image (4GB) if it doesn't exist
+if [ ! -f workspace.img ]; then
+  singularity overlay create --size 4096 workspace.img
+fi
+# Start agent with the given params and overlay
 KERNEL_SOCK=$(mktemp) singularity exec \
-  --bind $WORKDIR:/scratch:ro ${BIND_OPTS[@]} \
+  --overlay workspace.img \
+  ${BIND_OPTS[@]} \
   $CS_HOME/container/$CONTAINER /opt/airavata-agent \
     --server $SERVER:19900 \
     --agent $AGENT \

Reply via email to