Improved edge & daisy chained replica support in instance_vars.template.
Changed so P4MASTER is set dynamically, based on how/whether the
P4TARGET of the current ServerID is set.
This also eliminates a possible discrepancey beteween P4MASTER
as defined in the p4_N.vars/mkdirs.sh and the master hostname as
defined in P4TARGET configurables. The value defined with
P4TARGET must also work with SSH keys. (As a best practice
P4TARGET should be a host alias so that it doesn't need to be
changed in case of failvoer of your P4TARGET server).
Changed so SHAREDDATA is set dynamically, based on how/whether the
lbr.replication of the current ServerID is set. If it is unset,
set to none, ondemand, or cache, then SHAREDDATA is set to TRUE,
otherwise FALSE.
Dynamic queries use 'p4d -cset' so they work regardless of
whether the p4d process is up or not.
Some internal refactoring was necessary to ensure all variables
are set before they are used.
This involved a minor tweak to mkdirs.sh to remove the
now-unnecessary 'sed' for SHAREDDATA when generating p4_N.vars
from the template. SHAREDDATA must still be configured in
mkdirs.sh because it can be run before a replica is fully
configured.
Goals:
* Simplfy SDP configuration for complex topologies by eliminating
configuration external to p4d where possible/practical.
* Reduce chances for discrepancies and errors as topologies
evolve over time.
* Allow the p4_1.vars file to identical on all hosts in the
topology, an HMS requirement.