[5.0 vcenter_only]Ports are not getting created with multiple contrail-vms

Bug #1762628 reported by aswani kumar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R5.0
Fix Released
Critical
amudhar
Trunk
Fix Released
Critical
amudhar

Bug Description

5.0 vcenter_only
Port creation on api-server is failing with following error

04/09/2018 05:03:12 PM [contrail-api]: __default__ [SYS_ERR]: VncApiError: <type 'exceptions.TypeError'>
Python 2.7.5: /usr/bin/python
Mon Apr 9 17:03:12 2018

A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.

 /usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_cfg_api_server.py in handler_trap_exception(*args=(), **kwargs={})
 1988 (code, err_msg) = status
 1989 raise cfgm_common.exceptions.HttpError(code, err_msg)
 1990 response = handler(*args, **kwargs)
 1991 self._generate_rest_api_response_trace(trace, response)
 1992
response undefined
handler = <functools.partial object>
args = ()
kwargs = {}

 /usr/lib/python2.7/site-packages/cfgm_common/vnc_api_stats.py in wrapper(api_server_obj=<vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>, resource_type='virtual_machine_interface', *args=(), **kwargs={})
   15 statistics = VncApiStatistics(
   16 obj_type=resource_type.replace('-', '_'))
   17 response = func(api_server_obj, resource_type, *args, **kwargs)
   18 statistics.response_size = len(str(response))
   19 statistics.response_code = bottle.response.status_code
response undefined
func = <function http_resource_create>
api_server_obj = <vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>
resource_type = 'virtual_machine_interface'
args = ()
kwargs = {}

 /usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_cfg_api_server.py in http_resource_create(self=<vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>, obj_type='virtual_machine_interface')
  758 # Validate perms on references
  759 try:
  760 self._validate_perms_in_request(r_class, obj_type, obj_dict)

  761 except NoIdError:
  762 raise cfgm_common.exceptions.HttpError(
self = <vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>
self._validate_perms_in_request = <bound method VncApiServer._validate_perms_in_re...i_server.vnc_cfg_api_server.VncApiServer object>>
r_class = <class 'vnc_cfg_api_server.vnc_cfg_types.VirtualMachineInterfaceServer'>
obj_type = 'virtual_machine_interface'
obj_dict = {'display_name': 'vmi-VN3-test-vm', 'fq_name': ['default-domain', 'vCenter', 'ff5090a4-16d9-4fd8-a306-4a1f89a1d134'], 'id_perms': {u'created': None, u'creator': 'vcenter-plugin', u'description': None, u'enable': True, u'last_modified': None, u'permissions': {u'group': u'cloud-admin-group', u'group_access': 7, u'other_access': 7, u'owner': u'cloud-admin', u'owner_access': 7}, u'user_visible': False, u'uuid': None}, 'name': 'ff5090a4-16d9-4fd8-a306-4a1f89a1d134', 'parent_type': 'project', 'parent_uuid': '60136317-1616-4eed-9a14-793c8fffb903', 'perms2': {u'global_access': 0, u'owner': 'cloud-admin', u'owner_access': 7, u'share': []}, 'port_security_enabled': True, 'security_group_refs': [{'attr': None, 'to': ['default-domain', 'vCenter', 'default']}], 'uuid': 'ff5090a4-16d9-4fd8-a306-4a1f89a1d134', ...}

 /usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_cfg_api_server.py in _validate_perms_in_request(self=<vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>, resource_class=<class 'vnc_cfg_api_server.vnc_cfg_types.VirtualMachineInterfaceServer'>, obj_type='virtual_machine_interface', obj_dict={'display_name': 'vmi-VN3-test-vm', 'fq_name': ['default-domain', 'vCenter', 'ff5090a4-16d9-4fd8-a306-4a1f89a1d134'], 'id_perms': {u'created': None, u'creator': 'vcenter-plugin', u'description': None, u'enable': True, u'last_modified': None, u'permissions': {u'group': u'cloud-admin-group', u'group_access': 7, u'other_access': 7, u'owner': u'cloud-admin', u'owner_access': 7}, u'user_visible': False, u'uuid': None}, 'name': 'ff5090a4-16d9-4fd8-a306-4a1f89a1d134', 'parent_type': 'project', 'parent_uuid': '60136317-1616-4eed-9a14-793c8fffb903', 'perms2': {u'global_access': 0, u'owner': 'cloud-admin', u'owner_access': 7, u'share': []}, 'port_security_enabled': True, 'security_group_refs': [{'attr': None, 'to': ['default-domain', 'vCenter', 'default']}], 'uuid': 'ff5090a4-16d9-4fd8-a306-4a1f89a1d134', ...})
  593 except KeyError:
  594 ref_uuid = self._db_conn.fq_name_to_uuid(ref_name[:-5],
  595 ref['to'])
  596 (ok, status) = self._permissions.check_perms_link(
  597 get_request(), ref_uuid)
ref = {'attr': None, 'to': ['default-domain', 'default-project', None]}

 /usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_db.py in fq_name_to_uuid(self=<vnc_cfg_api_server.vnc_db.VncDbClient object>, obj_type='virtual_network', fq_name=['default-domain', 'default-project', None])
 1648
 1649 def fq_name_to_uuid(self, obj_type, fq_name):
 1650 obj_uuid = self._object_db.fq_name_to_uuid(obj_type, fq_name)
 1651 return obj_uuid
 1652 # end fq_name_to_uuid
obj_uuid undefined
self = <vnc_cfg_api_server.vnc_db.VncDbClient object>
self._object_db = <vnc_cfg_api_server.vnc_db.VncServerCassandraClient object>
self._object_db.fq_name_to_uuid = <function wrapper>
obj_type = 'virtual_network'
fq_name = ['default-domain', 'default-project', None]

 /usr/lib/python2.7/site-packages/cfgm_common/vnc_cassandra.py in wrapper(*args=('virtual_network', ['default-domain', 'default-project', None]), **kwargs={})
  512
  513 self.start_time = datetime.datetime.now()
  514 return func(*args, **kwargs)
  515 except (AllServersUnavailable, MaximumRetryException) as e:
  516 if self._conn_state != ConnectionStatus.DOWN:
func = <bound method VncServerCassandraClient.fq_name_t...i_server.vnc_db.VncServerCassandraClient object>>
 /usr/lib/python2.7/site-packages/cfgm_common/vnc_cassandra.py in fq_name_to_uuid(self=<vnc_cfg_api_server.vnc_db.VncServerCassandraClient object>, obj_type='virtual_network', fq_name=['default-domain', 'default-project', None])
 1420
 1421 def fq_name_to_uuid(self, obj_type, fq_name):
 1422 fq_name_str = utils.encode_string(':'.join(fq_name))
 1423
 1424 col_infos = self.get(self._OBJ_FQ_NAME_CF_NAME,
fq_name_str undefined
global utils = <module 'cfgm_common.utils' from '/usr/lib/python2.7/site-packages/cfgm_common/utils.pyc'>
utils.encode_string = <function encode_string>
':'.join undefined
fq_name = ['default-domain', 'default-project', None]
<type 'exceptions.TypeError'>: sequence item 2: expected string, NoneType found
    __class__ = <type 'exceptions.TypeError'>
    __delattr__ = <method-wrapper '__delattr__' of exceptions.TypeError object>
    __dict__ = {}
    __doc__ = 'Inappropriate argument type.'
    __format__ = <built-in method __format__ of exceptions.TypeError object>
    __getattribute__ = <method-wrapper '__getattribute__' of exceptions.TypeError object>
    __getitem__ = <method-wrapper '__getitem__' of exceptions.TypeError object>
    __getslice__ = <method-wrapper '__getslice__' of exceptions.TypeError object>
    __hash__ = <method-wrapper '__hash__' of exceptions.TypeError object>
    __init__ = <method-wrapper '__init__' of exceptions.TypeError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of exceptions.TypeError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of exceptions.TypeError object>
    __repr__ = <method-wrapper '__repr__' of exceptions.TypeError object>
    __setattr__ = <method-wrapper '__setattr__' of exceptions.TypeError object>
    __setstate__ = <built-in method __setstate__ of exceptions.TypeError object>
    __sizeof__ = <built-in method __sizeof__ of exceptions.TypeError object>
    __str__ = <method-wrapper '__str__' of exceptions.TypeError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __unicode__ = <built-in method __unicode__ of exceptions.TypeError object>
    args = ('sequence item 2: expected string, NoneType found',)
    message = 'sequence item 2: expected string, NoneType found'

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/site-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 1990, in handler_trap_exception
    response = handler(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/cfgm_common/vnc_api_stats.py", line 17, in wrapper
    response = func(api_server_obj, resource_type, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 760, in http_resource_create
    self._validate_perms_in_request(r_class, obj_type, obj_dict)
  File "/usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 595, in _validate_perms_in_request
    ref['to'])
  File "/usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_db.py", line 1650, in fq_name_to_uuid
    obj_uuid = self._object_db.fq_name_to_uuid(obj_type, fq_name)
  File "/usr/lib/python2.7/site-packages/cfgm_common/vnc_cassandra.py", line 514, in wrapper
    return func(*args, **kwargs)
   return func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/cfgm_common/vnc_cassandra.py", line 1422, in fq_name_to_uuid
    fq_name_str = utils.encode_string(':'.join(fq_name))
TypeError: sequence item 2: expected string, NoneType found

tags: added: sanityblocker vcenter-only
Revision history for this message
aswani kumar (aswanikumar90) wrote :

found a new issue
VMs are getting Ips when we launch them on the existing VNs after plugin restart

So after plugin restart if we create new VNs and launch VMs ,they are not getting any ips and ports are not getting created

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/41762
Submitter: amudha ramachandran (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R5.0

Review in progress for https://review.opencontrail.org/41763
Submitter: amudha ramachandran (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/41763
Committed: http://github.com/Juniper/contrail-vcenter-plugin/commit/520e76bb050632a916bf758139c98e4834972aca
Submitter: Zuul v3 CI (<email address hidden>)
Branch: R5.0

commit 520e76bb050632a916bf758139c98e4834972aca
Author: Amudha <email address hidden>
Date: Wed Apr 11 12:41:06 2018 -0700

vCenter: Set fq_name in update VN request

Change-Id: Ia571bd5b7edad947f6944ef8647cede3bad54322
Closes-Bug: #1762628

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/41762
Committed: http://github.com/Juniper/contrail-vcenter-plugin/commit/21a09f2a123537b18394feb744461584e2e98bff
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master

commit 21a09f2a123537b18394feb744461584e2e98bff
Author: Amudha <email address hidden>
Date: Wed Apr 11 12:41:06 2018 -0700

vCenter: Set fq_name in update VN request

Change-Id: Ia571bd5b7edad947f6944ef8647cede3bad54322
Closes-Bug: #1762628

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.