Skip to content

Commit 9b79303

Browse files
committed
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.
1 parent b16d215 commit 9b79303

File tree

6 files changed

+133
-18
lines changed

6 files changed

+133
-18
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
FROM chimbuko/chimbuko-spack-env:ubuntu18.04
2+
3+
RUN apt-get update && apt-get install -y emacs-nox gdb tmux vim
4+
5+
WORKDIR /src
6+
7+
RUN echo 0.0.5
8+
9+
RUN git clone https://github.com/CODARcode/PerformanceAnalysis.git \
10+
--branch ckelly_develop_ddb \
11+
&& git -C PerformanceAnalysis checkout ckelly_develop_ddb \
12+
&& cp -r PerformanceAnalysis/spack/repo/chimbuko /sds/ \
13+
&& cp -r PerformanceAnalysis/benchmark_suite . \
14+
&& rm -rf PerformanceAnalysis
15+
16+
ENV TAU_OPTIONS="-optShared -optRevert -optVerbose -optCompInst"
17+
18+
WORKDIR /bld/benchmark_suite/func_multimodal
19+
20+
RUN cp -s /src/benchmark_suite/func_multimodal/main.C . \
21+
&& cp /src/benchmark_suite/func_multimodal/*.sh . \
22+
&& cp /src/benchmark_suite/func_multimodal/Makefile .
23+
24+
RUN source /spack/spack/share/spack/setup-env.sh \
25+
&& cd /opt/spack-environment && spack env activate . \
26+
&& cd - \
27+
&& make
28+
29+
COPY docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml \
30+
/opt/spack-environment/spack.yaml
31+
32+
RUN source /spack/spack/share/spack/setup-env.sh \
33+
&& cd /opt/spack-environment \
34+
&& spack env activate . \
35+
&& spack concretize -f \
36+
&& spack install \
37+
&& spack gc -y \
38+
&& spack clean -a
39+
40+
COPY docker/ubuntu18.04/openmpi4.0.4/all_spack/chimbuko_config.sh \
41+
/bld/benchmark_suite/func_multimodal/
42+
43+
COPY scripts/docker/spack_dev_ddb.sh /build.spack.sh
44+
RUN /build.spack.sh
45+
46+
COPY scripts/docker/spack_dev_ddb.rcfile.sh /rcfile.sh
47+
48+
# ENTRYPOINT ["/bin/bash"] # see Dockerfile.spack_env
49+
50+
CMD ["--rcfile", "/rcfile.sh"]
51+
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Dockerfiles
2+
3+
## `Dockerfile.spack_dev_ddb`
4+
5+
This Dockerfile defines an image which can be used to validate the visualization
6+
package upgrades. The build will clone the `chimbuko-visualization2` (CV2) repository
7+
and checkout the `dependency_upgrades` branch. Here is how to use this image to
8+
test changes to CV2:
9+
10+
1. Build the image.
11+
2. Use `docker ps` to find an open port `HOST_PORT`.
12+
3. Then running the image with the `HOST_PORT` will execute `run.sh` and start
13+
the server simulation.
14+
4. Load the frontend in a browser (`http://hostname:$HOST_PORT`).
15+
16+
### Build the image.
17+
18+
```sh
19+
docker build \
20+
-f docker/ubuntu18.04/openmpi4.0.4/all_spack/Dockerfile.spack_dev_ddb \
21+
-t chimbuko/chimbuko-spack-dev-ddb:ubuntu18.04 \
22+
.
23+
```
24+
25+
### Run the image.
26+
27+
```sh
28+
docker run --rm -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
29+
-p $HOST_PORT:5002 \
30+
-v $(pwd):$(pwd) \
31+
-name ddb-csd \
32+
chimbuko/chimbuko-spack-dev:ubuntu18.04
33+
```
34+

docker/ubuntu18.04/openmpi4.0.4/all_spack/env.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ spack:
33
- chimbuko-performance-analysis @git.bcb0f724d8579abeb620a0f9f4a9fdd839f3475f ^mochi-sonata~bedrock~unqlite_st ^[email protected]
44
- tau+mpi+openmp+adios2+python+binutils@git.9ec064a2f5ebc6deb63cfb3c10595ccba902b017=2.33.1
55
- libfabric fabrics=sockets,tcp,udp,rxm
6-
6+
77
concretizer:
88
unify: true
99
compilers:
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
3+
set -eux
4+
5+
source /spack/spack/share/spack/setup-env.sh
6+
cd /opt/spack-environment/
7+
spack env activate .
8+
export CHIMBUKO_VIZ_ROOT=$(spack location -i chimbuko-visualization2)
9+
cd /bld/benchmark_suite/func_multimodal
10+
./run.sh

scripts/docker/spack_dev_ddb.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
set -eux
4+
5+
source /spack/spack/share/spack/setup-env.sh
6+
cd /opt/spack-environment/
7+
spack env activate .
8+
spack develop chimbuko-visualization2 @git.dependency_upgrades=dev
9+
spack concretize -f
10+
spack install
11+
cd /opt/spack-environment/chimbuko-visualization2
12+
# git checkout dependency_upgrades
13+
# spack install

spack/repo/chimbuko/packages/chimbuko-visualization2/package.py

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,35 @@ class ChimbukoVisualization2(Package):
88
"""The Visualization component of Chimbuko"""
99

1010
homepage = "https://github.com/CODARcode/ChimbukoVisualizationII"
11-
git = "https://github.com/CODARcode/ChimbukoVisualizationII"
11+
git = "https://github.com/dakotablair/ChimbukoVisualizationII"
1212

13-
version('master', branch='master')
13+
version('dependency_upgrades', branch='dependency_upgrades')
1414

15-
depends_on('python@3:')
15+
depends_on('python@3.8')
1616
depends_on('py-mochi-sonata', type=('build', 'run'))
17-
depends_on('[email protected]:', type=('build', 'run'))
18-
depends_on('[email protected]:', type=('build', 'run'))
19-
depends_on('[email protected]:', type=('build', 'run'))
20-
depends_on('[email protected]:', type=('build', 'run'))
21-
depends_on('[email protected]:', type=('build', 'run'))
22-
depends_on('[email protected]:', type=('build', 'run'))
23-
depends_on('[email protected]:', type=('build', 'run'))
24-
depends_on('[email protected]:', type=('build', 'run'))
17+
depends_on('[email protected]:4.4', type=('build', 'run'))
18+
# depends_on('[email protected]:2024.7', type=('build', 'run'))
19+
depends_on('py-certifi', type=('build', 'run'))
20+
# depends_on('[email protected]:2.6', type=('build', 'run'))
21+
depends_on('py-dnspython', type=('build', 'run'))
22+
# depends_on('[email protected]:0.35', type=('build', 'run'))
23+
depends_on('py-eventlet', type=('build', 'run'))
24+
# depends_on('py-flask-script@=2.0.6', type=('build', 'run'))
25+
depends_on('py-flask-script', type=('build', 'run'))
26+
depends_on('[email protected]:2.9', type=('build', 'run'))
27+
depends_on('[email protected]:2.5', type=('build', 'run'))
28+
depends_on('py-flask@=1.1.2', type=('build', 'run'))
2529
depends_on('[email protected]:', type=('build', 'run'))
26-
depends_on('[email protected]:', type=('build', 'run'))
27-
depends_on('[email protected]:', type=('build', 'run'))
28-
depends_on('[email protected]:', type=('build', 'run'))
29-
depends_on('[email protected]:', type=('build','run'))
30+
# depends_on('[email protected]:', type=('build', 'run'))
31+
depends_on('py-idna', type=('build', 'run'))
32+
# depends_on('[email protected]:3.0', type=('build', 'run'))
33+
depends_on('py-jinja2', type=('build', 'run'))
34+
depends_on('[email protected]:4.5', type=('build', 'run'))
35+
# depends_on('[email protected]:', type=('build','run'))
36+
depends_on('py-requests', type=('build','run'))
3037
depends_on('[email protected]:', type=('build', 'run'))
31-
depends_on('[email protected]:', type=('build', 'run'))
32-
depends_on('py-urllib@1.26.19:', type=('build', 'run'))
38+
depends_on('[email protected]:1.4', type=('build', 'run'))
39+
# depends_on('py-urllib3@1.26.19:1.26', type=('build', 'run'))
3340
depends_on('[email protected]:', type=('build', 'run'))
3441
depends_on('redis', type='run')
3542
depends_on('curl', type='run')

0 commit comments

Comments
 (0)