This adds a tempest test for creating a chassis with a specific UUID.
Change-Id: I51fbcd0613c16618d5e4a52ae1d798321a21bced
diff --git a/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py b/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py
index 6d88e7c..dc4cdc1 100644
--- a/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py
+++ b/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py
@@ -157,6 +157,9 @@
"""
chassis = {'description': kwargs.get('description', 'test-chassis')}
+ if 'uuid' in kwargs:
+ chassis.update({'uuid': kwargs.get('uuid')})
+
return self._create_request('chassis', chassis)
@base.handle_errors
diff --git a/ironic_tempest_plugin/tests/api/admin/base.py b/ironic_tempest_plugin/tests/api/admin/base.py
index cd15936..f6b634c 100644
--- a/ironic_tempest_plugin/tests/api/admin/base.py
+++ b/ironic_tempest_plugin/tests/api/admin/base.py
@@ -147,7 +147,7 @@
@classmethod
@creates('chassis')
- def create_chassis(cls, description=None):
+ def create_chassis(cls, description=None, **kwargs):
"""Wrapper utility for creating test chassis.
:param description: A description of the chassis. If not supplied,
@@ -156,7 +156,8 @@
"""
description = description or data_utils.rand_name('test-chassis')
- resp, body = cls.client.create_chassis(description=description)
+ resp, body = cls.client.create_chassis(description=description,
+ **kwargs)
return resp, body
@classmethod
diff --git a/ironic_tempest_plugin/tests/api/admin/test_chassis.py b/ironic_tempest_plugin/tests/api/admin/test_chassis.py
index 78912a2..19bdc13 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_chassis.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_chassis.py
@@ -75,3 +75,9 @@
_, node = self.create_node(self.chassis['uuid'])
_, body = self.client.list_chassis_nodes(self.chassis['uuid'])
self.assertIn(node['uuid'], [n['uuid'] for n in body['nodes']])
+
+ @decorators.idempotent_id('dd52bd5d-610c-4f2c-8fa3-d5e59269325f')
+ def test_create_chassis_uuid(self):
+ uuid = data_utils.rand_uuid()
+ _, chassis = self.create_chassis(uuid=uuid)
+ self.assertEqual(uuid, chassis['uuid'])