mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 01:32:18 +02:00
utils: add UuidUtils.nameUUIDFromBytes (#11136)
* utils: add UuidUtils.nameUUIDFromBytes * Fix PR 13922
This commit is contained in:
parent
ba42d25162
commit
ca0c3530ad
@ -20,7 +20,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import com.cloud.agent.IAgentControl;
|
import com.cloud.agent.IAgentControl;
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
@ -40,6 +39,7 @@ import com.cloud.resource.ServerResource;
|
|||||||
import com.cloud.storage.Storage;
|
import com.cloud.storage.Storage;
|
||||||
import com.cloud.storage.Storage.StoragePoolType;
|
import com.cloud.storage.Storage.StoragePoolType;
|
||||||
import com.cloud.utils.StringUtils;
|
import com.cloud.utils.StringUtils;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
|
|
||||||
public class DummyResource implements ServerResource {
|
public class DummyResource implements ServerResource {
|
||||||
String _name;
|
String _name;
|
||||||
@ -133,7 +133,7 @@ public class DummyResource implements ServerResource {
|
|||||||
String hostIp = getConfiguredProperty("private.ip.address", "127.0.0.1");
|
String hostIp = getConfiguredProperty("private.ip.address", "127.0.0.1");
|
||||||
String localStoragePath = getConfiguredProperty("local.storage.path", "/mnt");
|
String localStoragePath = getConfiguredProperty("local.storage.path", "/mnt");
|
||||||
String lh = hostIp + localStoragePath;
|
String lh = hostIp + localStoragePath;
|
||||||
String uuid = UUID.nameUUIDFromBytes(lh.getBytes(StringUtils.getPreferredCharset())).toString();
|
String uuid = UuidUtils.nameUUIDFromBytes(lh.getBytes(StringUtils.getPreferredCharset())).toString();
|
||||||
|
|
||||||
String capacity = getConfiguredProperty("local.storage.capacity", "1000000000");
|
String capacity = getConfiguredProperty("local.storage.capacity", "1000000000");
|
||||||
String available = getConfiguredProperty("local.storage.avail", "10000000");
|
String available = getConfiguredProperty("local.storage.avail", "10000000");
|
||||||
|
|||||||
@ -21,10 +21,10 @@ package com.cloud.agent.api;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import com.cloud.agent.api.to.StorageFilerTO;
|
import com.cloud.agent.api.to.StorageFilerTO;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
|
|
||||||
public class DeleteStoragePoolCommand extends Command {
|
public class DeleteStoragePoolCommand extends Command {
|
||||||
public static final String DATASTORE_NAME = "datastoreName";
|
public static final String DATASTORE_NAME = "datastoreName";
|
||||||
@ -49,7 +49,7 @@ public class DeleteStoragePoolCommand extends Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public DeleteStoragePoolCommand(StoragePool pool) {
|
public DeleteStoragePoolCommand(StoragePool pool) {
|
||||||
this(pool, LOCAL_PATH_PREFIX + File.separator + UUID.nameUUIDFromBytes((pool.getHostAddress() + pool.getPath()).getBytes()));
|
this(pool, LOCAL_PATH_PREFIX + File.separator + UuidUtils.nameUUIDFromBytes((pool.getHostAddress() + pool.getPath()).getBytes()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPool(StoragePool pool) {
|
public void setPool(StoragePool pool) {
|
||||||
|
|||||||
@ -21,10 +21,10 @@ package com.cloud.agent.api;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import com.cloud.agent.api.to.StorageFilerTO;
|
import com.cloud.agent.api.to.StorageFilerTO;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
|
|
||||||
public class ModifyStoragePoolCommand extends Command {
|
public class ModifyStoragePoolCommand extends Command {
|
||||||
public static final String LOCAL_PATH_PREFIX = "/mnt/";
|
public static final String LOCAL_PATH_PREFIX = "/mnt/";
|
||||||
@ -47,11 +47,11 @@ public class ModifyStoragePoolCommand extends Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public ModifyStoragePoolCommand(boolean add, StoragePool pool, Map<String, String> details) {
|
public ModifyStoragePoolCommand(boolean add, StoragePool pool, Map<String, String> details) {
|
||||||
this(add, pool, LOCAL_PATH_PREFIX + File.separator + UUID.nameUUIDFromBytes((pool.getHostAddress() + pool.getPath()).getBytes()), details);
|
this(add, pool, LOCAL_PATH_PREFIX + File.separator + UuidUtils.nameUUIDFromBytes((pool.getHostAddress() + pool.getPath()).getBytes()), details);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ModifyStoragePoolCommand(boolean add, StoragePool pool) {
|
public ModifyStoragePoolCommand(boolean add, StoragePool pool) {
|
||||||
this(add, pool, LOCAL_PATH_PREFIX + File.separator + UUID.nameUUIDFromBytes((pool.getHostAddress() + pool.getPath()).getBytes()));
|
this(add, pool, LOCAL_PATH_PREFIX + File.separator + UuidUtils.nameUUIDFromBytes((pool.getHostAddress() + pool.getPath()).getBytes()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getAdd() {
|
public boolean getAdd() {
|
||||||
|
|||||||
@ -34,6 +34,7 @@ import javax.persistence.Transient;
|
|||||||
|
|
||||||
import com.cloud.cpu.CPU;
|
import com.cloud.cpu.CPU;
|
||||||
import com.cloud.user.UserData;
|
import com.cloud.user.UserData;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import org.apache.cloudstack.util.CPUArchConverter;
|
import org.apache.cloudstack.util.CPUArchConverter;
|
||||||
import org.apache.cloudstack.util.HypervisorTypeConverter;
|
import org.apache.cloudstack.util.HypervisorTypeConverter;
|
||||||
import org.apache.cloudstack.utils.reflectiontostringbuilderutils.ReflectionToStringBuilderUtils;
|
import org.apache.cloudstack.utils.reflectiontostringbuilderutils.ReflectionToStringBuilderUtils;
|
||||||
@ -344,7 +345,7 @@ public class VMTemplateVO implements VirtualMachineTemplate {
|
|||||||
name.append("-");
|
name.append("-");
|
||||||
name.append(userId);
|
name.append(userId);
|
||||||
name.append("-");
|
name.append("-");
|
||||||
name.append(UUID.nameUUIDFromBytes((displayName + System.currentTimeMillis()).getBytes()).toString());
|
name.append(UuidUtils.nameUUIDFromBytes((displayName + System.currentTimeMillis()).getBytes()).toString());
|
||||||
return name.toString();
|
return name.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -100,6 +100,7 @@ import com.cloud.storage.VolumeVO;
|
|||||||
import com.cloud.storage.dao.SnapshotDao;
|
import com.cloud.storage.dao.SnapshotDao;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
import com.cloud.storage.dao.VolumeDao;
|
import com.cloud.storage.dao.VolumeDao;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.component.ComponentContext;
|
import com.cloud.utils.component.ComponentContext;
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
@ -287,7 +288,7 @@ public class SnapshotTest extends CloudStackTestNGBase {
|
|||||||
|
|
||||||
public DataStore createPrimaryDataStore() {
|
public DataStore createPrimaryDataStore() {
|
||||||
try {
|
try {
|
||||||
String uuid = UUID.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString();
|
String uuid = UuidUtils.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString();
|
||||||
List<StoragePoolVO> pools = primaryDataStoreDao.findPoolByName(this.primaryName);
|
List<StoragePoolVO> pools = primaryDataStoreDao.findPoolByName(this.primaryName);
|
||||||
if (pools.size() > 0) {
|
if (pools.size() > 0) {
|
||||||
return this.dataStoreMgr.getPrimaryDataStore(pools.get(0).getId());
|
return this.dataStoreMgr.getPrimaryDataStore(pools.get(0).getId());
|
||||||
|
|||||||
@ -82,6 +82,7 @@ import com.cloud.storage.Volume;
|
|||||||
import com.cloud.storage.VolumeVO;
|
import com.cloud.storage.VolumeVO;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
import com.cloud.storage.dao.VolumeDao;
|
import com.cloud.storage.dao.VolumeDao;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.component.ComponentContext;
|
import com.cloud.utils.component.ComponentContext;
|
||||||
|
|
||||||
@ContextConfiguration(locations = {"classpath:/storageContext.xml"})
|
@ContextConfiguration(locations = {"classpath:/storageContext.xml"})
|
||||||
@ -281,7 +282,7 @@ public class VolumeServiceTest extends CloudStackTestNGBase {
|
|||||||
params.put("name", this.primaryName);
|
params.put("name", this.primaryName);
|
||||||
params.put("port", "1");
|
params.put("port", "1");
|
||||||
params.put("roles", DataStoreRole.Primary.toString());
|
params.put("roles", DataStoreRole.Primary.toString());
|
||||||
params.put("uuid", UUID.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString());
|
params.put("uuid", UuidUtils.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString());
|
||||||
params.put("providerName", String.valueOf(provider.getName()));
|
params.put("providerName", String.valueOf(provider.getName()));
|
||||||
|
|
||||||
DataStoreLifeCycle lifeCycle = provider.getDataStoreLifeCycle();
|
DataStoreLifeCycle lifeCycle = provider.getDataStoreLifeCycle();
|
||||||
@ -324,7 +325,7 @@ public class VolumeServiceTest extends CloudStackTestNGBase {
|
|||||||
params.put("name", this.primaryName);
|
params.put("name", this.primaryName);
|
||||||
params.put("port", "1");
|
params.put("port", "1");
|
||||||
params.put("roles", DataStoreRole.Primary.toString());
|
params.put("roles", DataStoreRole.Primary.toString());
|
||||||
params.put("uuid", UUID.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString());
|
params.put("uuid", UuidUtils.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString());
|
||||||
params.put("providerName", String.valueOf(provider.getName()));
|
params.put("providerName", String.valueOf(provider.getName()));
|
||||||
|
|
||||||
DataStoreLifeCycle lifeCycle = provider.getDataStoreLifeCycle();
|
DataStoreLifeCycle lifeCycle = provider.getDataStoreLifeCycle();
|
||||||
|
|||||||
@ -86,6 +86,7 @@ import com.cloud.storage.Volume;
|
|||||||
import com.cloud.storage.VolumeVO;
|
import com.cloud.storage.VolumeVO;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
import com.cloud.storage.dao.VolumeDao;
|
import com.cloud.storage.dao.VolumeDao;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.component.ComponentContext;
|
import com.cloud.utils.component.ComponentContext;
|
||||||
|
|
||||||
@ContextConfiguration(locations = {"classpath:/storageContext.xml"})
|
@ContextConfiguration(locations = {"classpath:/storageContext.xml"})
|
||||||
@ -264,7 +265,7 @@ public class VolumeTestVmware extends CloudStackTestNGBase {
|
|||||||
|
|
||||||
public DataStore createPrimaryDataStore() {
|
public DataStore createPrimaryDataStore() {
|
||||||
try {
|
try {
|
||||||
String uuid = UUID.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString();
|
String uuid = UuidUtils.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString();
|
||||||
List<StoragePoolVO> pools = primaryDataStoreDao.findPoolByName(this.primaryName);
|
List<StoragePoolVO> pools = primaryDataStoreDao.findPoolByName(this.primaryName);
|
||||||
if (pools.size() > 0) {
|
if (pools.size() > 0) {
|
||||||
return this.dataStoreMgr.getPrimaryDataStore(pools.get(0).getId());
|
return this.dataStoreMgr.getPrimaryDataStore(pools.get(0).getId());
|
||||||
|
|||||||
@ -32,6 +32,7 @@ import java.util.concurrent.TimeoutException;
|
|||||||
|
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.rabbitmq.client.BlockedListener;
|
import com.rabbitmq.client.BlockedListener;
|
||||||
|
|
||||||
@ -254,7 +255,7 @@ public class RabbitMQEventBus extends ManagerBase implements EventBus {
|
|||||||
logger.debug("unsubscribing '{}'", subscriberId);
|
logger.debug("unsubscribing '{}'", subscriberId);
|
||||||
try {
|
try {
|
||||||
String classname = subscriber.getClass().getName();
|
String classname = subscriber.getClass().getName();
|
||||||
String queueName = UUID.nameUUIDFromBytes(classname.getBytes()).toString();
|
String queueName = UuidUtils.nameUUIDFromBytes(classname.getBytes()).toString();
|
||||||
Ternary<String, Channel, EventSubscriber> queueDetails = s_subscribers.get(queueName);
|
Ternary<String, Channel, EventSubscriber> queueDetails = s_subscribers.get(queueName);
|
||||||
Channel channel = queueDetails.second();
|
Channel channel = queueDetails.second();
|
||||||
channel.basicCancel(queueName);
|
channel.basicCancel(queueName);
|
||||||
|
|||||||
@ -51,6 +51,7 @@ import com.cloud.resource.DiscovererBase;
|
|||||||
import com.cloud.resource.ResourceStateAdapter;
|
import com.cloud.resource.ResourceStateAdapter;
|
||||||
import com.cloud.resource.ServerResource;
|
import com.cloud.resource.ServerResource;
|
||||||
import com.cloud.resource.UnableDeleteHostException;
|
import com.cloud.resource.UnableDeleteHostException;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.script.Script;
|
import com.cloud.utils.script.Script;
|
||||||
import com.cloud.utils.script.Script2;
|
import com.cloud.utils.script.Script2;
|
||||||
@ -121,7 +122,7 @@ public class BareMetalDiscoverer extends DiscovererBase implements Discoverer, R
|
|||||||
String hostname = url.getHost();
|
String hostname = url.getHost();
|
||||||
InetAddress ia = InetAddress.getByName(hostname);
|
InetAddress ia = InetAddress.getByName(hostname);
|
||||||
String ipmiIp = ia.getHostAddress();
|
String ipmiIp = ia.getHostAddress();
|
||||||
String guid = UUID.nameUUIDFromBytes(ipmiIp.getBytes()).toString();
|
String guid = UuidUtils.nameUUIDFromBytes(ipmiIp.getBytes()).toString();
|
||||||
|
|
||||||
String injectScript = "scripts/util/ipmi.py";
|
String injectScript = "scripts/util/ipmi.py";
|
||||||
String scriptPath = Script.findScript("", injectScript);
|
String scriptPath = Script.findScript("", injectScript);
|
||||||
|
|||||||
@ -54,6 +54,7 @@ import com.cloud.resource.DiscovererBase;
|
|||||||
import com.cloud.resource.ResourceStateAdapter;
|
import com.cloud.resource.ResourceStateAdapter;
|
||||||
import com.cloud.resource.ServerResource;
|
import com.cloud.resource.ServerResource;
|
||||||
import com.cloud.resource.UnableDeleteHostException;
|
import com.cloud.resource.UnableDeleteHostException;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
|
|
||||||
public class ExternalServerDiscoverer extends DiscovererBase implements Discoverer, Listener, ResourceStateAdapter {
|
public class ExternalServerDiscoverer extends DiscovererBase implements Discoverer, Listener, ResourceStateAdapter {
|
||||||
|
|
||||||
@ -133,7 +134,7 @@ public class ExternalServerDiscoverer extends DiscovererBase implements Discover
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected String getResourceGuidFromName(String name) {
|
protected String getResourceGuidFromName(String name) {
|
||||||
return "External:" + UUID.nameUUIDFromBytes(name.getBytes());
|
return "External:" + UuidUtils.nameUUIDFromBytes(name.getBytes());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addExtensionDataToResourceParams(ExtensionVO extension, Map<String, Object> params) {
|
protected void addExtensionDataToResourceParams(ExtensionVO extension, Map<String, Object> params) {
|
||||||
|
|||||||
@ -24,7 +24,6 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
@ -64,6 +63,7 @@ import com.cloud.resource.ResourceStateAdapter;
|
|||||||
import com.cloud.resource.ServerResource;
|
import com.cloud.resource.ServerResource;
|
||||||
import com.cloud.resource.UnableDeleteHostException;
|
import com.cloud.resource.UnableDeleteHostException;
|
||||||
import com.cloud.storage.StorageLayer;
|
import com.cloud.storage.StorageLayer;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Methods to discover and managem a Hyper-V agent. Prepares a
|
* Methods to discover and managem a Hyper-V agent. Prepares a
|
||||||
@ -264,7 +264,7 @@ public class HypervServerDiscoverer extends DiscovererBase implements Discoverer
|
|||||||
// pool in the database
|
// pool in the database
|
||||||
// This GUID may change.
|
// This GUID may change.
|
||||||
if (cluster.getGuid() == null) {
|
if (cluster.getGuid() == null) {
|
||||||
cluster.setGuid(UUID.nameUUIDFromBytes(String.valueOf(clusterId).getBytes(Charset.forName("UTF-8"))).toString());
|
cluster.setGuid(UuidUtils.nameUUIDFromBytes(String.valueOf(clusterId).getBytes(Charset.forName("UTF-8"))).toString());
|
||||||
_clusterDao.update(clusterId, cluster);
|
_clusterDao.update(clusterId, cluster);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,7 +322,7 @@ public class HypervServerDiscoverer extends DiscovererBase implements Discoverer
|
|||||||
/**
|
/**
|
||||||
* Encapsulate GUID calculation in public method to allow access to test
|
* Encapsulate GUID calculation in public method to allow access to test
|
||||||
* programs. Works by converting a string to a GUID using
|
* programs. Works by converting a string to a GUID using
|
||||||
* UUID.nameUUIDFromBytes
|
* UuidUtils.nameUUIDFromBytes
|
||||||
*
|
*
|
||||||
* @param uuidSeed
|
* @param uuidSeed
|
||||||
* string to use to generate GUID
|
* string to use to generate GUID
|
||||||
@ -330,7 +330,7 @@ public class HypervServerDiscoverer extends DiscovererBase implements Discoverer
|
|||||||
* @return GUID in form of a string.
|
* @return GUID in form of a string.
|
||||||
*/
|
*/
|
||||||
public static String calcServerResourceGuid(final String uuidSeed) {
|
public static String calcServerResourceGuid(final String uuidSeed) {
|
||||||
String guid = UUID.nameUUIDFromBytes(uuidSeed.getBytes(Charset.forName("UTF-8"))).toString();
|
String guid = UuidUtils.nameUUIDFromBytes(uuidSeed.getBytes(Charset.forName("UTF-8"))).toString();
|
||||||
return guid;
|
return guid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6096,7 +6096,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String generateSecretUUIDFromString(String seed) {
|
public static String generateSecretUUIDFromString(String seed) {
|
||||||
return UUID.nameUUIDFromBytes(seed.getBytes()).toString();
|
return UuidUtils.nameUUIDFromBytes(seed.getBytes()).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -25,7 +25,6 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import org.apache.cloudstack.storage.to.PrimaryDataStoreTO;
|
import org.apache.cloudstack.storage.to.PrimaryDataStoreTO;
|
||||||
@ -47,6 +46,7 @@ import com.cloud.storage.StorageLayer;
|
|||||||
import com.cloud.storage.Volume;
|
import com.cloud.storage.Volume;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.vm.VirtualMachine;
|
import com.cloud.vm.VirtualMachine;
|
||||||
|
|
||||||
@ -331,7 +331,7 @@ public class KVMStoragePoolManager {
|
|||||||
sourcePath = storageUri.getPath();
|
sourcePath = storageUri.getPath();
|
||||||
sourcePath = sourcePath.replace("//", "/");
|
sourcePath = sourcePath.replace("//", "/");
|
||||||
sourceHost = storageUri.getHost();
|
sourceHost = storageUri.getHost();
|
||||||
uuid = UUID.nameUUIDFromBytes(new String(sourceHost + sourcePath).getBytes()).toString();
|
uuid = UuidUtils.nameUUIDFromBytes(new String(sourceHost + sourcePath).getBytes()).toString();
|
||||||
protocol = scheme.equals("filesystem") ? StoragePoolType.Filesystem: StoragePoolType.NetworkFilesystem;
|
protocol = scheme.equals("filesystem") ? StoragePoolType.Filesystem: StoragePoolType.NetworkFilesystem;
|
||||||
|
|
||||||
// storage registers itself through here
|
// storage registers itself through here
|
||||||
|
|||||||
@ -46,6 +46,7 @@ import com.cloud.resource.ResourceManager;
|
|||||||
import com.cloud.resource.ResourceStateAdapter;
|
import com.cloud.resource.ResourceStateAdapter;
|
||||||
import com.cloud.resource.ServerResource;
|
import com.cloud.resource.ServerResource;
|
||||||
import com.cloud.resource.UnableDeleteHostException;
|
import com.cloud.resource.UnableDeleteHostException;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.db.QueryBuilder;
|
import com.cloud.utils.db.QueryBuilder;
|
||||||
import com.cloud.utils.db.SearchCriteria;
|
import com.cloud.utils.db.SearchCriteria;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
@ -131,7 +132,7 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer, Resourc
|
|||||||
String hostname = url.getHost();
|
String hostname = url.getHost();
|
||||||
InetAddress ia = InetAddress.getByName(hostname);
|
InetAddress ia = InetAddress.getByName(hostname);
|
||||||
String hostIp = ia.getHostAddress();
|
String hostIp = ia.getHostAddress();
|
||||||
String guid = UUID.nameUUIDFromBytes(hostIp.getBytes()).toString();
|
String guid = UuidUtils.nameUUIDFromBytes(hostIp.getBytes()).toString();
|
||||||
|
|
||||||
if (checkIfExisted(guid)) {
|
if (checkIfExisted(guid)) {
|
||||||
throw new CloudRuntimeException("The host " + hostIp + " has been added before");
|
throw new CloudRuntimeException("The host " + hostIp + " has been added before");
|
||||||
|
|||||||
@ -24,7 +24,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
@ -127,6 +126,7 @@ import com.cloud.storage.template.TemplateProp;
|
|||||||
import com.cloud.template.VirtualMachineTemplate.BootloaderType;
|
import com.cloud.template.VirtualMachineTemplate.BootloaderType;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.script.Script;
|
import com.cloud.utils.script.Script;
|
||||||
import com.cloud.utils.ssh.SSHCmdHelper;
|
import com.cloud.utils.ssh.SSHCmdHelper;
|
||||||
@ -507,7 +507,7 @@ public class OvmResourceBase implements ServerResource, HypervisorResource {
|
|||||||
vm.name = spec.getName();
|
vm.name = spec.getName();
|
||||||
vm.memory = spec.getMinRam();
|
vm.memory = spec.getMinRam();
|
||||||
vm.cpuNum = spec.getCpus();
|
vm.cpuNum = spec.getCpus();
|
||||||
vm.uuid = UUID.nameUUIDFromBytes(spec.getName().getBytes()).toString();
|
vm.uuid = UuidUtils.nameUUIDFromBytes(spec.getName().getBytes()).toString();
|
||||||
if (spec.getBootloader() == BootloaderType.CD) {
|
if (spec.getBootloader() == BootloaderType.CD) {
|
||||||
vm.bootDev = OvmVm.CD;
|
vm.bootDev = OvmVm.CD;
|
||||||
vm.type = OvmVm.HVM;
|
vm.type = OvmVm.HVM;
|
||||||
|
|||||||
@ -35,6 +35,7 @@ import javax.xml.xpath.XPathExpression;
|
|||||||
import javax.xml.xpath.XPathExpressionException;
|
import javax.xml.xpath.XPathExpressionException;
|
||||||
import javax.xml.xpath.XPathFactory;
|
import javax.xml.xpath.XPathFactory;
|
||||||
|
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.xmlrpc.XmlRpcException;
|
import org.apache.xmlrpc.XmlRpcException;
|
||||||
@ -71,7 +72,7 @@ public class OvmObject {
|
|||||||
|
|
||||||
/* generate a uuid */
|
/* generate a uuid */
|
||||||
public String newUuid(String str) {
|
public String newUuid(String str) {
|
||||||
return UUID.nameUUIDFromBytes(str.getBytes(Charset.defaultCharset())).toString();
|
return UuidUtils.nameUUIDFromBytes(str.getBytes(Charset.defaultCharset())).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* capture most of the calls here */
|
/* capture most of the calls here */
|
||||||
|
|||||||
@ -58,6 +58,7 @@ import com.cloud.resource.ResourceManager;
|
|||||||
import com.cloud.resource.ResourceStateAdapter;
|
import com.cloud.resource.ResourceStateAdapter;
|
||||||
import com.cloud.resource.ServerResource;
|
import com.cloud.resource.ServerResource;
|
||||||
import com.cloud.resource.UnableDeleteHostException;
|
import com.cloud.resource.UnableDeleteHostException;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.db.QueryBuilder;
|
import com.cloud.utils.db.QueryBuilder;
|
||||||
import com.cloud.utils.db.SearchCriteria;
|
import com.cloud.utils.db.SearchCriteria;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
@ -186,7 +187,7 @@ public class Ovm3Discoverer extends DiscovererBase implements Discoverer,
|
|||||||
|
|
||||||
InetAddress ia = InetAddress.getByName(hostname);
|
InetAddress ia = InetAddress.getByName(hostname);
|
||||||
String hostIp = ia.getHostAddress();
|
String hostIp = ia.getHostAddress();
|
||||||
String guid = UUID.nameUUIDFromBytes(hostIp.getBytes("UTF8"))
|
String guid = UuidUtils.nameUUIDFromBytes(hostIp.getBytes("UTF8"))
|
||||||
.toString();
|
.toString();
|
||||||
|
|
||||||
if (checkIfExisted(guid)) {
|
if (checkIfExisted(guid)) {
|
||||||
|
|||||||
@ -19,7 +19,6 @@ package com.cloud.hypervisor.ovm3.resources;
|
|||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
@ -95,6 +94,7 @@ import com.cloud.resource.hypervisor.HypervisorResource;
|
|||||||
import com.cloud.storage.resource.StorageSubsystemCommandHandler;
|
import com.cloud.storage.resource.StorageSubsystemCommandHandler;
|
||||||
import com.cloud.storage.resource.StorageSubsystemCommandHandlerBase;
|
import com.cloud.storage.resource.StorageSubsystemCommandHandlerBase;
|
||||||
import com.cloud.template.VirtualMachineTemplate.BootloaderType;
|
import com.cloud.template.VirtualMachineTemplate.BootloaderType;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.vm.VirtualMachine;
|
import com.cloud.vm.VirtualMachine;
|
||||||
import com.cloud.vm.VirtualMachine.State;
|
import com.cloud.vm.VirtualMachine.State;
|
||||||
@ -369,7 +369,7 @@ public class Ovm3HypervisorResource extends ServerResourceBase implements Hyperv
|
|||||||
vm.setVmCpus(vmSpec.getCpus());
|
vm.setVmCpus(vmSpec.getCpus());
|
||||||
/* in mb not in bytes */
|
/* in mb not in bytes */
|
||||||
vm.setVmMemory(vmSpec.getMinRam() / 1024 / 1024);
|
vm.setVmMemory(vmSpec.getMinRam() / 1024 / 1024);
|
||||||
vm.setVmUuid(UUID.nameUUIDFromBytes(vmSpec.getName().getBytes(Charset.defaultCharset())).toString());
|
vm.setVmUuid(UuidUtils.nameUUIDFromBytes(vmSpec.getName().getBytes(Charset.defaultCharset())).toString());
|
||||||
vm.setVmName(vmName);
|
vm.setVmName(vmName);
|
||||||
|
|
||||||
String domType = guesttypes.getOvm3GuestType(vmSpec.getOs());
|
String domType = guesttypes.getOvm3GuestType(vmSpec.getOs());
|
||||||
|
|||||||
@ -17,8 +17,7 @@
|
|||||||
|
|
||||||
package com.cloud.hypervisor.ovm3.objects;
|
package com.cloud.hypervisor.ovm3.objects;
|
||||||
|
|
||||||
import java.util.UUID;
|
import com.cloud.utils.UuidUtils;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class XenTest {
|
public class XenTest {
|
||||||
@ -697,7 +696,7 @@ public class XenTest {
|
|||||||
domU.setVmCpus(1);
|
domU.setVmCpus(1);
|
||||||
domU.setVmMemory(512);
|
domU.setVmMemory(512);
|
||||||
domU.setVmDomainType("default");
|
domU.setVmDomainType("default");
|
||||||
domU.setVmUuid(UUID.nameUUIDFromBytes(VMNAME.getBytes()).toString());
|
domU.setVmUuid(UuidUtils.nameUUIDFromBytes(VMNAME.getBytes()).toString());
|
||||||
domU.setVmName(VMNAME);
|
domU.setVmName(VMNAME);
|
||||||
domU.addRootDisk(VMROOTDISK);
|
domU.addRootDisk(VMROOTDISK);
|
||||||
domU.setPrimaryPoolUuid(REPOID);
|
domU.setPrimaryPoolUuid(REPOID);
|
||||||
|
|||||||
@ -103,6 +103,7 @@ import com.cloud.storage.VMTemplateStorageResourceAssoc;
|
|||||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
import com.cloud.storage.template.TemplateProp;
|
import com.cloud.storage.template.TemplateProp;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.component.ManagerBase;
|
import com.cloud.utils.component.ManagerBase;
|
||||||
import com.cloud.utils.db.TransactionLegacy;
|
import com.cloud.utils.db.TransactionLegacy;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
@ -886,7 +887,7 @@ public class MockStorageManagerImpl extends ManagerBase implements MockStorageMa
|
|||||||
String nfsHost = uri.getHost();
|
String nfsHost = uri.getHost();
|
||||||
String nfsPath = uri.getPath();
|
String nfsPath = uri.getPath();
|
||||||
String path = nfsHost + ":" + nfsPath;
|
String path = nfsHost + ":" + nfsPath;
|
||||||
String dir = "/mnt/" + UUID.nameUUIDFromBytes(path.getBytes()).toString() + File.separator;
|
String dir = "/mnt/" + UuidUtils.nameUUIDFromBytes(path.getBytes()).toString() + File.separator;
|
||||||
|
|
||||||
storage.setUrl(url);
|
storage.setUrl(url);
|
||||||
storage.setCapacity(DEFAULT_HOST_STORAGE_SIZE);
|
storage.setCapacity(DEFAULT_HOST_STORAGE_SIZE);
|
||||||
|
|||||||
@ -22,7 +22,6 @@ import java.net.URLDecoder;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
@ -75,6 +74,7 @@ import com.cloud.template.TemplateManager;
|
|||||||
import com.cloud.user.Account;
|
import com.cloud.user.Account;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.UriUtils;
|
import com.cloud.utils.UriUtils;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.vmware.vim25.ManagedObjectReference;
|
import com.vmware.vim25.ManagedObjectReference;
|
||||||
|
|
||||||
public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer, ResourceStateAdapter {
|
public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer, ResourceStateAdapter {
|
||||||
@ -397,7 +397,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
|
|||||||
|
|
||||||
// place a place holder guid derived from cluster ID
|
// place a place holder guid derived from cluster ID
|
||||||
try{
|
try{
|
||||||
cluster.setGuid(UUID.nameUUIDFromBytes(String.valueOf(clusterId).getBytes("UTF-8")).toString());
|
cluster.setGuid(UuidUtils.nameUUIDFromBytes(String.valueOf(clusterId).getBytes("UTF-8")).toString());
|
||||||
}catch(UnsupportedEncodingException e){
|
}catch(UnsupportedEncodingException e){
|
||||||
throw new DiscoveredWithErrorException("Unable to create UUID based on string " + String.valueOf(clusterId) + ". Bad clusterId or UTF-8 encoding error.");
|
throw new DiscoveredWithErrorException("Unable to create UUID based on string " + String.valueOf(clusterId) + ". Bad clusterId or UTF-8 encoding error.");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,6 +81,7 @@ import com.cloud.storage.template.OVAProcessor;
|
|||||||
import com.cloud.utils.NumbersUtil;
|
import com.cloud.utils.NumbersUtil;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.script.Script;
|
import com.cloud.utils.script.Script;
|
||||||
import com.cloud.vm.VirtualMachine;
|
import com.cloud.vm.VirtualMachine;
|
||||||
@ -277,7 +278,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
|
|||||||
try {
|
try {
|
||||||
VmwareHypervisorHost hyperHost = hostService.getHyperHost(context, cmd);
|
VmwareHypervisorHost hyperHost = hostService.getHyperHost(context, cmd);
|
||||||
|
|
||||||
String templateUuidName = UUID.nameUUIDFromBytes((templateName + "@" + cmd.getPoolUuid() + "-" + hyperHost.getMor().getValue()).getBytes("UTF-8")).toString();
|
String templateUuidName = UuidUtils.nameUUIDFromBytes((templateName + "@" + cmd.getPoolUuid() + "-" + hyperHost.getMor().getValue()).getBytes("UTF-8")).toString();
|
||||||
// truncate template name to 32 chars to ensure they work well with vSphere API's.
|
// truncate template name to 32 chars to ensure they work well with vSphere API's.
|
||||||
templateUuidName = templateUuidName.replace("-", "");
|
templateUuidName = templateUuidName.replace("-", "");
|
||||||
|
|
||||||
|
|||||||
@ -294,6 +294,7 @@ import com.cloud.utils.NumbersUtil;
|
|||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.StringUtils;
|
import com.cloud.utils.StringUtils;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.exception.ExceptionUtil;
|
import com.cloud.utils.exception.ExceptionUtil;
|
||||||
@ -5309,7 +5310,7 @@ public class VmwareResource extends ServerResourceBase implements StoragePoolRes
|
|||||||
poolInfo.setHostPath(childPath);
|
poolInfo.setHostPath(childPath);
|
||||||
String uuid = childDsMo.getCustomFieldValue(CustomFieldConstants.CLOUD_UUID);
|
String uuid = childDsMo.getCustomFieldValue(CustomFieldConstants.CLOUD_UUID);
|
||||||
if (uuid == null || !uuid.contains("-")) {
|
if (uuid == null || !uuid.contains("-")) {
|
||||||
uuid = UUID.nameUUIDFromBytes(((pool.getHost() + childPath)).getBytes()).toString();
|
uuid = UuidUtils.nameUUIDFromBytes(((pool.getHost() + childPath)).getBytes()).toString();
|
||||||
}
|
}
|
||||||
poolInfo.setUuid(uuid);
|
poolInfo.setUuid(uuid);
|
||||||
poolInfo.setLocalPath(cmd.LOCAL_PATH_PREFIX + File.separator + uuid);
|
poolInfo.setLocalPath(cmd.LOCAL_PATH_PREFIX + File.separator + uuid);
|
||||||
@ -5544,7 +5545,7 @@ public class VmwareResource extends ServerResourceBase implements StoragePoolRes
|
|||||||
private String getSecondaryDatastoreUUID(String storeUrl) {
|
private String getSecondaryDatastoreUUID(String storeUrl) {
|
||||||
String uuid = null;
|
String uuid = null;
|
||||||
try {
|
try {
|
||||||
uuid = UUID.nameUUIDFromBytes(storeUrl.getBytes("UTF-8")).toString();
|
uuid = UuidUtils.nameUUIDFromBytes(storeUrl.getBytes("UTF-8")).toString();
|
||||||
} catch (UnsupportedEncodingException e) {
|
} catch (UnsupportedEncodingException e) {
|
||||||
logger.warn("Failed to create UUID from string " + storeUrl + ". Bad storeUrl or UTF-8 encoding error.");
|
logger.warn("Failed to create UUID from string " + storeUrl + ". Bad storeUrl or UTF-8 encoding error.");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -101,6 +101,7 @@ import com.cloud.template.TemplateManager;
|
|||||||
import com.cloud.utils.LogUtils;
|
import com.cloud.utils.LogUtils;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.script.Script;
|
import com.cloud.utils.script.Script;
|
||||||
import com.cloud.vm.VirtualMachine.PowerState;
|
import com.cloud.vm.VirtualMachine.PowerState;
|
||||||
@ -2286,7 +2287,7 @@ public class VmwareStorageProcessor implements StorageProcessor {
|
|||||||
private String getSecondaryDatastoreUUID(String storeUrl) {
|
private String getSecondaryDatastoreUUID(String storeUrl) {
|
||||||
String uuid = null;
|
String uuid = null;
|
||||||
try{
|
try{
|
||||||
uuid=UUID.nameUUIDFromBytes(storeUrl.getBytes("UTF-8")).toString();
|
uuid=UuidUtils.nameUUIDFromBytes(storeUrl.getBytes("UTF-8")).toString();
|
||||||
}catch(UnsupportedEncodingException e){
|
}catch(UnsupportedEncodingException e){
|
||||||
logger.warn("Failed to create UUID from string " + storeUrl + ". Bad storeUrl or UTF-8 encoding error." );
|
logger.warn("Failed to create UUID from string " + storeUrl + ". Bad storeUrl or UTF-8 encoding error." );
|
||||||
}
|
}
|
||||||
@ -3740,10 +3741,10 @@ public class VmwareStorageProcessor implements StorageProcessor {
|
|||||||
private String deriveTemplateUuidOnHost(VmwareHypervisorHost hyperHost, String storeIdentifier, String templateName) {
|
private String deriveTemplateUuidOnHost(VmwareHypervisorHost hyperHost, String storeIdentifier, String templateName) {
|
||||||
String templateUuid;
|
String templateUuid;
|
||||||
try {
|
try {
|
||||||
templateUuid = UUID.nameUUIDFromBytes((templateName + "@" + storeIdentifier + "-" + hyperHost.getMor().getValue()).getBytes("UTF-8")).toString();
|
templateUuid = UuidUtils.nameUUIDFromBytes((templateName + "@" + storeIdentifier + "-" + hyperHost.getMor().getValue()).getBytes("UTF-8")).toString();
|
||||||
} catch(UnsupportedEncodingException e){
|
} catch(UnsupportedEncodingException e){
|
||||||
logger.warn("unexpected encoding error, using default Charset: " + e.getLocalizedMessage());
|
logger.warn("unexpected encoding error, using default Charset: " + e.getLocalizedMessage());
|
||||||
templateUuid = UUID.nameUUIDFromBytes((templateName + "@" + storeIdentifier + "-" + hyperHost.getMor().getValue()).getBytes(Charset.defaultCharset()))
|
templateUuid = UuidUtils.nameUUIDFromBytes((templateName + "@" + storeIdentifier + "-" + hyperHost.getMor().getValue()).getBytes(Charset.defaultCharset()))
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
templateUuid = templateUuid.replaceAll("-", "");
|
templateUuid = templateUuid.replaceAll("-", "");
|
||||||
|
|||||||
@ -142,6 +142,7 @@ import com.cloud.utils.Pair;
|
|||||||
import com.cloud.utils.PropertiesUtil;
|
import com.cloud.utils.PropertiesUtil;
|
||||||
import com.cloud.utils.StringUtils;
|
import com.cloud.utils.StringUtils;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.net.NetUtils;
|
import com.cloud.utils.net.NetUtils;
|
||||||
import com.cloud.utils.script.Script;
|
import com.cloud.utils.script.Script;
|
||||||
@ -1047,7 +1048,7 @@ public abstract class CitrixResourceBase extends ServerResourceBase implements S
|
|||||||
path = path.replace("//", "/");
|
path = path.replace("//", "/");
|
||||||
deviceConfig.put("server", uri.getHost());
|
deviceConfig.put("server", uri.getHost());
|
||||||
deviceConfig.put("serverpath", path);
|
deviceConfig.put("serverpath", path);
|
||||||
final String name = UUID.nameUUIDFromBytes((uri.getHost() + path).getBytes()).toString();
|
final String name = UuidUtils.nameUUIDFromBytes((uri.getHost() + path).getBytes()).toString();
|
||||||
if (!shared) {
|
if (!shared) {
|
||||||
final Set<SR> srs = SR.getByNameLabel(conn, name);
|
final Set<SR> srs = SR.getByNameLabel(conn, name);
|
||||||
for (final SR sr : srs) {
|
for (final SR sr : srs) {
|
||||||
@ -5763,7 +5764,7 @@ public abstract class CitrixResourceBase extends ServerResourceBase implements S
|
|||||||
try {
|
try {
|
||||||
URI uri = new URI(secondaryStorageUrl);
|
URI uri = new URI(secondaryStorageUrl);
|
||||||
secondaryStorageMountPath = uri.getHost() + ":" + uri.getPath();
|
secondaryStorageMountPath = uri.getHost() + ":" + uri.getPath();
|
||||||
localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(secondaryStorageMountPath.getBytes());
|
localDir = BASE_MOUNT_POINT_ON_REMOTE + UuidUtils.nameUUIDFromBytes(secondaryStorageMountPath.getBytes());
|
||||||
String mountPoint = mountNfs(conn, secondaryStorageMountPath, localDir, nfsVersion);
|
String mountPoint = mountNfs(conn, secondaryStorageMountPath, localDir, nfsVersion);
|
||||||
if (StringUtils.isBlank(mountPoint)) {
|
if (StringUtils.isBlank(mountPoint)) {
|
||||||
return new CopyToSecondaryStorageAnswer(cmd, false, "Could not mount secondary storage " + secondaryStorageMountPath + " on host " + localDir);
|
return new CopyToSecondaryStorageAnswer(cmd, false, "Could not mount secondary storage " + secondaryStorageMountPath + " on host " + localDir);
|
||||||
@ -5793,7 +5794,7 @@ public abstract class CitrixResourceBase extends ServerResourceBase implements S
|
|||||||
|
|
||||||
private String mountNfs(Connection conn, String remoteDir, String localDir, String nfsVersion) {
|
private String mountNfs(Connection conn, String remoteDir, String localDir, String nfsVersion) {
|
||||||
if (localDir == null) {
|
if (localDir == null) {
|
||||||
localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(remoteDir.getBytes());
|
localDir = BASE_MOUNT_POINT_ON_REMOTE + UuidUtils.nameUUIDFromBytes(remoteDir.getBytes());
|
||||||
}
|
}
|
||||||
return callHostPlugin(conn, "cloud-plugin-storage", "mountNfsSecondaryStorage", "localDir", localDir, "remoteDir", remoteDir, "nfsVersion", nfsVersion);
|
return callHostPlugin(conn, "cloud-plugin-storage", "mountNfsSecondaryStorage", "localDir", localDir, "remoteDir", remoteDir, "nfsVersion", nfsVersion);
|
||||||
}
|
}
|
||||||
@ -5801,7 +5802,7 @@ public abstract class CitrixResourceBase extends ServerResourceBase implements S
|
|||||||
// Unmount secondary storage from host
|
// Unmount secondary storage from host
|
||||||
private void umountNfs(Connection conn, String remoteDir, String localDir) {
|
private void umountNfs(Connection conn, String remoteDir, String localDir) {
|
||||||
if (localDir == null) {
|
if (localDir == null) {
|
||||||
localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(remoteDir.getBytes());
|
localDir = BASE_MOUNT_POINT_ON_REMOTE + UuidUtils.nameUUIDFromBytes(remoteDir.getBytes());
|
||||||
}
|
}
|
||||||
String result = callHostPlugin(conn, "cloud-plugin-storage", "umountNfsSecondaryStorage", "localDir", localDir, "remoteDir", remoteDir);
|
String result = callHostPlugin(conn, "cloud-plugin-storage", "umountNfsSecondaryStorage", "localDir", localDir, "remoteDir", remoteDir);
|
||||||
if (StringUtils.isBlank(result)) {
|
if (StringUtils.isBlank(result)) {
|
||||||
|
|||||||
@ -77,6 +77,7 @@ import com.cloud.storage.DataStoreRole;
|
|||||||
import com.cloud.storage.Storage;
|
import com.cloud.storage.Storage;
|
||||||
import com.cloud.storage.Storage.ImageFormat;
|
import com.cloud.storage.Storage.ImageFormat;
|
||||||
import com.cloud.storage.resource.StorageProcessor;
|
import com.cloud.storage.resource.StorageProcessor;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.storage.S3.ClientOptions;
|
import com.cloud.utils.storage.S3.ClientOptions;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
@ -1255,7 +1256,7 @@ public class XenServerStorageProcessor implements StorageProcessor {
|
|||||||
final String folder = destPath;
|
final String folder = destPath;
|
||||||
String finalPath = null;
|
String finalPath = null;
|
||||||
|
|
||||||
final String localMountPoint = BaseMountPointOnHost + File.separator + UUID.nameUUIDFromBytes(secondaryStorageUrl.getBytes()).toString();
|
final String localMountPoint = BaseMountPointOnHost + File.separator + UuidUtils.nameUUIDFromBytes(secondaryStorageUrl.getBytes()).toString();
|
||||||
if (fullbackup) {
|
if (fullbackup) {
|
||||||
// the first snapshot is always a full snapshot
|
// the first snapshot is always a full snapshot
|
||||||
|
|
||||||
|
|||||||
@ -51,6 +51,7 @@ import com.cloud.agent.api.to.SwiftTO;
|
|||||||
import com.cloud.exception.InternalErrorException;
|
import com.cloud.exception.InternalErrorException;
|
||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
import com.cloud.storage.Storage;
|
import com.cloud.storage.Storage;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.xensource.xenapi.Connection;
|
import com.xensource.xenapi.Connection;
|
||||||
import com.xensource.xenapi.Host;
|
import com.xensource.xenapi.Host;
|
||||||
@ -73,7 +74,7 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor {
|
|||||||
|
|
||||||
private void mountNfs(Connection conn, String remoteDir, String localDir, String nfsVersion) {
|
private void mountNfs(Connection conn, String remoteDir, String localDir, String nfsVersion) {
|
||||||
if (localDir == null) {
|
if (localDir == null) {
|
||||||
localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(remoteDir.getBytes());
|
localDir = BASE_MOUNT_POINT_ON_REMOTE + UuidUtils.nameUUIDFromBytes(remoteDir.getBytes());
|
||||||
}
|
}
|
||||||
String result = hypervisorResource.callHostPluginAsync(conn, "cloud-plugin-storage", "mountNfsSecondaryStorage", 100 * 1000, "localDir", localDir, "remoteDir", remoteDir, "nfsVersion", nfsVersion);
|
String result = hypervisorResource.callHostPluginAsync(conn, "cloud-plugin-storage", "mountNfsSecondaryStorage", 100 * 1000, "localDir", localDir, "remoteDir", remoteDir, "nfsVersion", nfsVersion);
|
||||||
if (StringUtils.isBlank(result)) {
|
if (StringUtils.isBlank(result)) {
|
||||||
@ -110,7 +111,7 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new file SR for the given path. If any of XenServer's checked exception occurs, we use method {@link #removeSrAndPbdIfPossible(Connection, SR, PBD)} to clean the created PBD and SR entries.
|
* Creates a new file SR for the given path. If any of XenServer's checked exception occurs, we use method {@link #removeSrAndPbdIfPossible(Connection, SR, PBD)} to clean the created PBD and SR entries.
|
||||||
* To avoid race conditions between management servers, we are using a deterministic srUuid for the file SR to be created (we are leaving XenServer with the burden of managing race conditions). The UUID is based on the SR file path, and is generated using {@link UUID#nameUUIDFromBytes(byte[])}.
|
* To avoid race conditions between management servers, we are using a deterministic srUuid for the file SR to be created (we are leaving XenServer with the burden of managing race conditions). The UUID is based on the SR file path, and is generated using {@link UuidUtils.nameUUIDFromBytes(byte[])}.
|
||||||
* If there is an SR with the generated UUID, this means that some other management server has just created it. An exception will occur and this exception will be an {@link InternalError}. The exception will contain {@link InternalError#message} a message saying 'Db_exn.Uniqueness_constraint_violation'.
|
* If there is an SR with the generated UUID, this means that some other management server has just created it. An exception will occur and this exception will be an {@link InternalError}. The exception will contain {@link InternalError#message} a message saying 'Db_exn.Uniqueness_constraint_violation'.
|
||||||
* For cases where the previous described error happens, we catch the exception and use the method {@link #retrieveAlreadyConfiguredSrWithoutException(Connection, String)}.
|
* For cases where the previous described error happens, we catch the exception and use the method {@link #retrieveAlreadyConfiguredSrWithoutException(Connection, String)}.
|
||||||
*/
|
*/
|
||||||
@ -121,7 +122,7 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor {
|
|||||||
PBD pbd = null;
|
PBD pbd = null;
|
||||||
try {
|
try {
|
||||||
Host host = Host.getByUuid(conn, hostUuid);
|
Host host = Host.getByUuid(conn, hostUuid);
|
||||||
String srUuid = UUID.nameUUIDFromBytes(srPath.getBytes()).toString();
|
String srUuid = UuidUtils.nameUUIDFromBytes(srPath.getBytes()).toString();
|
||||||
|
|
||||||
Map<String, String> smConfig = new HashMap<String, String>();
|
Map<String, String> smConfig = new HashMap<String, String>();
|
||||||
sr = SR.introduce(conn, srUuid, srPath, srPath, "file", "file", false, smConfig);
|
sr = SR.introduce(conn, srUuid, srPath, srPath, "file", "file", false, smConfig);
|
||||||
@ -243,7 +244,7 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected SR createFileSr(Connection conn, String remotePath, String dir, String nfsVersion) {
|
protected SR createFileSr(Connection conn, String remotePath, String dir, String nfsVersion) {
|
||||||
String localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(remotePath.getBytes());
|
String localDir = BASE_MOUNT_POINT_ON_REMOTE + UuidUtils.nameUUIDFromBytes(remotePath.getBytes());
|
||||||
mountNfs(conn, remotePath, localDir, nfsVersion);
|
mountNfs(conn, remotePath, localDir, nfsVersion);
|
||||||
return createFileSR(conn, localDir + "/" + dir);
|
return createFileSR(conn, localDir + "/" + dir);
|
||||||
}
|
}
|
||||||
@ -563,12 +564,12 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor {
|
|||||||
final String folder = destPath;
|
final String folder = destPath;
|
||||||
String finalPath = null;
|
String finalPath = null;
|
||||||
|
|
||||||
final String localMountPoint = BaseMountPointOnHost + File.separator + UUID.nameUUIDFromBytes(secondaryStorageUrl.getBytes()).toString();
|
final String localMountPoint = BaseMountPointOnHost + File.separator + UuidUtils.nameUUIDFromBytes(secondaryStorageUrl.getBytes()).toString();
|
||||||
if (fullbackup) {
|
if (fullbackup) {
|
||||||
SR snapshotSr = null;
|
SR snapshotSr = null;
|
||||||
Task task = null;
|
Task task = null;
|
||||||
try {
|
try {
|
||||||
final String localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(secondaryStorageMountPath.getBytes());
|
final String localDir = BASE_MOUNT_POINT_ON_REMOTE + UuidUtils.nameUUIDFromBytes(secondaryStorageMountPath.getBytes());
|
||||||
mountNfs(conn, secondaryStorageMountPath, localDir, nfsVersion);
|
mountNfs(conn, secondaryStorageMountPath, localDir, nfsVersion);
|
||||||
final boolean result = makeDirectory(conn, localDir + "/" + folder);
|
final boolean result = makeDirectory(conn, localDir + "/" + folder);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
@ -1097,7 +1098,7 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor {
|
|||||||
srcSr = createFileSr(conn, srcUri.getHost() + ":" + srcUri.getPath(), srcDir, srcNfsVersion);
|
srcSr = createFileSr(conn, srcUri.getHost() + ":" + srcUri.getPath(), srcDir, srcNfsVersion);
|
||||||
|
|
||||||
final String destNfsPath = destUri.getHost() + ":" + destUri.getPath();
|
final String destNfsPath = destUri.getHost() + ":" + destUri.getPath();
|
||||||
final String localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(destNfsPath.getBytes());
|
final String localDir = BASE_MOUNT_POINT_ON_REMOTE + UuidUtils.nameUUIDFromBytes(destNfsPath.getBytes());
|
||||||
|
|
||||||
String destNfsVersion = destStore.getNfsVersion();
|
String destNfsVersion = destStore.getNfsVersion();
|
||||||
mountNfs(conn, destUri.getHost() + ":" + destUri.getPath(), localDir, destNfsVersion);
|
mountNfs(conn, destUri.getHost() + ":" + destUri.getPath(), localDir, destNfsVersion);
|
||||||
@ -1240,7 +1241,7 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor {
|
|||||||
srcSr = hypervisorResource.getIscsiSR(conn, iScsiName, storageHost, iScsiName, chapInitiatorUsername, chapInitiatorSecret, false, srType, true);
|
srcSr = hypervisorResource.getIscsiSR(conn, iScsiName, storageHost, iScsiName, chapInitiatorUsername, chapInitiatorSecret, false, srType, true);
|
||||||
|
|
||||||
final String destNfsPath = destUri.getHost() + ":" + destUri.getPath();
|
final String destNfsPath = destUri.getHost() + ":" + destUri.getPath();
|
||||||
final String localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(destNfsPath.getBytes());
|
final String localDir = BASE_MOUNT_POINT_ON_REMOTE + UuidUtils.nameUUIDFromBytes(destNfsPath.getBytes());
|
||||||
|
|
||||||
String nfsVersion = destStore.getNfsVersion();
|
String nfsVersion = destStore.getNfsVersion();
|
||||||
mountNfs(conn, destNfsPath, localDir, nfsVersion);
|
mountNfs(conn, destNfsPath, localDir, nfsVersion);
|
||||||
|
|||||||
@ -26,7 +26,6 @@ import static org.mockito.Mockito.times;
|
|||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.xmlrpc.XmlRpcException;
|
import org.apache.xmlrpc.XmlRpcException;
|
||||||
@ -41,6 +40,7 @@ import org.mockito.MockedStatic;
|
|||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
import org.mockito.junit.MockitoJUnitRunner;
|
import org.mockito.junit.MockitoJUnitRunner;
|
||||||
|
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.xensource.xenapi.Connection;
|
import com.xensource.xenapi.Connection;
|
||||||
import com.xensource.xenapi.Host;
|
import com.xensource.xenapi.Host;
|
||||||
@ -310,7 +310,7 @@ public class Xenserver625StorageProcessorTest {
|
|||||||
String uuid = "hostUuid";
|
String uuid = "hostUuid";
|
||||||
Mockito.when(citrixResourceBase._host.getUuid()).thenReturn(uuid);
|
Mockito.when(citrixResourceBase._host.getUuid()).thenReturn(uuid);
|
||||||
|
|
||||||
String srUuid = UUID.nameUUIDFromBytes(pathMock.getBytes()).toString();
|
String srUuid = UuidUtils.nameUUIDFromBytes(pathMock.getBytes()).toString();
|
||||||
|
|
||||||
Host hostMock = Mockito.mock(Host.class);
|
Host hostMock = Mockito.mock(Host.class);
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ public class Xenserver625StorageProcessorTest {
|
|||||||
|
|
||||||
SR srMock = Mockito.mock(SR.class);
|
SR srMock = Mockito.mock(SR.class);
|
||||||
Mockito.doReturn(srMock).when(xenserver625StorageProcessor).retrieveAlreadyConfiguredSrWithoutException(connectionMock, pathMock);
|
Mockito.doReturn(srMock).when(xenserver625StorageProcessor).retrieveAlreadyConfiguredSrWithoutException(connectionMock, pathMock);
|
||||||
String srUuid = UUID.nameUUIDFromBytes(pathMock.getBytes()).toString();
|
String srUuid = UuidUtils.nameUUIDFromBytes(pathMock.getBytes()).toString();
|
||||||
|
|
||||||
Host hostMock = Mockito.mock(Host.class);
|
Host hostMock = Mockito.mock(Host.class);
|
||||||
|
|
||||||
@ -368,7 +368,7 @@ public class Xenserver625StorageProcessorTest {
|
|||||||
Mockito.when(citrixResourceBase._host.getUuid()).thenReturn(uuid);
|
Mockito.when(citrixResourceBase._host.getUuid()).thenReturn(uuid);
|
||||||
|
|
||||||
SR srMock = Mockito.mock(SR.class);
|
SR srMock = Mockito.mock(SR.class);
|
||||||
String srUuid = UUID.nameUUIDFromBytes(pathMock.getBytes()).toString();
|
String srUuid = UuidUtils.nameUUIDFromBytes(pathMock.getBytes()).toString();
|
||||||
|
|
||||||
Host hostMock = Mockito.mock(Host.class);
|
Host hostMock = Mockito.mock(Host.class);
|
||||||
|
|
||||||
|
|||||||
@ -69,6 +69,7 @@ import com.cloud.storage.dao.VolumeDao;
|
|||||||
import com.cloud.user.dao.UserDao;
|
import com.cloud.user.dao.UserDao;
|
||||||
import com.cloud.utils.NumbersUtil;
|
import com.cloud.utils.NumbersUtil;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.vm.VirtualMachineManager;
|
import com.cloud.vm.VirtualMachineManager;
|
||||||
@ -309,7 +310,7 @@ public class CloudStackPrimaryDataStoreLifeCycleImpl extends BasePrimaryDataStor
|
|||||||
} else if ("PreSetup".equalsIgnoreCase(scheme) && !HypervisorType.VMware.equals(hypervisorType)) {
|
} else if ("PreSetup".equalsIgnoreCase(scheme) && !HypervisorType.VMware.equals(hypervisorType)) {
|
||||||
uuid = hostPath.replace("/", "");
|
uuid = hostPath.replace("/", "");
|
||||||
} else {
|
} else {
|
||||||
uuid = UUID.nameUUIDFromBytes((storageHost + hostPath).getBytes()).toString();
|
uuid = UuidUtils.nameUUIDFromBytes((storageHost + hostPath).getBytes()).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<StoragePoolVO> spHandles = primaryDataStoreDao.findIfDuplicatePoolsExistByUUID(uuid);
|
List<StoragePoolVO> spHandles = primaryDataStoreDao.findIfDuplicatePoolsExistByUUID(uuid);
|
||||||
|
|||||||
@ -43,7 +43,6 @@ import java.util.Map.Entry;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -293,6 +292,7 @@ import com.cloud.utils.NumbersUtil;
|
|||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
import com.cloud.utils.UriUtils;
|
import com.cloud.utils.UriUtils;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.component.ManagerBase;
|
import com.cloud.utils.component.ManagerBase;
|
||||||
import com.cloud.utils.crypt.DBEncryptionUtil;
|
import com.cloud.utils.crypt.DBEncryptionUtil;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
@ -3106,7 +3106,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
|
|||||||
checkZoneParameters(zoneName, dns1, dns2, internalDns1, internalDns2, true, domainId, allocationStateStr, ip6Dns1, ip6Dns2);
|
checkZoneParameters(zoneName, dns1, dns2, internalDns1, internalDns2, true, domainId, allocationStateStr, ip6Dns1, ip6Dns2);
|
||||||
|
|
||||||
final byte[] bytes = (zoneName + System.currentTimeMillis()).getBytes();
|
final byte[] bytes = (zoneName + System.currentTimeMillis()).getBytes();
|
||||||
final String zoneToken = UUID.nameUUIDFromBytes(bytes).toString();
|
final String zoneToken = UuidUtils.nameUUIDFromBytes(bytes).toString();
|
||||||
|
|
||||||
// Create the new zone in the database
|
// Create the new zone in the database
|
||||||
final DataCenterVO zoneFinal = new DataCenterVO(zoneName, null, dns1, dns2, internalDns1, internalDns2, guestCidr, domain, domainId, zoneType, zoneToken, networkDomain,
|
final DataCenterVO zoneFinal = new DataCenterVO(zoneName, null, dns1, dns2, internalDns1, internalDns2, guestCidr, domain, domainId, zoneType, zoneToken, networkDomain,
|
||||||
|
|||||||
@ -26,7 +26,6 @@ import java.util.HashMap;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
@ -69,6 +68,7 @@ import com.cloud.resource.ServerResource;
|
|||||||
import com.cloud.resource.UnableDeleteHostException;
|
import com.cloud.resource.UnableDeleteHostException;
|
||||||
import com.cloud.utils.PasswordGenerator;
|
import com.cloud.utils.PasswordGenerator;
|
||||||
import com.cloud.utils.StringUtils;
|
import com.cloud.utils.StringUtils;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.ssh.SSHCmdHelper;
|
import com.cloud.utils.ssh.SSHCmdHelper;
|
||||||
import com.trilead.ssh2.Connection;
|
import com.trilead.ssh2.Connection;
|
||||||
@ -241,7 +241,7 @@ public abstract class LibvirtServerDiscoverer extends DiscovererBase implements
|
|||||||
|
|
||||||
// Set cluster GUID based on cluster ID if null
|
// Set cluster GUID based on cluster ID if null
|
||||||
if (cluster.getGuid() == null) {
|
if (cluster.getGuid() == null) {
|
||||||
cluster.setGuid(UUID.nameUUIDFromBytes(String.valueOf(clusterId).getBytes()).toString());
|
cluster.setGuid(UuidUtils.nameUUIDFromBytes(String.valueOf(clusterId).getBytes()).toString());
|
||||||
_clusterDao.update(clusterId, cluster);
|
_clusterDao.update(clusterId, cluster);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -259,7 +259,7 @@ public abstract class LibvirtServerDiscoverer extends DiscovererBase implements
|
|||||||
String hostname = uri.getHost();
|
String hostname = uri.getHost();
|
||||||
InetAddress ia = InetAddress.getByName(hostname);
|
InetAddress ia = InetAddress.getByName(hostname);
|
||||||
agentIp = ia.getHostAddress();
|
agentIp = ia.getHostAddress();
|
||||||
String guid = UUID.nameUUIDFromBytes(agentIp.getBytes()).toString();
|
String guid = UuidUtils.nameUUIDFromBytes(agentIp.getBytes()).toString();
|
||||||
|
|
||||||
List<HostVO> existingHosts = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.Routing, dcId);
|
List<HostVO> existingHosts = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.Routing, dcId);
|
||||||
if (existingHosts != null) {
|
if (existingHosts != null) {
|
||||||
|
|||||||
@ -57,6 +57,7 @@ import com.cloud.storage.Storage.ProvisioningType;
|
|||||||
import com.cloud.storage.dao.DiskOfferingDaoImpl;
|
import com.cloud.storage.dao.DiskOfferingDaoImpl;
|
||||||
import com.cloud.utils.DateUtil;
|
import com.cloud.utils.DateUtil;
|
||||||
import com.cloud.utils.PropertiesUtil;
|
import com.cloud.utils.PropertiesUtil;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.component.ComponentContext;
|
import com.cloud.utils.component.ComponentContext;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
@ -609,7 +610,7 @@ public class DatabaseConfig {
|
|||||||
String hostAddress = _currentObjectParams.get("hostAddress");
|
String hostAddress = _currentObjectParams.get("hostAddress");
|
||||||
String hostPath = _currentObjectParams.get("hostPath");
|
String hostPath = _currentObjectParams.get("hostPath");
|
||||||
String storageType = _currentObjectParams.get("storageType");
|
String storageType = _currentObjectParams.get("storageType");
|
||||||
String uuid = UUID.nameUUIDFromBytes(new String(hostAddress + hostPath).getBytes()).toString();
|
String uuid = UuidUtils.nameUUIDFromBytes(new String(hostAddress + hostPath).getBytes()).toString();
|
||||||
|
|
||||||
String insertSql1 =
|
String insertSql1 =
|
||||||
"INSERT INTO `storage_pool` (`id`, `name`, `uuid` , `pool_type` , `port`, `data_center_id` ,`available_bytes` , `capacity_bytes` ,`host_address`, `path`, `created`, `pod_id`,`status` , `cluster_id`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
"INSERT INTO `storage_pool` (`id`, `name`, `uuid` , `pool_type` , `port`, `data_center_id` ,`available_bytes` , `capacity_bytes` ,`host_address`, `path`, `created`, `pod_id`,`status` , `cluster_id`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
||||||
|
|||||||
@ -176,6 +176,7 @@ import com.cloud.utils.ConstantTimeComparator;
|
|||||||
import com.cloud.utils.NumbersUtil;
|
import com.cloud.utils.NumbersUtil;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.component.ComponentContext;
|
import com.cloud.utils.component.ComponentContext;
|
||||||
import com.cloud.utils.component.Manager;
|
import com.cloud.utils.component.Manager;
|
||||||
import com.cloud.utils.component.ManagerBase;
|
import com.cloud.utils.component.ManagerBase;
|
||||||
@ -1365,7 +1366,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
|
|||||||
if (accountType == Account.Type.RESOURCE_DOMAIN_ADMIN) {
|
if (accountType == Account.Type.RESOURCE_DOMAIN_ADMIN) {
|
||||||
// set registration token
|
// set registration token
|
||||||
byte[] bytes = (domainIdFinal + accountNameFinal + userName + System.currentTimeMillis()).getBytes();
|
byte[] bytes = (domainIdFinal + accountNameFinal + userName + System.currentTimeMillis()).getBytes();
|
||||||
String registrationToken = UUID.nameUUIDFromBytes(bytes).toString();
|
String registrationToken = UuidUtils.nameUUIDFromBytes(bytes).toString();
|
||||||
user.setRegistrationToken(registrationToken);
|
user.setRegistrationToken(registrationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -172,6 +172,7 @@ import com.cloud.utils.NumbersUtil;
|
|||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.StringUtils;
|
import com.cloud.utils.StringUtils;
|
||||||
import com.cloud.utils.SwiftUtil;
|
import com.cloud.utils.SwiftUtil;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.net.NetUtils;
|
import com.cloud.utils.net.NetUtils;
|
||||||
import com.cloud.utils.script.OutputInterpreter;
|
import com.cloud.utils.script.OutputInterpreter;
|
||||||
@ -671,7 +672,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String getSecondaryDatastoreUUID(String storeUrl) {
|
public static String getSecondaryDatastoreUUID(String storeUrl) {
|
||||||
return UUID.nameUUIDFromBytes(storeUrl.getBytes()).toString();
|
return UuidUtils.nameUUIDFromBytes(storeUrl.getBytes()).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getTemplateRelativeDirInSecStorage(long accountId, long templateId) {
|
private static String getTemplateRelativeDirInSecStorage(long accountId, long templateId) {
|
||||||
@ -3029,7 +3030,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S
|
|||||||
String nfsPath = uriHostIp + ":" + uri.getPath();
|
String nfsPath = uriHostIp + ":" + uri.getPath();
|
||||||
|
|
||||||
// Single means of calculating mount directory regardless of scheme
|
// Single means of calculating mount directory regardless of scheme
|
||||||
String dir = UUID.nameUUIDFromBytes(nfsPath.getBytes(com.cloud.utils.StringUtils.getPreferredCharset())).toString();
|
String dir = UuidUtils.nameUUIDFromBytes(nfsPath.getBytes(com.cloud.utils.StringUtils.getPreferredCharset())).toString();
|
||||||
String localRootPath = _parent + "/" + dir;
|
String localRootPath = _parent + "/" + dir;
|
||||||
|
|
||||||
// remote device syntax varies by scheme.
|
// remote device syntax varies by scheme.
|
||||||
@ -3481,7 +3482,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S
|
|||||||
templateName = uploadEntity.getUuid().trim().replace(" ", "_");
|
templateName = uploadEntity.getUuid().trim().replace(" ", "_");
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
templateName = UUID.nameUUIDFromBytes((uploadEntity.getFilename() + System.currentTimeMillis()).getBytes("UTF-8")).toString();
|
templateName = UuidUtils.nameUUIDFromBytes((uploadEntity.getFilename() + System.currentTimeMillis()).getBytes("UTF-8")).toString();
|
||||||
} catch (UnsupportedEncodingException e) {
|
} catch (UnsupportedEncodingException e) {
|
||||||
templateName = uploadEntity.getUuid().trim().replace(" ", "_");
|
templateName = uploadEntity.getUuid().trim().replace(" ", "_");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -86,6 +86,7 @@ import com.cloud.storage.template.TemplateProp;
|
|||||||
import com.cloud.storage.template.VhdProcessor;
|
import com.cloud.storage.template.VhdProcessor;
|
||||||
import com.cloud.storage.template.VmdkProcessor;
|
import com.cloud.storage.template.VmdkProcessor;
|
||||||
import com.cloud.utils.NumbersUtil;
|
import com.cloud.utils.NumbersUtil;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.component.ManagerBase;
|
import com.cloud.utils.component.ManagerBase;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.net.Proxy;
|
import com.cloud.utils.net.Proxy;
|
||||||
@ -595,7 +596,7 @@ public class DownloadManagerImpl extends ManagerBase implements DownloadManager
|
|||||||
if (extension.equals("iso")) {
|
if (extension.equals("iso")) {
|
||||||
templateName = jobs.get(jobId).getTmpltName().trim().replace(" ", "_");
|
templateName = jobs.get(jobId).getTmpltName().trim().replace(" ", "_");
|
||||||
} else {
|
} else {
|
||||||
templateName = UUID.nameUUIDFromBytes((jobs.get(jobId).getTmpltName() + System.currentTimeMillis()).getBytes(com.cloud.utils.StringUtils.getPreferredCharset())).toString();
|
templateName = UuidUtils.nameUUIDFromBytes((jobs.get(jobId).getTmpltName() + System.currentTimeMillis()).getBytes(com.cloud.utils.StringUtils.getPreferredCharset())).toString();
|
||||||
}
|
}
|
||||||
return templateName;
|
return templateName;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,6 +22,8 @@ package com.cloud.utils;
|
|||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import org.apache.xerces.impl.xpath.regex.RegularExpression;
|
import org.apache.xerces.impl.xpath.regex.RegularExpression;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class UuidUtils {
|
public class UuidUtils {
|
||||||
|
|
||||||
private static final RegularExpression uuidRegex = new RegularExpression("[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}");
|
private static final RegularExpression uuidRegex = new RegularExpression("[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}");
|
||||||
@ -64,4 +66,9 @@ public class UuidUtils {
|
|||||||
public static RegularExpression getUuidRegex() {
|
public static RegularExpression getUuidRegex() {
|
||||||
return uuidRegex;
|
return uuidRegex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static UUID nameUUIDFromBytes(byte[] name) {
|
||||||
|
return UUID.nameUUIDFromBytes(name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,6 +65,7 @@ import com.cloud.utils.ActionDelegate;
|
|||||||
import com.cloud.utils.LogUtils;
|
import com.cloud.utils.LogUtils;
|
||||||
import com.cloud.utils.NumbersUtil;
|
import com.cloud.utils.NumbersUtil;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
|
import com.cloud.utils.UuidUtils;
|
||||||
import com.cloud.utils.cisco.n1kv.vsm.NetconfHelper;
|
import com.cloud.utils.cisco.n1kv.vsm.NetconfHelper;
|
||||||
import com.cloud.utils.cisco.n1kv.vsm.PolicyMap;
|
import com.cloud.utils.cisco.n1kv.vsm.PolicyMap;
|
||||||
import com.cloud.utils.cisco.n1kv.vsm.PortProfile;
|
import com.cloud.utils.cisco.n1kv.vsm.PortProfile;
|
||||||
@ -249,7 +250,7 @@ public class HypervisorHostHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String getSecondaryDatastoreUUID(String storeUrl) {
|
public static String getSecondaryDatastoreUUID(String storeUrl) {
|
||||||
return UUID.nameUUIDFromBytes(storeUrl.getBytes()).toString();
|
return UuidUtils.nameUUIDFromBytes(storeUrl.getBytes()).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DatastoreMO getHyperHostDatastoreMO(VmwareHypervisorHost hyperHost, String datastoreName) throws Exception {
|
public static DatastoreMO getHyperHostDatastoreMO(VmwareHypervisorHost hyperHost, String datastoreName) throws Exception {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user