use of com.emc.storageos.coordinator.client.service.DrUtil in project coprhd-controller by CoprHD.
the class DbDowntimeTracker method run.
/**
* Monitor dbsvc and geodbsvc online/offline event and record downtime in ZK
*/
public void run() {
DrUtil drUtil = new DrUtil(coordinator.getCoordinatorClient());
if (drUtil.isStandby()) {
log.info("Current site is standby, no need to monitor dbsvc and geodbsvc status");
return;
}
log.info("Monitoring dbsvc and geodbsvc status");
try (AutoCloseable lock = getTrackerLock()) {
for (Site site : drUtil.listSites()) {
updateSiteDbsvcStatus(site);
}
} catch (Exception e) {
log.warn("Failed to monitor db status", e);
}
}
use of com.emc.storageos.coordinator.client.service.DrUtil in project coprhd-controller by CoprHD.
the class IpsecService method updateTargetSiteInfo.
private void updateTargetSiteInfo(long vdcConfigVersion) {
DrUtil drUtil = new DrUtil(coordinator);
for (Site site : drUtil.listSites()) {
SiteInfo siteInfo;
String siteId = site.getUuid();
SiteInfo currentSiteInfo = coordinator.getTargetInfo(siteId, SiteInfo.class);
if (currentSiteInfo != null) {
siteInfo = new SiteInfo(vdcConfigVersion, SiteInfo.IPSEC_OP_ROTATE_KEY, currentSiteInfo.getTargetDataRevision(), SiteInfo.ActionScope.VDC);
} else {
siteInfo = new SiteInfo(vdcConfigVersion, SiteInfo.IPSEC_OP_ROTATE_KEY, SiteInfo.ActionScope.VDC);
}
coordinator.setTargetInfo(siteId, siteInfo);
log.info("VDC target version updated to {} for site {}", siteInfo.getVdcConfigVersion(), siteId);
}
}
use of com.emc.storageos.coordinator.client.service.DrUtil in project coprhd-controller by CoprHD.
the class BackupOps method getNodesInfo.
public Map<String, URI> getNodesInfo() throws URISyntaxException {
List<Service> services = coordinatorClient.locateAllServices(((CoordinatorClientImpl) coordinatorClient).getSysSvcName(), ((CoordinatorClientImpl) coordinatorClient).getSysSvcVersion(), null, null);
// get URL schema and port
Service svc = services.get(0);
URI uri = svc.getEndpoint();
int port = uri.getPort();
String scheme = uri.getScheme();
DrUtil util = new DrUtil();
util.setCoordinator(coordinatorClient);
Site localSite = util.getLocalSite();
Map<String, String> addresses = localSite.getHostIPv4AddressMap();
if (!localSite.isUsingIpv4()) {
addresses = localSite.getHostIPv6AddressMap();
}
Map<String, URI> nodesInfo = new HashMap();
for (Map.Entry<String, String> addr : addresses.entrySet()) {
String nodeUri = scheme + "://" + addr.getValue() + ":" + port + "/";
nodesInfo.put(addr.getKey(), new URI(nodeUri));
}
return nodesInfo;
}
use of com.emc.storageos.coordinator.client.service.DrUtil in project coprhd-controller by CoprHD.
the class DbsvcTestBase method getDbClientBase.
protected static InternalDbClient getDbClientBase(InternalDbClient dbClient) {
dbClient.setCoordinatorClient(_coordinator);
dbClient.setDbVersionInfo(sourceVersion);
dbClient.setBypassMigrationLock(true);
_encryptionProvider.setCoordinator(_coordinator);
dbClient.setEncryptionProvider(_encryptionProvider);
DbClientContext localCtx = new MockDbClientContext();
localCtx.setClusterName("Test");
localCtx.setKeyspaceName("Test");
dbClient.setLocalContext(localCtx);
dbClient.setDrUtil(new DrUtil(_coordinator));
VdcUtil.setDbClient(dbClient);
return dbClient;
}
use of com.emc.storageos.coordinator.client.service.DrUtil in project coprhd-controller by CoprHD.
the class LazyLoadTests method setupTest.
@Before
public void setupTest() {
DbClientImplUnitTester dbClient = new DbClientImplUnitTester();
dbClient.setCoordinatorClient(_coordinator);
dbClient.setDbVersionInfo(sourceVersion);
dbClient.setBypassMigrationLock(true);
_encryptionProvider.setCoordinator(_coordinator);
dbClient.setEncryptionProvider(_encryptionProvider);
DbClientContext localCtx = new DbClientContext();
localCtx.setClusterName("Test");
localCtx.setKeyspaceName("Test");
dbClient.setLocalContext(localCtx);
VdcUtil.setDbClient(dbClient);
dbClient.setBypassMigrationLock(false);
dbClient.setDrUtil(new DrUtil(_coordinator));
dbClient.start();
_dbClient = dbClient;
modelClient = new DbModelClientImpl(_dbClient);
}
Aggregations