# P4MASTER_ID is server.id of Master for this instance export P4MASTER_ID=MASTER_NAME # This is the DNS name of the master server: export P4MASTER=REPL_DNSNAME # The setting below should be ssl: if this instance uses ssl. export SSL_PREFIX=REPL_SSLPREFIX HOSTIP=REPL_HOSTIP export P4PORTNUM=REPL_P4PORT export P4MASTERPORT=${SSL_PREFIX}${P4MASTER}:${P4PORTNUM} export P4PORT=${SSL_PREFIX}${HOSTIP}:${P4PORTNUM} # Added P4DPORT to allow the server to start without the IP address export P4DPORT=${SSL_PREFIX}${P4PORTNUM} export P4BROKERPORTNUM=REPL_P4BROKERPORT export P4BROKERPORT=${SSL_PREFIX}${P4BROKERPORTNUM} export P4D_FLAGS="-p $P4DPORT -r $P4ROOT -J $P4JOURNAL -L $P4LOG -q -d" export PROXY_TARGET=${SSL_PREFIX}${P4MASTER}:${P4PORTNUM} export PROXY_PORT=$P4PORT # SERVERID is defined in /p4/n/root/server.id. It will be unset on a server # that is not running a p4d process, such as a proxy server host. if [[ -n "$SERVERID" && "$SERVERID" != "$P4MASTER_ID" ]]; then export P4REPLICA=TRUE else export P4REPLICA=FALSE fi # P4Web settings: export P4WEBBIN=${P4HOME}/bin/p4web_${SDP_INSTANCE} export P4WEBLOG=${P4HOME}/logs/p4web.log export P4WEBPORT=REPL_P4WEBPORT # P4DTG Settings: export P4DTG_CFG=$P4SERVER # Authenticated Browse only mode: export P4WEBARGS="-B -p $P4PORT -w $P4WEBPORT -U $OSUSER -L $P4WEBLOG" # P4FTP settings: export P4FTPPORT=REPL_P4FTPPORT export P4FTPBIN=${P4HOME}/bin/p4ftpd_${SDP_INSTANCE} export P4FTPLOG=${P4HOME}/logs/ftp.log export P4FTPARGS="-d -l $P4FTPPORT -p $P4PORT -u $OSUSER -L $P4FTPLOG" # Set SHAREDDATA=TRUE on replica servers that share their /depotdata # volume with their P4TARGET server. export SHAREDDATA=REPL_SHAREDDATA # Override P4TICKETS and P4TRUST for replicas. if [[ -n "$SERVERID" && "$SERVERID" != "$P4MASTER_ID" ]]; then export P4TICKETS=$P4HOME/.p4tickets.$SERVERID export P4TRUST=$P4HOME/.p4trust.$SERVERID fi umask 0026
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 19278 | trina | "Forking branch Main of perforce-software-sdp to trina-sdp." | ||
//guest/perforce_software/sdp/main/Server/Unix/p4/common/config/instance_vars.template | |||||
#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. |