# Various scripts send email to $MAILTO. This can contain comma-delimited list # of email addresses (no spaces). export MAILTO=REPL_MAILTO # Specify the email adddress from which emails are sent in $MAILFROM. # This must be exactly one email address. export MAILFROM=REPL_MAILFROM export P4USER=REPL_ADMINUSER export P4SERVICEUSER=svc_${SERVERID} # P4MASTER_ID is server.id of Master for this instance export P4MASTER_ID=REPL_MASTER_ID # The setting below should be ssl: if this instance uses ssl. export SSL_PREFIX=REPL_SSLPREFIX export P4PORTNUM=REPL_P4PORT export P4PORT=${SSL_PREFIX}${P4PORTNUM} # Set the value for P4BROKERPORT to Unset if the broker is not # used. export P4BROKERPORTNUM=REPL_P4BROKERPORT export P4BROKERPORT=${SSL_PREFIX}${P4BROKERPORTNUM} # These $P4D_FLAGS show when using 'ps' to scan the process table. # Other settings affect p4d. export P4D_FLAGS="-p $P4PORT -r $P4ROOT -J $P4JOURNAL -L $P4LOG -q -d --pid-file" # SERVERID is defined in /p4/n/root/server.id. # Override P4TICKETS and P4TRUST for replicas. if [[ -n "$SERVERID" && "$SERVERID" != "$P4MASTER_ID" ]]; then export P4REPLICA=TRUE if [[ -f $P4ROOT/db.domain ]]; then targetServerPort=$($P4DBIN -r $P4ROOT -cshow | egrep "^$SERVERID: P4TARGET = ") targetServerPort=${targetServerPort##* = } targetServerPort=$(echo $targetServerPort) else targetServerPort=$P4PORTNUM fi if [[ -n "$targetServerPort" ]]; then export P4MASTERPORT=$targetServerPort if [[ "$targetServerPort" == *":"* ]]; then # strip of any trailing ':.....' element (e.g., ':1666') export P4MASTER=${targetServerPort%:*} # if P4TARGET includes ssl, also need to strip off ssl: from front export P4MASTER=${P4MASTER#*:} else export P4MASTER=REPL_DNSNAME fi else export P4MASTER=REPL_DNSNAME export P4MASTERPORT=${SSL_PREFIX}${P4MASTER}:${P4PORTNUM} fi # Set SHAREDDATA=TRUE on replica servers that share their /hxdepots # volume with their P4TARGET server. if [[ -f $P4ROOT/db.domain ]]; then repStyle=$($P4DBIN -r $P4ROOT -cshow|$GREP "^$SERVERID: lbr.replication = ") repStyle=${repStyle##* = } repStyle=$(echo $repStyle) else repStyle=readonly fi if [[ $repStyle == "shared" ]]; then export SHAREDDATA=TRUE else export SHAREDDATA=FALSE fi else export P4REPLICA=FALSE # This is the DNS name of the master server: export P4MASTER=REPL_DNSNAME export SHAREDDATA=FALSE export P4MASTERPORT=${SSL_PREFIX}${P4MASTER}:${P4PORTNUM} fi # Proxy settings export PROXY_TARGET=${SSL_PREFIX}${P4MASTER}:${REPL_P4P_TARGET_PORT:-$P4PORTNUM} export PROXY_PORT=$P4PORT # P4DTG Settings: export P4DTG_CFG=$P4SERVER export SDP_ALWAYS_LOGIN=0 umask 0026
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 23314 | matt_peterson | integrate sdp version 23041 | ||
//guest/perforce_software/sdp/main/Server/Unix/p4/common/config/instance_vars.template | |||||
#19 | 22950 | akwan | Provide an override for difference between proxy listening port and target port | ||
#18 | 22685 | Russell C. Jackson (Rusty) | Update main with current changes from dev. | ||
#17 | 22185 | C. Thomas Tyler |
Released SDP 2017.2.22177 (2017/05/17). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#16 | 20921 | Russell C. Jackson (Rusty) | Fix that Adrian shelved on Main for ssl: issue. | ||
#15 | 20767 | C. Thomas Tyler |
Released SDP 2016.2.20755 (2016/09/29). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#14 | 20481 | C. Thomas Tyler |
Released SDP 2016.1.20460. Copy Up using 'p4 copy -r -b perforce_software-sdp-dev', with selective removal of changes related to work-in-progress files. |
||
#13 | 20390 | C. Thomas Tyler |
Released SDP 2016.1.20387. Copy Up using 'p4 copy -r -b perforce_software-sdp-dev', with selective removal of changes related to work-in-progress files. |
||
#12 | 20353 | C. Thomas Tyler |
Released SDP 2016.1.20348. Copy Up using 'p4 copy -r -b perforce_software-sdp-dev', with selective removal of changes related to work-in-progress changes. |
||
#11 | 20050 | C. Thomas Tyler |
Released: 2016.1.20028 (2016/08/03). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
#10 | 19414 | C. Thomas Tyler | Released SDP/MultiArch/2016.1/19410 (2016/05/17). | ||
#9 | 18961 | C. Thomas Tyler | Released: SDP/MultiArch/2016.1/18958 (2016/04/08). | ||
#8 | 16260 | Russell C. Jackson (Rusty) |
Added P4DPORT to allow the server to start without using the HOSTIP. P4PORT still includes the HOSTIP in order to avoid issues with rpl.forward.login not working with localhost. |
||
#7 | 16259 | Russell C. Jackson (Rusty) |
Created P4MASTERPORT in instance_vars to simplify logins to the master server in the other scripts. Changed other scripts to use P4MASTERPORT Added clean up of statejcopy and checkpoints.rep directory to weekly_sync_replica so that it properly resets a replica that is using journalcopy. Moved umask to instance_vars since it wasn't being picked up when running things via crontab Removed P4REPLICANAME from instance_vars since it wasn't being used anymore. Added HOSTIP to mkdirs and to the P4PORT setting in instance vars so the server starts on a specific IP address rather than all on the server. This avoids a bug where rpl.forward.login doesn't work when logging in via localhost. |
||
#6 | 14073 | Russell C. Jackson (Rusty) |
Backed out changes that moved variables to p4_vars. The variables are intended to be in instance vars to keep everything about a particular instance in one location. It was confusing for people to see a setting in p4_vars and not understand that setting was being overridden in the instance vars. There shouldn't be any overlap between p4_vars and instance vars anymore. Also, server.id is not optional. It must exist. It is how you control whether the instance is a master or a replica. It is not set by the scripts anymore because that was also confusing people. They would try to change the role of a server by changing server.id and we previously would just overwrite their changes. Now, the SDP just reads the server.id so that the user has control over it. That doesn't confuse them since that is how our docs tells them to change a server's role. |
||
#5 | 14045 | Robert Cowham |
Move some stuff from instance_vars to p4_vars (or at least for defaults). Clarify user messages. |
||
#4 | 13908 | C. Thomas Tyler | Pushing SDP 2015.1.13906. | ||
#3 | 12443 | Russell C. Jackson (Rusty) | Added missing proxy variables that were lost in the SDP rebuild. | ||
#2 | 11919 | Russell C. Jackson (Rusty) |
Added a SERVERID variable to p4_vars and updated backup_functions to use it. Changed the location and the names of the config files so that they could live in /p4/common/config (You're welcome Tom). The files names are: p4_$INSTANCE.vars p4_$INSTANCE.p4review.cfg p4_$INSTANCE.vars will now set P4REPLICA to FALSE if SERVERID matches MASTERNAME, otherwise it is TRUE. This change means that a user must change server.id now in order to change the role of the server rather than changing the instance vars file. This makes more sense to a user that is reading the admin guide about server.id rather than overwriting the file based on a setting that isn't in the admin guide. Change mkdirs to reflect all of the above changes. |
||
#1 | 11524 | Russell C. Jackson (Rusty) | Released updated version of the SDP from Dev. | ||
//guest/perforce_software/sdp/dev/Server/Unix/p4/common/config/instance_vars.template | |||||
#3 | 11523 | Russell C. Jackson (Rusty) |
Modified P4BROKERPORTNUM to just be the port number and added P4BROKERPORT to instance_vars to be consistent with P4PORT. Also makes it easier to modify p4review.py to use P4BROKERPORT rather than P4PORT for the subject line when needed. |
||
#2 | 11490 | Russell C. Jackson (Rusty) |
Added SSL_PREFIX back and P4MASTERPORTNUM in order to support the sync_replica.sh and weekly_sync_replica.sh scripts. |
||
#1 | 11477 | Russell C. Jackson (Rusty) |
Updated to use /usr/bin/env python Added workshop header. Changed cfg to config. |
||
//guest/perforce_software/sdp/dev/Server/Unix/p4/common/cfg/instance_vars.template | |||||
#1 | 11466 | Russell C. Jackson (Rusty) |
Initial work to simplify p4_vars and remove cluster stuff. Testing of named instances surfaced some bugs that are in prod sdp, now fixed in dev. Added three triggers from RCJ SDP Moved p4review.cfg into the new /p4/common/cfg to go along with the instance_vars files. mkdirs.sh now generates an instance_p4review.cfg as well. Removed incremental p4verify to clean up a bit. It didn't support replicas and was really never used. All port settings now live in <instance>_vars file. You set what you want the ports to be in mkdirs.sh. There is no more fancy logic to try to guess what the port should be. You set it, and that is what it is. Remaining to do is to updated scripts to not need p4master_run. Saved that work for later since this is tested and works. |