Merge "pass user_data to heat template"
authorRoss Brattain <ross.b.brattain@intel.com>
Wed, 10 May 2017 15:08:26 +0000 (15:08 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Wed, 10 May 2017 15:08:26 +0000 (15:08 +0000)
tests/unit/benchmark/contexts/test_model.py
yardstick/benchmark/contexts/model.py

index 4a10761..122f100 100644 (file)
@@ -251,4 +251,25 @@ class ServerTestCase(unittest.TestCase):
             ports=['some-server-some-network-port'],
             user=self.mock_context.user,
             key_name=self.mock_context.keypair_name,
+            user_data='',
+            scheduler_hints='hints')
+
+    @mock.patch('yardstick.benchmark.contexts.heat.HeatTemplate')
+    def test__add_instance_with_user_data(self, mock_template):
+        user_data = "USER_DATA"
+        attrs = {
+            'image': 'some-image', 'flavor': 'some-flavor',
+            'user_data': user_data,
+        }
+        test_server = model.Server('foo', self.mock_context, attrs)
+
+        test_server._add_instance(mock_template, 'some-server',
+                                  [], 'hints')
+
+        mock_template.add_server.assert_called_with(
+            'some-server', 'some-image', 'some-flavor',
+            ports=[],
+            user=self.mock_context.user,
+            key_name=self.mock_context.keypair_name,
+            user_data=user_data,
             scheduler_hints='hints')
index 71ee1f3..816ec79 100644 (file)
@@ -150,6 +150,7 @@ class Server(Object):     # pragma: no cover
         self.context = context
         self.public_ip = None
         self.private_ip = None
+        self.user_data = ''
 
         if attrs is None:
             attrs = {}
@@ -202,6 +203,8 @@ class Server(Object):     # pragma: no cover
         if "flavor" in attrs:
             self._flavor = attrs["flavor"]
 
+        self.user_data = attrs.get('user_data', '')
+
         Server.list.append(self)
 
     @property
@@ -252,6 +255,7 @@ class Server(Object):     # pragma: no cover
                             ports=port_name_list,
                             user=self.user,
                             key_name=self.keypair_name,
+                            user_data=self.user_data,
                             scheduler_hints=scheduler_hints)
 
     def add_to_template(self, template, networks, scheduler_hints=None):