[K8s] Build 3049: contrail-kube-manager Traceback NameError: global name 'sg_fq_name' is not defined

Bug #1679440 reported by chhandak
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
High
Yuvaraja Mariappan

Bug Description

Description:
When restarting contrail-kube-manager with network policy configuration observing following traceback in contrail-kube-manager log

Steps:
1. Created rc with 3 pods in namespace development
2. Created defualy deny in namespace development
3. Created policy to accept traffic from port 80 on all pods of RC
4. Restart contrail-kube-manager

Traceback
------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_kubernetes.py", line 301, in vnc_process
    self.pod_mgr.process(event)
  File "/usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_pod.py", line 473, in process
    self._network_policy_mgr.vnc_pod_add(event)
  File "/usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_network_policy.py", line 98, in vnc_pod_add
    self._add_src_pod_2_policy(pod_id, policy_src_list)
  File "/usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_network_policy.py", line 71, in _add_src_pod_2_policy
    sg_id = SecurityGroupKM.get_kube_fq_name_to_uuid(sg_fq_name)
NameError: global name 'sg_fq_name' is not defined

Full Traceback
-----------------
dca3c7'],
 u'obj_dict': {u'display_name': u'default__ctest-nginx-pod-43483522',
               u'fq_name': [u'ctest-nginx-pod-43483522__16f9653f-15df-11e7-94d5-0272fddca3c7'],
               u'id_perms': {u'created': u'2017-03-31T06:55:56.588990',
                             u'creator': None,
                             u'description': None,
"/var/log/contrail/contrail-kube-manager.log" 22711L, 2628590C 1,1 Top
 /usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_network_policy.py in _add_src_pod_2_policy(self=<kube_manager.vnc.vnc_network_policy.VncNetworkPolicy object>, pod_id=u'35b281c5-18b6-11e7-94d5-0272fddca3c7', policy_list=set([u'c88c1ec6-018b-48a4-a2d6-60d3be5650de']))
   69 sg_id = self.get_kube_fq_name_to_uuid(SecurityGroupKM, sg.namespace,
   70 sg_name)
   71 sg_id = SecurityGroupKM.get_kube_fq_name_to_uuid(sg_fq_name)
   72 if sg_id:
   73 self._sg_2_pod_link(pod_id, sg_id, 'ADD')
sg_id = None
global SecurityGroupKM = <class 'kube_manager.vnc.config_db.SecurityGroupKM'>
SecurityGroupKM.get_kube_fq_name_to_uuid = <bound method __metaclass__.get_kube_fq_name_to_...ss 'kube_manager.vnc.config_db.SecurityGroupKM'>>
sg_fq_name undefined
<type 'exceptions.NameError'>: global name 'sg_fq_name' is not defined
    __class__ = <type 'exceptions.NameError'>
    __delattr__ = <method-wrapper '__delattr__' of exceptions.NameError object>
    __dict__ = {}
    __doc__ = 'Name not found globally.'
    __format__ = <built-in method __format__ of exceptions.NameError object>
    __getattribute__ = <method-wrapper '__getattribute__' of exceptions.NameError object>
    __getitem__ = <method-wrapper '__getitem__' of exceptions.NameError object>
    __getslice__ = <method-wrapper '__getslice__' of exceptions.NameError object>
    __hash__ = <method-wrapper '__hash__' of exceptions.NameError object>
    __init__ = <method-wrapper '__init__' of exceptions.NameError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of exceptions.NameError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of exceptions.NameError object>
    __repr__ = <method-wrapper '__repr__' of exceptions.NameError object>
    __setattr__ = <method-wrapper '__setattr__' of exceptions.NameError object>
    __setstate__ = <built-in method __setstate__ of exceptions.NameError object>
    __sizeof__ = <built-in method __sizeof__ of exceptions.NameError object>
    __str__ = <method-wrapper '__str__' of exceptions.NameError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __unicode__ = <built-in method __unicode__ of exceptions.NameError object>
    args = ("global name 'sg_fq_name' is not defined",)
    message = "global name 'sg_fq_name' is not defined"

The above is a description of an error in a Python program. Here is
the original traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_kubernetes.py", line 301, in vnc_process
    self.pod_mgr.process(event)
  File "/usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_pod.py", line 473, in process
    self._network_policy_mgr.vnc_pod_add(event)
  File "/usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_network_policy.py", line 98, in vnc_pod_add
    self._add_src_pod_2_policy(pod_id, policy_src_list)
  File "/usr/lib/python2.7/dist-packages/kube_manager/vnc/vnc_network_policy.py", line 71, in _add_src_pod_2_policy
    sg_id = SecurityGroupKM.get_kube_fq_name_to_uuid(sg_fq_name)
NameError: global name 'sg_fq_name' is not defined

04/04/2017 12:32:09 AM [contrail-kube-manager]: Processing event[EvIdleHoldTimerExpired] in state[Idle]
04/04/2017 12:32:09 AM [contrail-kube-manager]: Sandesh Client: Event[EvIdleHoldTimerExpired] => State[Idle] -> State[Connect]
04/04/2017 12:32:09 AM [contrail-kube-manager]: Processing event[EvCollectorUnknown] in state[Connect]
04/04/2017 12:32:09 AM [contrail-kube-manager]: Sandesh Client: Event[EvCollectorUnknown] => State[Connect] -> State[Disconnect]

chhandak (chhandak)
Changed in juniperopenstack:
milestone: none → r4.0
importance: Undecided → High
assignee: nobody → Yuvaraja Mariappan (ymariappan-u)
information type: Proprietary → Public
Revision history for this message
Yuvaraja Mariappan (ymariappan) wrote :

https://review.opencontrail.org/#/c/30296/ will fix this issue as well.

Thanks,
Yuvaraja

Changed in juniperopenstack:
assignee: Yuvaraja Mariappan (ymariappan-u) → ymariappan (ymariappan)
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.