From: Ross Brattain Date: Thu, 16 Mar 2017 02:46:19 +0000 (-0700) Subject: pass user_data to heat template X-Git-Tag: opnfv-5.0.RC1~479^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F23%2F30623%2F2;p=yardstick.git pass user_data to heat template We had code to support adding user_data but the Server model was not connected. The string formatting of the user_data is left as an exercise for the reader. Change-Id: I298657b93de67e19436bca616b119df636dacce2 Signed-off-by: Ross Brattain --- diff --git a/tests/unit/benchmark/contexts/test_model.py b/tests/unit/benchmark/contexts/test_model.py index a4b7d81ef..a8314aef4 100644 --- a/tests/unit/benchmark/contexts/test_model.py +++ b/tests/unit/benchmark/contexts/test_model.py @@ -230,4 +230,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') diff --git a/yardstick/benchmark/contexts/model.py b/yardstick/benchmark/contexts/model.py index 8cf3b621c..039686554 100644 --- a/yardstick/benchmark/contexts/model.py +++ b/yardstick/benchmark/contexts/model.py @@ -148,6 +148,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 = {} @@ -200,6 +201,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 @@ -249,6 +252,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):