Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
233015a
Fill in values
arifthpe Mar 20, 2025
fb647ac
Add manifests for service account
arifthpe Mar 20, 2025
3d9fc40
Fewer replicas
arifthpe Mar 21, 2025
6654365
Fill in prometheus values
arifthpe Mar 21, 2025
2f8d207
Use arifthpe images instead of bearsrus
arifthpe Mar 24, 2025
436daff
Use arifthpe base images
arifthpe Mar 24, 2025
a35846d
Pare down chapel and arkouda udp images
arifthpe Mar 24, 2025
ea48f9f
Try to fix multistage
arifthpe Mar 24, 2025
8e47046
Use version tagged images
arifthpe Mar 24, 2025
837c687
asdf
arifthpe Mar 24, 2025
b596a79
Consolidate to one service for ssh
arifthpe Mar 21, 2025
bab9a4f
Use a StatefulSet for locales
arifthpe Mar 21, 2025
1e598fa
Get working without api call
arifthpe Mar 21, 2025
f052249
Pare down script
arifthpe Mar 21, 2025
7d57184
Remove accidentally committed files
arifthpe Mar 25, 2025
22a54dc
Put back sudo
arifthpe Mar 25, 2025
8b82376
Pare down locale launch script
arifthpe Mar 25, 2025
7ddd8b2
Pare down server launch script
arifthpe Mar 25, 2025
19d827c
Revert "Pare down server launch script"
arifthpe Apr 23, 2025
ee61f87
Revert "Pare down locale launch script"
arifthpe Apr 23, 2025
92c791c
Another try at paring down launch scripts
Apr 23, 2025
cfb1163
Require --image-type arg for build_docker_image.py
arifthpe May 1, 2025
947aa04
Add shebang to build_docker_image.py
arifthpe May 1, 2025
17c0caa
Add chapel-gasnet-ibv image and builder script option
arifthpe May 1, 2025
e242c94
Add IB dependency packages for chapel-gasnet-ibv
arifthpe May 2, 2025
f657e07
Refactor repeated code out of build_docker_image.py
arifthpe May 2, 2025
d82f68f
Add multiarch option to build script
arifthpe May 2, 2025
1a97ebb
Avoid unnecessarily passing around args
arifthpe May 2, 2025
354de61
Remove chapel-gasnet-smp option
arifthpe May 2, 2025
7aaddd3
Build image type list help from enum
arifthpe May 2, 2025
1d62ac3
Enable specifying repo for source chapel image
arifthpe May 2, 2025
bafc98d
Fix extra dot
arifthpe May 2, 2025
97fd50f
Use CHPL_VERSION argument for source image
arifthpe May 2, 2025
80704a7
Add argument for make threads
arifthpe May 2, 2025
3bdc420
Document new options
arifthpe May 2, 2025
18b5e3f
Fix tag generation
arifthpe May 2, 2025
c136a72
Use CHPL_VERSION as tag for chpl image builds
arifthpe May 2, 2025
7af4758
Add --push option to builder script
arifthpe May 2, 2025
cac8fae
Use MAKE_THREADS arg in arkouda-udp-server
arifthpe May 6, 2025
b941d66
Use template for dockerhub org name
arifthpe May 6, 2025
0c28116
Fix an instance of hardcoded namespace
arifthpe May 6, 2025
d72748e
Add image and build config for arkouda-ibv-server
arifthpe May 6, 2025
b5d7263
Fix group creation
arifthpe May 6, 2025
ff67767
Set GASNET_SSH_SERVERS with SSH_SERVERS
arifthpe May 6, 2025
8668305
Try fixing mkdir
arifthpe May 6, 2025
832ae98
Add missing heredoc EOF
arifthpe May 6, 2025
e564b6a
Change name of my testing namespace
arifthpe May 6, 2025
99ff0c4
Try fixing server launch
arifthpe May 6, 2025
07ea234
Remove user setting for busy-wait
arifthpe May 6, 2025
498e575
Preserve env when running server as user
arifthpe May 6, 2025
211974e
Chown /opt to user
arifthpe May 6, 2025
34bf425
Revert "Chown /opt to user"
arifthpe May 6, 2025
569c025
Chmod /opt in image
arifthpe May 6, 2025
7e1f5d6
Fix FROM-as casing inconsistency
arifthpe May 6, 2025
59d46e4
Skip running dep checks in container
arifthpe May 6, 2025
486ad83
Set GASNET_SSH_SERVERS in launch script
arifthpe May 7, 2025
01e1b87
Fix passwordless SSH as root
arifthpe May 7, 2025
cc8e25b
Tweak chapel and arkouda build options
arifthpe May 12, 2025
3f77bab
Try fixing memlock issues
arifthpe May 12, 2025
160096e
Add comment for skipping dep tests in ibv
arifthpe May 12, 2025
99424ec
Make arkouda-udp-server build faster as well
arifthpe May 12, 2025
b0f9fcf
Switch to arifthpe Dockerhub repo by default
arifthpe May 12, 2025
f3a49b8
Build all ServerModules
arifthpe May 12, 2025
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
81 changes: 81 additions & 0 deletions arkouda-docker/arkouda-ibv-server
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
ARG CHAPEL_IBV_IMAGE
FROM $CHAPEL_IBV_IMAGE AS base

# Download Arkouda
ARG ARKOUDA_DOWNLOAD_URL=${ARKOUDA_DOWNLOAD_URL}
ENV ARKOUDA_DOWNLOAD_URL=${ARKOUDA_DOWNLOAD_URL}
ARG ARKOUDA_DISTRO_NAME=${ARKOUDA_DISTRO_NAME}
ENV ARKOUDA_DISTRO_NAME=${ARKOUDA_DISTRO_NAME}
ARG ARKOUDA_BRANCH_NAME=${ARKOUDA_BRANCH_NAME}
ENV ARKOUDA_BRANCH_NAME=${ARKOUDA_BRANCH_NAME}
ARG MAKE_THREADS=1

# Install dependencies
RUN apt-get update && apt upgrade -y && apt-get install -y --no-install-recommends \
unzip \
libcurl4-openssl-dev \
cmake \
ssh \
procps \
dnsutils \
openssh-client \
openssh-server \
sshpass

FROM base AS build

WORKDIR /opt

# Download desired Arkouda distro, move to commont /opt/arkouda dir
RUN chmod 777 /opt && \
wget $ARKOUDA_DOWNLOAD_URL && \
unzip $ARKOUDA_DISTRO_NAME.zip && \
mv /opt/arkouda-$ARKOUDA_BRANCH_NAME /opt/arkouda

WORKDIR /opt/arkouda

RUN python3 -m pip install --upgrade pip && \
python3 -m pip install -e .[dev]

# insecure to get around my ssl issues from zscaler
RUN echo insecure >> $HOME/.curlrc

RUN make -j${MAKE_THREADS} install-deps

ENV SSH_SERVERS=0.0.0.0
ENV GASNET_SSH_SERVERS=0.0.0.0
ENV GASNET_MASTERIP=0.0.0.0
# required for gasnet/ibv build, as we don't have ibv devices at build time
ENV ARKOUDA_SKIP_CHECK_DEPS=true
# make arkouda server build faster
ENV ARKOUDA_QUICK_COMPILE=1
ENV ARKOUDA_DEVELOPER=
RUN ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa && \
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

RUN service ssh start && make -j${MAKE_THREADS}

# Remove unneeded files
RUN rm -rf /opt/$ARKOUDA_DISTRO_NAME.zip

WORKDIR /opt/arkouda
RUN rm -rf benchmarks converter examples *.md pictures pydoc resources runs src test tests toys

FROM base AS final

COPY --from=build /opt /opt
WORKDIR /opt

RUN apt-get update && apt upgrade -y && apt-get install -y --no-install-recommends \
sudo \
libcap2-bin

RUN echo "* soft memlock unlimited" >> /etc/security/limits.conf && \
echo "* hard memlock unlimited" >> /etc/security/limits.conf && \
echo "root soft memlock unlimited" >> /etc/security/limits.conf && \
echo "root hard memlock unlimited" >> /etc/security/limits.conf

EXPOSE 5555
EXPOSE 5000-65000/udp

EXPOSE 22
72 changes: 38 additions & 34 deletions arkouda-docker/arkouda-udp-server
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG CHAPEL_UDP_IMAGE
FROM $CHAPEL_UDP_IMAGE
FROM $CHAPEL_UDP_IMAGE AS base

# Download Arkouda
ARG ARKOUDA_DOWNLOAD_URL=${ARKOUDA_DOWNLOAD_URL}
Expand All @@ -8,15 +8,26 @@ ARG ARKOUDA_DISTRO_NAME=${ARKOUDA_DISTRO_NAME}
ENV ARKOUDA_DISTRO_NAME=${ARKOUDA_DISTRO_NAME}
ARG ARKOUDA_BRANCH_NAME=${ARKOUDA_BRANCH_NAME}
ENV ARKOUDA_BRANCH_NAME=${ARKOUDA_BRANCH_NAME}
ARG MAKE_THREADS=1

# Install dependencies
RUN sudo apt-get update && sudo apt upgrade -y && \
sudo apt-get install unzip libcurl4-openssl-dev cmake -y
RUN apt-get update && apt upgrade -y && apt-get install -y --no-install-recommends \
unzip \
libcurl4-openssl-dev \
cmake \
ssh \
procps \
dnsutils \
openssh-client \
openssh-server \
sshpass

FROM base AS build

WORKDIR /opt

# Download desired Arkouda distro, move to commont /opt/arkouda dir
RUN sudo chmod 777 /opt && \
RUN chmod 777 /opt && \
wget $ARKOUDA_DOWNLOAD_URL && \
unzip $ARKOUDA_DISTRO_NAME.zip && \
mv /opt/arkouda-$ARKOUDA_BRANCH_NAME /opt/arkouda
Expand All @@ -26,46 +37,39 @@ WORKDIR /opt/arkouda
RUN python3 -m pip install --upgrade pip && \
python3 -m pip install -e .[dev]

# insecure to get around my ssl issues from zscaler
RUN echo insecure >> $HOME/.curlrc

RUN make -j${MAKE_THREADS} install-deps

ENV SSH_SERVERS=0.0.0.0
ENV GASNET_SSH_SERVERS=0.0.0.0
ENV GASNET_MASTERIP=0.0.0.0

# make arkouda server build faster
ENV ARKOUDA_SKIP_CHECK_DEPS=true
ENV ARKOUDA_QUICK_COMPILE=1
ENV ARKOUDA_DEVELOPER=
RUN ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa && \
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

RUN make install-deps && \
sudo chown -R ubuntu:ubuntu /opt

RUN sudo service ssh start && make
RUN service ssh start && make -j${MAKE_THREADS}

EXPOSE 5555
EXPOSE 5000-65000/udp
# Remove unneeded files
RUN rm -rf /opt/$ARKOUDA_DISTRO_NAME.zip

ARG ARKOUDA_INTEGRATION_DOWNLOAD_URL=${ARKOUDA_INTEGRATION_DOWNLOAD_URL}
ENV ARKOUDA_INTEGRATION_DOWNLOAD_URL=${ARKOUDA_INTEGRATION_DOWNLOAD_URL}
ARG ARKOUDA_INTEGRATION_DISTRO_NAME=${ARKOUDA_INTEGRATION_DISTRO_NAME}
ENV ARKOUDA_INTEGRATION_DISTRO_NAME=${ARKOUDA_INTEGRATION_DISTRO_NAME}
WORKDIR /opt/arkouda
RUN rm -rf benchmarks converter examples *.md pictures pydoc resources runs src test tests toys

WORKDIR /opt
FROM base AS final
COPY --from=build /opt /opt

# Install arkouda_integration from arkouda-contrib repo
RUN wget $ARKOUDA_INTEGRATION_DOWNLOAD_URL && \
unzip $ARKOUDA_INTEGRATION_DISTRO_NAME.zip && \
mv /opt/arkouda-contrib-$ARKOUDA_INTEGRATION_DISTRO_NAME /opt/arkouda-contrib
RUN apt-get update && apt upgrade -y && apt-get install -y --no-install-recommends \
sudo

WORKDIR /opt/arkouda-contrib/arkouda_integration/client
RUN python3 -m pip install -e .
WORKDIR /opt
RUN chmod -R 777 /opt

# Remove unneeded files
RUN rm -rf ~/.ssh/ && \
sudo rm -rf /opt/$ARKOUDA_DISTRO_NAME.zip && \
sudo rm -rf /opt/$ARKOUDA_INTEGRATION_DISTRO_NAME.zip

WORKDIR /opt/arkouda
RUN sudo rm -rf benchmarks converter examples *.md pictures pydoc resources runs src test tests toys

WORKDIR /opt
ADD scripts/start-arkouda-server.sh /opt/arkouda/start-arkouda-server.sh
ADD scripts/start-arkouda-locale.sh /opt/arkouda/start-arkouda-locale.sh
ENTRYPOINT sh /opt/arkouda/start-arkouda-server.sh
EXPOSE 5555
EXPOSE 5000-65000/udp

EXPOSE 22
Loading