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'])