Class FailoverGeoZonesConstraint
java.lang.Object
com.eqixiac.equinix.design.resilience.FailoverGeoZonesConstraint
- All Implemented Interfaces:
Constraint
"geo_zones_failover": data sovereignty that holds through failover. Every path the design actually uses (the
metro a workload runs in, the metros its sites' traffic crosses, the metros its cloud traffic crosses)
must lie inside the spec's
constraints.geoZones, at baseline and after every
single-element failure: a standby path that leaves the zones is a violation even when the primary path
stays inside. Zone membership is the catalogue's geoScopes/geoZones for each metro, as
the built-in geo_zones constraint reads them.
Inert when the spec states no geo zones. In a Metro Optimizer run the built-in geo_zones
constraint already keeps every portfolio metro inside the zones, so this check can only add findings
for paths outside the portfolio; its main use is on a portfolio analysed as given
(ResilienceAnalyzer.portfolio(MetroPortfolio)), where it names the scenario that leaves the zone.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionWith the default options. -
Method Summary
Modifier and TypeMethodDescriptioncheck(MetroPortfolio portfolio, DesignContext context) Checks a whole portfolio.id()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Constraint
admits, usesCostModifier and TypeMethodDescriptiondefault booleanadmits(MetroFacts metro, DesignContext context) Cheap per-metro pruning before portfolios are formed.default booleanusesCost()WhetherConstraint.check(MetroPortfolio, DesignContext)prices the portfolio throughDesignContext.costModel().
-
Field Details
-
ID
-
-
Constructor Details
-
FailoverGeoZonesConstraint
public FailoverGeoZonesConstraint()With the default options. -
FailoverGeoZonesConstraint
- Parameters:
options- graph and simulation options
-
-
Method Details
-
id
- Specified by:
idin interfaceConstraint- Returns:
- a stable id, lower_snake_case (for example
max_latency)
-
check
Description copied from interface:ConstraintChecks a whole portfolio.- Specified by:
checkin interfaceConstraint- Parameters:
portfolio- the candidate designcontext- the facts of this run- Returns:
- the verdict with its reason
-