You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by re...@apache.org on 2015/11/02 17:54:05 UTC
[1/2] git commit: updated refs/heads/master to 0b4cc5d
Repository: cloudstack
Updated Branches:
refs/heads/master 0c52f70b4 -> 0b4cc5de8
Add Unit Tests for Libvirt/KVM storage code
These classes were not covered by Unit Tests and this commit
adds some tests for their basic functionality.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7568f212
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7568f212
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7568f212
Branch: refs/heads/master
Commit: 7568f2123cb8b5d820acc2c23f453ccf8d1b6138
Parents: fb4e6ed
Author: Wido den Hollander <wi...@widodh.nl>
Authored: Tue Oct 27 13:21:28 2015 +0100
Committer: Wido den Hollander <wi...@widodh.nl>
Committed: Tue Oct 27 13:21:28 2015 +0100
----------------------------------------------------------------------
.../kvm/storage/LibvirtStoragePool.java | 5 --
.../kvm/storage/KVMPhysicalDiskTest.java | 52 +++++++++++
.../kvm/storage/LibvirtStoragePoolTest.java | 91 ++++++++++++++++++++
3 files changed, 143 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7568f212/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java
index 49a8301..66018dd 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java
@@ -32,7 +32,6 @@ import com.cloud.utils.exception.CloudRuntimeException;
public class LibvirtStoragePool implements KVMStoragePool {
private static final Logger s_logger = Logger.getLogger(LibvirtStoragePool.class);
protected String uuid;
- protected String uri;
protected long capacity;
protected long used;
protected long available;
@@ -100,10 +99,6 @@ public class LibvirtStoragePool implements KVMStoragePool {
return this.uuid;
}
- public String uri() {
- return this.uri;
- }
-
@Override
public PhysicalDiskFormat getDefaultFormat() {
if (getStoragePoolType() == StoragePoolType.CLVM || getStoragePoolType() == StoragePoolType.RBD) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7568f212/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/KVMPhysicalDiskTest.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/KVMPhysicalDiskTest.java b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/KVMPhysicalDiskTest.java
new file mode 100644
index 0000000..bd644c8
--- /dev/null
+++ b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/KVMPhysicalDiskTest.java
@@ -0,0 +1,52 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.hypervisor.kvm.storage;
+
+import org.apache.cloudstack.utils.qemu.QemuImg.PhysicalDiskFormat;
+import org.mockito.Mockito;
+
+import junit.framework.TestCase;
+
+public class KVMPhysicalDiskTest extends TestCase {
+
+ public void testRBDStringBuilder() {
+ assertEquals(KVMPhysicalDisk.RBDStringBuilder("ceph-monitor", 8000, "admin", "supersecret", "volume1"),
+ "rbd:volume1:mon_host=ceph-monitor\\\\:8000:auth_supported=cephx:id=admin:key=supersecret:rbd_default_format=2:client_mount_timeout=30");
+ }
+
+ public void testAttributes() {
+ String name = "3bc186e0-6c29-45bf-b2b0-ddef6f91f5ef";
+ String path = "/" + name;
+
+ LibvirtStoragePool pool = Mockito.mock(LibvirtStoragePool.class);
+
+ KVMPhysicalDisk disk = new KVMPhysicalDisk(path, name, pool);
+ assertEquals(disk.getName(), name);
+ assertEquals(disk.getPath(), path);
+ assertEquals(disk.getPool(), pool);
+ assertEquals(disk.getSize(), 0);
+ assertEquals(disk.getVirtualSize(), 0);
+
+ disk.setSize(1024);
+ disk.setVirtualSize(2048);
+ assertEquals(disk.getSize(), 1024);
+ assertEquals(disk.getVirtualSize(), 2048);
+
+ disk.setFormat(PhysicalDiskFormat.RAW);
+ assertEquals(disk.getFormat(), PhysicalDiskFormat.RAW);
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7568f212/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/LibvirtStoragePoolTest.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/LibvirtStoragePoolTest.java b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/LibvirtStoragePoolTest.java
new file mode 100644
index 0000000..90f6f87
--- /dev/null
+++ b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/storage/LibvirtStoragePoolTest.java
@@ -0,0 +1,91 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.hypervisor.kvm.storage;
+
+import org.apache.cloudstack.utils.qemu.QemuImg.PhysicalDiskFormat;
+import org.libvirt.StoragePool;
+import org.mockito.Mockito;
+
+import com.cloud.storage.Storage.StoragePoolType;
+
+import junit.framework.TestCase;
+
+public class LibvirtStoragePoolTest extends TestCase {
+
+ public void testAttributes() {
+ String uuid = "4c4fb08b-373e-4f30-a120-3aa3a43f31da";
+ String name = "myfirstpool";
+
+ StoragePoolType type = StoragePoolType.NetworkFilesystem;
+
+ StorageAdaptor adapter = Mockito.mock(LibvirtStorageAdaptor.class);
+ StoragePool storage = Mockito.mock(StoragePool.class);
+
+ LibvirtStoragePool pool = new LibvirtStoragePool(uuid, name, type, adapter, storage);
+ assertEquals(pool.getCapacity(), 0);
+ assertEquals(pool.getUsed(), 0);
+ assertEquals(pool.getName(), name);
+ assertEquals(pool.getUuid(), uuid);
+ assertEquals(pool.getAvailable(), 0);
+ assertEquals(pool.getStoragePoolType(), type);
+
+ pool.setCapacity(2048);
+ pool.setUsed(1024);
+ pool.setAvailable(1023);
+
+ assertEquals(pool.getCapacity(), 2048);
+ assertEquals(pool.getUsed(), 1024);
+ assertEquals(pool.getAvailable(), 1023);
+ }
+
+ public void testDefaultFormats() {
+ String uuid = "f40cbf53-1f37-4c62-8912-801edf398f47";
+ String name = "myfirstpool";
+
+ StorageAdaptor adapter = Mockito.mock(LibvirtStorageAdaptor.class);
+ StoragePool storage = Mockito.mock(StoragePool.class);
+
+ LibvirtStoragePool nfsPool = new LibvirtStoragePool(uuid, name, StoragePoolType.NetworkFilesystem, adapter, storage);
+ assertEquals(nfsPool.getDefaultFormat(), PhysicalDiskFormat.QCOW2);
+ assertEquals(nfsPool.getStoragePoolType(), StoragePoolType.NetworkFilesystem);
+
+ LibvirtStoragePool rbdPool = new LibvirtStoragePool(uuid, name, StoragePoolType.RBD, adapter, storage);
+ assertEquals(rbdPool.getDefaultFormat(), PhysicalDiskFormat.RAW);
+ assertEquals(rbdPool.getStoragePoolType(), StoragePoolType.RBD);
+
+ LibvirtStoragePool clvmPool = new LibvirtStoragePool(uuid, name, StoragePoolType.CLVM, adapter, storage);
+ assertEquals(clvmPool.getDefaultFormat(), PhysicalDiskFormat.RAW);
+ assertEquals(clvmPool.getStoragePoolType(), StoragePoolType.CLVM);
+ }
+
+ public void testExternalSnapshot() {
+ String uuid = "60b46738-c5d0-40a9-a79e-9a4fe6295db7";
+ String name = "myfirstpool";
+
+ StorageAdaptor adapter = Mockito.mock(LibvirtStorageAdaptor.class);
+ StoragePool storage = Mockito.mock(StoragePool.class);
+
+ LibvirtStoragePool nfsPool = new LibvirtStoragePool(uuid, name, StoragePoolType.NetworkFilesystem, adapter, storage);
+ assertFalse(nfsPool.isExternalSnapshot());
+
+ LibvirtStoragePool rbdPool = new LibvirtStoragePool(uuid, name, StoragePoolType.RBD, adapter, storage);
+ assertTrue(rbdPool.isExternalSnapshot());
+
+ LibvirtStoragePool clvmPool = new LibvirtStoragePool(uuid, name, StoragePoolType.CLVM, adapter, storage);
+ assertTrue(clvmPool.isExternalSnapshot());
+ }
+}
\ No newline at end of file
[2/2] git commit: updated refs/heads/master to 0b4cc5d
Posted by re...@apache.org.
Merge pull request #986 from wido/kvm-libvirt-unittests
Add Unit Tests for Libvirt/KVM storage codeThese classes were not covered by Unit Tests and this commit
adds some tests for their basic functionality.
* pr/986:
Add Unit Tests for Libvirt/KVM storage code
Signed-off-by: Remi Bergsma <gi...@remi.nl>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/0b4cc5de
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/0b4cc5de
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/0b4cc5de
Branch: refs/heads/master
Commit: 0b4cc5de87d367c5ca2d0abd5a062ef541ebf811
Parents: 0c52f70 7568f21
Author: Remi Bergsma <gi...@remi.nl>
Authored: Mon Nov 2 17:53:30 2015 +0100
Committer: Remi Bergsma <gi...@remi.nl>
Committed: Mon Nov 2 17:53:31 2015 +0100
----------------------------------------------------------------------
.../kvm/storage/LibvirtStoragePool.java | 5 --
.../kvm/storage/KVMPhysicalDiskTest.java | 52 +++++++++++
.../kvm/storage/LibvirtStoragePoolTest.java | 91 ++++++++++++++++++++
3 files changed, 143 insertions(+), 5 deletions(-)
----------------------------------------------------------------------