RBAC: perms2 verification crashes if owner is None

Bug #1646200 reported by Senthilnathan Murugappan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Won't Fix
High
Sachin Bansal
R3.1
Fix Committed
High
Sachin Bansal
R3.2
Fix Committed
High
Sachin Bansal
R4.0
Fix Committed
High
Sachin Bansal
Trunk
Fix Committed
High
Sachin Bansal

Bug Description

During R3.0, we had populated perms2 of few objects without ownership set.
When one upgrades from R3.0 to rbac enabled code things would crash for non-admin user.

Traceback (most recent call last):
 File "/usr/lib/python2.7/dist-packages/bottle.py", line 856, in _handle
   return route.call(**args)
 File "/usr/lib/python2.7/dist-packages/bottle.py", line 1721, in wrapper
   rv = callback(*a, **ka)
 File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 1724, in handler_trap_exception
   response = handler(*args, **kwargs)
 File "/usr/lib/python2.7/dist-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/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 666, in http_resource_read
   result = self.obj_view(resource_type, result)
 File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 701, in obj_view
   if self._permissions.check_perms_read(get_request(), l['uuid'], id_perms=uuid_to_perms2[l['uuid']])[0] == True]
 File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_perms.py", line 213, in check_perms_read
   return self.validate_perms_rbac(request, id, PERMS_R)
 File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_perms.py", line 130, in validate_perms_rbac
   owner = perms2['owner'].replace('-','')
AttributeError: 'NoneType' object has no attribute 'replace'

(Pdb) pp config
{'fq_name': ['default-domain', 'test-in-network'],
'parent:domain:c63d187b-452b-45df-9224-79400eaa5dad': None,
'parent_type': 'domain',
'prop:display_name': 'test-in-network',
'prop:id_perms': {'created': '2016-03-25T16:44:48.122703',
                  'creator': None,
                  'description': None,
                  'enable': True,
                  'last_modified': '2016-07-13T20:45:04.238160',
                  'permissions': {'group': 'cloud-admin-group',
                                  'group_access': 7,
                                  'other_access': 7,
                                  'owner': 'cloud-admin',
                                  'owner_access': 7},
                  'user_visible': True,
                  'uuid': {'uuid_lslong': 12354725792060327034L,
                           'uuid_mslong': 7789700234393373174}},
'prop:perms2': {'global_access': 0,
                'owner': None,
                'owner_access': 7,
                'share': []},
'prop:service_template_properties': {'availability_zone_enable': None,
                                     'flavor': None,
                                     'image_name': None,
                                     'instance_data': None,
                                     'interface_type': [{'service_interface_type': 'left',
                                                         'shared_ip': False,
                                                         'static_route_enable': False},
                                                        {'service_interface_type': 'right',
                                                         'shared_ip': False,
                                                         'static_route_enable': False}],
                                     'ordered_interfaces': True,
                                     'service_mode': 'in-network',
                                     'service_scaling': True,
                                     'service_type': 'firewall',
                                     'service_virtualization_type': 'virtual-machine',
                                     'version': 2,
                                     'vrouter_instance_type': None},
'type': 'service_template'}

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

Review in progress for https://review.opencontrail.org/26970
Submitter: Deepinder Setia (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/27064
Submitter: Deepinder Setia (<email address hidden>)

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

Reviewed: https://review.opencontrail.org/27064
Committed: http://github.org/Juniper/contrail-controller/commit/7c1031645f6482f44ea1d4fe641d041af72c967a
Submitter: Zuul (<email address hidden>)
Branch: R3.2

commit 7c1031645f6482f44ea1d4fe641d041af72c967a
Author: Deepinder Setia <email address hidden>
Date: Wed Dec 7 11:20:02 2016 -0800

Reset perms2 if owner field is not set upon upgrade from an old release

Change-Id: Ifed706294c8ad349006ef30a8591824b497e20d1
Closes-Bug: #1646200

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

Review in progress for https://review.opencontrail.org/26970
Submitter: Deepinder Setia (<email address hidden>)

Revision history for this message
Sachin Bansal (sbansal) wrote :

Reopened 3.2 scope to add issu conversion function in 3.2

Jeba Paulaiyan (jebap)
tags: added: blocker
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/32891
Submitter: Sachin Bansal (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/32892
Submitter: Sachin Bansal (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/32893
Submitter: Sachin Bansal (<email address hidden>)

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

Reviewed: https://review.opencontrail.org/32891
Committed: http://github.com/Juniper/contrail-controller/commit/10f26ec628068e14617f25f338f3e4ccfab60a5c
Submitter: Zuul (<email address hidden>)
Branch: master

commit 10f26ec628068e14617f25f338f3e4ccfab60a5c
Author: Deepinder Setia <email address hidden>
Date: Wed Dec 7 11:20:02 2016 -0800

Reset perms2 if owner field is not set upon upgrade from an old release

Change-Id: Ic546aa1666df8bba7efbb971e00eda07735942b5
Closes-Bug: #1646200

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

Reviewed: https://review.opencontrail.org/32892
Committed: http://github.com/Juniper/contrail-controller/commit/06e527640eada25a784fc72908e351df8ce756f4
Submitter: Zuul (<email address hidden>)
Branch: R4.0

commit 06e527640eada25a784fc72908e351df8ce756f4
Author: Deepinder Setia <email address hidden>
Date: Wed Dec 7 11:20:02 2016 -0800

Reset perms2 if owner field is not set upon upgrade from an old release

Change-Id: Ic546aa1666df8bba7efbb971e00eda07735942b5
Closes-Bug: #1646200
(cherry picked from commit 10f26ec628068e14617f25f338f3e4ccfab60a5c)

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

Review in progress for https://review.opencontrail.org/32893
Submitter: Sachin Bansal (<email address hidden>)

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

Reviewed: https://review.opencontrail.org/32893
Committed: http://github.com/Juniper/contrail-controller/commit/6aa654519c59257432f3d442df7f4932e457995f
Submitter: Zuul (<email address hidden>)
Branch: R3.1

commit 6aa654519c59257432f3d442df7f4932e457995f
Author: Deepinder Setia <email address hidden>
Date: Wed Dec 7 11:20:02 2016 -0800

Reset perms2 if owner field is not set upon upgrade from an old release

Change-Id: Ifed706294c8ad349006ef30a8591824b497e20d1
Closes-Bug: #1646200
(cherry picked from commit 7c1031645f6482f44ea1d4fe641d041af72c967a)

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.