X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Fopenstack%2Fmanage.py;h=1c5c5a51fde5c1bbe5afd805296eb55e14b8c37d;hb=HEAD;hp=083550ef1264cd2bf9ebbbf2a554cbb58abdf8d0;hpb=72f09885db3935e77901c3dee132cb176b927c7b;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/openstack/manage.py b/src/emuvim/api/openstack/manage.py index 083550e..1c5c5a5 100755 --- a/src/emuvim/api/openstack/manage.py +++ b/src/emuvim/api/openstack/manage.py @@ -27,7 +27,7 @@ import logging import threading import uuid import networkx as nx -import chain_api +import emuvim.api.openstack.chain_api as chain_api import json import random from emuvim.api.openstack.resources.net import Net @@ -79,7 +79,6 @@ class OpenstackManage(object): # dependent! self.chain = chain_api.ChainApi(ip, port, self) self.thread = threading.Thread(target=self.chain._start_flask, args=()) - self.thread.daemon = True self.thread.name = self.chain.__class__ self.thread.start() @@ -92,6 +91,10 @@ class OpenstackManage(object): self.floating_intf = None self.floating_links = dict() + def stop(self): + self.chain.stop() + self.thread.join() + @property def net(self): return self._net @@ -129,7 +132,7 @@ class OpenstackManage(object): port.ip_address = root_ip # floating ip network setup # wierd way of getting a datacenter object - first_dc = self.net.dcs.values()[0] + first_dc = list(self.net.dcs.values())[0] # set a dpid for the switch. for this we have to get the id of the # next possible dc self.floating_switch = self.net.addSwitch(