From 2f5b58d700201a259c686d05b7f0c5a8814d6e1f Mon Sep 17 00:00:00 2001 From: "wu.zhihui" Date: Wed, 27 Jul 2016 20:48:55 +0800 Subject: Bugfix: Only add keyword "external_network" to the first network In test case yaml file, when vm need three networks and enable floating ip true, it should only add keyword "external_network" to the first one. 'networks': {'test': {'cidr': '10.0.1.0/24', 'external_network': 'admin_floating_net'}, 'test3': {'cidr': '10.0.3.0/24'}, 'test2': {'cidr': '10.0.2.0/24'}} JIRA:YARDSTICK-309 Change-Id: I1126955749b598b8c5460ac75843c1939b4f8443 Signed-off-by: wu.zhihui --- yardstick/benchmark/contexts/model.py | 12 ++++++------ yardstick/cmd/commands/task.py | 12 +++++++++--- 2 files changed, 15 insertions(+), 9 deletions(-) (limited to 'yardstick') diff --git a/yardstick/benchmark/contexts/model.py b/yardstick/benchmark/contexts/model.py index 2cf31f6ea..d31f4afc0 100644 --- a/yardstick/benchmark/contexts/model.py +++ b/yardstick/benchmark/contexts/model.py @@ -201,12 +201,12 @@ class Server(Object): port_name, network.router.stack_if_name, self.secgroup_name) - self.floating_ip_assoc["stack_name"] = \ - server_name + "-fip-assoc" - template.add_floating_ip_association( - self.floating_ip_assoc["stack_name"], - self.floating_ip["stack_name"], - port_name) + self.floating_ip_assoc["stack_name"] = \ + server_name + "-fip-assoc" + template.add_floating_ip_association( + self.floating_ip_assoc["stack_name"], + self.floating_ip["stack_name"], + port_name) template.add_server(server_name, self.image, self.flavor, ports=port_name_list, diff --git a/yardstick/cmd/commands/task.py b/yardstick/cmd/commands/task.py index 18b72e726..69652c3b6 100644 --- a/yardstick/cmd/commands/task.py +++ b/yardstick/cmd/commands/task.py @@ -275,10 +275,16 @@ class TaskParser(object): for cfg_attrs in context_cfgs: context_type = cfg_attrs.get("type", "Heat") if "Heat" == context_type and "networks" in cfg_attrs: + # bugfix: if there are more than one network, + # only add "external_network" on first one. + # the name of netwrok should follow this rule: + # test, test2, test3 ... + # sort network with the length of network's name + sorted_networks = sorted(cfg_attrs["networks"].keys()) # config external_network based on env var - for _, attrs in cfg_attrs["networks"].items(): - attrs["external_network"] = os.environ.get( - 'EXTERNAL_NETWORK', 'net04_ext') + cfg_attrs["networks"][sorted_networks[0]]["external_network"] \ + = os.environ.get("EXTERNAL_NETWORK", "net04_ext") + context = Context.get(context_type) context.init(cfg_attrs) -- cgit 1.2.3-korg