Skip to content

Commit

Permalink
contrail-topology shown to have "failed"
Browse files Browse the repository at this point in the history
Connection error is not properly handeled
- Captured exception

Change-Id: I2bc00c64e391bc78d03bff4366d2be9763816db8
Closes-Bug: 1565169
  • Loading branch information
tedghose committed May 23, 2016
1 parent d052799 commit 7772e8a
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 10 deletions.
Expand Up @@ -50,8 +50,13 @@ def get_uve_url(self):

def get_uves(self, ob=None, defult=None, refresh=False):
if not self._uves or refresh:
self._uves = self._get_list_2_dict(self._get_url_json(
try:
self._uves = self._get_list_2_dict(self._get_url_json(
self.get_uve_url()))
except Exception as e:
import traceback; traceback.print_exc()
print str(e)
self._uves = None
if ob is None:
return self._uves
if self._uves:
Expand All @@ -60,8 +65,13 @@ def get_uves(self, ob=None, defult=None, refresh=False):

def get_vrouters(self, refresh=False):
if self._vrouters is None or refresh:
self._vrouters = self._get_list_2_dict(self._get_url_json(
self.get_uves('vrouters', refresh=refresh)))
try:
self._vrouters = self._get_list_2_dict(self._get_url_json(
self.get_uves('vrouters', refresh=refresh)))
except Exception as e:
import traceback; traceback.print_exc()
print str(e)
self._vrouters = None
return self._vrouters

def list_vrouters(self):
Expand All @@ -76,8 +86,13 @@ def get_vrouter(self, vrouter, filters=None):

def get_prouters(self, refresh=False):
if self._prouters is None or refresh:
self._prouters = self._get_list_2_dict(self._get_url_json(
self.get_uves('prouters')))
try:
self._prouters = self._get_list_2_dict(self._get_url_json(
self.get_uves('prouters')))
except Exception as e:
import traceback; traceback.print_exc()
print str(e)
self._prouters = None
return self._prouters

def list_prouters(self):
Expand Down
25 changes: 20 additions & 5 deletions src/analytics/contrail-topology/contrail_topology/controller.py
Expand Up @@ -40,11 +40,21 @@ def get_vrouters(self):
self.vrouter_ips = {}
self.vrouter_macs = {}
for vr in self.analytic_api.list_vrouters():
d = self.analytic_api.get_vrouter(vr, 'VrouterAgent:phy_if')
try:
d = self.analytic_api.get_vrouter(vr, 'VrouterAgent:phy_if')
except Exception as e:
traceback.print_exc()
print str(e)
d = {}
if 'VrouterAgent' not in d:
d['VrouterAgent'] = {}
_ipl = self.analytic_api.get_vrouter(vr,
'VrouterAgent:self_ip_list')
try:
_ipl = self.analytic_api.get_vrouter(vr,
'VrouterAgent:self_ip_list')
except Exception as e:
traceback.print_exc()
print str(e)
_ipl = {}
if 'VrouterAgent' in _ipl:
d['VrouterAgent'].update(_ipl['VrouterAgent'])
if 'VrouterAgent' not in d or\
Expand All @@ -68,8 +78,12 @@ def get_prouters(self):
self.analytic_api.get_prouters(True)
self.prouters = []
for pr in self.analytic_api.list_prouters():
self.prouters.append(PRouter(pr, self.analytic_api.get_prouter(
try:
self.prouters.append(PRouter(pr, self.analytic_api.get_prouter(
pr, 'PRouterEntry')))
except Exception as e:
traceback.print_exc()
print str(e)

def _is_linkup(self, prouter, ifindex):
if 'PRouterEntry' in prouter.data and \
Expand Down Expand Up @@ -110,6 +124,7 @@ def bms_links(self, prouter, ifm):
self._vnc = self._config.vnc_api()
except:
print 'Proceeding without any api-server'
self._vnc = None # refresh
if self._vnc:
try:
for li in self._vnc.logical_interfaces_list()[
Expand Down Expand Up @@ -277,7 +292,7 @@ def run(self):
self.compute()
self.send_uve()
except Exception as e:
import traceback; traceback.print_exc()
traceback.print_exc()
print str(e)
gevent.sleep(self._sleep_time)
else:
Expand Down

0 comments on commit 7772e8a

Please sign in to comment.