global_replica_status.sh #4

  • //
  • guest/
  • perforce_software/
  • hms/
  • dev/
  • p4/
  • common/
  • bin/
  • global_replica_status.sh
  • Commits
# Change User Description Committed
#4 29182 C. Thomas Tyler Moved HMS files from /p4/common/bin -> /p4/common/site/bin.
Moved HMS files from /p4/common/lib -> /p4/common/site/lib.
Removed dependency on SDP libs so that HMS can be deployed
with a wider variety of SDP versions.
#3 27694 C. Thomas Tyler Copyright Update; non-functional change.
#2 25747 C. Thomas Tyler Made shellcheck compliant, and removed hardcoding of absolute path
to 'find' utility.
#1 25743 C. Thomas Tyler Moved global_replica_status.sh from SDP to HMS, due
to dependencies on HMS configuration.

This change is a 'p4 copy' in the HMS project, to be followed
by a 'p4 delete' of the corresponding file in the SDP project.
//guest/perforce_software/sdp/dev/Server/Unix/p4/common/bin/global_replica_status.sh
#8 24467 C. Thomas Tyler Implemented '-r' flag to clean up old logs in global_replica_status.sh.

When this flag is used and upon successful completion of the script
with exit code 0, old logs are cleaned up honoring the $KEEPLOGS
setting in /p4/common/bin/p4_vars (as documented in the script).

Also fixed issue where a proper error message was obscured if the
sdp_hosts.cfg file was missing.
#7 24338 C. Thomas Tyler Minor refactoring in global_replica_status.sh to eliminate
unintentional spam from 'cron' calls.

Bypassing pre-commit review to enable testing.

#review-24339
#6 22628 C. Thomas Tyler Fixed minor order-of-processing bug resulting in a harmless error
appearing at the end of script processing as cleanTrash() was
called to clean garbage files.  The run() function was called to
clean garbage files/dirs just as a directory that function depended
on got cleaned up.

The fix was applied to scripts that used libcore.sh, including the
template.sh template script.

Also corrected comments in p4u_env.sh.

Bypassing pre-commit review as this has been well tested.

#review-22629
#5 21962 C. Thomas Tyler Updated various scripts to use run() and rrun() functions in favor
of predecessor runCmd() and runRemoteCmd().  The older functions won't
be removed to avoid breaking scripts that rely on their behavior and
have no issues with them.  The newer fuctions are more scalable and
avoid erroneous "Argument list too long" from bash due to buffer
overruns when used with commands with large amounts of output.

Enhanced runRemoteCmd() to clean up after itself, as it generated files
in /tmp that didn't get automatically cleaned up.  If used in scripts
called very often (e.g. every 5 minutes in a crontab), this leads to
significant issues with /tmp filling up with garbage files over a
period of several weeks.

Enhanced test_utils.sh to test new run() and rrun() calls.
#4 18581 C. Thomas Tyler global_replica_status.sh v1.1.0:
* Moved sdp_hosts.cfg  config file to /p4/common/config, with optional
  override by speciffying P4CCFG variable.
* Changed recommended command line for crontab to suggest '-E'
  (always send emails) rather than '-e' (email on error only).
* Enhanced docs.

Added new P4CCFG setting to p4_vars.template, with value /p4/common/config.
#3 17260 C. Thomas Tyler global_replica_status.sh v1.0.5:
* Added support for instance-specifc host config files.
* Updated docs.
#2 17219 C. Thomas Tyler Routine Merge Down to dev from main.
#1 16563 C. Thomas Tyler Routine Merge Down to dev from main using:
p4 merge -b perforce_software-sdp-dev
p4 resolve -as
//guest/perforce_software/sdp/main/Server/Unix/p4/common/bin/global_replica_status.sh
#2 16535 C. Thomas Tyler Fixed bug sending emails; added missing lib.
#1 16532 C. Thomas Tyler Added new global_replica_status.sh script v1.0.1 to query status
of replicas on all replica hosts configured with the SDP.

Renamed sdp_sync.cfg to more generic sdp_hosts.cfg, as it is
now used by both sdp_sync.sh and global_replica_status.sh.

sdp_sync.sh v1.2.1:
* Changed '-h <hosts>' flag to '-H <hosts> to avoid conflict
with the '-h' (help) flag.
* Fixed bug with default P4U_LOG setting.
* Refined command line processing and environment handling.
* Updated with latest changes from template.sh, so it now
picks accepts the '-V' (show version info) flag.