From 11d8742670c5b5bbf07ee1298e0f0f6cbe577575 Mon Sep 17 00:00:00 2001 From: Dakota Blair Date: Tue, 22 Oct 2024 16:35:38 -0400 Subject: [PATCH 1/5] Update dependencies with suggested updates. These updates are a first step in upgrading dependencies in the Chimbuko visualization package. See also PR #95 in the visualization repo: https://github.com/CODARcode/ChimbukoVisualizationII/pull/95 --- .../chimbuko-visualization2/package.py | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py b/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py index e1bae6aa..e7d9d35f 100644 --- a/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py +++ b/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py @@ -14,18 +14,23 @@ class ChimbukoVisualization2(Package): depends_on('python@3:') depends_on('py-mochi-sonata', type=('build', 'run')) - depends_on('py-flask', type=('build', 'run')) - depends_on('py-flask-script', type=('build', 'run')) - depends_on('py-flask-sqlalchemy', type=('build', 'run')) - depends_on('py-flask-socketio', type=('build', 'run')) - depends_on('py-sqlalchemy', type=('build', 'run')) - depends_on('py-werkzeug', type=('build', 'run')) - depends_on('py-celery', type=('build', 'run')) - depends_on('py-gevent', type=('build', 'run')) - depends_on('py-eventlet', type=('build', 'run')) - depends_on('py-runstats', type=('build', 'run')) - depends_on('py-redis', type=('build', 'run')) - depends_on('py-requests', type=('build','run')) + depends_on('py-celery@4.4.7:', type=('build', 'run')) + depends_on('py-certifi@2024.7.4:', type=('build', 'run')) + depends_on('py-dns-python@2.6.1:', type=('build', 'run')) + depends_on('py-eventlet@0.35.2:', type=('build', 'run')) + depends_on('py-flask-script@2.0.6:', type=('build', 'run')) + depends_on('py-flask-socketio@2.9.6:', type=('build', 'run')) + depends_on('py-flask-sqlalchemy@2.5.1:', type=('build', 'run')) + depends_on('py-flask@1.1.2:', type=('build', 'run')) + depends_on('py-gevent@23.7.0:', type=('build', 'run')) + depends_on('py-idna@3.7:', type=('build', 'run')) + depends_on('py-jinja2@3.0.3:', type=('build', 'run')) + depends_on('py-redis@4.5.1:', type=('build', 'run')) + depends_on('py-requests@2.32.3:', type=('build','run')) + depends_on('py-runstats@1.8.0:', type=('build', 'run')) + depends_on('py-sqlalchemy@1.4.45:', type=('build', 'run')) + depends_on('py-urllib@1.26.19:', type=('build', 'run')) + depends_on('py-werkzeug@0.16.0:', type=('build', 'run')) depends_on('redis', type='run') depends_on('curl', type='run') From c5a520641ff24bfdd7101367a5db3574113f21ab Mon Sep 17 00:00:00 2001 From: Dakota Blair Date: Thu, 7 Nov 2024 10:12:28 -0500 Subject: [PATCH 2/5] Create a new image for end-to-end tests of CV2. This commit creates a new image, with corresponding support scripts, to run the end-to-end tests for the chimbuko-visualization2 (CV2) package. A README is included to explain its usage. This commit also updates some of the spack package dependencies for the CV2 package. There seem to be more incompatibilities that will need to be resolved in order to fully upgrade CV2. --- .../all_spack/Dockerfile.spack_dev_ddb | 51 +++++++++++++++++++ .../openmpi4.0.4/all_spack/README.md | 34 +++++++++++++ .../openmpi4.0.4/all_spack/env.yaml | 2 +- scripts/docker/spack_dev_ddb.rcfile.sh | 10 ++++ scripts/docker/spack_dev_ddb.sh | 13 +++++ .../chimbuko-visualization2/package.py | 41 ++++++++------- 6 files changed, 133 insertions(+), 18 deletions(-) create mode 100644 docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb create mode 100644 docker/ubuntu18.04/openmpi4.0.4/all_spack/README.md create mode 100755 scripts/docker/spack_dev_ddb.rcfile.sh create mode 100755 scripts/docker/spack_dev_ddb.sh diff --git a/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb b/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb new file mode 100644 index 00000000..1ebd6129 --- /dev/null +++ b/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb @@ -0,0 +1,51 @@ +FROM chimbuko/chimbuko-spack-env:ubuntu18.04 + +RUN apt-get update && apt-get install -y emacs-nox gdb tmux vim + +WORKDIR /src + +RUN echo 0.0.5 + +RUN git clone https://github.com/CODARcode/PerformanceAnalysis.git \ + --branch ckelly_develop_ddb \ + && git -C PerformanceAnalysis checkout ckelly_develop_ddb \ + && cp -r PerformanceAnalysis/spack/repo/chimbuko /sds/ \ + && cp -r PerformanceAnalysis/benchmark_suite . \ + && rm -rf PerformanceAnalysis + +ENV TAU_OPTIONS="-optShared -optRevert -optVerbose -optCompInst" + +WORKDIR /bld/benchmark_suite/func_multimodal + +RUN cp -s /src/benchmark_suite/func_multimodal/main.C . \ + && cp /src/benchmark_suite/func_multimodal/*.sh . \ + && cp /src/benchmark_suite/func_multimodal/Makefile . + +RUN source /spack/spack/share/spack/setup-env.sh \ + && cd /opt/spack-environment && spack env activate . \ + && cd - \ + && make + +COPY docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml \ + /opt/spack-environment/spack.yaml + +RUN source /spack/spack/share/spack/setup-env.sh \ + && cd /opt/spack-environment \ + && spack env activate . \ + && spack concretize -f \ + && spack install \ + && spack gc -y \ + && spack clean -a + +COPY docker/ubuntu18.04/openmpi4.0.4/all_spack/chimbuko_config.sh \ + /bld/benchmark_suite/func_multimodal/ + +COPY scripts/docker/spack_dev_ddb.sh /build.spack.sh +RUN /build.spack.sh + +COPY scripts/docker/spack_dev_ddb.rcfile.sh /rcfile.sh + +# ENTRYPOINT ["/bin/bash"] # see Dockerfile.spack_env + +CMD ["--rcfile", "/rcfile.sh"] + diff --git a/docker/ubuntu18.04/openmpi4.0.4/all_spack/README.md b/docker/ubuntu18.04/openmpi4.0.4/all_spack/README.md new file mode 100644 index 00000000..ab1f5303 --- /dev/null +++ b/docker/ubuntu18.04/openmpi4.0.4/all_spack/README.md @@ -0,0 +1,34 @@ +# Dockerfiles + +## `Dockerfile.spack_dev_ddb` + +This Dockerfile defines an image which can be used to validate the visualization +package upgrades. The build will clone the `chimbuko-visualization2` (CV2) repository +and checkout the `dependency_upgrades` branch. Here is how to use this image to +test changes to CV2: + +1. Build the image. +2. Use `docker ps` to find an open port `HOST_PORT`. +3. Then running the image with the `HOST_PORT` will execute `run.sh` and start + the server simulation. +4. Load the frontend in a browser (`http://hostname:$HOST_PORT`). + +### Build the image. + +```sh +docker build \ + -f docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb \ + -t chimbuko/chimbuko-spack-dev-ddb:ubuntu18.04 \ + . +``` + +### Run the image. + +```sh +docker run --rm -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \ + -p $HOST_PORT:5002 \ + -v $(pwd):$(pwd) \ + -name ddb-csd \ + chimbuko/chimbuko-spack-dev:ubuntu18.04 +``` + diff --git a/docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml b/docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml index 6a1e1645..bca8a4cb 100644 --- a/docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml +++ b/docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml @@ -3,7 +3,7 @@ spack: - chimbuko-performance-analysis @git.bcb0f724d8579abeb620a0f9f4a9fdd839f3475f ^mochi-sonata~bedrock~unqlite_st ^cmake@3.27.7 - tau+mpi+openmp+adios2+python+binutils@git.9ec064a2f5ebc6deb63cfb3c10595ccba902b017=2.33.1 - libfabric fabrics=sockets,tcp,udp,rxm - - chimbuko-visualization2 @git.8568d3c2ecdabfd61634a603e64e4a408cb731fc ^curl@8.4.0 ^python@3.8.18 ^py-cryptography@3.2.1 ^py-celery@4.4.7 ^py-flask@1.1.2 ^py-werkzeug@0.16.0 ^py-jinja2@2.11.3 ^py-itsdangerous@2.0.1 ^py-flask-sqlalchemy@2.5.1 ^py-wheel@0.37.1 ^py-eventlet@0.30.0 ^py-setuptools@65.5.0 + - chimbuko-visualization2 @git.dependency_upgrades=dev ^curl@8.4.0 ^python@3.8.18 ^py-cryptography@3.2.1 ^py-celery@4.4.7 ^py-flask@1.1.2 ^py-werkzeug@0.16.0 ^py-itsdangerous@2.0.1 ^py-flask-sqlalchemy@2.5.1 ^py-wheel@0.37.1 ^py-eventlet@0.30.0 ^py-setuptools@65.5.0 concretizer: unify: true compilers: diff --git a/scripts/docker/spack_dev_ddb.rcfile.sh b/scripts/docker/spack_dev_ddb.rcfile.sh new file mode 100755 index 00000000..b3cd8591 --- /dev/null +++ b/scripts/docker/spack_dev_ddb.rcfile.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -eux + +source /spack/spack/share/spack/setup-env.sh +cd /opt/spack-environment/ +spack env activate . +export CHIMBUKO_VIZ_ROOT=$(spack location -i chimbuko-visualization2) +cd /bld/benchmark_suite/func_multimodal +./run.sh diff --git a/scripts/docker/spack_dev_ddb.sh b/scripts/docker/spack_dev_ddb.sh new file mode 100755 index 00000000..c9d687b2 --- /dev/null +++ b/scripts/docker/spack_dev_ddb.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -eux + +source /spack/spack/share/spack/setup-env.sh +cd /opt/spack-environment/ +spack env activate . +spack develop chimbuko-visualization2 @git.dependency_upgrades=dev +spack concretize -f +spack install +cd /opt/spack-environment/chimbuko-visualization2 +# git checkout dependency_upgrades +# spack install diff --git a/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py b/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py index e7d9d35f..ec7cc69f 100644 --- a/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py +++ b/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py @@ -8,28 +8,35 @@ class ChimbukoVisualization2(Package): """The Visualization component of Chimbuko""" homepage = "https://github.com/CODARcode/ChimbukoVisualizationII" - git = "https://github.com/CODARcode/ChimbukoVisualizationII" + git = "https://github.com/dakotablair/ChimbukoVisualizationII" - version('master', branch='master') + version('dependency_upgrades', branch='dependency_upgrades') - depends_on('python@3:') + depends_on('python@3.8') depends_on('py-mochi-sonata', type=('build', 'run')) - depends_on('py-celery@4.4.7:', type=('build', 'run')) - depends_on('py-certifi@2024.7.4:', type=('build', 'run')) - depends_on('py-dns-python@2.6.1:', type=('build', 'run')) - depends_on('py-eventlet@0.35.2:', type=('build', 'run')) - depends_on('py-flask-script@2.0.6:', type=('build', 'run')) - depends_on('py-flask-socketio@2.9.6:', type=('build', 'run')) - depends_on('py-flask-sqlalchemy@2.5.1:', type=('build', 'run')) - depends_on('py-flask@1.1.2:', type=('build', 'run')) + depends_on('py-celery@4.4.7:4.4', type=('build', 'run')) + # depends_on('py-certifi@2024.7.4:2024.7', type=('build', 'run')) + depends_on('py-certifi', type=('build', 'run')) + # depends_on('py-dnspython@2.6.1:2.6', type=('build', 'run')) + depends_on('py-dnspython', type=('build', 'run')) + # depends_on('py-eventlet@0.35.2:0.35', type=('build', 'run')) + depends_on('py-eventlet', type=('build', 'run')) + # depends_on('py-flask-script@=2.0.6', type=('build', 'run')) + depends_on('py-flask-script', type=('build', 'run')) + depends_on('py-flask-socketio@2.9.6:2.9', type=('build', 'run')) + depends_on('py-flask-sqlalchemy@2.5.1:2.5', type=('build', 'run')) + depends_on('py-flask@=1.1.2', type=('build', 'run')) depends_on('py-gevent@23.7.0:', type=('build', 'run')) - depends_on('py-idna@3.7:', type=('build', 'run')) - depends_on('py-jinja2@3.0.3:', type=('build', 'run')) - depends_on('py-redis@4.5.1:', type=('build', 'run')) - depends_on('py-requests@2.32.3:', type=('build','run')) + # depends_on('py-idna@3.7:', type=('build', 'run')) + depends_on('py-idna', type=('build', 'run')) + # depends_on('py-jinja2@3.0.3:3.0', type=('build', 'run')) + depends_on('py-jinja2', type=('build', 'run')) + depends_on('py-redis@4.5.1:4.5', type=('build', 'run')) + # depends_on('py-requests@2.32.3:', type=('build','run')) + depends_on('py-requests', type=('build','run')) depends_on('py-runstats@1.8.0:', type=('build', 'run')) - depends_on('py-sqlalchemy@1.4.45:', type=('build', 'run')) - depends_on('py-urllib@1.26.19:', type=('build', 'run')) + depends_on('py-sqlalchemy@1.4.45:1.4', type=('build', 'run')) + # depends_on('py-urllib3@1.26.19:1.26', type=('build', 'run')) depends_on('py-werkzeug@0.16.0:', type=('build', 'run')) depends_on('redis', type='run') depends_on('curl', type='run') From 8cbe30589e611b76d1daa482b19803a67febf5ca Mon Sep 17 00:00:00 2001 From: Dakota Blair Date: Thu, 14 Nov 2024 17:02:22 -0500 Subject: [PATCH 3/5] Upgrade celery and redis. The celery upgrade works fine on its own. Updating redis in spack causes the concretize step to fail. Updating the redis python package using a pip installed package works, but some events may be being lost due to configuration changes between redis python package versions. --- .../openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb | 2 +- docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml | 2 +- scripts/docker/spack_dev_ddb.rcfile.sh | 2 +- .../repo/chimbuko/packages/chimbuko-visualization2/package.py | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb b/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb index 1ebd6129..a0b840b6 100644 --- a/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb +++ b/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb @@ -4,7 +4,7 @@ RUN apt-get update && apt-get install -y emacs-nox gdb tmux vim WORKDIR /src -RUN echo 0.0.5 +RUN echo 0.1.2 RUN git clone https://github.com/CODARcode/PerformanceAnalysis.git \ --branch ckelly_develop_ddb \ diff --git a/docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml b/docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml index bca8a4cb..08eef4d2 100644 --- a/docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml +++ b/docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml @@ -3,7 +3,7 @@ spack: - chimbuko-performance-analysis @git.bcb0f724d8579abeb620a0f9f4a9fdd839f3475f ^mochi-sonata~bedrock~unqlite_st ^cmake@3.27.7 - tau+mpi+openmp+adios2+python+binutils@git.9ec064a2f5ebc6deb63cfb3c10595ccba902b017=2.33.1 - libfabric fabrics=sockets,tcp,udp,rxm - - chimbuko-visualization2 @git.dependency_upgrades=dev ^curl@8.4.0 ^python@3.8.18 ^py-cryptography@3.2.1 ^py-celery@4.4.7 ^py-flask@1.1.2 ^py-werkzeug@0.16.0 ^py-itsdangerous@2.0.1 ^py-flask-sqlalchemy@2.5.1 ^py-wheel@0.37.1 ^py-eventlet@0.30.0 ^py-setuptools@65.5.0 + - chimbuko-visualization2 @git.dependency_upgrades=dev ^curl@8.4.0 ^python@3.8.18 concretizer: unify: true compilers: diff --git a/scripts/docker/spack_dev_ddb.rcfile.sh b/scripts/docker/spack_dev_ddb.rcfile.sh index b3cd8591..a19e0465 100755 --- a/scripts/docker/spack_dev_ddb.rcfile.sh +++ b/scripts/docker/spack_dev_ddb.rcfile.sh @@ -7,4 +7,4 @@ cd /opt/spack-environment/ spack env activate . export CHIMBUKO_VIZ_ROOT=$(spack location -i chimbuko-visualization2) cd /bld/benchmark_suite/func_multimodal -./run.sh +# ./run.sh diff --git a/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py b/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py index ec7cc69f..816fe4bd 100644 --- a/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py +++ b/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py @@ -14,7 +14,7 @@ class ChimbukoVisualization2(Package): depends_on('python@3.8') depends_on('py-mochi-sonata', type=('build', 'run')) - depends_on('py-celery@4.4.7:4.4', type=('build', 'run')) + depends_on('py-celery@5.2.2:', type=('build', 'run')) # depends_on('py-certifi@2024.7.4:2024.7', type=('build', 'run')) depends_on('py-certifi', type=('build', 'run')) # depends_on('py-dnspython@2.6.1:2.6', type=('build', 'run')) @@ -31,7 +31,7 @@ class ChimbukoVisualization2(Package): depends_on('py-idna', type=('build', 'run')) # depends_on('py-jinja2@3.0.3:3.0', type=('build', 'run')) depends_on('py-jinja2', type=('build', 'run')) - depends_on('py-redis@4.5.1:4.5', type=('build', 'run')) + # depends_on('py-redis@4.5.4:4.5', type=('build', 'run')) # depends_on('py-requests@2.32.3:', type=('build','run')) depends_on('py-requests', type=('build','run')) depends_on('py-runstats@1.8.0:', type=('build', 'run')) From a6dbd728d56ba05b79d3ae0f405ed412b13bd561 Mon Sep 17 00:00:00 2001 From: Dakota Blair Date: Wed, 20 Nov 2024 15:55:30 -0500 Subject: [PATCH 4/5] Add pip installation step. Some package requirements cannot easily be satisfied by spack, therefore some packages must be installed via pip. Also make the filenames more in line with the purpose of this Dockerfile, namely to provide and end-to-end test of the ChimbukoVisualizationII (cv2) package. --- ...ockerfile.spack_dev_ddb => Dockerfile.cv2} | 26 ++++++++++++++----- .../openmpi4.0.4/all_spack/README.md | 8 +++--- .../docker/{spack_dev_ddb.sh => cv2/build.sh} | 3 --- scripts/docker/cv2/pip.sh | 9 +++++++ .../rcfile.sh} | 2 +- .../chimbuko-visualization2/package.py | 9 ------- 6 files changed, 33 insertions(+), 24 deletions(-) rename docker/ubuntu18.04/openmpi4.0.4/all_spack/{Dockerfile.spack_dev_ddb => Dockerfile.cv2} (68%) rename scripts/docker/{spack_dev_ddb.sh => cv2/build.sh} (68%) create mode 100755 scripts/docker/cv2/pip.sh rename scripts/docker/{spack_dev_ddb.rcfile.sh => cv2/rcfile.sh} (95%) diff --git a/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb b/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.cv2 similarity index 68% rename from docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb rename to docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.cv2 index a0b840b6..d569eaa5 100644 --- a/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb +++ b/docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.cv2 @@ -4,14 +4,11 @@ RUN apt-get update && apt-get install -y emacs-nox gdb tmux vim WORKDIR /src -RUN echo 0.1.2 - RUN git clone https://github.com/CODARcode/PerformanceAnalysis.git \ --branch ckelly_develop_ddb \ && git -C PerformanceAnalysis checkout ckelly_develop_ddb \ && cp -r PerformanceAnalysis/spack/repo/chimbuko /sds/ \ - && cp -r PerformanceAnalysis/benchmark_suite . \ - && rm -rf PerformanceAnalysis + && cp -r PerformanceAnalysis/benchmark_suite . ENV TAU_OPTIONS="-optShared -optRevert -optVerbose -optCompInst" @@ -37,15 +34,30 @@ RUN source /spack/spack/share/spack/setup-env.sh \ && spack gc -y \ && spack clean -a +RUN echo 0.1.9 +# Save build time while working on non-spack dependencies +RUN git config --global user.email "dblair@bnl.gov" \ + && git config --global user.name "Dakota Blair" +RUN git -C /src/PerformanceAnalysis pull --strategy-option=theirs + COPY docker/ubuntu18.04/openmpi4.0.4/all_spack/chimbuko_config.sh \ /bld/benchmark_suite/func_multimodal/ -COPY scripts/docker/spack_dev_ddb.sh /build.spack.sh +COPY scripts/docker/cv2/build.sh /build.spack.sh RUN /build.spack.sh -COPY scripts/docker/spack_dev_ddb.rcfile.sh /rcfile.sh +COPY scripts/docker/cv2/pip.sh /build.pip.sh +RUN /build.pip.sh + +COPY scripts/docker/cv2/rcfile.sh /rcfile.sh # ENTRYPOINT ["/bin/bash"] # see Dockerfile.spack_env -CMD ["--rcfile", "/rcfile.sh"] +CMD [ \ + "--rcfile", \ + "/rcfile.sh", \ + "-i", \ + "-c", \ + "/bld/benchmark_suite/func_multimodal/run.sh" \ +] diff --git a/docker/ubuntu18.04/openmpi4.0.4/all_spack/README.md b/docker/ubuntu18.04/openmpi4.0.4/all_spack/README.md index ab1f5303..00b2c34a 100644 --- a/docker/ubuntu18.04/openmpi4.0.4/all_spack/README.md +++ b/docker/ubuntu18.04/openmpi4.0.4/all_spack/README.md @@ -1,6 +1,6 @@ # Dockerfiles -## `Dockerfile.spack_dev_ddb` +## `Dockerfile.cv2` This Dockerfile defines an image which can be used to validate the visualization package upgrades. The build will clone the `chimbuko-visualization2` (CV2) repository @@ -17,8 +17,8 @@ test changes to CV2: ```sh docker build \ - -f docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb \ - -t chimbuko/chimbuko-spack-dev-ddb:ubuntu18.04 \ + -f docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.cv2 \ + -t chimbuko/chimbuko-cv2:ubuntu18.04 \ . ``` @@ -28,7 +28,7 @@ docker build \ docker run --rm -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \ -p $HOST_PORT:5002 \ -v $(pwd):$(pwd) \ - -name ddb-csd \ + -name test-cv2 \ chimbuko/chimbuko-spack-dev:ubuntu18.04 ``` diff --git a/scripts/docker/spack_dev_ddb.sh b/scripts/docker/cv2/build.sh similarity index 68% rename from scripts/docker/spack_dev_ddb.sh rename to scripts/docker/cv2/build.sh index c9d687b2..f8bfcf51 100755 --- a/scripts/docker/spack_dev_ddb.sh +++ b/scripts/docker/cv2/build.sh @@ -8,6 +8,3 @@ spack env activate . spack develop chimbuko-visualization2 @git.dependency_upgrades=dev spack concretize -f spack install -cd /opt/spack-environment/chimbuko-visualization2 -# git checkout dependency_upgrades -# spack install diff --git a/scripts/docker/cv2/pip.sh b/scripts/docker/cv2/pip.sh new file mode 100755 index 00000000..5394171b --- /dev/null +++ b/scripts/docker/cv2/pip.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -eux + +source /spack/spack/share/spack/setup-env.sh +cd /opt/spack-environment/ +spack env activate . +cd /opt/spack-environment/chimbuko-visualization2/ +pip3 install -r requirements.txt diff --git a/scripts/docker/spack_dev_ddb.rcfile.sh b/scripts/docker/cv2/rcfile.sh similarity index 95% rename from scripts/docker/spack_dev_ddb.rcfile.sh rename to scripts/docker/cv2/rcfile.sh index a19e0465..37fad125 100755 --- a/scripts/docker/spack_dev_ddb.rcfile.sh +++ b/scripts/docker/cv2/rcfile.sh @@ -7,4 +7,4 @@ cd /opt/spack-environment/ spack env activate . export CHIMBUKO_VIZ_ROOT=$(spack location -i chimbuko-visualization2) cd /bld/benchmark_suite/func_multimodal -# ./run.sh +set +ex diff --git a/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py b/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py index 816fe4bd..2373bbef 100644 --- a/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py +++ b/spack/repo/chimbuko/packages/chimbuko-visualization2/package.py @@ -15,28 +15,19 @@ class ChimbukoVisualization2(Package): depends_on('python@3.8') depends_on('py-mochi-sonata', type=('build', 'run')) depends_on('py-celery@5.2.2:', type=('build', 'run')) - # depends_on('py-certifi@2024.7.4:2024.7', type=('build', 'run')) depends_on('py-certifi', type=('build', 'run')) - # depends_on('py-dnspython@2.6.1:2.6', type=('build', 'run')) depends_on('py-dnspython', type=('build', 'run')) - # depends_on('py-eventlet@0.35.2:0.35', type=('build', 'run')) depends_on('py-eventlet', type=('build', 'run')) - # depends_on('py-flask-script@=2.0.6', type=('build', 'run')) depends_on('py-flask-script', type=('build', 'run')) depends_on('py-flask-socketio@2.9.6:2.9', type=('build', 'run')) depends_on('py-flask-sqlalchemy@2.5.1:2.5', type=('build', 'run')) depends_on('py-flask@=1.1.2', type=('build', 'run')) depends_on('py-gevent@23.7.0:', type=('build', 'run')) - # depends_on('py-idna@3.7:', type=('build', 'run')) depends_on('py-idna', type=('build', 'run')) - # depends_on('py-jinja2@3.0.3:3.0', type=('build', 'run')) depends_on('py-jinja2', type=('build', 'run')) - # depends_on('py-redis@4.5.4:4.5', type=('build', 'run')) - # depends_on('py-requests@2.32.3:', type=('build','run')) depends_on('py-requests', type=('build','run')) depends_on('py-runstats@1.8.0:', type=('build', 'run')) depends_on('py-sqlalchemy@1.4.45:1.4', type=('build', 'run')) - # depends_on('py-urllib3@1.26.19:1.26', type=('build', 'run')) depends_on('py-werkzeug@0.16.0:', type=('build', 'run')) depends_on('redis', type='run') depends_on('curl', type='run') From f3c6405d816fc68418aea575ff2ba77d3a6a4578 Mon Sep 17 00:00:00 2001 From: Dakota Blair Date: Thu, 10 Apr 2025 13:48:16 -0400 Subject: [PATCH 5/5] Ensure pip with ensurepip. --- scripts/docker/cv2/pip.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/docker/cv2/pip.sh b/scripts/docker/cv2/pip.sh index 5394171b..d4864d21 100755 --- a/scripts/docker/cv2/pip.sh +++ b/scripts/docker/cv2/pip.sh @@ -6,4 +6,5 @@ source /spack/spack/share/spack/setup-env.sh cd /opt/spack-environment/ spack env activate . cd /opt/spack-environment/chimbuko-visualization2/ -pip3 install -r requirements.txt +python3 -m ensurepip +python3 -m pip install -r requirements.txt