Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Create Jenkinsfile #8

Merged
merged 9 commits into from
Apr 19, 2019
Merged

[WIP] Create Jenkinsfile #8

merged 9 commits into from
Apr 19, 2019

Conversation

tjesser-ucdavis-edu
Copy link
Contributor

A Jenkinsfile describes the build sequence Jenkins uses without hiding the information in Jenkins settings.

Let me know if the Jenkins build should use autotools instead of cmake.

@tjesser-ucdavis-edu
Copy link
Contributor Author

This PR depends on #9 as the buildenv container needs to install a Fortran compiler. I really should have caught that earlier.

@tjesser-ucdavis-edu tjesser-ucdavis-edu changed the title Create Jenkinsfile [WIP] Create Jenkinsfile Apr 17, 2019
@tjesser-ucdavis-edu tjesser-ucdavis-edu changed the title [WIP] Create Jenkinsfile Create Jenkinsfile Apr 18, 2019
@tjesser-ucdavis-edu tjesser-ucdavis-edu changed the title Create Jenkinsfile [WIP] Create Jenkinsfile Apr 18, 2019
@tjesser-ucdavis-edu
Copy link
Contributor Author

I think this pull request is mostly complete, but I'm concerned about the output from the make test.

There appears to be a whole lot of this:

[cf965bf6687b:05381] Read -1, expected 1277952, errno = 1
[cf965bf6687b:05379] Read -1, expected 1277952, errno = 1
[cf965bf6687b:05382] Read -1, expected 1277952, errno = 1
[cf965bf6687b:05380] Read -1, expected 1277952, errno = 1
[cf965bf6687b:05382] Read -1, expected 3714048, errno = 1
[cf965bf6687b:05381] Read -1, expected 3833856, errno = 1
[cf965bf6687b:05380] Read -1, expected 3714048, errno = 1
[cf965bf6687b:05379] Read -1, expected 3833856, errno = 1
[cf965bf6687b:05381] Read -1, expected 5428224, errno = 1
[cf965bf6687b:05382] Read -1, expected 5603328, errno = 1
[cf965bf6687b:05380] Read -1, expected 5603328, errno = 1
[cf965bf6687b:05379] Read -1, expected 5428224, errno = 1
[cf965bf6687b:05381] Read -1, expected 1867776, errno = 1
[cf965bf6687b:05379] Read -1, expected 1867776, errno = 1
[cf965bf6687b:05380] Read -1, expected 1867776, errno = 1
[cf965bf6687b:05382] Read -1, expected 1867776, errno = 1
[cf965bf6687b:05380] Read -1, expected 1277952, errno = 1
[cf965bf6687b:05382] Read -1, expected 1277952, errno = 1
[cf965bf6687b:05381] Read -1, expected 1277952, errno = 1
[cf965bf6687b:05379] Read -1, expected 1277952, errno = 1
[cf965bf6687b:05379] Read -1, expected 3833856, errno = 1
[cf965bf6687b:05380] Read -1, expected 3714048, errno = 1
[cf965bf6687b:05381] Read -1, expected 3833856, errno = 1

@hirokemono Can you identify any cause for the large amount of errors?

@hirokemono
Copy link
Contributor

hirokemono commented Apr 19, 2019 via email

@tjesser-ucdavis-edu
Copy link
Contributor Author

If you can run Docker, you should be able to recreate the environment by running the same commands.

Enter the container:

docker run -it --rm geodynamics/calypso-buildenv-bionic /bin/bash

Inside the container:

git clone https://github.com/geodynamics/calypso
cd calypso
./configure --enable-fftw3 --with-blas --with-hdf5
make

@tjesser-ucdavis-edu
Copy link
Contributor Author

I ran the container locally and got an OpenMPI error about running as root. Is there somewhere in the Makefile that we could add the --allow-run-as-root flag to mpirun?

Since most users probably shouldn't run be running mpirun as root, it'd be best to add the flag in the Jenkinsfile, instead of changing the Makefile directly.

@jedbrown
Copy link

You can export OMPI_ALLOW_RUN_AS_ROOT=1 from the Jenkinsfile if you really need to run as root. I think you'd be better off switching your container to non-root.

@tjesser-ucdavis-edu
Copy link
Contributor Author

According to this PR open-mpi/ompi#5598, the envvar option is only available in OpenMPI 4.x. Ubuntu Bionic only has 2.1.1: https://packages.ubuntu.com/source/bionic/openmpi.

@jedbrown
Copy link

Oh, sad. FWIW, I generally use MPICH in containers for compatibility with Shifter/Singularity (not relevant here), and always use non-root containers on Jenkins.

@tjesser-ucdavis-edu
Copy link
Contributor Author

tjesser-ucdavis-edu commented Apr 19, 2019

I created a user in the container and ran the build, and interestingly, got the same Read -1 errors that Jenkins has. I wonder if Jenkins creates a user in the container.

Container commands:

useradd -m calypso_user
su - calypso_user
git clone https://github.com/geodynamics/calypso
cd calypso
./configure --enable-fftw3 --with-blas --with-hdf5
make

@hirokemono hirokemono merged commit 54da464 into geodynamics:master Apr 19, 2019
@hirokemono
Copy link
Contributor

hirokemono commented Apr 19, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants