Authorization for svc-monitor failed after running for a while
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Juniper Openstack |
Fix Committed
|
High
|
Rudra Rugge |
Bug Description
After svc-monitor running for a day or so, authentication fails.
Need to restart svc-monitor to work this around. But, after restart, multiple service instances are created
by svc-monitor.
Here is the logging from /var/log/
-------
<class 'novaclient.
Python 2.7.5: /opt/contrail/
Mon Jun 30 06:19:07 2014
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/opt/contrail/
998 pollreq = PollRequest(
999 result = arc_mapc.
1000 monitor.
1001 except Exception as e:
1002 if type(e) == socket.error:
monitor = <__main_
monitor.
result = '<?xml version="1.0" encoding="UTF-8" standalone=
/opt/contrail/
844 self._svc_
845 % (funcname, meta_name, idents))
846 func(idents)
847 # end for meta
848 # end for result_type
func = <bound method SvcMonitor.
idents = {'service-
/opt/contrail/
784
785 #launch VMs
786 self._create_
787 # end _addmsg_
788
self = <__main_
self._create_
st_obj = <vnc_api.
si_obj = <vnc_api.
/opt/contrail/
493 else:
494 vm = self._create_
495 nics, proj_obj.name, flavor)
496 if vm is None:
497 continue
nics = [{'net-id': u'21f6426b-
proj_obj = <vnc_api.
proj_obj.name = u'acme'
flavor = u'm1.medium'
/opt/contrail/
892 n_client = self._novaclien
893 if flavor_name:
894 flavor = n_client.
895 else:
896 flavor = n_client.
flavor undefined
n_client = <novaclient.
n_client.flavors = <novaclient.
n_client.
name undefined
flavor_name = u'm1.medium'
/opt/contrail/
175 the Python side.
176 """
177 matches = self.findall(
178 num_matches = len(matches)
179 if num_matches == 0:
matches undefined
self = <novaclient.
self.findall = <bound method FlavorManager.
kwargs = {'name': u'm1.medium'}
/opt/contrail/
195 searches = kwargs.items()
196
197 for obj in self.list():
198 try:
199 if all(getattr(obj, attr) == value
obj undefined
self = <novaclient.
self.list = <bound method FlavorManager.list of <novaclient.
/opt/contrail/
84 """
85 if detailed is True:
86 return self._list(
87 else:
88 return self._list(
self = <novaclient.
self._list = <bound method FlavorManager._list of <novaclient.
/opt/contrail/
60 _resp, body = self.api.
61 else:
62 _resp, body = self.api.
63
64 if obj_class is None:
_resp undefined
body = None
self = <novaclient.
self.api = <novaclient.
self.api.client = <novaclient.
self.api.client.get = <bound method HTTPClient.get of <novaclient.
url = '/flavors/detail'
/opt/contrail/
228
229 def get(self, url, **kwargs):
230 return self._cs_
231
232 def post(self, url, **kwargs):
self = <novaclient.
self._cs_request = <bound method HTTPClient.
url = '/flavors/detail'
kwargs = {}
/opt/contrail/
225 return resp, body
226 except exceptions.
227 raise e
228
229 def get(self, url, **kwargs):
e = Unauthorized()
<class 'novaclient.
__class__ = <class 'novaclient.
__delattr__ = <method-wrapper '__delattr__' of Unauthorized object>
__dict__ = {'code': 401, 'details': None, 'message': 'Unauthorized', 'method': 'GET', 'request_id': None, 'url': u'http://
__doc__ = '\n HTTP 401 - Unauthorized: bad credentials.\n '
__format__ = <built-in method __format__ of Unauthorized object>
__getattrib
__getitem__ = <method-wrapper '__getitem__' of Unauthorized object>
__getslice__ = <method-wrapper '__getslice__' of Unauthorized object>
__hash__ = <method-wrapper '__hash__' of Unauthorized object>
__init__ = <bound method Unauthorized.
__module__ = 'novaclient.
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of Unauthorized object>
__reduce_ex__ = <built-in method __reduce_ex__ of Unauthorized object>
__repr__ = <method-wrapper '__repr__' of Unauthorized object>
__setattr__ = <method-wrapper '__setattr__' of Unauthorized object>
__setstate__ = <built-in method __setstate__ of Unauthorized object>
__sizeof__ = <built-in method __sizeof__ of Unauthorized object>
__str__ = <bound method Unauthorized.
__subclassh
__unicode__ = <built-in method __unicode__ of Unauthorized object>
__weakref__ = None
args = ()
code = 401
details = None
http_status = 401
message = 'Unauthorized'
method = 'GET'
request_id = None
url = u'http://
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/opt/contrail/
monitor.
File "/opt/contrail/
func(idents)
File "/opt/contrail/
self.
File "/opt/contrail/
nics, proj_obj.name, flavor)
File "/opt/contrail/
flavor = n_client.
File "/opt/contrail/
matches = self.findall(
File "/opt/contrail/
for obj in self.list():
File "/opt/contrail/
return self._list(
File "/opt/contrail/
_resp, body = self.api.
File "/opt/contrail/
return self._cs_
File "/opt/contrail/
raise e
Unauthorized: Unauthorized (HTTP 401)
Changed in juniperopenstack: | |
assignee: | nobody → Rudra Rugge (rudrarugge) |
information type: | Proprietary → Public |
Fix committed
https:/ /github. com/Juniper/ contrail- controller/ commit/ 9fb5a5dcdabaefa 31bf48c6f288035 891c44d449