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,
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
* 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.