setup_container.sh #3

  • //
  • p4-sdp/
  • dev_rebrand/
  • test/
  • docker/
  • setup_container.sh
  • View
  • Commits
  • Open Download .zip Download (1 KB)
#!/bin/bash
# This script sets up the base docker container for use with SDP testing.
# It expects to be run as root within the container.

#------------------------------------------------------------------------------
# Version ID Block. Relies on +k filetype modifier.
# VersionID='$Id: //p4-sdp/dev_rebrand/test/docker/setup_container.sh#3 $ $Change: 31617 $'

# Create base directories for use by SDP (see mkdirs.sh)
mkdir /p4depots
mkdir /p4db-1
mkdir /p4db-2
mkdir /p4logs

# Create Perforce group and user within that group, and allow them sudo privileges
groupadd perforce
useradd -d /p4 -s /bin/bash -m perforce -g perforce
echo 'perforce ALL=(ALL) NOPASSWD:ALL'> /tmp/perforce
chmod 0440 /tmp/perforce
chown root:root /tmp/perforce
mv /tmp/perforce /etc/sudoers.d
echo perforce:Password | chpasswd

#
# Helpful profile for perforce user login profile - for manual testing mainly
#
BASH_PROF=/p4/.bash_profile
cat <<"EOF" >$BASH_PROF
export PATH=/sdp/Server/Unix/p4/common/bin:$PATH
export P4CONFIG=.p4config
export P4P4PORT=1666
PS1='\u@\h:\w$ '
EOF
chown perforce:perforce $BASH_PROF
# Change User Description Committed
#3 31617 C. Thomas Tyler Merged work from dev_c2s (development) stream to sibling dev_rebrand (sparsedev) stream.
#2 31615 C. Thomas Tyler First pass at rebranding changes, including:
* Changes to remove 'swarm.' from Workshop URLS, so swarm.workshop -> workshop.
* Changed URL for Copyright.
* Renamed get_helix_binaries.sh -> get_p4_binaries.sh, with associated directory and doc changes.
* Accounted for rename of HAS -> P4AS.
* Changed HMS references to P4MS.
* Replaced "Helix" and "Helix Core" references.
* Renamed variables to reduce tech debt buildup induced by rebranding.
* Changed default mount points:
/hxdepots[-1,N] -> /p4depots[-1,N]
/hxmetadata[1,2] -> /p4db[-1,2]
/hxlogs -> /p4logs

Also made some changes related to rebranding going out with r25.1.
#1 31594 C. Thomas Tyler Populate stream //p4-sdp/dev_rebrand from //p4-sdp/dev.
//p4-sdp/dev/test/docker/setup_container.sh
#1 31397 C. Thomas Tyler Populate -b SDP_Classic_to_Streams -s //guest/perforce_software/sdp/...@31368.
//guest/perforce_software/sdp/dev/test/docker/setup_container.sh
#8 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)
#7 25149 Robert Cowham Changes to docker files as part of prep for multi-container work
Centos6 & 7 now install python 3.6 from ISU Community as pre-built
Refer to p4python==17.2 to avoid need to compile
Changes to test infrastructure only
#6 24580 Robert Cowham Update Docker - fix issues with install of p4python on CentOS.
#5 21267 Robert Cowham Fix failing tests.
Changed default filesystem names to:
DB1=hxmetadata1
DB2=hxmetadata2
DD=hxdepots
LG=hxlogs

hx=Helix. Updated docs to reflect this
#4 20882 Robert Cowham Fix error handling for Jenkins properly
#3 20880 Robert Cowham Improve error handling - tail the log file so errors more visible in Jenkins failures
#2 19130 Robert Cowham Added comments - no functional change
#1 19045 Robert Cowham Add docker file for Centos7
Refactor to move common stuff to a shell script.