Disable tests for nodepoold changes

Disables all tests that depend on a working nodepoold and removes
obsolete tests since the database and gearman are going away.

Change-Id: Ic973c8a657fbfa38523e73231bdb5fce53a81f3a
This commit is contained in:
David Shrewsbury 2017-01-05 12:16:02 -05:00
parent 08b720364f
commit eac6ca73f3
5 changed files with 31 additions and 41 deletions

View File

@ -85,6 +85,10 @@ class TestNodepoolBuilderDibImage(tests.BaseTestCase):
self.assertRaises(exceptions.BuilderError, image.to_path, '/imagedir/') self.assertRaises(exceptions.BuilderError, image.to_path, '/imagedir/')
class TestNodePoolBuilder(tests.DBTestCase): class TestNodePoolBuilder(tests.DBTestCase):
def setUp(self):
super(tests.DBTestCase, self).setUp()
self.skipTest("Disabled for early v3 development")
def test_start_stop(self): def test_start_stop(self):
config = self.setup_config('node.yaml') config = self.setup_config('node.yaml')
nb = builder.NodePoolBuilder(config) nb = builder.NodePoolBuilder(config)

View File

@ -27,6 +27,10 @@ from nodepool import zk
class TestNodepoolCMD(tests.DBTestCase): class TestNodepoolCMD(tests.DBTestCase):
def setUp(self):
super(tests.DBTestCase, self).setUp()
self.skipTest("Disabled for early v3 development")
def patch_argv(self, *args): def patch_argv(self, *args):
argv = ["nodepool", "-s", self.secure_conf] argv = ["nodepool", "-s", self.secure_conf]
argv.extend(args) argv.extend(args)

View File

@ -15,13 +15,11 @@
import json import json
import logging import logging
import threading
import time import time
from unittest import skip from unittest import skip
import fixtures import fixtures
from nodepool import jobs
from nodepool import tests from nodepool import tests
from nodepool import nodedb from nodepool import nodedb
import nodepool.fakeprovider import nodepool.fakeprovider
@ -31,11 +29,7 @@ import nodepool.nodepool
class TestNodepool(tests.DBTestCase): class TestNodepool(tests.DBTestCase):
log = logging.getLogger("nodepool.TestNodepool") log = logging.getLogger("nodepool.TestNodepool")
def test_db(self): @skip("Disabled for early v3 development")
db = nodedb.NodeDatabase(self.dburi)
with db.getSession() as session:
session.getNodes()
def test_node(self): def test_node(self):
"""Test that an image and node are created""" """Test that an image and node are created"""
configfile = self.setup_config('node.yaml') configfile = self.setup_config('node.yaml')
@ -52,6 +46,7 @@ class TestNodepool(tests.DBTestCase):
state=nodedb.READY) state=nodedb.READY)
self.assertEqual(len(nodes), 1) self.assertEqual(len(nodes), 1)
@skip("Disabled for early v3 development")
def test_disabled_label(self): def test_disabled_label(self):
"""Test that an image and node are not created""" """Test that an image and node are not created"""
configfile = self.setup_config('node_disabled_label.yaml') configfile = self.setup_config('node_disabled_label.yaml')
@ -68,6 +63,7 @@ class TestNodepool(tests.DBTestCase):
state=nodedb.READY) state=nodedb.READY)
self.assertEqual(len(nodes), 0) self.assertEqual(len(nodes), 0)
@skip("Disabled for early v3 development")
def test_node_net_name(self): def test_node_net_name(self):
"""Test that a node is created with a net name""" """Test that a node is created with a net name"""
configfile = self.setup_config('node_net_name.yaml') configfile = self.setup_config('node_net_name.yaml')
@ -84,6 +80,7 @@ class TestNodepool(tests.DBTestCase):
state=nodedb.READY) state=nodedb.READY)
self.assertEqual(len(nodes), 1) self.assertEqual(len(nodes), 1)
@skip("Disabled for early v3 development")
def test_node_vhd_image(self): def test_node_vhd_image(self):
"""Test that a image and node are created vhd image""" """Test that a image and node are created vhd image"""
configfile = self.setup_config('node_vhd.yaml') configfile = self.setup_config('node_vhd.yaml')
@ -100,6 +97,7 @@ class TestNodepool(tests.DBTestCase):
state=nodedb.READY) state=nodedb.READY)
self.assertEqual(len(nodes), 1) self.assertEqual(len(nodes), 1)
@skip("Disabled for early v3 development")
def test_node_vhd_and_qcow2(self): def test_node_vhd_and_qcow2(self):
"""Test label provided by vhd and qcow2 images builds""" """Test label provided by vhd and qcow2 images builds"""
configfile = self.setup_config('node_vhd_and_qcow2.yaml') configfile = self.setup_config('node_vhd_and_qcow2.yaml')
@ -122,6 +120,7 @@ class TestNodepool(tests.DBTestCase):
state=nodedb.READY) state=nodedb.READY)
self.assertEqual(len(nodes), 1) self.assertEqual(len(nodes), 1)
@skip("Disabled for early v3 development")
def test_dib_upload_fail(self): def test_dib_upload_fail(self):
"""Test that an image upload failure is contained.""" """Test that an image upload failure is contained."""
configfile = self.setup_config('node_upload_fail.yaml') configfile = self.setup_config('node_upload_fail.yaml')
@ -143,6 +142,7 @@ class TestNodepool(tests.DBTestCase):
state=nodedb.READY) state=nodedb.READY)
self.assertEqual(len(nodes), 2) self.assertEqual(len(nodes), 2)
@skip("Disabled for early v3 development")
def test_subnodes(self): def test_subnodes(self):
"""Test that an image and node are created""" """Test that an image and node are created"""
configfile = self.setup_config('subnodes.yaml') configfile = self.setup_config('subnodes.yaml')
@ -168,6 +168,7 @@ class TestNodepool(tests.DBTestCase):
for subnode in node.subnodes: for subnode in node.subnodes:
self.assertEqual(subnode.state, nodedb.READY) self.assertEqual(subnode.state, nodedb.READY)
@skip("Disabled for early v3 development")
def test_subnode_deletion_success(self): def test_subnode_deletion_success(self):
"""Test that subnodes are deleted with parent node""" """Test that subnodes are deleted with parent node"""
configfile = self.setup_config('subnodes.yaml') configfile = self.setup_config('subnodes.yaml')
@ -204,6 +205,7 @@ class TestNodepool(tests.DBTestCase):
s = session.getSubNode(subnode_id) s = session.getSubNode(subnode_id)
self.assertIsNone(s) self.assertIsNone(s)
@skip("Disabled for early v3 development")
def test_node_az(self): def test_node_az(self):
"""Test that an image and node are created with az specified""" """Test that an image and node are created with az specified"""
configfile = self.setup_config('node_az.yaml') configfile = self.setup_config('node_az.yaml')
@ -221,6 +223,7 @@ class TestNodepool(tests.DBTestCase):
self.assertEqual(len(nodes), 1) self.assertEqual(len(nodes), 1)
self.assertEqual(nodes[0].az, 'az1') self.assertEqual(nodes[0].az, 'az1')
@skip("Disabled for early v3 development")
def test_node_ipv6(self): def test_node_ipv6(self):
"""Test that a node is created w/ or w/o ipv6 preferred flag""" """Test that a node is created w/ or w/o ipv6 preferred flag"""
configfile = self.setup_config('node_ipv6.yaml') configfile = self.setup_config('node_ipv6.yaml')
@ -255,6 +258,7 @@ class TestNodepool(tests.DBTestCase):
self.assertEqual(len(nodes), 1) self.assertEqual(len(nodes), 1)
self.assertEqual(nodes[0].ip, 'fake') self.assertEqual(nodes[0].ip, 'fake')
@skip("Disabled for early v3 development")
def test_node_delete_success(self): def test_node_delete_success(self):
configfile = self.setup_config('node.yaml') configfile = self.setup_config('node.yaml')
pool = self.useNodepool(configfile, watermark_sleep=1) pool = self.useNodepool(configfile, watermark_sleep=1)
@ -291,6 +295,7 @@ class TestNodepool(tests.DBTestCase):
# Make sure our old node was deleted # Make sure our old node was deleted
self.assertEqual(len(deleted_nodes), 0) self.assertEqual(len(deleted_nodes), 0)
@skip("Disabled for early v3 development")
def test_node_delete_failure(self): def test_node_delete_failure(self):
def fail_delete(self, name): def fail_delete(self, name):
raise RuntimeError('Fake Error') raise RuntimeError('Fake Error')
@ -334,6 +339,7 @@ class TestNodepool(tests.DBTestCase):
self.assertEqual(len(deleted_nodes), 1) self.assertEqual(len(deleted_nodes), 1)
self.assertEqual(node_id, deleted_nodes[0].id) self.assertEqual(node_id, deleted_nodes[0].id)
@skip("Disabled for early v3 development")
def test_leaked_node(self): def test_leaked_node(self):
"""Test that a leaked node is deleted""" """Test that a leaked node is deleted"""
configfile = self.setup_config('leaked_node.yaml') configfile = self.setup_config('leaked_node.yaml')
@ -483,6 +489,7 @@ class TestNodepool(tests.DBTestCase):
# should be second image built. # should be second image built.
self.assertEqual(images[0].id, 2) self.assertEqual(images[0].id, 2)
@skip("Disabled for early v3 development")
def test_job_start_event(self): def test_job_start_event(self):
"""Test that job start marks node used""" """Test that job start marks node used"""
configfile = self.setup_config('node.yaml') configfile = self.setup_config('node.yaml')
@ -507,6 +514,7 @@ class TestNodepool(tests.DBTestCase):
state=nodedb.USED) state=nodedb.USED)
self.assertEqual(len(nodes), 1) self.assertEqual(len(nodes), 1)
@skip("Disabled for early v3 development")
def test_job_end_event(self): def test_job_end_event(self):
"""Test that job end marks node delete""" """Test that job end marks node delete"""
configfile = self.setup_config('node.yaml') configfile = self.setup_config('node.yaml')
@ -533,6 +541,7 @@ class TestNodepool(tests.DBTestCase):
node = session.getNode(1) node = session.getNode(1)
self.assertEqual(node, None) self.assertEqual(node, None)
@skip("Disabled for early v3 development")
def _test_job_auto_hold(self, result): def _test_job_auto_hold(self, result):
configfile = self.setup_config('node.yaml') configfile = self.setup_config('node.yaml')
pool = self.useNodepool(configfile, watermark_sleep=1) pool = self.useNodepool(configfile, watermark_sleep=1)
@ -559,6 +568,7 @@ class TestNodepool(tests.DBTestCase):
self.wait_for_threads() self.wait_for_threads()
return pool return pool
@skip("Disabled for early v3 development")
def test_job_auto_hold_success(self): def test_job_auto_hold_success(self):
"""Test that a successful job does not hold a node""" """Test that a successful job does not hold a node"""
pool = self._test_job_auto_hold('SUCCESS') pool = self._test_job_auto_hold('SUCCESS')
@ -566,6 +576,7 @@ class TestNodepool(tests.DBTestCase):
node = session.getNode(1) node = session.getNode(1)
self.assertIsNone(node) self.assertIsNone(node)
@skip("Disabled for early v3 development")
def test_job_auto_hold_failure(self): def test_job_auto_hold_failure(self):
"""Test that a failed job automatically holds a node""" """Test that a failed job automatically holds a node"""
pool = self._test_job_auto_hold('FAILURE') pool = self._test_job_auto_hold('FAILURE')
@ -573,6 +584,7 @@ class TestNodepool(tests.DBTestCase):
node = session.getNode(1) node = session.getNode(1)
self.assertEqual(node.state, nodedb.HOLD) self.assertEqual(node.state, nodedb.HOLD)
@skip("Disabled for early v3 development")
def test_job_auto_hold_failure_max(self): def test_job_auto_hold_failure_max(self):
"""Test that a failed job automatically holds only one node""" """Test that a failed job automatically holds only one node"""
pool = self._test_job_auto_hold('FAILURE') pool = self._test_job_auto_hold('FAILURE')
@ -600,37 +612,3 @@ class TestNodepool(tests.DBTestCase):
with pool.getDB().getSession() as session: with pool.getDB().getSession() as session:
node = session.getNode(2) node = session.getNode(2)
self.assertEqual(node, None) self.assertEqual(node, None)
class TestGearClient(tests.DBTestCase):
def test_wait_for_completion(self):
wj = jobs.WatchableJob('test', 'test', 'test')
def call_on_completed():
time.sleep(.2)
wj.onCompleted()
t = threading.Thread(target=call_on_completed)
t.start()
wj.waitForCompletion()
def test_handle_disconnect(self):
class MyJob(jobs.WatchableJob):
def __init__(self, *args, **kwargs):
super(MyJob, self).__init__(*args, **kwargs)
self.disconnect_called = False
def onDisconnect(self):
self.disconnect_called = True
super(MyJob, self).onDisconnect()
client = nodepool.nodepool.GearmanClient()
client.addServer('localhost', self.gearman_server.port)
client.waitForServer()
job = MyJob('test-job', '', '')
client.submitJob(job)
self.gearman_server.shutdown()
job.waitForCompletion()
self.assertEqual(job.disconnect_called, True)

View File

@ -16,12 +16,14 @@
import logging import logging
import urllib2 import urllib2
from unittest import skip
from nodepool import tests from nodepool import tests
class TestWebApp(tests.DBTestCase): class TestWebApp(tests.DBTestCase):
log = logging.getLogger("nodepool.TestWebApp") log = logging.getLogger("nodepool.TestWebApp")
@skip("Disabled for early v3 development")
def test_image_list(self): def test_image_list(self):
configfile = self.setup_config('node.yaml') configfile = self.setup_config('node.yaml')
pool = self.useNodepool(configfile, watermark_sleep=1) pool = self.useNodepool(configfile, watermark_sleep=1)

View File

@ -40,6 +40,8 @@ function waitfornode {
done done
} }
exit 0
if [ $NODEPOOL_PAUSE_CENTOS_7_DIB = 'false' ]; then if [ $NODEPOOL_PAUSE_CENTOS_7_DIB = 'false' ]; then
# check that image built # check that image built
waitforimage centos-7 waitforimage centos-7