Search in sources :

Example 26 with DrUtil

use of com.emc.storageos.coordinator.client.service.DrUtil in project coprhd-controller by CoprHD.

the class BackupOps method persistBackupInfo.

/**
 * Records backup info
 */
private void persistBackupInfo(String backupTag) throws Exception {
    File targetDir = new File(getBackupDir(), backupTag);
    if (!targetDir.exists() || !targetDir.isDirectory()) {
        return;
    }
    File infoFile = new File(targetDir, backupTag + BackupConstants.BACKUP_INFO_SUFFIX);
    Date now = new Date();
    try (OutputStream fos = new FileOutputStream(infoFile)) {
        Properties properties = new Properties();
        properties.setProperty(BackupConstants.BACKUP_INFO_VERSION, getCurrentVersion());
        properties.setProperty(BackupConstants.BACKUP_INFO_HOSTS, getHostsWithDualInetAddrs().values().toString());
        properties.setProperty(BackupConstants.BACKUP_INFO_CREATE_TIME, Long.toString(now.getTime()));
        DrUtil drutil = new DrUtil();
        drutil.setCoordinator(coordinatorClient);
        String siteId = drutil.getLocalSite().getUuid();
        properties.setProperty(BackupConstants.BACKUP_INFO_SITE_ID, siteId);
        String siteName = drutil.getLocalSite().getName();
        properties.setProperty(BackupConstants.BACKUP_INFO_SITE_NAME, siteName);
        properties.store(fos, null);
        // Guarantee ower/group owner/permissions of infoFile is consistent with other backup files
        FileUtils.chown(infoFile, BackupConstants.STORAGEOS_USER, BackupConstants.STORAGEOS_GROUP);
        FileUtils.chmod(infoFile, BackupConstants.BACKUP_FILE_PERMISSION);
    } catch (Exception ex) {
        log.error("Failed to record backup info", ex);
        throw ex;
    }
}
Also used : OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) DrUtil(com.emc.storageos.coordinator.client.service.DrUtil) File(java.io.File) URISyntaxException(java.net.URISyntaxException) CancellationException(java.util.concurrent.CancellationException) MalformedObjectNameException(javax.management.MalformedObjectNameException) RetryableBackupException(com.emc.storageos.management.backup.exceptions.RetryableBackupException) KeeperException(org.apache.zookeeper.KeeperException) MalformedURLException(java.net.MalformedURLException) IOException(java.io.IOException) UnknownHostException(java.net.UnknownHostException) ExecutionException(java.util.concurrent.ExecutionException) BackupException(com.emc.storageos.management.backup.exceptions.BackupException)

Aggregations

DrUtil (com.emc.storageos.coordinator.client.service.DrUtil)26 Site (com.emc.storageos.coordinator.client.model.Site)11 DbClientContext (com.emc.storageos.db.client.impl.DbClientContext)4 SiteInfo (com.emc.storageos.coordinator.client.model.SiteInfo)3 CoordinatorClientInetAddressMap (com.emc.storageos.coordinator.client.service.impl.CoordinatorClientInetAddressMap)3 ConfigurationImpl (com.emc.storageos.coordinator.common.impl.ConfigurationImpl)3 PropertyInfoMapper.decodeFromString (com.emc.storageos.coordinator.mapper.PropertyInfoMapper.decodeFromString)3 SiteState (com.emc.storageos.coordinator.client.model.SiteState)2 CoordinatorClient (com.emc.storageos.coordinator.client.service.CoordinatorClient)2 Configuration (com.emc.storageos.coordinator.common.Configuration)2 Service (com.emc.storageos.coordinator.common.Service)2 APIException (com.emc.storageos.svcs.errorhandling.resources.APIException)2 SysClientException (com.emc.storageos.systemservices.exceptions.SysClientException)2 ClusterInfo (com.emc.vipr.model.sys.ClusterInfo)2 IOException (java.io.IOException)2 HashMap (java.util.HashMap)2 Before (org.junit.Before)2 SiteMapper (com.emc.storageos.api.mapper.SiteMapper)1 DbVersionInfo (com.emc.storageos.coordinator.client.model.DbVersionInfo)1 MigrationStatus (com.emc.storageos.coordinator.client.model.MigrationStatus)1