P4Topology.cfg.sample #1

  • //
  • p4-hms/
  • dev/
  • p4/
  • common/
  • site/
  • config/
  • P4Topology.cfg.sample
  • View
  • Commits
  • Open Download .zip Download (10 KB)
# This is whe P4 Topology configuration file.
#

#-----------------------------------------------------------------------------
NAME=P4Demo
VERSION=1.0.0

#-----------------------------------------------------------------------------
# SDP Instances
#-----------------------------------------------------------------------------
# Form: INSTANCE|Name|UserPorts|CommitHost|ServerPort|BrokerPort|Managed|Desc
#
# Name is an SDP Instance name, e.g. matching /p4/<N> and the value used to
# with 'source p4_vars' to source the environment for that instance.
# Sample Value: fgs
#
# UserPorts is a comma-delimited list of actual P4PORT values used by users
# to access the Perforce P4D versioning engine.  These should be
# host aliases and should not reference specific hardware.  The numeric
# part should reference a broker port if a broker is used, otherwise the p4d
# port.  For distributed installations, this should only reference P4PORT
# values used to reference the commit p4d server or a "stacked" broker (i.e.
# a broker on the same host as p4d).  If a list is provided, items after the
# first can exclude the numeric portion, as it will be assumed to be the
# same.  Sample Values: perforce.mycom.com:1666,perforce:1666,scm:1666
#
# CommitHost is the hostname of the server machine on which the current commit
# p4d process runs.  This name should refer to specific hardware.
# Sample Value: commit-bos-01
#
# ServerPort is the numeric port on which the p4d process runs on the commit
# server host.  Sample Value: 1999
#
# BrokerPort is the numeric port on which the p4broker process runs on the
# host.  Sample Values: 1666 or Unset (if no broker is deployed).
#
# Managed: This is '1' if the instance is managed by HMS, or '0' otherwise.
# HMS cannot attempt failover of unmanaged instances, but can be made aware
# of them.  Unmanaged instances are not required to use the SDP, and thus
# random P4D instances can be captured here even thought they cannot be
# managed.

# Desc: A text description of the instance.

# INSTANCE|Name|UserPorts|CommitHost|ServerPort|BrokerPort|Managed|Desc
INSTANCE|1|perforce:1666|commit-bos-01|1999|1666|1|Battle School Lab Environment
INSTANCE|hms|hms:7467|commit-bos-02|7468|7467|1|P4 Helm Management System

#-----------------------------------------------------------------------------
# P4 Topology Component Definitions
# These extend the definintion of P4 Instance
#-----------------------------------------------------------------------------
# Form: COMPONENT|Instance|Type|Name|CommitHost|BackupHost|Active|URL|Desc
#
# Instance is the SDP Instance
#
# Type is one of:
# p4d-c      P4D Commit Server
# p4d-e      P4D Edge Server
# p4d-r      P4D Replica
# p4broker   P4Broker
# p4p        P4Proxy
# p4dtg      P4 Defect Tracking Gateway
# p4cr       P4 Code Review
#
# Name is the unique name of the component (unique within a given SDP
# Instance).  The name can be the same as the type if there is only one
# compoment of the given type for the given SDP instance.  If there are
# multiple, e.g. for replicas, add a numeric tag, e.g. "p4d-r01".
# For commit servers and edge servers -- components of type p4d-c
# and p4d-e, the name must be the ServerID, the Perforce server spec name
# for that component.  It is critical that this matches the ServerID,
# otherwise the /p4/N/root/server.id file written during failover will
# be wrong.  For commit servers, the SDP standard name is
# commit[.<OrgName>].<Instance>, and for edge servers it is
# p4d_edge_<site_tag>. See mkrep.sh for more details on server spec
# naming standards.
#
# Commit is the commit server for normal operation.
#
# BackupHost is the backup host in a post-failover situation for the given
# component.  Exceptions:
# a) Set BackupHost to Unset for components of type p4d-c (commit servers)
#    and p4d-e (edge servers).  For these components, the backup
#    host is determined based on the failover plan defined in the FAILOVER
#    entries below.
# b) Set BackupHost to Unset for components of type p4broker, as brokers
#    don't actually failover.  With HMS, brokers are run only in the 'stack'
#    style, i.e. they are 'bound' to a given p4d/p4p process on the same
#    machine.  They're up and running on all hosts where they live, including
#    backup machines.  In a failover situation, a broker that normally sleeps
#    just gets busy, and its bound p4d process fails over.
#
# Managed is 1 or 0.  Unmanged components are known to the system but cannot
# be interactived with.  For example, if there is a p4dtg instance that is
# operating in the environment but is not managed with the standard SDP way,
# it should be listed as inactive.  During failover, inactive things will be
# listed with a warning message, but no action will be taken for them.
#
# URL is the URL to reference the app.  For P4 Code Review this is a standard
# web URL.  For apps that listen on a TCP port only like p4d, use just the
# numeric port number rather than a URL, with an an SSL prefix if warranted
# (usually 'ssl:').
#
# Desc: An optional text description of the component.

# COMPONENT|Instance|Type|Name|CommitHost|BackupHost|Managed|URL|Desc
COMPONENT|1|p4d-c|commit.p4demo.1|commit-bos-01|Unset|1|1999|Commit server for Instance 1.
COMPONENT|1|p4broker|p4broker01|commit-bos-01|Unset|1|1666|Broker 1.
COMPONENT|1|p4d-r|p4d-r01|commit-bos-02|Unset|1|1999|HA Replica.
COMPONENT|1|p4broker|p4broker02|commit-bos-02|Unset|1|1666|Broker 2.
COMPONENT|1|p4d-r|p4d-r02|p4r-nyc-03|Unset|1|1999|DR Replica.
COMPONENT|1|p4broker|p4broker03|p4r-nyc-03|Unset|1|1666|Broker 3.
COMPONENT|1|p4d-e|p4d_edge_syd|p4e-syd-04|Unset|1|1999|DR Replica.
COMPONENT|1|p4broker|p4broker04|p4e-syd-04|Unset|1|1666|Broker 4.
COMPONENT|1|p4d-r|p4d-r03|p4e-syd-05|Unset|1|1999|DR Replica.
COMPONENT|1|p4broker|p4broker05|p4e-syd-05|Unset|1|1666|Broker 5.
COMPONENT|1|p4cr|p4cr|commit-bos-01|commit-bos-02|0|http://p4cr.p4demo.com|P4 Code Review

COMPONENT|hms|p4d-c|commit.p4demo.hms|commit-bos-01|Unset|1|7468|Commit server for Instance hms.
COMPONENT|hms|p4broker|p4broker01|commit-bos-01|Unset|1|7467|HMS Broker 1.
COMPONENT|hms|p4broker|p4broker02|commit-bos-02|Unset|1|7467|HMS Broker 2.
COMPONENT|hms|p4cr|p4cr|commit-bos-01|commit-bos-02|0|http://hms.p4demo.com|P4 Code Review.

#-----------------------------------------------------------------------------
# Failover Targets
#-----------------------------------------------------------------------------
# Form: FAILOVER|PlanName|Type|CommitHost|BackupHost|InstanceList|Active|Desc

# PlanName is a name of the Failover plan.  The Name itself is not required to
# be unique, however the combination of the Name and any of the instances
# in the InstanceList must be unique.  That is, if there are two (or more)
# entries named "HA" (for example) they cannot have any overlap in their lists
# of instances in the InstanceList.
#
# For Failover plans of type EdgeMO or EdgeFull, the failover plan name must
# also be the ServerID of the pre-failover edge server, less the 'p4d_' prefix.
# For example, if the edge server to be failed over for a given plan is
# p4d_edge_syd (the edge server Sydney), then the failover plan name must
# be 'edge_syd'.
#
# Type is one of: Local, MO, Full, EdgeLocal, EdgeMO, EdgeFull

# 'Local' indicates failover using the databases in /p4/<n>/offline_db on the
# same machine, as opposed to failing over to another machine.  No host
# alias name change is needed for Local failover, and the BackupHost field
# should be 'localhost'.
# Possible Outcomes for Local Failover: 0 (Success), 1 (Failure)
#
# 'MO' indicates a Meta-Only failover.  The assumption with an MO failover is
# that archive files are safely managed on a "too big to fail" SAN or similar
# shared storge, and thus that there is no need to be concerned with possible
# archive file loss.  The BackupHost must be defined for HA Failover.
# Possible Outcomes for MO Failover: 0 (Success), 1 (Failure)
#
# 'EdgeMO' indicates failover of an edge server to a site-local metadata-only
# replica.
#
# 'Full' indicates a full failover, including metadata and archive files.  The
# assumption with a Full failover is that "recent" archive files at risk, and
# must be verified.  Only the most recent 10000 changelists are checked.
# Possible Outcomes for Full Failover: 0 (Success), 1 (Failure), 2 (Qualified
# Success).  A Qualified Success is one in which metdata fails over
# successfully, but some archive files are not available post-failover.
#
# 'EdgeFull' indicates a failover of an edge server to a site-local full
# replica.
#
# Commit is the primary host for normal operation, the designated live
# production commit server.
#
# BackupHost is the backup host for post-failover operation, the designated
# machine to become the live production server when the given failover plan is
# executed.
#
# InstanceList is the comma-delimited list of SDP instances for which the
# given failover is valid.
#
# Desc is the description of the given failover.
#
# Active is 1 (active) or 0 (Inactive).  Inactive failover definitions are
# presumed to be invalid, e.g. a work-in-progress definintion.  Alternately
# a given definition can be made inactive to indicated bad hardware.  For
# example, if a backup host is known to be unavailable, the failover mode
# can be made inactive unit it is repaired, to prevent attempted failover
# to a known-bad backup host.

FAILOVER|bos_commit_local|Local|commit-bos-01|localhost|1,hms|1|Local Failover
FAILOVER|ha|Full|commit-bos-01|commit-bos-02|1|1|High Availability
FAILOVER|ha|Full|commit-bos-02|commit-bos-01|hms|1|High Availability
FAILOVER|dr|Full|commit-bos-01|p4r-nyc-03|1|1|Disaster Recovery
FAILOVER|dr|Full|commit-bos-02|p4r-nyc-03|hms|1|Disaster Recovery
FAILOVER|syd_commit_local|EdgeLocal|p4e-syd-04|localhost|1|1|Site Local Edge Failover
FAILOVER|edge_syd|EdgeFull|p4e-syd-04|p4e-syd-05|1|1|Disaster Recovery
# Change User Description Committed
#1 33516 C. Thomas Tyler Consistency pass: fix absolute URLs, p4ms->hms renames, script/doc typos and bugs

- Convert absolute workshop.perforce.com URLs to relative paths in dlp/ReadMe.md
- Fix case-mismatch link to HMS_Product_Roadmap.md in README.md
- Rename reset_p4ms.sh -> reset_hms.sh and p4broker_p4ms_test -> p4broker_hms_test
- Fix .sh-suffix bugs: bin/hms calling global_replica_status.sh (should be no ext),
  and matching SEE ALSO / doc references for sdp_sync and global_replica_status
- Add missing scripts (gtu, hrun, irun, global_replica_status) to gen_script_man_pages.sh
- Add stub scripts: nj_help.sh, broker_njob.pl, broker_mkproj.pl, broker_jr.pl
- Remove dangling absolute symlinks HostCM/p4 and HostCM/p4d (cruft)
- Rename test/b -> test/broker_ctl.sh for clarity
- Fix real bugs: broker_imply-u.pl broken regex match, gen_dlp_broker_cfg.sh and
  gen_nj_broker_cfg.sh copy-pasted Version-file existence check, garbled comment
  in broker_must_be_owner.pl, unclosed quote in tools/gsr.sh usage(), missing 'h'
  in HMS_SystemComponents.md broker command example (^ms$ -> ^hms$)
- Fix broken sed command and incomplete sentence in HMS_Install_Notes.md and
  SDP_and_HMS_Update_Process.md
- Fix broken markdown table in HMS_Product_Roadmap.md
- Fix unclosed parenthesis, missing verb, and FKA Swarm mislabel in
  HMSDeploymentPlanning.adoc
- Standardize //streams/main/... naming in HostCM/ReadMe.md
- Numerous typo fixes across README.md, HMS_SystemComponents.md,
  SDP_and_HMS_Update_Process.md, HMS_TightShipManagement.adoc,
  HMSDeploymentPlanning.adoc, HostCM/ReadMe.md, and various scripts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>