package com.emc.storageos.db.client.upgrade.callbacks; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.emc.storageos.coordinator.common.Configuration; import com.emc.storageos.coordinator.common.impl.ZkPath; import com.emc.storageos.db.client.upgrade.BaseCustomMigrationCallback; import com.emc.storageos.svcs.errorhandling.resources.MigrationCallbackException; public class BackupSchedulerConfigMigration extends BaseCustomMigrationCallback { private static final Logger log = LoggerFactory.getLogger(BackupSchedulerConfigMigration.class); private static final String BACKUP_SCHEDULER_CONFIG = "backupschedulerconfig"; private static final String GLOBAL_ID = "global"; @Override public void process() throws MigrationCallbackException { try { Configuration config = coordinatorClient.queryConfiguration(BACKUP_SCHEDULER_CONFIG, GLOBAL_ID); if (config == null) { log.info("Backup scheduler config doesn't exist, no need to do migration"); return; } coordinatorClient.persistServiceConfiguration(coordinatorClient.getSiteId(), config); coordinatorClient.deletePath(String.format("%s/%s", ZkPath.CONFIG.toString(), BACKUP_SCHEDULER_CONFIG)); log.info("Backup scheduler has been migrated to site specific area"); } catch (Exception e) { log.error("Fail to migrate backup scheduler config to site specific area", e); } } }