mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CS-14521
Remove CLVM, due to license issue
This commit is contained in:
parent
9fa63cfe61
commit
bafc3f2a5a
@ -2618,10 +2618,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements
|
||||
}
|
||||
} else {
|
||||
int devId = (int) volume.getDeviceId();
|
||||
if (pool.getType() == StoragePoolType.CLVM) {
|
||||
disk.defBlockBasedDisk(physicalDisk.getPath(), devId,
|
||||
diskBusType);
|
||||
} else {
|
||||
|
||||
if (volume.getType() == Volume.Type.DATADISK) {
|
||||
disk.defFileBasedDisk(physicalDisk.getPath(), devId,
|
||||
DiskDef.diskBus.VIRTIO,
|
||||
@ -2630,7 +2627,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements
|
||||
disk.defFileBasedDisk(physicalDisk.getPath(), devId,
|
||||
diskBusType, DiskDef.diskFmtType.QCOW2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
vm.getDevices().addDevice(disk);
|
||||
@ -2682,12 +2679,10 @@ public class LibvirtComputingResource extends ServerResourceBase implements
|
||||
|
||||
/* add patch disk */
|
||||
DiskDef patchDisk = new DiskDef();
|
||||
if (pool.getType() == StoragePoolType.CLVM) {
|
||||
patchDisk.defBlockBasedDisk(datadiskPath, 1, rootDisk.getBusType());
|
||||
} else {
|
||||
|
||||
patchDisk.defFileBasedDisk(datadiskPath, 1, rootDisk.getBusType(),
|
||||
DiskDef.diskFmtType.RAW);
|
||||
}
|
||||
|
||||
disks.add(patchDisk);
|
||||
|
||||
String bootArgs = vmSpec.getBootArgs();
|
||||
|
||||
@ -71,16 +71,10 @@ public class KVMStoragePoolManager {
|
||||
|
||||
public KVMPhysicalDisk createDiskFromTemplate(KVMPhysicalDisk template,
|
||||
String name, KVMStoragePool destPool) {
|
||||
if (destPool.getType() == StoragePoolType.CLVM) {
|
||||
return this._storageAdaptor.createDiskFromTemplate(template, name,
|
||||
KVMPhysicalDisk.PhysicalDiskFormat.RAW, template.getSize(),
|
||||
destPool);
|
||||
} else {
|
||||
return this._storageAdaptor.createDiskFromTemplate(template, name,
|
||||
KVMPhysicalDisk.PhysicalDiskFormat.QCOW2,
|
||||
template.getSize(), destPool);
|
||||
}
|
||||
}
|
||||
|
||||
public KVMPhysicalDisk createTemplateFromDisk(KVMPhysicalDisk disk,
|
||||
String name, PhysicalDiskFormat format, long size,
|
||||
|
||||
@ -418,19 +418,11 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
|
||||
if (spd.getPoolType() == LibvirtStoragePoolDef.poolType.NETFS
|
||||
|| spd.getPoolType() == LibvirtStoragePoolDef.poolType.DIR) {
|
||||
type = StoragePoolType.Filesystem;
|
||||
} else if (spd.getPoolType() == LibvirtStoragePoolDef.poolType.LOGICAL) {
|
||||
type = StoragePoolType.CLVM;
|
||||
}
|
||||
LibvirtStoragePool pool = new LibvirtStoragePool(uuid,
|
||||
storage.getName(), type, this, storage);
|
||||
pool.setLocalPath(spd.getTargetPath());
|
||||
|
||||
if (pool.getType() == StoragePoolType.CLVM) {
|
||||
pool.setCapacity(storage.getInfo().capacity);
|
||||
pool.setUsed(storage.getInfo().allocation);
|
||||
} else {
|
||||
getStats(pool);
|
||||
}
|
||||
return pool;
|
||||
} catch (LibvirtException e) {
|
||||
throw new CloudRuntimeException(e.toString());
|
||||
@ -491,8 +483,6 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
|
||||
} else if (type == StoragePoolType.SharedMountPoint
|
||||
|| type == StoragePoolType.Filesystem) {
|
||||
sp = CreateSharedStoragePool(conn, name, host, path);
|
||||
} else if (type == StoragePoolType.CLVM) {
|
||||
sp = createCLVMStoragePool(conn, name, host, path);
|
||||
}
|
||||
}
|
||||
|
||||
@ -507,12 +497,8 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
|
||||
sp.getName(), type, this, sp);
|
||||
pool.setLocalPath(spd.getTargetPath());
|
||||
|
||||
if (pool.getType() == StoragePoolType.CLVM) {
|
||||
pool.setCapacity(sp.getInfo().capacity);
|
||||
pool.setUsed(sp.getInfo().allocation);
|
||||
} else {
|
||||
getStats(pool);
|
||||
}
|
||||
|
||||
return pool;
|
||||
} catch (LibvirtException e) {
|
||||
throw new CloudRuntimeException(e.toString());
|
||||
|
||||
@ -79,12 +79,8 @@ public class LibvirtStoragePool implements KVMStoragePool {
|
||||
|
||||
@Override
|
||||
public PhysicalDiskFormat getDefaultFormat() {
|
||||
if (getStoragePoolType() == StoragePoolType.CLVM) {
|
||||
return PhysicalDiskFormat.RAW;
|
||||
} else {
|
||||
return PhysicalDiskFormat.QCOW2;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public KVMPhysicalDisk createPhysicalDisk(String name,
|
||||
|
||||
@ -92,7 +92,6 @@ public class Storage {
|
||||
Iscsi(true), // for e.g., ZFS Comstar
|
||||
ISO(false), // for iso image
|
||||
LVM(false), // XenServer local LVM SR
|
||||
CLVM(true),
|
||||
SharedMountPoint(true),
|
||||
VMFS(true), // VMware VMFS storage
|
||||
PreSetup(true), // for XenServer, Storage Pool is set up by customers.
|
||||
|
||||
@ -43,61 +43,7 @@ create_snapshot() {
|
||||
local snapshotname="$2"
|
||||
local failed=0
|
||||
|
||||
if [ -b "${disk}" ] && lvm lvs "${disk}" >/dev/null 2>&1; then
|
||||
local lv=$( lvm lvs --noheadings --unbuffered --separator=/ "${disk}" 2>/dev/null | sed 's|^[[:space:]]\+||' )
|
||||
local lvname=$( echo "${lv}" | awk -F/ '{ print $1 }' )
|
||||
local vgname=$( echo "${lv}" | awk -F/ '{ print $2 }' )
|
||||
local lvdmname=$( echo "${lvname}" | sed 's|-|--|g' )
|
||||
local vgdmname=$( echo "${vgname}" | sed 's|-|--|g' )
|
||||
local blockdevname="/dev/mapper/${vgdmname}-${lvdmname}"
|
||||
local blockdevsnap="/dev/mapper/${vgdmname}-${snapshotname}"
|
||||
local blockdevsize=$( blockdev --getsz "${blockdevname}" )
|
||||
|
||||
lvm lvcreate --name "${snapshotname}-cow" --size "$(blockdev --getsize64 ${blockdevname})b" "${vgname}" >&2 || return 1
|
||||
dmsetup suspend "${vgdmname}-${lvdmname}" >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
if dmsetup table | awk -v e=1 -v tbl="${vgdmname}-${lvdmname}-real:" '$1 == tbl { e=0 }; END { exit e }'; then
|
||||
dmsetup create "${vgdmname}-${snapshotname}" --notable >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
echo "0 ${blockdevsize} snapshot ${blockdevname}-real ${blockdevsnap}--cow p 64" | \
|
||||
dmsetup load "${vgdmname}-${snapshotname}" >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
dmsetup resume "${vgdmname}-${snapshotname}" >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
else
|
||||
|
||||
dmsetup create "${vgdmname}-${lvdmname}-real" --notable >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
dmsetup table "${vgdmname}-${lvdmname}" | dmsetup load "${vgdmname}-${lvdmname}-real" >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
dmsetup resume "${vgdmname}-${lvdmname}-real" >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
dmsetup create "${vgdmname}-${snapshotname}" --notable >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
echo "0 ${blockdevsize} snapshot ${blockdevname}-real ${blockdevsnap}--cow p 64" | \
|
||||
dmsetup load "${vgdmname}-${snapshotname}" >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
echo "0 ${blockdevsize} snapshot-origin ${blockdevname}-real" | \
|
||||
dmsetup load "${vgdmname}-${lvdmname}"
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
dmsetup resume "${vgdmname}-${snapshotname}" >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
fi
|
||||
|
||||
dmsetup resume "${vgdmname}-${lvdmname}" >&2
|
||||
[ $? -ne 0 ] && destroy_snapshot "${disk}" "${snapshotname}" && return 1
|
||||
|
||||
elif [ -f "${disk}" ]; then
|
||||
if [ -f "${disk}" ]; then
|
||||
$qemu_img snapshot -c "$snapshotname" $disk
|
||||
|
||||
|
||||
@ -124,24 +70,8 @@ destroy_snapshot() {
|
||||
local disk=$1
|
||||
local snapshotname=$2
|
||||
local failed=0
|
||||
if [ -b ${disk} ]; then
|
||||
local lvname=$( echo "${disk}" | awk -F/ '{ print $(NF) }' ) # '
|
||||
local vgname=$( echo "${disk}" | awk -F/ '{ print $(NF-1) }' ) # '
|
||||
local lvdmname=$( echo "${lvname}" | sed 's|-|--|g' )
|
||||
local vgdmname=$( echo "${vgname}" | sed 's|-|--|g' )
|
||||
|
||||
if [ $( dmsetup --columns --noheadings --separator=: info "${vgdmname}-${lvdmname}-real" | awk -F: '{ print $5 }' ) -le 2 ]; then
|
||||
dmsetup suspend "${vgdmname}-${lvdmname}" >&2
|
||||
dmsetup table "${vgdmname}-${lvdmname}-real" | dmsetup load "${vgdmname}-${lvdmname}" >&2
|
||||
dmsetup resume "${vgdmname}-${lvdmname}" >&2
|
||||
dmsetup remove "${vgdmname}-${snapshotname}" >&2
|
||||
dmsetup remove "${vgdmname}-${lvdmname}-real" >&2
|
||||
else
|
||||
dmsetup remove "${vgdmname}-${snapshotname}" >&2
|
||||
fi
|
||||
lvm lvremove -f "${vgname}/${snapshotname}-cow" >&2
|
||||
|
||||
elif [ -f $disk ]; then
|
||||
if [ -f $disk ]; then
|
||||
$qemu_img snapshot -d "$snapshotname" $disk
|
||||
if [ $? -gt 0 ]
|
||||
then
|
||||
@ -186,18 +116,7 @@ backup_snapshot() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -b ${disk} ] && lvm lvs "${disk}" >/dev/null 2>&1; then
|
||||
local lv=$( lvm lvs --noheadings --unbuffered --separator=/ "${disk}" 2>/dev/null | sed 's|^[[:space:]]\+||' )
|
||||
local vgname=$( echo "${lv}" | awk -F/ '{ print $2 }' )
|
||||
local vgdmname=$( echo "${vgname}" | sed 's|-|--|g' )
|
||||
|
||||
if [ -x "$( dirname $0 )/raw2qcow2.sh" ]; then
|
||||
"$( dirname $0 )/raw2qcow2.sh" "/dev/mapper/${vgdmname}-${snapshotname}" "${destPath}/${destName}"
|
||||
else
|
||||
$qemu_img convert -f raw -O qcow2 "/dev/mapper/${vgdmname}-${snapshotname}" "${destPath}/${destName}"
|
||||
fi
|
||||
return 0
|
||||
elif [ -f ${disk} ]; then
|
||||
if [ -f ${disk} ]; then
|
||||
# Does the snapshot exist?
|
||||
$qemu_img snapshot -l $disk|grep -w "$snapshotname" >& /dev/null
|
||||
if [ $? -gt 0 ]
|
||||
|
||||
@ -1294,8 +1294,6 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag
|
||||
pool = new StoragePoolVO(StoragePoolType.Filesystem, "localhost", 0, hostPath);
|
||||
} else if (scheme.equalsIgnoreCase("sharedMountPoint")) {
|
||||
pool = new StoragePoolVO(StoragePoolType.SharedMountPoint, storageHost, 0, hostPath);
|
||||
} else if (scheme.equalsIgnoreCase("clvm")) {
|
||||
pool = new StoragePoolVO(StoragePoolType.CLVM, storageHost, 0, hostPath.replaceFirst("/", ""));
|
||||
} else if (scheme.equalsIgnoreCase("PreSetup")) {
|
||||
pool = new StoragePoolVO(StoragePoolType.PreSetup, storageHost, 0, hostPath);
|
||||
} else if (scheme.equalsIgnoreCase("iscsi")) {
|
||||
@ -1594,7 +1592,7 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag
|
||||
s_logger.debug("creating pool " + pool.getName() + " on host " + hostId);
|
||||
if (pool.getPoolType() != StoragePoolType.NetworkFilesystem && pool.getPoolType() != StoragePoolType.Filesystem && pool.getPoolType() != StoragePoolType.IscsiLUN
|
||||
&& pool.getPoolType() != StoragePoolType.Iscsi && pool.getPoolType() != StoragePoolType.VMFS && pool.getPoolType() != StoragePoolType.SharedMountPoint
|
||||
&& pool.getPoolType() != StoragePoolType.PreSetup && pool.getPoolType() != StoragePoolType.OCFS2 && pool.getPoolType() != StoragePoolType.CLVM) {
|
||||
&& pool.getPoolType() != StoragePoolType.PreSetup && pool.getPoolType() != StoragePoolType.OCFS2) {
|
||||
s_logger.warn(" Doesn't support storage pool type " + pool.getPoolType());
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -7261,7 +7261,6 @@
|
||||
var items = [];
|
||||
items.push({id: "nfs", description: "nfs"});
|
||||
items.push({id: "SharedMountPoint", description: "SharedMountPoint"});
|
||||
items.push({id: "clvm", description: "CLVM"});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
else if(selectedClusterObj.hypervisortype == "XenServer") {
|
||||
|
||||
@ -885,7 +885,6 @@
|
||||
var items = [];
|
||||
items.push({id: "nfs", description: "nfs"});
|
||||
items.push({id: "SharedMountPoint", description: "SharedMountPoint"});
|
||||
items.push({id: "clvm", description: "CLVM"});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
else if(selectedClusterObj.hypervisortype == "XenServer") {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user