- # 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 P4MS, or '0' otherwise.
- # P4MS 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|p4ms|p4ms:7467|commit-bos-02|7468|7467|1|P4 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 P4MS, 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|p4ms|p4d-c|commit.p4demo.p4ms|commit-bos-01|Unset|1|7468|Commit server for Instance p4ms.
- COMPONENT|p4ms|p4broker|p4broker01|commit-bos-01|Unset|1|7467|P4MS Broker 1.
- COMPONENT|p4ms|p4broker|p4broker02|commit-bos-02|Unset|1|7467|P4MS Broker 2.
- COMPONENT|p4ms|p4cr|p4cr|commit-bos-01|commit-bos-02|0|http://p4ms.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,p4ms|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|p4ms|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|p4ms|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 | 31341 | C. Thomas Tyler | Promoted files for referencing in URLs. | 17 days ago | |
//p4ms/dev/p4/common/site/config/P4Topology.cfg.sample | |||||
#1 | 31340 | C. Thomas Tyler | First pass at refactoring & rebranding. | 17 days ago | |
//p4ms/dev/p4/common/site/config/HelixTopology.cfg.sample | |||||
#1 | 31339 | C. Thomas Tyler | Bootstrapped sample files. | 17 days ago | |
//guest/perforce_software/hms/dev/p4/common/site/config/HelixTopology.cfg.sample | |||||
#1 | 29183 | C. Thomas Tyler | Moved HelixTopology.cfg & sdp_hosts.cfg to site, added '.sample'. | 2 years ago | |
//guest/perforce_software/hms/dev/p4/common/config/HelixTopology.cfg | |||||
#2 | 25533 | C. Thomas Tyler | Copied updated and new files from SDP into the new HMS "overlay" structure. A 'p4 copy'... was done in all cases, so files in this change match what they did in the SDP. Corresponding files in the SDP are to be deleted. Some files will need modification to adapt to the new HMS structure, e.g. the 'setup' tree. « |
6 years ago | |
#1 | 25531 | C. Thomas Tyler | Refactored to receive merge from SDP. This structure emphasizes that HMS will be layere...d on the SDP. The tree is now structured to make it clear where files appear in an as-deployed configurtion, overlaid into the '/p4/common' structure of the SDP. The test suite is outside this structure, as it will not be deployed (due to dependencies on infratructure that won't likely appear in SDP production deployments). « |
6 years ago | |
//guest/perforce_software/hms/dev/hms/test/HelixTopology.cfg | |||||
#2 | 20446 | C. Thomas Tyler | Set site name to P4Demo. | 9 years ago | |
#1 | 20312 | ttyler | Populate -o -b hms_sg_to_workshop. | 9 years ago |