summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-02-21 00:29:50 +0000
committerGerrit Code Review <review@openstack.org>2013-02-21 00:29:50 +0000
commit31347223a655f33cff6b51916eba0ea96da7a4e3 (patch)
tree622e0c4da24c64876c85fdb6e6dc1b3f49a9f7ea /nova/tests
parent20422f46e8a506a751844c94f0f7b25bf8220e2b (diff)
parent48439b98a1a7ac2dded34c8899918773f70667f2 (diff)
Merge "Wait for baremetal deploy inside driver.spawn"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/baremetal/test_pxe.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/nova/tests/baremetal/test_pxe.py b/nova/tests/baremetal/test_pxe.py
index a2f38c39f..d9e41bc67 100644
--- a/nova/tests/baremetal/test_pxe.py
+++ b/nova/tests/baremetal/test_pxe.py
@@ -32,6 +32,7 @@ from nova.tests.baremetal.db import base as bm_db_base
from nova.tests.baremetal.db import utils as bm_db_utils
from nova.tests.image import fake as fake_image
from nova.tests import utils
+from nova.virt.baremetal import baremetal_states
from nova.virt.baremetal import db
from nova.virt.baremetal import pxe
from nova.virt.baremetal import utils as bm_utils
@@ -536,3 +537,33 @@ class PXEPublicMethodsTestCase(BareMetalPXETestCase):
self.driver.deactivate_bootloader(
self.context, self.node, self.instance)
self.mox.VerifyAll()
+
+ def test_activate_node(self):
+ self._create_node()
+ self.instance['uuid'] = 'fake-uuid'
+ self.flags(pxe_deploy_timeout=1, group='baremetal')
+
+ db.bm_node_update(self.context, 1,
+ {'task_state': baremetal_states.DEPLOYING,
+ 'instance_uuid': 'fake-uuid'})
+
+ # test timeout
+ self.assertRaises(exception.InstanceDeployFailure,
+ self.driver.activate_node,
+ self.context, self.node, self.instance)
+
+ # test DEPLOYDONE
+ db.bm_node_update(self.context, 1,
+ {'task_state': baremetal_states.DEPLOYDONE})
+ self.driver.activate_node(self.context, self.node, self.instance)
+
+ # test no deploy -- state is just ACTIVE
+ db.bm_node_update(self.context, 1,
+ {'task_state': baremetal_states.ACTIVE})
+ self.driver.activate_node(self.context, self.node, self.instance)
+
+ # test node gone
+ db.bm_node_destroy(self.context, 1)
+ self.assertRaises(exception.InstanceDeployFailure,
+ self.driver.activate_node,
+ self.context, self.node, self.instance)