Merge "NSB: fix port topology"
authorRoss Brattain <ross.b.brattain@intel.com>
Fri, 15 Sep 2017 20:49:52 +0000 (20:49 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 15 Sep 2017 20:49:52 +0000 (20:49 +0000)
1  2 
yardstick/benchmark/contexts/heat.py

@@@ -325,19 -330,24 +330,24 @@@ class HeatContext(Context)
                  server.public_ip = \
                      self.stack.outputs[server.floating_ip["stack_name"]]
  
 -        print("Context '%s' deployed" % self.name)
 +        LOG.info("Deploying context '%s' DONE", self.name)
  
      def add_server_port(self, server):
-         # TODO(hafe) can only handle one internal network for now
-         # use private ip from first port
-         private_port = next(iter(server.ports.values()))
+         # use private ip from first port in first network
+         try:
+             private_port = next(iter(server.ports.values()))[0]
+         except IndexError:
+             LOG.exception("Unable to find first private port in %s", server.ports)
+             raise
          server.private_ip = self.stack.outputs[private_port["stack_name"]]
          server.interfaces = {}
-         for network_name, port in server.ports.items():
-             # port['port'] is either port name from mapping or default network_name
-             server.interfaces[port['port']] = self.make_interface_dict(network_name, port['port'],
-                                                                        port['stack_name'],
-                                                                        self.stack.outputs)
+         for network_name, ports in server.ports.items():
+             for port in ports:
+                 # port['port'] is either port name from mapping or default network_name
+                 server.interfaces[port['port']] = self.make_interface_dict(network_name,
+                                                                            port['port'],
+                                                                            port['stack_name'],
+                                                                            self.stack.outputs)
  
      def make_interface_dict(self, network_name, port, stack_name, outputs):
          private_ip = outputs[stack_name]