# This is The Helix Topology configuration file. # #----------------------------------------------------------------------------- NAME=P4Demo VERSION=1.0.0 #----------------------------------------------------------------------------- # SDP Instances #----------------------------------------------------------------------------- # Form: INSTANCE|Name|UserPorts|MasterHost|ServerPort|BrokerPort|Managed|Desc # # Name is an SDP Instance name, e.g. matching /p4/ 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 Helix 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 master 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 Value: perforce.mycom.com:1666,perforce,scm # # MasterHost is the hostname of the server machine on which the current master # p4d process runs. This name should refer to specific hardware. # Sample Value: bos-helix-01 # # ServerPort is the numeric port on which the p4d process runs on the master # host. Sample Value: 1999 # # BrokerPort is the numeric port on which the p4d process runs on the master # host. Sample Values: 1666 or Unset # # 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|MasterHost|ServerPort|BrokerPort|Managed|Desc INSTANCE|1|perforce:1666|bos-helix-01|1999|1666|1|Battle School Lab Environment INSTANCE|hms|hms:4737|bos-helix-02|4738|4737|1|Helix Management System #----------------------------------------------------------------------------- # Helix Topology Component Definitions # These extend the definintion of Helix Instance #----------------------------------------------------------------------------- # Form: COMPONENT|Instance|Type|Name|MasterHost|BackupHost|Active|URL|Desc # # Instance is the SDP Instance # # Type is one of: # p4d-mc P4D Master/Commit Server # p4d-e P4D Edge Server # p4d-r P4D Replica # p4broker P4Broker # p4p P4Proxy # p4dtg P4 Defect Tracking Gateway # p4web P4Web # p4gf Perforce Git Fusion # swarm Helix Swarm # # 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 replcias, add a numeric tag, e.g. "p4d-e01" # # MasterHost is the primary host 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-mc (master/commit # servers) and p4d-e (edge servers). For these components, the backup # host is determined based on the failover path 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 Swarm this is a standard # web URL. For apps that listen on a TCP port only, use just the numeric # port number rather than a URL. # # Desc: An optional text description of the component. # COMPONENT|Instance|Type|Name|MasterHost|BackupHost|Managed|URL|Desc COMPONENT|1|p4d-mc|master|bos-helix-01|Unset|1|1999|Master. COMPONENT|1|p4broker|p4broker01|bos-helix-01|Unset|1|1666|Broker 1. COMPONENT|1|p4broker|p4broker02|bos-helix-02|Unset|1|1666|Broker 2. COMPONENT|1|p4d-r|p4d-r01|bos-helix-02|Unset|1|1999|HA Replica. COMPONENT|1|p4d-r|p4d-r02|nyc-helix-03|Unset|1|1999|DR Replica. COMPONENT|1|p4broker|p4broker03|nyc-helix-03|Unset|1|1666|Broker 3. COMPONENT|1|p4d-e|p4d-e01|syd-helix-04|Unset|1|1999|DR Replica. COMPONENT|1|p4broker|p4broker04|syd-helix-04|Unset|1|1666|Broker 4. COMPONENT|1|p4d-r|p4d-r03|syd-helix-05|Unset|1|1999|DR Replica. COMPONENT|1|p4broker|p4broker05|syd-helix-05|Unset|1|1666|Broker 5. COMPONENT|1|swarm|swarm|bos-helix-01|bos-helix-02|0|http://swarm.p4demo.com|Swarm COMPONENT|hms|p4d-mc|master|bos-helix-01|Unset|1|4738|Master. COMPONENT|hms|p4broker|p4broker01|bos-helix-01|Unset|1|4737|HMS Broker 1. COMPONENT|hms|p4broker|p4broker02|bos-helix-02|Unset|1|4737|HMS Broker 2. COMPONENT|hms|swarm|swarm|bos-helix-01|bos-helix-02|0|http://hms.p4demo.com|Swarm. #----------------------------------------------------------------------------- # Failover Targets #----------------------------------------------------------------------------- # Form: FAILOVER|PathName|Type|MasterHost|BackupHost|InstanceList|Active|Desc # Name is a name of the Failover path. 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. # # Type is one of: Local, MO, Full # 'Local' indicates failover using the databases in /p4//offline_db on the # same machine, as opposed to failoing 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) # # '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. # # MasterHost is the primary host for normal operation, the designated live # production server. # # BackupHost is the backup host for post-failover operation, the designated # machine to become the live production server when the given failover path 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|local|Local|bos-helix-01|localhost|1,hms|1|Local Failover FAILOVER|ha|Full|bos-helix-01|bos-helix-02|1|1|High Availability FAILOVER|ha|Full|bos-helix-02|bos-helix-01|hms|1|High Availability FAILOVER|dr|Full|bos-helix-01|nyc-helix-03|1|1|Disaster Recovery FAILOVER|dr|Full|bos-helix-02|nyc-helix-03|hms|1|Disaster Recovery FAILOVER|syd_ha|Full|syd-helix-04|syd-helix-05|1,hms|1|Disaster Recovery