Dockerfile.ubuntu20.sdp #1

  • //
  • p4-sdp/
  • dev_rebrand/
  • test/
  • docker/
  • Dockerfile.ubuntu20.sdp
  • View
  • Commits
  • Open Download .zip Download (1 KB)
FROM perforce/ubuntu20-base
MAINTAINER Robert Cowham "[email protected]"

ADD setup_container.sh /tmp
RUN /bin/bash -x /tmp/setup_container.sh

ADD insecure_ssh_key.pub /tmp
ADD insecure_ssh_key /tmp
ADD setup_ssh.sh /tmp

RUN /bin/bash -x /tmp/setup_ssh.sh

# For SSH
EXPOSE 22

RUN echo "Setting default memory limit..." && \
  sh -c 'echo memory.limit=2048m >> /etc/systemd/system.conf'

# Recommend resource allocation at runtime
CMD ["echo", "For optimal performance, consider running the container with --cpus=2 --memory=2g --storage-opt size=20G"]

USER perforce
ADD files/reset_sdp.sh /p4/
ADD files/docker_entry.sh /p4/
ADD files/test_sdp.sh /p4/
ADD files/test_mkrep.sh /p4/

# From package.perforce.com:
ADD files/perforce.ubuntu20.list /tmp
RUN wget -qO /tmp/perforce.pubkey.raw https://package.perforce.com/perforce.pubkey
RUN ls -l /tmp/perforce.pubkey.raw
RUN gpg --dearmor < /tmp/perforce.pubkey.raw > /tmp/perforce.pubkey
RUN ls -l /tmp/perforce.pubkey
RUN sudo apt-key add < /tmp/perforce.pubkey
RUN sudo cp -f /tmp/perforce.pubkey /usr/share/keyrings/perforce.gpg
RUN ls -l /usr/share/keyrings/perforce.gpg
RUN sudo cp -f /tmp/perforce.ubuntu20.list /etc/apt/sources.list.d/perforce.list
RUN sudo ls -l /etc/apt/sources.list.d/perforce.list
RUN sudo cat /etc/apt/sources.list.d/perforce.list
RUN sudo apt-get update
RUN sudo apt-get install -y perforce-p4python3

USER root
CMD ["/p4/docker_entry.sh"]

# Change User Description Committed
#1 31751 C. Thomas Tyler p4 stream convertsparse
//p4-sdp/dev/test/docker/Dockerfile.ubuntu20.sdp
#1 31397 C. Thomas Tyler Populate -b SDP_Classic_to_Streams -s //guest/perforce_software/sdp/...@31368.
//guest/perforce_software/sdp/dev/test/docker/Dockerfile.ubuntu20.sdp
#4 30356 C. Thomas Tyler Added Rocky 9 and Ubuntu 22 to test suite.

Dropped CentOS 6.

Changed default OS for tests from CentOS 7 to Rocky 9.

Adapted to using podman for the test suite.

Reduced minimum disk space requirement for testing
from 1G to 10M.

To be revisited:
* Disabled OOM killer defenese feature and systemd due to
compatibility issues with the test environment.
* Disabled systemd by moving systemctl aside

Enhanced build_docker_image.sh; added '-clean' option and added
support for more platforms.

Updated OS-specific packages as needed for all platforms, e.g.
adding 'file' and 'rsync' utils as needed in Docker definitions.

Added minimum performance recommendations for test containers in
config.

Updated env.sh utilities.

This change test on:
[X] centos7
[X] rocky8
[X] rocky9
[X] ubuntu20
[X] ubuntu22

#review-30357 @robert_cowham

TO DO:
* This builds using the official SDP test suite run manually on
Tom's laptop. Next step: Get it working on our shiny new Jenkins
Rocky 9 server machine.
#3 28844 C. Thomas Tyler SDP Test Suite: Adjusted Docker image Python install to use
perforce-p4python3 package from package.perforce.com.

#review-28845
#2 27141 Robert Cowham Get Ubuntu 20.04 tests working
#1 27002 C. Thomas Tyler Updated ubuntu tests to add needed utilities, and change from
testing Ubuntu 16.04 to 20.04.  Changed 'centos' to imply cento7
rather than centos6 (which we shoud drop soon).
//guest/perforce_software/sdp/dev/test/docker/Dockerfile.ubuntu.sdp
#7 25263 Robert Cowham Fix Centos permissions
Fix ubuntu ssh
#6 25259 Robert Cowham Fix Ubuntu user account in dockerfile
#5 25258 Robert Cowham Rework the containers in preparation for multi container testing
mkrep changes:
Remove -c cfg option which was unused anyway
Converted tabs to spaces
Fixed logic error causing forwarding replicas to bail due to unsupported p4d version
Standby servers require ReplicatingFrom field
Add seconds to log file name (useful for testing to avoid overwriting files)
#4 19045 Robert Cowham Add docker file for Centos7
Refactor to move common stuff to a shell script.
#3 19040 Robert Cowham Tweaks to Docker files.
Ubuntu uses packages for Python 3.4.
Centos doesn't yet.
#2 19019 Robert Cowham Run ubuntu
#1 19017 Robert Cowham Ubuntu basic docker working