private EurekaMonitors(String name, String description) { this.name = name; this.description = description; DataCenterInfo dcInfo = ApplicationInfoManager.getInstance().getInfo().getDataCenterInfo(); if (dcInfo.getName() == Name.Amazon) { myZoneCounterName = ((AmazonInfo) dcInfo).get(MetaDataKey.availabilityZone) + "." + name; } else { myZoneCounterName = "dcmaster." + name; } }
@Override public String getIpAddress() { String ipAddr = amazonInfoHolder.get().get(MetaDataKey.localIpv4); return ipAddr == null ? super.getIpAddress() : ipAddr; }
protected static InstanceInfo createInstance(String appName, String vipAddress, String instanceHostName, String zone) { InstanceInfo.Builder instanceBuilder = InstanceInfo.Builder.newBuilder(); instanceBuilder.setAppName(appName); instanceBuilder.setVIPAddress(vipAddress); instanceBuilder.setHostName(instanceHostName); instanceBuilder.setIPAddr("10.10.101.1"); AmazonInfo amazonInfo = getAmazonInfo(zone, instanceHostName); instanceBuilder.setDataCenterInfo(amazonInfo); instanceBuilder.setMetadata(amazonInfo.getMetadata()); instanceBuilder.setLeaseInfo(LeaseInfo.Builder.newBuilder().build()); return instanceBuilder.build(); }
protected InstanceReplicationTask(String peerNodeName, Action action, InstanceInfo instanceInfo, InstanceStatus overriddenStatus, boolean replicateInstanceInfo) { super(peerNodeName, action); this.appName = instanceInfo.getAppName(); this.id = instanceInfo.getId(); this.instanceInfo = instanceInfo; this.overriddenStatus = overriddenStatus; this.replicateInstanceInfo = replicateInstanceInfo; }
private String getMyZone() { InstanceInfo info = applicationInfoManager.getInfo(); AmazonInfo amazonInfo = info != null ? (AmazonInfo) info.getDataCenterInfo() : null; String zone = amazonInfo != null ? amazonInfo.get(AmazonInfo.MetaDataKey.availabilityZone) : null; if (zone == null) { throw new RuntimeException("Cannot extract availabilityZone"); } return zone; }
private void updateInstanceInfo(String newAddress, String newIp) { // :( in the legacy code here the builder is acting as a mutator. // This is hard to fix as this same instanceInfo instance is referenced elsewhere. // We will most likely re-write the client at sometime so not fixing for now. InstanceInfo.Builder builder = new InstanceInfo.Builder(instanceInfo); if (newAddress != null) { builder.setHostName(newAddress); } if (newIp != null) { builder.setIPAddr(newIp); } builder.setDataCenterInfo(config.getDataCenterInfo()); instanceInfo.setIsDirty(); }
private String getAccountId(InstanceInfo instanceInfo, String fallbackId) { String localAccountId = null; DataCenterInfo dataCenterInfo = instanceInfo.getDataCenterInfo(); if (dataCenterInfo instanceof AmazonInfo) { localAccountId = ((AmazonInfo) dataCenterInfo).get(MetaDataKey.accountId); } return localAccountId == null ? fallbackId : localAccountId; }
public static Builder newBuilder() { return new Builder(new InstanceInfo(), LazyHolder.DEFAULT_VIP_ADDRESS_RESOLVER, null); }
private static int getLeaseRenewalOf(InstanceInfo info) { return (info.getLeaseInfo() == null ? Lease.DEFAULT_DURATION_IN_SECS : info.getLeaseInfo().getRenewalIntervalInSecs()) * 1000; } }
/* visible for testing */ AmazonInfo getNewAmazonInfo() { return AmazonInfo.Builder .newBuilder() .withAmazonInfoConfig(amazonInfoConfig) .autoBuild(amazonInfoConfig.getNamespace()); }
/** * Return the up current when the event was generated. * @return true if current is up or false for ALL other current values */ public boolean isUp() { return this.current.equals(InstanceInfo.InstanceStatus.UP); }
public AmazonInfo build() { return new AmazonInfo(Name.Amazon.name(), metadata); }
private static String getAccountId() { InstanceInfo myInfo = ApplicationInfoManager.getInstance().getInfo(); return ((AmazonInfo) myInfo.getDataCenterInfo()).get(MetaDataKey.accountId); }
private static String getRegistrationHostnameFromAmazonDataCenterInfo(ApplicationInfoManager applicationInfoManager) { InstanceInfo myInfo = applicationInfoManager.getInfo(); AmazonInfo dataCenterInfo = (AmazonInfo) myInfo.getDataCenterInfo(); String ip = dataCenterInfo.get(AmazonInfo.MetaDataKey.publicHostname); if (ip == null || ip.length() == 0) { return dataCenterInfo.get(AmazonInfo.MetaDataKey.localHostname); } return ip; }
public static Builder newBuilder(Function<String,String> intern) { return new Builder(new InstanceInfo(), LazyHolder.DEFAULT_VIP_ADDRESS_RESOLVER, intern); }
public static Builder newBuilder(VipAddressResolver vipAddressResolver) { return new Builder(new InstanceInfo(), vipAddressResolver, null); }