You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2016/07/13 09:44:15 UTC
[01/14] libcloud git commit: adding mock to more 2.x python testing
Repository: libcloud
Updated Branches:
refs/heads/trunk bb202a27e -> 608b7ec8a
adding mock to more 2.x python testing
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/e1513b2a
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/e1513b2a
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/e1513b2a
Branch: refs/heads/trunk
Commit: e1513b2afe2594443315544bc022cb5dc7abdb1e
Parents: 28d73f4
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Tue Jul 12 15:33:15 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
tox.ini | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/e1513b2a/tox.ini
----------------------------------------------------------------------
diff --git a/tox.ini b/tox.ini
index 6d2ea73..5f10445 100644
--- a/tox.ini
+++ b/tox.ini
@@ -8,6 +8,7 @@ deps =
lockfile
py{2.5,2.6,2.7}: paramiko
py{2.5,2.6}: unittest2
+ py{2.5,2.6,2.7}: mock
set-env =
COVERALLS_REPO_TOKEN = GAB5ZuovdsVEFxSIyZE8YhDYU886iGW54
commands = cp libcloud/test/secrets.py-dist libcloud/test/secrets.py
@@ -42,6 +43,7 @@ deps = -r{toxinidir}/requirements-tests.txt
lxml
[testenv:py2.7-lxml]
deps = -r{toxinidir}/requirements-tests.txt
+ mock
lxml
[testenv:pypypy-lxml]
deps = -r{toxinidir}/requirements-tests.txt
[07/14] libcloud git commit: require tox to include Mock modules
Posted by to...@apache.org.
require tox to include Mock modules
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/213105a5
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/213105a5
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/213105a5
Branch: refs/heads/trunk
Commit: 213105a5be18708f980de73283ffd8d8df63d012
Parents: c9177d0
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Tue Jul 12 15:12:15 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
.travis.yml | 1 -
tox.ini | 1 +
2 files changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/213105a5/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 1b74c89..c27cc7c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -79,7 +79,6 @@ install:
- pip install --upgrade "pip<8.0.0"
- pip install "virtualenv<14.0.0"
- pip install "tox>=2.3.0,<2.4"
- - pip install mock
- TOX_ENV=py$TRAVIS_PYTHON_VERSION
script:
http://git-wip-us.apache.org/repos/asf/libcloud/blob/213105a5/tox.ini
----------------------------------------------------------------------
diff --git a/tox.ini b/tox.ini
index 248b102..6d2ea73 100644
--- a/tox.ini
+++ b/tox.ini
@@ -37,6 +37,7 @@ deps = -r{toxinidir}/requirements-tests.txt
[testenv:py2.6-lxml]
deps = -r{toxinidir}/requirements-tests.txt
unittest2
+ mock
paramiko
lxml
[testenv:py2.7-lxml]
[08/14] libcloud git commit: import mock from the correct unittest
module
Posted by to...@apache.org.
import mock from the correct unittest module
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/fbf2291e
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/fbf2291e
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/fbf2291e
Branch: refs/heads/trunk
Commit: fbf2291efe4c4211eacca6ebd880da10fd04a0aa
Parents: 034c9a0
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Tue Jul 12 14:25:09 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
libcloud/test/compute/test_libvirt_driver.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/fbf2291e/libcloud/test/compute/test_libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_libvirt_driver.py b/libcloud/test/compute/test_libvirt_driver.py
index 9bc46ce..ad26b81 100644
--- a/libcloud/test/compute/test_libvirt_driver.py
+++ b/libcloud/test/compute/test_libvirt_driver.py
@@ -16,10 +16,14 @@
import sys
from libcloud.compute.drivers.libvirt_driver import LibvirtNodeDriver
+from libcloud.utils.py3 import unittest2_required
from libcloud.test import unittest
-from unittest import mock
+if unittest2_required:
+ from unittest2 import mock
+else:
+ from unittest import mock
@mock.patch('libcloud.compute.drivers.libvirt_driver.libvirt', autospec=True)
[09/14] libcloud git commit: installing mock from pip
Posted by to...@apache.org.
installing mock from pip
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/c9177d0e
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/c9177d0e
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/c9177d0e
Branch: refs/heads/trunk
Commit: c9177d0ec0bb87d096e14150ced3dbf5d8a6a200
Parents: fbf2291
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Tue Jul 12 15:03:34 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
.travis.yml | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/c9177d0e/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index c27cc7c..1b74c89 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -79,6 +79,7 @@ install:
- pip install --upgrade "pip<8.0.0"
- pip install "virtualenv<14.0.0"
- pip install "tox>=2.3.0,<2.4"
+ - pip install mock
- TOX_ENV=py$TRAVIS_PYTHON_VERSION
script:
[04/14] libcloud git commit: replaced inheited class with autospec'ed
mock
Posted by to...@apache.org.
replaced inheited class with autospec'ed mock
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/662e3b33
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/662e3b33
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/662e3b33
Branch: refs/heads/trunk
Commit: 662e3b3308a681c30a0253e8212605bcc1930951
Parents: c38971e
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Tue Jul 12 12:07:04 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
libcloud/test/compute/test_libvirt_driver.py | 175 ++++------------------
1 file changed, 28 insertions(+), 147 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/662e3b33/libcloud/test/compute/test_libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_libvirt_driver.py b/libcloud/test/compute/test_libvirt_driver.py
index 36dd851..9bc46ce 100644
--- a/libcloud/test/compute/test_libvirt_driver.py
+++ b/libcloud/test/compute/test_libvirt_driver.py
@@ -16,129 +16,26 @@
import sys
from libcloud.compute.drivers.libvirt_driver import LibvirtNodeDriver
-from libcloud.compute.base import NodeState
-from libcloud.compute.types import Provider
from libcloud.test import unittest
+from unittest import mock
-class virConnect:
- """
- A stub/Mock implementation of the libvirt.virConnect class returned by
- the libvirt.openX calles
- """
- def __stub(self, *args, **kwargs):
- return 0
-
- def __yes(self, *args, **kwargs):
- return True
-
- def __ary(self, *args, **kwargs):
- return []
-
- def __init__(self):
- stub = self.__stub
- yes = self.__yes
- ary = self.__ary
- fnt = [
- '_dispatchCloseCallback',
- '_dispatchDomainEventAgentLifecycleCallback',
- '_dispatchDomainEventBalloonChangeCallback',
- '_dispatchDomainEventBlockJobCallback',
- '_dispatchDomainEventCallbacks',
- '_dispatchDomainEventDeviceAddedCallback',
- '_dispatchDomainEventDeviceRemovalFailedCallback',
- '_dispatchDomainEventDeviceRemovedCallback',
- '_dispatchDomainEventDiskChangeCallback',
- '_dispatchDomainEventGenericCallback',
- '_dispatchDomainEventGraphicsCallback',
- '_dispatchDomainEventIOErrorCallback',
- '_dispatchDomainEventIOErrorReasonCallback',
- '_dispatchDomainEventJobCompletedCallback',
- '_dispatchDomainEventLifecycleCallback',
- '_dispatchDomainEventMigrationIterationCallback',
- '_dispatchDomainEventPMSuspendCallback',
- '_dispatchDomainEventPMSuspendDiskCallback',
- '_dispatchDomainEventPMWakeupCallback',
- '_dispatchDomainEventRTCChangeCallback',
- '_dispatchDomainEventTrayChangeCallback',
- '_dispatchDomainEventTunableCallback',
- '_dispatchDomainEventWatchdogCallback',
- '_dispatchNetworkEventLifecycleCallback',
- '_o', 'allocPages', 'baselineCPU', 'c_pointer', 'changeBegin',
- 'changeCommit', 'changeRollback', 'close', 'compareCPU',
- 'createLinux', 'createXML', 'createXMLWithFiles', 'defineXML',
- 'defineXMLFlags', 'domainEventDeregister',
- 'domainEventDeregisterAny', 'domainEventRegister',
- 'domainEventRegisterAny', 'domainListGetStats',
- 'domainXMLFromNative', 'domainXMLToNative',
- 'findStoragePoolSources', 'getAllDomainStats', 'getCPUMap',
- 'getCPUModelNames', 'getCPUStats', 'getCapabilities',
- 'getCellsFreeMemory', 'getDomainCapabilities', 'getFreeMemory',
- 'getFreePages', 'getHostname', 'getInfo', 'getLibVersion',
- 'getMaxVcpus', 'getMemoryParameters', 'getMemoryStats',
- 'getSecurityModel', 'getSysinfo', 'getType', 'getURI',
- 'getVersion', 'interfaceDefineXML', 'interfaceLookupByMACString',
- 'interfaceLookupByName', 'isAlive', 'isEncrypted', 'isSecure',
- 'listAllDevices', 'listAllDomains', 'listAllInterfaces',
- 'listAllNWFilters', 'listAllNetworks', 'listAllSecrets',
- 'listAllStoragePools', 'listDefinedDomains',
- 'listDefinedInterfaces', 'listDefinedNetworks',
- 'listDefinedStoragePools', 'listDevices', 'listDomainsID',
- 'listInterfaces', 'listNWFilters', 'listNetworks', 'listSecrets',
- 'listStoragePools', 'lookupByID', 'lookupByName', 'lookupByUUID',
- 'lookupByUUIDString', 'networkCreateXML', 'networkDefineXML',
- 'networkEventDeregisterAny', 'networkEventRegisterAny',
- 'networkLookupByName', 'networkLookupByUUID',
- 'networkLookupByUUIDString', 'newStream', 'nodeDeviceCreateXML',
- 'nodeDeviceLookupByName', 'nodeDeviceLookupSCSIHostByWWN',
- 'numOfDefinedDomains', 'numOfDefinedInterfaces',
- 'numOfDefinedNetworks', 'numOfDefinedStoragePools', 'numOfDevices',
- 'numOfDomains', 'numOfInterfaces', 'numOfNWFilters',
- 'numOfNetworks', 'numOfSecrets', 'numOfStoragePools',
- 'nwfilterDefineXML', 'nwfilterLookupByName',
- 'nwfilterLookupByUUID', 'nwfilterLookupByUUIDString',
- 'registerCloseCallback', 'restore', 'restoreFlags',
- 'saveImageDefineXML', 'saveImageGetXMLDesc', 'secretDefineXML',
- 'secretLookupByUUID', 'secretLookupByUUIDString',
- 'secretLookupByUsage', 'setKeepAlive', 'setMemoryParameters',
- 'storagePoolCreateXML', 'storagePoolDefineXML',
- 'storagePoolLookupByName', 'storagePoolLookupByUUID',
- 'storagePoolLookupByUUIDString', 'storageVolLookupByKey',
- 'storageVolLookupByPath', 'suspendForDuration',
- 'unregisterCloseCallback', 'virConnGetLastError',
- 'virConnResetLastError'
- ]
- for f in fnt:
- if f.startswith('is'):
- self.__dict__[f] = yes
- elif f.startswith('list'):
- self.__dict__[f] = ary
- else:
- self.__dict__[f] = stub
-
-
-class LibvirtNodeDriverTestCase(LibvirtNodeDriver, unittest.TestCase):
- type = Provider.LIBVIRT
- name = 'Libvirt'
- website = 'http://libvirt.org/'
-
- NODE_STATE_MAP = {
- 0: NodeState.TERMINATED, # no state
- 1: NodeState.RUNNING, # domain is running
- 2: NodeState.PENDING, # domain is blocked on resource
- 3: NodeState.TERMINATED, # domain is paused by user
- 4: NodeState.TERMINATED, # domain is being shut down
- 5: NodeState.TERMINATED, # domain is shut off
- 6: NodeState.UNKNOWN, # domain is crashed
- 7: NodeState.UNKNOWN, # domain is suspended by guest power management
- }
-
- def __init__(self, argv=None):
- unittest.TestCase.__init__(self, argv)
- self._uri = 'qemu:///system'
- self.connection = virConnect()
+@mock.patch('libcloud.compute.drivers.libvirt_driver.libvirt', autospec=True)
+class LibvirtNodeDriverTestCase(unittest.TestCase):
+ arp_output_str = """? (1.2.10.80) at 52:54:00:bc:f9:6c [ether] on br0
+? (1.2.10.33) at 52:54:00:04:89:51 [ether] on br0
+? (1.2.10.97) at 52:54:00:c6:40:ec [ether] on br0
+? (1.2.10.40) at 52:54:00:77:1c:83 [ether] on br0"""
+ ip_output_str = """1.2.10.80 dev br0 lladdr 52:54:00:bc:f9:6c STALE
+1.2.10.33 dev br0 lladdr 52:54:00:04:89:51 REACHABLE
+1.2.10.97 dev br0 lladdr 52:54:00:c6:40:ec DELAY
+1.2.10.40 dev br0 lladdr 52:54:00:77:1c:83 STALE"""
+ bad_output_str = """1.2.10.80 dev br0 52:54:00:bc:f9:6c STALE
+1.2.10.33 dev br0 lladdr 52:54:00:04:89:51 REACHABLE
+1.2.10.97 dev br0 lladdr
+1.2.10.40 dev br0 lladdr 52:54:00:77:1c:83 STALE"""
def _assert_arp_table(self, arp_table):
self.assertIn('52:54:00:bc:f9:6c', arp_table)
@@ -150,44 +47,28 @@ class LibvirtNodeDriverTestCase(LibvirtNodeDriver, unittest.TestCase):
self.assertIn('1.2.10.97', arp_table['52:54:00:c6:40:ec'])
self.assertIn('1.2.10.40', arp_table['52:54:00:77:1c:83'])
- def test_arp_map(self):
- arp_output_str = """? (1.2.10.80) at 52:54:00:bc:f9:6c [ether] on br0
-? (1.2.10.33) at 52:54:00:04:89:51 [ether] on br0
-? (1.2.10.97) at 52:54:00:c6:40:ec [ether] on br0
-? (1.2.10.40) at 52:54:00:77:1c:83 [ether] on br0
-"""
- arp_table = self._parse_ip_table_arp(arp_output_str)
+ def test_arp_map(self, *args, **keywargs):
+ driver = LibvirtNodeDriver('')
+ arp_table = driver._parse_ip_table_arp(self.arp_output_str)
self._assert_arp_table(arp_table)
- def test_ip_map(self):
- arp_output_str = """1.2.10.80 dev br0 lladdr 52:54:00:bc:f9:6c STALE
-1.2.10.33 dev br0 lladdr 52:54:00:04:89:51 REACHABLE
-1.2.10.97 dev br0 lladdr 52:54:00:c6:40:ec DELAY
-1.2.10.40 dev br0 lladdr 52:54:00:77:1c:83 STALE
-"""
- arp_table = self._parse_ip_table_neigh(arp_output_str)
+ def test_ip_map(self, *args, **keywargs):
+ driver = LibvirtNodeDriver('')
+ arp_table = driver._parse_ip_table_neigh(self.ip_output_str)
self._assert_arp_table(arp_table)
- def test_bad_map(self):
- arp_output_str = """1.2.10.80 dev br0 52:54:00:bc:f9:6c STALE
-1.2.10.33 dev br0 lladdr 52:54:00:04:89:51 REACHABLE
-1.2.10.97 dev br0 lladdr
-1.2.10.40 dev br0 lladdr 52:54:00:77:1c:83 STALE
-"""
- arp_table = self._parse_ip_table_neigh(arp_output_str)
+ def test_bad_map(self, *args, **keywargs):
+ driver = LibvirtNodeDriver('')
+ arp_table = driver._parse_ip_table_neigh(self.bad_output_str)
# we should at least get the correctly formatted lines
self.assertEqual(len(arp_table), 2)
- arp_output_str = """? (1.2.10.80) at 52:54:00:bc:f9:6c [ether] on br0
-? (1.2.10.33) at 52:54:00:04:89:51 [ether] on br0
-? (1.2.10.97) at 52:54:00:c6:40:ec [ether] on br0
-? (1.2.10.40) at 52:54:00:77:1c:83 [ether] on br0
-"""
- arp_table = self._parse_ip_table_neigh(arp_output_str)
+ arp_table = driver._parse_ip_table_neigh(self.arp_output_str)
# nothing should match if the wrong output is sent
self.assertEqual(len(arp_table), 0)
- def test_list_nodes(self):
- nodes = self.list_nodes()
+ def test_list_nodes(self, *args, **keywargs):
+ driver = LibvirtNodeDriver('')
+ nodes = driver.list_nodes()
self.assertEqual(type([]), type(nodes))
self.assertEqual(len(nodes), 0)
[11/14] libcloud git commit: mock library is already specified in
requirements-tests.txt
Posted by to...@apache.org.
mock library is already specified in requirements-tests.txt
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/01c6db45
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/01c6db45
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/01c6db45
Branch: refs/heads/trunk
Commit: 01c6db45e532958d114033ab1b8e271351bf1c26
Parents: 3856f46
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Jul 13 11:32:48 2016 +0200
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:32:48 2016 +0200
----------------------------------------------------------------------
tox.ini | 3 ---
1 file changed, 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/01c6db45/tox.ini
----------------------------------------------------------------------
diff --git a/tox.ini b/tox.ini
index 5f10445..248b102 100644
--- a/tox.ini
+++ b/tox.ini
@@ -8,7 +8,6 @@ deps =
lockfile
py{2.5,2.6,2.7}: paramiko
py{2.5,2.6}: unittest2
- py{2.5,2.6,2.7}: mock
set-env =
COVERALLS_REPO_TOKEN = GAB5ZuovdsVEFxSIyZE8YhDYU886iGW54
commands = cp libcloud/test/secrets.py-dist libcloud/test/secrets.py
@@ -38,12 +37,10 @@ deps = -r{toxinidir}/requirements-tests.txt
[testenv:py2.6-lxml]
deps = -r{toxinidir}/requirements-tests.txt
unittest2
- mock
paramiko
lxml
[testenv:py2.7-lxml]
deps = -r{toxinidir}/requirements-tests.txt
- mock
lxml
[testenv:pypypy-lxml]
deps = -r{toxinidir}/requirements-tests.txt
[02/14] libcloud git commit: import mock module directly
Posted by to...@apache.org.
import mock module directly
the mock module is not in unittest2 so include it directly
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/28d73f46
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/28d73f46
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/28d73f46
Branch: refs/heads/trunk
Commit: 28d73f4619e5778760e2bc4057872b5bc1f84e09
Parents: 213105a
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Tue Jul 12 15:17:47 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
libcloud/test/compute/test_libvirt_driver.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/28d73f46/libcloud/test/compute/test_libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_libvirt_driver.py b/libcloud/test/compute/test_libvirt_driver.py
index ad26b81..22391da 100644
--- a/libcloud/test/compute/test_libvirt_driver.py
+++ b/libcloud/test/compute/test_libvirt_driver.py
@@ -21,7 +21,7 @@ from libcloud.utils.py3 import unittest2_required
from libcloud.test import unittest
if unittest2_required:
- from unittest2 import mock
+ import mock
else:
from unittest import mock
[03/14] libcloud git commit: cleaned up LibvirtNodeDriver.__init__
Posted by to...@apache.org.
cleaned up LibvirtNodeDriver.__init__
checking the uri string for +tcp before trying to do the SASL
connection to the libvirtd service
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/f59c3922
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/f59c3922
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/f59c3922
Branch: refs/heads/trunk
Commit: f59c3922ebd66e15f9b09ba5cfdfe5fcede6d1b6
Parents: bb202a2
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Fri Jul 8 11:49:33 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
libcloud/compute/drivers/libvirt_driver.py | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/f59c3922/libcloud/compute/drivers/libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/libvirt_driver.py b/libcloud/compute/drivers/libvirt_driver.py
index 7a2e132..5586a6b 100644
--- a/libcloud/compute/drivers/libvirt_driver.py
+++ b/libcloud/compute/drivers/libvirt_driver.py
@@ -82,16 +82,18 @@ class LibvirtNodeDriver(NodeDriver):
self._uri = uri
self._key = key
self._secret = secret
- try:
- self.connection = libvirt.open(uri)
- except libvirt.libvirtError:
- if key is None or secret is None:
+ if '+tcp' in self._uri:
+ if key is None and secret is None:
raise RuntimeError('The remote Libvirt instance requires ' +
'authentication, please set \'key\' and ' +
'\'secret\' parameters')
auth = [[libvirt.VIR_CRED_AUTHNAME, libvirt.VIR_CRED_PASSPHRASE],
self._cred_callback, None]
self.connection = libvirt.openAuth(uri, auth, 0)
+ else:
+ self.connection = libvirt.open(uri)
+ if self.connection is None:
+ raise RuntimeError('Unable to establish a connection to libvirtd')
def _cred_callback(self, cred, user_data):
"""
[12/14] libcloud git commit: Always use packaged mock.
Posted by to...@apache.org.
Always use packaged mock.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/d9fc1eda
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/d9fc1eda
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/d9fc1eda
Branch: refs/heads/trunk
Commit: d9fc1edaf6b3f52b1141ab80c1d88d97a964380a
Parents: 01c6db4
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Jul 13 11:34:47 2016 +0200
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:34:47 2016 +0200
----------------------------------------------------------------------
libcloud/test/compute/test_libvirt_driver.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/d9fc1eda/libcloud/test/compute/test_libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_libvirt_driver.py b/libcloud/test/compute/test_libvirt_driver.py
index 22391da..be8513b 100644
--- a/libcloud/test/compute/test_libvirt_driver.py
+++ b/libcloud/test/compute/test_libvirt_driver.py
@@ -15,15 +15,15 @@
import sys
-from libcloud.compute.drivers.libvirt_driver import LibvirtNodeDriver
-from libcloud.utils.py3 import unittest2_required
+import mock
+from libcloud.compute.drivers.libvirt_driver import LibvirtNodeDriver
from libcloud.test import unittest
-if unittest2_required:
- import mock
-else:
- from unittest import mock
+
+__all__ = [
+ 'LibvirtNodeDriverTestCase'
+]
@mock.patch('libcloud.compute.drivers.libvirt_driver.libvirt', autospec=True)
[14/14] libcloud git commit: Update changelog.
Posted by to...@apache.org.
Update changelog.
Closes #838
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/608b7ec8
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/608b7ec8
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/608b7ec8
Branch: refs/heads/trunk
Commit: 608b7ec8a08918a9dffec9f9fe7a71c76496f871
Parents: a4bddfe
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Jul 13 11:38:50 2016 +0200
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:38:50 2016 +0200
----------------------------------------------------------------------
CHANGES.rst | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/608b7ec8/CHANGES.rst
----------------------------------------------------------------------
diff --git a/CHANGES.rst b/CHANGES.rst
index ba23490..f14494e 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -15,6 +15,10 @@ Compute
(GITHUB-835)
[Wido den Hollander]
+- Various improvements in the libvirt driver.
+ (GITHUB-838)
+ [Rene Kjellerup]
+
DNS
~~~
[06/14] libcloud git commit: passing None to open will use defaults
Posted by to...@apache.org.
passing None to open will use defaults
if we get a connection with None, retrive the connection uri from libvirt.virConnection
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/034c9a00
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/034c9a00
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/034c9a00
Branch: refs/heads/trunk
Commit: 034c9a007c821db5c5bc61a690151025a599db33
Parents: 662e3b3
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Tue Jul 12 12:34:52 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
libcloud/compute/drivers/libvirt_driver.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/034c9a00/libcloud/compute/drivers/libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/libvirt_driver.py b/libcloud/compute/drivers/libvirt_driver.py
index 5586a6b..13b0c95 100644
--- a/libcloud/compute/drivers/libvirt_driver.py
+++ b/libcloud/compute/drivers/libvirt_driver.py
@@ -82,7 +82,7 @@ class LibvirtNodeDriver(NodeDriver):
self._uri = uri
self._key = key
self._secret = secret
- if '+tcp' in self._uri:
+ if uri is not None and '+tcp' in self._uri:
if key is None and secret is None:
raise RuntimeError('The remote Libvirt instance requires ' +
'authentication, please set \'key\' and ' +
@@ -92,8 +92,8 @@ class LibvirtNodeDriver(NodeDriver):
self.connection = libvirt.openAuth(uri, auth, 0)
else:
self.connection = libvirt.open(uri)
- if self.connection is None:
- raise RuntimeError('Unable to establish a connection to libvirtd')
+ if uri is None:
+ self._uri = self.connection.getInfo()
def _cred_callback(self, cred, user_data):
"""
[13/14] libcloud git commit: Skip libvirt tests if libvirt library is
not available.
Posted by to...@apache.org.
Skip libvirt tests if libvirt library is not available.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/a4bddfec
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/a4bddfec
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/a4bddfec
Branch: refs/heads/trunk
Commit: a4bddfec0b26606258f0e1da94c289d0ab573369
Parents: d9fc1ed
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Wed Jul 13 11:36:10 2016 +0200
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:36:10 2016 +0200
----------------------------------------------------------------------
libcloud/test/compute/test_libvirt_driver.py | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/a4bddfec/libcloud/test/compute/test_libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_libvirt_driver.py b/libcloud/test/compute/test_libvirt_driver.py
index be8513b..0cfd517 100644
--- a/libcloud/test/compute/test_libvirt_driver.py
+++ b/libcloud/test/compute/test_libvirt_driver.py
@@ -18,6 +18,7 @@ import sys
import mock
from libcloud.compute.drivers.libvirt_driver import LibvirtNodeDriver
+from libcloud.compute.drivers.libvirt_driver import have_libvirt
from libcloud.test import unittest
@@ -26,6 +27,7 @@ __all__ = [
]
+@unittest.skipIf(not have_libvirt, 'libvirt not available, skipping tests')
@mock.patch('libcloud.compute.drivers.libvirt_driver.libvirt', autospec=True)
class LibvirtNodeDriverTestCase(unittest.TestCase):
arp_output_str = """? (1.2.10.80) at 52:54:00:bc:f9:6c [ether] on br0
[05/14] libcloud git commit: adding more tests,
and cleaning up the mock setup
Posted by to...@apache.org.
adding more tests, and cleaning up the mock setup
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/c38971ee
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/c38971ee
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/c38971ee
Branch: refs/heads/trunk
Commit: c38971eed9cb200ba9e74ed964f822d506b880bb
Parents: f59c392
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Fri Jul 8 17:07:14 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:20 2016 +0200
----------------------------------------------------------------------
libcloud/test/compute/test_libvirt_driver.py | 182 +++++++++++-----------
1 file changed, 89 insertions(+), 93 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/c38971ee/libcloud/test/compute/test_libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_libvirt_driver.py b/libcloud/test/compute/test_libvirt_driver.py
index 2993ebd..36dd851 100644
--- a/libcloud/test/compute/test_libvirt_driver.py
+++ b/libcloud/test/compute/test_libvirt_driver.py
@@ -16,6 +16,8 @@
import sys
from libcloud.compute.drivers.libvirt_driver import LibvirtNodeDriver
+from libcloud.compute.base import NodeState
+from libcloud.compute.types import Provider
from libcloud.test import unittest
@@ -26,11 +28,19 @@ class virConnect:
A stub/Mock implementation of the libvirt.virConnect class returned by
the libvirt.openX calles
"""
- def stub(self, *args, **kwargs):
+ def __stub(self, *args, **kwargs):
return 0
+ def __yes(self, *args, **kwargs):
+ return True
+
+ def __ary(self, *args, **kwargs):
+ return []
+
def __init__(self):
- stub = self.stub
+ stub = self.__stub
+ yes = self.__yes
+ ary = self.__ary
fnt = [
'_dispatchCloseCallback',
'_dispatchDomainEventAgentLifecycleCallback',
@@ -65,103 +75,66 @@ class virConnect:
'domainXMLFromNative', 'domainXMLToNative',
'findStoragePoolSources', 'getAllDomainStats', 'getCPUMap',
'getCPUModelNames', 'getCPUStats', 'getCapabilities',
- 'getCellsFreeMemory',
- 'getDomainCapabilities',
- 'getFreeMemory',
- 'getFreePages',
- 'getHostname',
- 'getInfo',
- 'getLibVersion',
- 'getMaxVcpus',
- 'getMemoryParameters',
- 'getMemoryStats',
- 'getSecurityModel',
- 'getSysinfo',
- 'getType',
- 'getURI',
- 'getVersion',
- 'interfaceDefineXML',
- 'interfaceLookupByMACString',
- 'interfaceLookupByName',
- 'isAlive',
- 'isEncrypted',
- 'isSecure',
- 'listAllDevices',
- 'listAllDomains',
- 'listAllInterfaces',
- 'listAllNWFilters',
- 'listAllNetworks',
- 'listAllSecrets',
- 'listAllStoragePools',
- 'listDefinedDomains',
- 'listDefinedInterfaces',
- 'listDefinedNetworks',
- 'listDefinedStoragePools',
- 'listDevices',
- 'listDomainsID',
- 'listInterfaces',
- 'listNWFilters',
- 'listNetworks',
- 'listSecrets',
- 'listStoragePools',
- 'lookupByID',
- 'lookupByName',
- 'lookupByUUID',
- 'lookupByUUIDString',
- 'networkCreateXML',
- 'networkDefineXML',
- 'networkEventDeregisterAny',
- 'networkEventRegisterAny',
- 'networkLookupByName',
- 'networkLookupByUUID',
- 'networkLookupByUUIDString',
- 'newStream',
- 'nodeDeviceCreateXML',
- 'nodeDeviceLookupByName',
- 'nodeDeviceLookupSCSIHostByWWN',
- 'numOfDefinedDomains',
- 'numOfDefinedInterfaces',
- 'numOfDefinedNetworks',
- 'numOfDefinedStoragePools',
- 'numOfDevices',
- 'numOfDomains',
- 'numOfInterfaces',
- 'numOfNWFilters',
- 'numOfNetworks',
- 'numOfSecrets',
- 'numOfStoragePools',
- 'nwfilterDefineXML',
- 'nwfilterLookupByName',
- 'nwfilterLookupByUUID',
- 'nwfilterLookupByUUIDString',
- 'registerCloseCallback',
- 'restore',
- 'restoreFlags',
- 'saveImageDefineXML',
- 'saveImageGetXMLDesc',
- 'secretDefineXML',
- 'secretLookupByUUID',
- 'secretLookupByUUIDString',
- 'secretLookupByUsage',
- 'setKeepAlive',
- 'setMemoryParameters',
- 'storagePoolCreateXML',
- 'storagePoolDefineXML',
- 'storagePoolLookupByName',
- 'storagePoolLookupByUUID',
- 'storagePoolLookupByUUIDString',
- 'storageVolLookupByKey',
- 'storageVolLookupByPath',
- 'suspendForDuration',
- 'unregisterCloseCallback',
- 'virConnGetLastError',
+ 'getCellsFreeMemory', 'getDomainCapabilities', 'getFreeMemory',
+ 'getFreePages', 'getHostname', 'getInfo', 'getLibVersion',
+ 'getMaxVcpus', 'getMemoryParameters', 'getMemoryStats',
+ 'getSecurityModel', 'getSysinfo', 'getType', 'getURI',
+ 'getVersion', 'interfaceDefineXML', 'interfaceLookupByMACString',
+ 'interfaceLookupByName', 'isAlive', 'isEncrypted', 'isSecure',
+ 'listAllDevices', 'listAllDomains', 'listAllInterfaces',
+ 'listAllNWFilters', 'listAllNetworks', 'listAllSecrets',
+ 'listAllStoragePools', 'listDefinedDomains',
+ 'listDefinedInterfaces', 'listDefinedNetworks',
+ 'listDefinedStoragePools', 'listDevices', 'listDomainsID',
+ 'listInterfaces', 'listNWFilters', 'listNetworks', 'listSecrets',
+ 'listStoragePools', 'lookupByID', 'lookupByName', 'lookupByUUID',
+ 'lookupByUUIDString', 'networkCreateXML', 'networkDefineXML',
+ 'networkEventDeregisterAny', 'networkEventRegisterAny',
+ 'networkLookupByName', 'networkLookupByUUID',
+ 'networkLookupByUUIDString', 'newStream', 'nodeDeviceCreateXML',
+ 'nodeDeviceLookupByName', 'nodeDeviceLookupSCSIHostByWWN',
+ 'numOfDefinedDomains', 'numOfDefinedInterfaces',
+ 'numOfDefinedNetworks', 'numOfDefinedStoragePools', 'numOfDevices',
+ 'numOfDomains', 'numOfInterfaces', 'numOfNWFilters',
+ 'numOfNetworks', 'numOfSecrets', 'numOfStoragePools',
+ 'nwfilterDefineXML', 'nwfilterLookupByName',
+ 'nwfilterLookupByUUID', 'nwfilterLookupByUUIDString',
+ 'registerCloseCallback', 'restore', 'restoreFlags',
+ 'saveImageDefineXML', 'saveImageGetXMLDesc', 'secretDefineXML',
+ 'secretLookupByUUID', 'secretLookupByUUIDString',
+ 'secretLookupByUsage', 'setKeepAlive', 'setMemoryParameters',
+ 'storagePoolCreateXML', 'storagePoolDefineXML',
+ 'storagePoolLookupByName', 'storagePoolLookupByUUID',
+ 'storagePoolLookupByUUIDString', 'storageVolLookupByKey',
+ 'storageVolLookupByPath', 'suspendForDuration',
+ 'unregisterCloseCallback', 'virConnGetLastError',
'virConnResetLastError'
]
for f in fnt:
- self.__dict__[f] = stub
+ if f.startswith('is'):
+ self.__dict__[f] = yes
+ elif f.startswith('list'):
+ self.__dict__[f] = ary
+ else:
+ self.__dict__[f] = stub
class LibvirtNodeDriverTestCase(LibvirtNodeDriver, unittest.TestCase):
+ type = Provider.LIBVIRT
+ name = 'Libvirt'
+ website = 'http://libvirt.org/'
+
+ NODE_STATE_MAP = {
+ 0: NodeState.TERMINATED, # no state
+ 1: NodeState.RUNNING, # domain is running
+ 2: NodeState.PENDING, # domain is blocked on resource
+ 3: NodeState.TERMINATED, # domain is paused by user
+ 4: NodeState.TERMINATED, # domain is being shut down
+ 5: NodeState.TERMINATED, # domain is shut off
+ 6: NodeState.UNKNOWN, # domain is crashed
+ 7: NodeState.UNKNOWN, # domain is suspended by guest power management
+ }
+
def __init__(self, argv=None):
unittest.TestCase.__init__(self, argv)
self._uri = 'qemu:///system'
@@ -195,5 +168,28 @@ class LibvirtNodeDriverTestCase(LibvirtNodeDriver, unittest.TestCase):
arp_table = self._parse_ip_table_neigh(arp_output_str)
self._assert_arp_table(arp_table)
+ def test_bad_map(self):
+ arp_output_str = """1.2.10.80 dev br0 52:54:00:bc:f9:6c STALE
+1.2.10.33 dev br0 lladdr 52:54:00:04:89:51 REACHABLE
+1.2.10.97 dev br0 lladdr
+1.2.10.40 dev br0 lladdr 52:54:00:77:1c:83 STALE
+"""
+ arp_table = self._parse_ip_table_neigh(arp_output_str)
+ # we should at least get the correctly formatted lines
+ self.assertEqual(len(arp_table), 2)
+ arp_output_str = """? (1.2.10.80) at 52:54:00:bc:f9:6c [ether] on br0
+? (1.2.10.33) at 52:54:00:04:89:51 [ether] on br0
+? (1.2.10.97) at 52:54:00:c6:40:ec [ether] on br0
+? (1.2.10.40) at 52:54:00:77:1c:83 [ether] on br0
+"""
+ arp_table = self._parse_ip_table_neigh(arp_output_str)
+ # nothing should match if the wrong output is sent
+ self.assertEqual(len(arp_table), 0)
+
+ def test_list_nodes(self):
+ nodes = self.list_nodes()
+ self.assertEqual(type([]), type(nodes))
+ self.assertEqual(len(nodes), 0)
+
if __name__ == '__main__':
sys.exit(unittest.main())
[10/14] libcloud git commit: adding python libvirt to dependencies
Posted by to...@apache.org.
adding python libvirt to dependencies
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/3856f462
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/3856f462
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/3856f462
Branch: refs/heads/trunk
Commit: 3856f4629ce1350e32fd9a3e4204fa14b8e8083b
Parents: e1513b2
Author: Rene Kjellerup <rk...@touchcommerce.com>
Authored: Tue Jul 12 17:31:54 2016 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Jul 13 11:31:21 2016 +0200
----------------------------------------------------------------------
.travis.yml | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3856f462/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index c27cc7c..32bf653 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,6 +18,7 @@ addons:
apt:
packages:
- graphviz
+ - python-libvirt
matrix:
fast_finish: true