#!/bin/bash # =========================================================================================================== # title : create_job_widget_script.sh # usage : ./create_job_widget_script.sh $OC_JOB_ID $RUN_ENV_DOCKER_IMAGE $INSTALLATION_ROOT # $SPACK_ENV $RELEASE_NAME $LAB_KERNEL_ROOT # description : creates job file that generates a script to load the jupyter extensions for a given env # =========================================================================================================== OC_JOB_ID=$1 RUN_ENV_DOCKER_IMAGE=$2 INSTALLATION_ROOT=$3 EBRAINS_SPACK_ENV=$4 RELEASE_NAME=$5 LAB_KERNEL_ROOT=$6 cat <<EOT >> widget-script.yml apiVersion: batch/v1 kind: Job metadata: name: widget-script${OC_JOB_ID} spec: parallelism: 1 completions: 1 backoffLimit: 0 template: spec: containers: - name: widget-script image: ${RUN_ENV_DOCKER_IMAGE} imagePullPolicy: Always resources: limits: cpu: '1' memory: '1Gi' requests: cpu: '0.5' memory: '500Mi' volumeMounts: - name: sharedbin mountPath: /srv command: - /bin/bash - -c - | . \$INSTALLATION_ROOT/spack/share/spack/setup-env.sh spack env activate --without-view \$EBRAINS_SPACK_ENV KERNEL_PATH=\$LAB_KERNEL_ROOT/\$(echo "\$RELEASE_NAME" | tr '[:upper:]' '[:lower:]') spack load --sh py-tvb-ext-bucket py-tvb-ext-unicore py-tvb-ext-xircuits > \$KERNEL_PATH/bin/widget_activation.sh env: - name: SYSTEMNAME value: ebrainslab - name: SPACK_DISABLE_LOCAL_CONFIG value: "true" - name: INSTALLATION_ROOT value: "$INSTALLATION_ROOT" - name: EBRAINS_SPACK_ENV value: "$EBRAINS_SPACK_ENV" - name: RELEASE_NAME value: "$RELEASE_NAME" - name: LAB_KERNEL_ROOT value: "$LAB_KERNEL_ROOT" volumes: - name: sharedbin persistentVolumeClaim: claimName: shared-binaries restartPolicy: Never EOT