reset_sdp.command_summary.txt #3

  • //
  • guest/
  • perforce_software/
  • helix-installer/
  • dev/
  • doc/
  • reset_sdp.command_summary.txt
  • View
  • Commits
  • Open Download .zip Download (6 KB)
USAGE for reset_sdp.sh v2.9.11:

reset_sdp.sh [-B|-local] [-fast] [-no_ssl] [-no_sd] [-b <branch>[,@cl] |-t <tarfile>] [-p <dir1>[,<dir2>,...]>] [-D]

or

reset_sdp.sh [-h|-man]


SAFETY NOTICE:
	This script SHOULD NEVER EXIST on a Production Perforce server.

DESCRIPTION:
	This script simplifies the process of testing an SDP installation,
	repetitively blasting all process by the 'perforce' user and resetting
	the SDP from the ground up, blasting typical SDP folders each time.

	It is helpful when bootstrapping a demo server with a sample data
	set, complete with broker, and optionally Perl/P4Perl and
	Python/P4Python.

PLATFORM SUPPORT:
	This works on Red Hat Enterprise Linux, CentOS, and Mac OSX
	(Mavericks, Yosemitie, Sierra) platforms.  It works on RHEL/CentOS
	6.4-6.9 and likely on other Linux derivatives with little or no
	modification.

	It currently supports only the bin.linux26x86_64 (Linux) and
	bin.darwin90x86_64 (Mac OSX/Darwin) architectures.

REQUIREMENTS:
	Development utilities such as 'make' and the 'gcc' compiler
	must be installed and available in the PATH (unless running
	with '-fast').

	The 'curl' utility must be installed and available in the
	PATH (unless running with '-local').

OPTIONS:
 -B	Specify '-B' to blast base SDP dirs, for a clean start.
	Otherwise, downloaded components from earlier runs will
	be used (which should be fine if they were run recently).

	The '-B' and '-local' arguments are mutually exclusive.

 -local
	By default, various files and executables are downloaded from
	the Perforce Workshop or the Perforce FTP server as needed.
	With '-local', any missing files are treated as an error
	condition.

	The '-B' and '-local' arguments are mutually exclusive.

 -fast	Specify '-fast' to skip installation of Perl auxiliary things
	like Perl, Python, P4Perl, P4Python.

	The '-fast' argument changes the check for GCC/G++
	from a fatal error to a warning message.

 -no_ssl
	By default, the Perforce server is setup SSL-enabled.  Specify
	'-no_ssl' to avoid using SSL feature.

 -no_sd
	By default, the Perforce Sample Depot data set is loaded.
	Specify '-no_sd' to skip loading the Sample Depot.

 -p <dir1>[,<dir2>,...]>]
	Specify a comma-delimited list of directories under /p4/common
	to preserve that would otherwise be removed.  Directories must
	be specified as paths relative to /p4/common, and cannot contain
	spaces.

	For example, the value '-p config,bin/triggers' would preserve the
	/p4/common/config and /p4/common/bin/triggers directories.

	Directories specified are moved aside to a temporary working area
	before the SDP folders are removed.  After installation, they are
	moved back via an 'rsync' command with no '--delete' option.  This
	means any files that overlap with the stock install are replaced
	by ones that originally existed, but non-overlapping files are not
	removed.

	This is intended to be useful for developing test suites that
	install server under /p4/common/bin, e.g. Component Based Development
	scripts which install under /p4/common/bin/cbd would use '-p bin/cbd'.

 -b <branch>[,@cl]
	The default SDP install method is to clone the SDP from the main
	branch in The Workshop (public.perforce.com:1666).  Specify '-b' to use
	a different branch, e.g. 'dev'.

	If '-b' is specified with the optional @cl syntax, where @cl
	specifies a changelist with files shelved on the given branch,
	a form of unshelving is done, enabling a workflow for testing
	shelved changes with the Helix Installer.  So for example,
	specify '-b dev,@23123' to clone from the dev branch, and then
	followed by a fetch of shelved changelist @23123, which is
	expected to have files shelved in the dev branch.

 -t <tarfile>
	Specify a tarfile to use, e.g. '-t sdp.Unix.2017.3.23041.tgz', or
	use the special value '-t default' to use the default SDP tarfile,
	sdp.Unix.2017.4.23354.tgz

	The specified tar file must exist here:
	https://swarm.workshop.perforce.com/projects/perforce-software-sdp/files/downloads

	If '-t <tarfile>' is not specified, default install method is
	used instead, which is to clone the SDP main branch from The
	Workshop (public.perforce.com:1666).

	Use '-t' to get a known version of the SDP for testing.  Avoid '-t'
	to test with the very latest SDP from a given branch (see '-b' above
	for more info), even if the latest has not yet been packaged into a
	distribution tar file.

 -D     Set extreme debugging verbosity.

HELP OPTIONS:
 -h	Display short help message
 -man	Display man-style help message

EXAMPLES:
	COMPREHENSIVE INSTALLATION:

	su -
	useradd perforce
    	mkdir -p /hxdepots/reset
	chown -R perforce:perforce /hxdepots/reset
	cd /hxdepots/reset
	curl -k -s -O https://swarm.workshop.perforce.com/downloads/guest/perforce_software/helix-installer/main/src/reset_sdp.sh
	./reset_sdp.sh 2>&1 | tee reset_sdp.log

	FAST INSTALLATION (skipping Perl, Python):
	su -
	useradd perforce
    	mkdir -p /hxdepots/reset
	chown -R perforce:perforce /hxdepots/reset
	cd /hxdepots/reset
	curl -k -s -O https://swarm.workshop.perforce.com/downloads/guest/perforce_software/helix-installer/main/src/reset_sdp.sh
	curl -k -s -O https://swarm.workshop.perforce.com/downloads/guest/perforce_software/helix-installer/main/src/r
	./r

	Note that the 'r' wrapper script calls the reset_sdp.sh script with
	a pre-defined of flags optimized for fast opreration.  The 'r' wapper
	also handles log capture, writing to the file 'reset.log'.

	SDP DEV BRANCH TESTING:
	The Helix Installer can be used to test SDP changes shelved to the SDP
	dev branch in The Workshop.  The following example illustrates testing
	a change in shelved changelist 23123:

	su -
	useradd perforce
    	mkdir -p /hxdepots/reset
	chown -R perforce:perforce /hxdepots/reset
	cd /hxdepots/reset
	curl -k -s -O https://swarm.workshop.perforce.com/downloads/guest/perforce_software/helix-installer/main/src/reset_sdp.sh

	./reset_sdp.sh -b dev,@23123 2>&1 | tee reset_sdp.CL23123.log

	After the first test, an iterative test cycle may follow on the same
	shelved changelist. For each test iteration, the shelved changelist
	is first updated in the workspace from which the change was originally
	shelved, e.g. with a command like 'p4 shelve -f -c 23123'.

	Then a new test can be done by calling reset_sdp.sh with the same
	arguments. The script will re-install the SDP cleanly, and then
	re-apply the updated shelved changelist.


# Change User Description Committed
#46 31148 C. Thomas Tyler Changed default Helix Binaries version to r24.2.
#45 30496 C. Thomas Tyler Updated Version, README.md, Release Notes, and doc files Release.
#44 30459 C. Thomas Tyler Change URLs in curl calls in docs and code to avoid Apache redirects.
Also removed '-s' option from curl calls.
#43 30412 C. Thomas Tyler Updated docs.
#42 30399 C. Thomas Tyler Adapted to SDP default value of 'localhost' for DNS name of commit server.
#41 30398 C. Thomas Tyler Add '-no_enable' option to avoid enabling installed services.
#40 30397 C. Thomas Tyler Adjust location of generated crontab file to:
/p4/common/etc/cron.d/crontab.<user>.<short_hostname>.<instance>.
#39 30393 C. Thomas Tyler Updated docs for release.
#38 30299 C. Thomas Tyler Updated docs.
#37 30213 C. Thomas Tyler Added '-si <SDPInstance>' as a command line option, so there is one less
reason to need to do the more complex 'Configured' installation, especially
for a proxy or stand-alone broker.

#review-30214
#36 30045 C. Thomas Tyler 2023.2 release; changed default version to 2023.2.
#35 29698 C. Thomas Tyler Changed 'curl' commands referencing Workshop to use '-L'.

Updated stable version numbers in README.md to use new versions
with corrected URLs.
#34 29661 C. Thomas Tyler Updated doc and sample to match latest version of reset_sdp.sh.
#33 29615 C. Thomas Tyler Set default to r23.1.

Removed '-k' from curl calls.
#32 28928 C. Thomas Tyler Updated doc file.
#31 28662 C. Thomas Tyler Added support for SELinux in enforcing mode.

Enhanced documentation, including notes about SELinux handling.
#30 28656 C. Thomas Tyler Updated docs to latest.
#29 28582 C. Thomas Tyler reset_sdp.sh v4.9.0:
Added '-no_sudo' option.
Added '-no_firewall' option.
Fixed minor issue where 'systemctl' commands try to execute when systemctl isn't avail.
Added test coverage in test_hi.sh.
#28 28266 C. Thomas Tyler Improved support for proxy-only hosts.

#review-28267 @rwillyoung
#27 28125 C. Thomas Tyler Regenerated document.
#26 27553 C. Thomas Tyler Spell check only.
Non-functional changes. Docs udpated.
Fixed typos in comments and messages, including generated
settings.cfg files.
#25 27391 C. Thomas Tyler Updated docs.
#24 27305 C. Thomas Tyler Added rsync package to all platforms.
#23 27302 C. Thomas Tyler Updated command line summary.
#22 26606 C. Thomas Tyler Non-functional changes to maintain shellcheck compliance.
#21 26576 C. Thomas Tyler Fixed order-of-operations issue due to recent changes in SDP; the logic to
implement 'sudo' as required to call 'systemd' wrappers now requires the
sudo to be called before the call to configure_sample_depot.sh.

Refined firewall handling logic.
#20 26565 C. Thomas Tyler Set password for OSUSER to same as P4USER if OSUSER needs to be created.
#19 26557 C. Thomas Tyler Changed default Helix Core to r20.1.
Updated docs.
#18 26022 C. Thomas Tyler Updated doc page.
#17 25915 C. Thomas Tyler Fixed issue with firewalld configuration on RHEL/CentOS 7 systems.

Changed '-X' extreme cleanup to now clear firewalld rules.

Added missing mention of firewalld config in documentation.
#16 25870 C. Thomas Tyler Updated Version/Release Notes and docs for release.
#15 25819 C. Thomas Tyler Updated docs.
#14 25753 C. Thomas Tyler Added code to call SDP os_tweaks.sh.

Regenerated command summary file.
#13 25392 C. Thomas Tyler Update default SDP release.
#12 25382 C. Thomas Tyler Updated default SDP release for tar installs to
sdp.Unix.2019.1.25374.tgz.
#11 25370 C. Thomas Tyler Added '-c <cfg>' and '-C' flags to use (and with '-C' generate) a
config file (similar to the '-C' and '-c <cfg>' flags with p4broker).

Updated docs accordingly.

Added missing 'chmod +x' step in man page in docs.

Enabled testing on Mac OSX to get past the package manager test,
since yum/apt-get/zypper aren't expected to be on Mac OSX.
#10 25282 C. Thomas Tyler Fixed order-of-operations issue for creating ~perforce/.bash* files.
#9 25248 C. Thomas Tyler Filled in SDP 2019.1 changelist number, 25238.
#8 25247 C. Thomas Tyler Additional cleanup.
#7 25240 C. Thomas Tyler Simplified to use a single /hxmetadata volume, as this is the
most common configuration.  Small sites don't need multiple
volumes, and big sites have an array of hardware options, only
some of which require a two-volume solution for metadata to
maintain performance.

Changed default replica ServerID from p4d_fr_bos to p4d_ha_bos,
to promote modern 2018.2 high availability replicas that can
be created with the mkrep.sh in SDP 2019.1+.  The replica is not
actually created with the Helix Installer, just referenced
as a sample ServerID name.

Extended '-B' flag to cleanup temp dir used by install_sdp_python.sh.
Changed behavior to bail on failure to cleanup temp dirs, as this
could result in wasted time building outdated versions of
P4Python, etc.

Added '-i <helix_installer_branch>' debugging flag to support
testing of Helix Installer from the dev branch.  Moved this and
the '-D' flag to a new doc section titled DEBUGGING OPTIONS.

Added '-X' eXtreme reset debugging option.

Updated some internal variable names.
#6 25054 C. Thomas Tyler Updated SDP default tarball to 2018.1.23583.p2.
Corrected Swarm release to 2018.3; there is no 2018.4!
#5 24913 C. Thomas Tyler Updated version for release.
#4 24863 C. Thomas Tyler Updated Version, release notes, and docs for release.
#3 23364 C. Thomas Tyler Updated Version to release 2017.4.23363.
#2 23360 C. Thomas Tyler Updated Version, relnotes and doc for release.
#1 23281 C. Thomas Tyler Added doc page.