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

Migrate PBS container to rocklinux 8 and openpbs 23.06 #649

Merged
merged 4 commits into from
Aug 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 11 additions & 20 deletions ci/pbs/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,35 +1,26 @@
# inspired from https://github.com/PBSPro/pbspro/blob/v18.1.beta/docker/centos7/
# multi-stage build
# build script will be triggered
FROM centos:7.5.1804 AS builder
# install dependencies for building
RUN yum install -y gcc make rpm-build libtool hwloc-devel libX11-devel \
libXt-devel libedit-devel libical-devel ncurses-devel perl \
postgresql-devel python-devel tcl-devel tk-devel swig expat-devel \
openssl-devel libXext libXft git postgresql-contrib
# get known PBS Pro source code
RUN git clone --branch release_18_1_branch https://github.com/pbspro/pbspro.git /src/pbspro
COPY build.sh /
RUN bash /build.sh

# base image
FROM centos:7.5.1804
LABEL description="PBS Professional Open Source and conda"
FROM rockylinux:8
LABEL description="openpbs and conda"

#The pbs master node name, can be overridden if needed
ENV PBS_MASTER pbs_master
ENV PATH /opt/pbs/bin:/opt/anaconda/bin:$PATH
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8

COPY --from=builder /root/rpmbuild/RPMS/x86_64/pbspro-server-*.rpm .
# install pbspro and useful packages
RUN yum install -y pbspro-server-*.rpm curl bzip2 git gcc sudo openssh-server && yum clean all
# install openpbs and useful packages
RUN yum install -y unzip bzip2 git gcc sudo openssh-server && yum clean all
RUN curl -o openpbs.zip https://vcdn.altair.com/rl/OpenPBS/openpbs_23.06.06.rockylinux_8.8.zip && \
unzip openpbs.zip && \
mv openpbs_23.06.06.rockylinux_8.8/openpbs-*.rpm . && \
rm -rf openpbs.zip openpbs_23.06.06.rockylinux_8.8
RUN yum install -y openpbs-debuginfo-*.rpm openpbs-server-*.rpm && yum clean all

# install python
RUN curl -o miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
bash miniconda.sh -f -b -p /opt/anaconda && \
/opt/anaconda/bin/conda clean -tipy && \
rm -f miniconda.sh

# environment.yml file is copied by CI script. If manually building, you should copy it too from parent directory
COPY environment.yml .
RUN conda env create --file environment.yml
Expand Down
11 changes: 0 additions & 11 deletions ci/pbs/build.sh

This file was deleted.

2 changes: 1 addition & 1 deletion ci/pbs/master-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ hostname=$(hostname)
sed -i "s/PBS_SERVER=.*/PBS_SERVER=$hostname/" $pbs_conf_file
sed -i "s/\$clienthost .*/\$clienthost $hostname/" $mom_conf_file

# start PBS Pro
# start openpbs
/etc/init.d/pbs start

# create default non-root user
Expand Down
2 changes: 1 addition & 1 deletion ci/pbs/slave-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ sed -i "s/PBS_START_MOM=.*/PBS_START_MOM=1/" $pbs_conf_file
echo "\$usecp *:/home/ /home/" >> $mom_conf_file
echo "\$usecp *:/dask-jobqueue/ /tmp/" >> $mom_conf_file

# start PBS Pro
# start openpbs
/etc/init.d/pbs start

# create default non-root user
Expand Down
Loading