@Override public boolean cancelMaintain(DataStore store) { primaryDataStoreHelper.cancelMaintain(store); storagePoolAutomation.cancelMaintain(store); return true; }
@Override public boolean deleteDataStore(DataStore store) { return dataStoreHelper.deletePrimaryDataStore(store); }
@Override public void disableStoragePool(DataStore dataStore) { primaryDataStoreHelper.disable(dataStore); } }
@Override public DataStore initialize(Map<String, Object> dsInfos) { DataStore store = primaryStoreHelper.createPrimaryDataStore(null); return providerMgr.getPrimaryDataStore(store.getId()); }
@Override public boolean maintain(DataStore dataStore) { _storagePoolAutomation.maintain(dataStore); _dataStoreHelper.maintain(dataStore); return true; }
@Override public void enableStoragePool(DataStore dataStore) { _dataStoreHelper.enable(dataStore); }
@Override public boolean attachZone(DataStore dataStore, ZoneScope scope, HypervisorType hypervisorType) { List<HostVO> hosts = _resourceMgr.listAllUpAndEnabledHostsInOneZoneByHypervisor(hypervisorType, scope.getScopeId()); s_logger.debug("In createPool. Attaching the pool to each of the hosts."); List<HostVO> poolHosts = new ArrayList<HostVO>(); for (HostVO host : hosts) { try { storageMgr.connectHostToSharedPool(host.getId(), dataStore.getId()); poolHosts.add(host); } catch (Exception e) { s_logger.warn("Unable to establish a connection between " + host + " and " + dataStore, e); } } if (poolHosts.isEmpty()) { s_logger.warn("No host can access storage pool " + dataStore + " in this zone."); primaryDataStoreDao.expunge(dataStore.getId()); throw new CloudRuntimeException("Failed to create storage pool as it is not accessible to hosts."); } dataStoreHelper.attachZone(dataStore, hypervisorType); return true; }
@Override public boolean attachCluster(DataStore dataStore, ClusterScope scope) { PrimaryDataStoreInfo primarystore = (PrimaryDataStoreInfo)dataStore; List<HostVO> hosts = _resourceMgr.listAllUpAndEnabledHosts(Host.Type.Routing, primarystore.getClusterId(), primarystore.getPodId(), primarystore.getDataCenterId()); for (HostVO host : hosts) { try { _storageMgr.connectHostToSharedPool(host.getId(), dataStore.getId()); } catch (Exception e) { s_logger.warn("Unable to establish a connection between " + host + " and " + dataStore, e); } } _dataStoreHelper.attachCluster(dataStore); return true; }
@Override public boolean attachHost(DataStore store, HostScope scope, StoragePoolInfo existingInfo) { dataStoreHelper.attachHost(store, scope, existingInfo); return true; }
return _dataStoreHelper.createPrimaryDataStore(parameters);
@Override public boolean maintain(DataStore dataStore) { storagePoolAutmation.maintain(dataStore); dataStoreHelper.maintain(dataStore); return true; }
@Override public void enableStoragePool(DataStore dataStore) { dataStoreHelper.enable(dataStore); }
@Override public boolean attachZone(DataStore dataStore, ZoneScope scope, HypervisorType hypervisorType) { List<HostVO> xenServerHosts = _resourceMgr.listAllUpAndEnabledHostsInOneZoneByHypervisor(HypervisorType.XenServer, scope.getScopeId()); List<HostVO> vmWareServerHosts = _resourceMgr.listAllUpAndEnabledHostsInOneZoneByHypervisor(HypervisorType.VMware, scope.getScopeId()); List<HostVO> kvmHosts = _resourceMgr.listAllUpAndEnabledHostsInOneZoneByHypervisor(HypervisorType.KVM, scope.getScopeId()); List<HostVO> hosts = new ArrayList<>(); hosts.addAll(xenServerHosts); hosts.addAll(vmWareServerHosts); hosts.addAll(kvmHosts); for (HostVO host : hosts) { try { _storageMgr.connectHostToSharedPool(host.getId(), dataStore.getId()); } catch (Exception e) { s_logger.warn("Unable to establish a connection between " + host + " and " + dataStore, e); } } _dataStoreHelper.attachZone(dataStore); return true; }
@Override public boolean attachCluster(DataStore store, ClusterScope scope) { dataStoreHelper.attachCluster(store);
@Override public boolean attachHost(DataStore store, HostScope scope, StoragePoolInfo existingInfo) { _dataStoreHelper.attachHost(store, scope, existingInfo); return true; }
return _dataStoreHelper.createPrimaryDataStore(parameters);
@Override public boolean cancelMaintain(DataStore store) { dataStoreHelper.cancelMaintain(store); storagePoolAutmation.cancelMaintain(store); return true; }
@Override public boolean maintain(DataStore dataStore) { storagePoolAutomation.maintain(dataStore); primaryDataStoreHelper.maintain(dataStore); return true; }
@Override public void disableStoragePool(DataStore dataStore) { _dataStoreHelper.disable(dataStore); } }
return dataStoreHelper.deletePrimaryDataStore(store);