Activity log for bug #1708988

Date Who What changed Old value New value Message
2017-08-07 03:47:31 jiangxing bug added bug
2017-08-07 12:19:04 jiangxing description When delete ns in horizon, get "Request Failed: internal server error while processing your request." refresh web, the ns is deleted. Both Nfvoplugin's parent classes nfvo_db.NfvoPluginDb and ns_db.NSPluginDb have the _get_resource. In ns_db.NsPluginDb.get_ns: def get_ns(self, context, ns_id, fields=None): ns_db = self._get_resource(context, NS, ns_id) return self._make_ns_dict(ns_db) when self is from Nfvoplugin, it will call Nfvo_db._get_resource, because the class NfvoPlugin inherits in this order: class NfvoPlugin(nfvo_db.NfvoPluginDb, vnffg_db.VnffgPluginDbMixin, ns_db.NSPluginDb) but in nfvo_db.NfvoPluginDb._get_resource doesn't process the exception issubclass(model, NS). def _get_resource(self, context, model, id): try: return self._get_by_id(context, model, id) except orm_exc.NoResultFound: if issubclass(model, Vim): raise nfvo.VimNotFoundException(vim_id=id) else: raise We think should indicate which parent class's _get_resource will be called in nfvoplugin's get_ns. Our version is ocata. When delete ns in horizon, get "Request Failed: internal server error while processing your request." refresh web, the ns is deleted. Both Nfvoplugin's parent classes nfvo_db.NfvoPluginDb and ns_db.NSPluginDb have the _get_resource. In ns_db.NsPluginDb.get_ns:     def get_ns(self, context, ns_id, fields=None):         ns_db = self._get_resource(context, NS, ns_id)         return self._make_ns_dict(ns_db) when self is from Nfvoplugin, it will call Nfvo_db._get_resource, because the class NfvoPlugin inherits in this order: class NfvoPlugin(nfvo_db.NfvoPluginDb, vnffg_db.VnffgPluginDbMixin,         ns_db.NSPluginDb) but in nfvo_db.NfvoPluginDb._get_resource doesn't process the exception issubclass(model, NS).     def _get_resource(self, context, model, id):         try:             return self._get_by_id(context, model, id)         except orm_exc.NoResultFound:             if issubclass(model, Vim):                 raise nfvo.VimNotFoundException(vim_id=id)             else:                 raise We think should indicate which parent class's _get_resource will be called in nfvoplugin's get_ns. Our version is ocata. We used postman to send request for testing RESTful API. method delete url like this: http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json The resonse in postman is : { "TackerError": "Request Failed: internal server error while processing your request." } The log is : 2017-08-07 20:07:57.751 1498 DEBUG tacker.alarm_receiver [req-d6ef08b1-001e-4227-a672-540c092fc871 - - - - -] Process request: (<Request at 0x7f274e4bdb50 DELETE http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json>,) process_request /usr/local/lib/python2.7/dist-packages/tacker/alarm_receiver.py:44 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource [req-236fd131-098e-4a4b-bf0f-4f21b65bea55 - - - - -] delete failed 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource Traceback (most recent call last): 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/resource.py", line 81, in resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource result = method(request=request, **args) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 456, in delete 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = self._item(request, id, parent_id=parent_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 311, in _item 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = obj_getter(request.context, id, **kwargs) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/ns_db.py", line 336, in get_ns 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource ns_db = self._get_resource(context, NS, ns_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/nfvo_db.py", line 98, in _get_resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return self._get_by_id(context, model, id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/db_base.py", line 134, in _get_by_id 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return query.filter(model.id == id).one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2699, in one 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource raise orm_exc.NoResultFound("No row was found for one()") 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource NoResultFound: No row was found for one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource
2017-08-07 12:22:44 jiangxing description When delete ns in horizon, get "Request Failed: internal server error while processing your request." refresh web, the ns is deleted. Both Nfvoplugin's parent classes nfvo_db.NfvoPluginDb and ns_db.NSPluginDb have the _get_resource. In ns_db.NsPluginDb.get_ns:     def get_ns(self, context, ns_id, fields=None):         ns_db = self._get_resource(context, NS, ns_id)         return self._make_ns_dict(ns_db) when self is from Nfvoplugin, it will call Nfvo_db._get_resource, because the class NfvoPlugin inherits in this order: class NfvoPlugin(nfvo_db.NfvoPluginDb, vnffg_db.VnffgPluginDbMixin,         ns_db.NSPluginDb) but in nfvo_db.NfvoPluginDb._get_resource doesn't process the exception issubclass(model, NS).     def _get_resource(self, context, model, id):         try:             return self._get_by_id(context, model, id)         except orm_exc.NoResultFound:             if issubclass(model, Vim):                 raise nfvo.VimNotFoundException(vim_id=id)             else:                 raise We think should indicate which parent class's _get_resource will be called in nfvoplugin's get_ns. Our version is ocata. We used postman to send request for testing RESTful API. method delete url like this: http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json The resonse in postman is : { "TackerError": "Request Failed: internal server error while processing your request." } The log is : 2017-08-07 20:07:57.751 1498 DEBUG tacker.alarm_receiver [req-d6ef08b1-001e-4227-a672-540c092fc871 - - - - -] Process request: (<Request at 0x7f274e4bdb50 DELETE http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json>,) process_request /usr/local/lib/python2.7/dist-packages/tacker/alarm_receiver.py:44 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource [req-236fd131-098e-4a4b-bf0f-4f21b65bea55 - - - - -] delete failed 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource Traceback (most recent call last): 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/resource.py", line 81, in resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource result = method(request=request, **args) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 456, in delete 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = self._item(request, id, parent_id=parent_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 311, in _item 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = obj_getter(request.context, id, **kwargs) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/ns_db.py", line 336, in get_ns 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource ns_db = self._get_resource(context, NS, ns_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/nfvo_db.py", line 98, in _get_resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return self._get_by_id(context, model, id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/db_base.py", line 134, in _get_by_id 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return query.filter(model.id == id).one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2699, in one 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource raise orm_exc.NoResultFound("No row was found for one()") 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource NoResultFound: No row was found for one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource When delete ns in horizon, get "Request Failed: internal server error while processing your request." refresh web, the ns is deleted. Our version is ocata. We used postman to send request for testing RESTful API. method delete url like this: http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json The resonse in postman is : { "TackerError": "Request Failed: internal server error while processing your request." } The log is : 2017-08-07 20:07:57.751 1498 DEBUG tacker.alarm_receiver [req-d6ef08b1-001e-4227-a672-540c092fc871 - - - - -] Process request: (<Request at 0x7f274e4bdb50 DELETE http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json>,) process_request /usr/local/lib/python2.7/dist-packages/tacker/alarm_receiver.py:44 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource [req-236fd131-098e-4a4b-bf0f-4f21b65bea55 - - - - -] delete failed 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource Traceback (most recent call last): 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/resource.py", line 81, in resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource result = method(request=request, **args) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 456, in delete 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = self._item(request, id, parent_id=parent_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 311, in _item 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = obj_getter(request.context, id, **kwargs) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/ns_db.py", line 336, in get_ns 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource ns_db = self._get_resource(context, NS, ns_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/nfvo_db.py", line 98, in _get_resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return self._get_by_id(context, model, id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/db_base.py", line 134, in _get_by_id 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return query.filter(model.id == id).one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2699, in one 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource raise orm_exc.NoResultFound("No row was found for one()") 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource NoResultFound: No row was found for one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource And I found, both Nfvoplugin's parent classes nfvo_db.NfvoPluginDb and ns_db.NSPluginDb have the _get_resource. In ns_db.NsPluginDb.get_ns:     def get_ns(self, context, ns_id, fields=None):         ns_db = self._get_resource(context, NS, ns_id)         return self._make_ns_dict(ns_db) when self is from Nfvoplugin, it will call Nfvo_db._get_resource, because the class NfvoPlugin inherits in this order: class NfvoPlugin(nfvo_db.NfvoPluginDb, vnffg_db.VnffgPluginDbMixin,         ns_db.NSPluginDb) but in nfvo_db.NfvoPluginDb._get_resource doesn't process the exception issubclass(model, NS).     def _get_resource(self, context, model, id):         try:             return self._get_by_id(context, model, id)         except orm_exc.NoResultFound:             if issubclass(model, Vim):                 raise nfvo.VimNotFoundException(vim_id=id)             else:                 raise I think should indicate which parent class's _get_resource will be called in nfvoplugin's get_ns.
2017-08-07 12:23:10 jiangxing tacker: status New Confirmed
2017-08-07 12:23:15 jiangxing tacker: assignee jiangxing (jiangxing)
2017-08-07 12:23:51 jiangxing description When delete ns in horizon, get "Request Failed: internal server error while processing your request." refresh web, the ns is deleted. Our version is ocata. We used postman to send request for testing RESTful API. method delete url like this: http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json The resonse in postman is : { "TackerError": "Request Failed: internal server error while processing your request." } The log is : 2017-08-07 20:07:57.751 1498 DEBUG tacker.alarm_receiver [req-d6ef08b1-001e-4227-a672-540c092fc871 - - - - -] Process request: (<Request at 0x7f274e4bdb50 DELETE http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json>,) process_request /usr/local/lib/python2.7/dist-packages/tacker/alarm_receiver.py:44 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource [req-236fd131-098e-4a4b-bf0f-4f21b65bea55 - - - - -] delete failed 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource Traceback (most recent call last): 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/resource.py", line 81, in resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource result = method(request=request, **args) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 456, in delete 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = self._item(request, id, parent_id=parent_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 311, in _item 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = obj_getter(request.context, id, **kwargs) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/ns_db.py", line 336, in get_ns 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource ns_db = self._get_resource(context, NS, ns_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/nfvo_db.py", line 98, in _get_resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return self._get_by_id(context, model, id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/db_base.py", line 134, in _get_by_id 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return query.filter(model.id == id).one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2699, in one 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource raise orm_exc.NoResultFound("No row was found for one()") 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource NoResultFound: No row was found for one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource And I found, both Nfvoplugin's parent classes nfvo_db.NfvoPluginDb and ns_db.NSPluginDb have the _get_resource. In ns_db.NsPluginDb.get_ns:     def get_ns(self, context, ns_id, fields=None):         ns_db = self._get_resource(context, NS, ns_id)         return self._make_ns_dict(ns_db) when self is from Nfvoplugin, it will call Nfvo_db._get_resource, because the class NfvoPlugin inherits in this order: class NfvoPlugin(nfvo_db.NfvoPluginDb, vnffg_db.VnffgPluginDbMixin,         ns_db.NSPluginDb) but in nfvo_db.NfvoPluginDb._get_resource doesn't process the exception issubclass(model, NS).     def _get_resource(self, context, model, id):         try:             return self._get_by_id(context, model, id)         except orm_exc.NoResultFound:             if issubclass(model, Vim):                 raise nfvo.VimNotFoundException(vim_id=id)             else:                 raise I think should indicate which parent class's _get_resource will be called in nfvoplugin's get_ns. When delete ns in horizon, get "Request Failed: internal server error while processing your request." refresh web, the ns is deleted. Our version is ocata. We used postman to send request for testing RESTful API. method delete url like this: http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json The response is : {     "TackerError": "Request Failed: internal server error while processing your request." } The log is : 2017-08-07 20:07:57.751 1498 DEBUG tacker.alarm_receiver [req-d6ef08b1-001e-4227-a672-540c092fc871 - - - - -] Process request: (<Request at 0x7f274e4bdb50 DELETE http://10.190.3.82:9890/v1.0/nss/7a087701-604c-49e9-8320-acb71da75d28.json>,) process_request /usr/local/lib/python2.7/dist-packages/tacker/alarm_receiver.py:44 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource [req-236fd131-098e-4a4b-bf0f-4f21b65bea55 - - - - -] delete failed 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource Traceback (most recent call last): 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/resource.py", line 81, in resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource result = method(request=request, **args) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 456, in delete 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = self._item(request, id, parent_id=parent_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/api/v1/base.py", line 311, in _item 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource obj = obj_getter(request.context, id, **kwargs) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/ns_db.py", line 336, in get_ns 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource ns_db = self._get_resource(context, NS, ns_id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/nfvo/nfvo_db.py", line 98, in _get_resource 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return self._get_by_id(context, model, id) 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/tacker/db/db_base.py", line 134, in _get_by_id 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource return query.filter(model.id == id).one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2699, in one 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource raise orm_exc.NoResultFound("No row was found for one()") 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource NoResultFound: No row was found for one() 2017-08-07 20:07:57.981 1498 ERROR tacker.api.v1.resource And I found, both Nfvoplugin's parent classes nfvo_db.NfvoPluginDb and ns_db.NSPluginDb have the _get_resource. In ns_db.NsPluginDb.get_ns:     def get_ns(self, context, ns_id, fields=None):         ns_db = self._get_resource(context, NS, ns_id)         return self._make_ns_dict(ns_db) when self is from Nfvoplugin, it will call Nfvo_db._get_resource, because the class NfvoPlugin inherits in this order: class NfvoPlugin(nfvo_db.NfvoPluginDb, vnffg_db.VnffgPluginDbMixin,         ns_db.NSPluginDb) but in nfvo_db.NfvoPluginDb._get_resource doesn't process the exception issubclass(model, NS).     def _get_resource(self, context, model, id):         try:             return self._get_by_id(context, model, id)         except orm_exc.NoResultFound:             if issubclass(model, Vim):                 raise nfvo.VimNotFoundException(vim_id=id)             else:                 raise I think should indicate which parent class's _get_resource will be called in nfvoplugin's get_ns.
2017-08-07 13:28:45 OpenStack Infra tacker: status Confirmed In Progress
2017-08-09 02:13:55 yong sheng gong tacker: milestone pike-rc1
2017-08-09 02:13:57 yong sheng gong tacker: importance Undecided High
2017-08-09 02:39:59 jiangxing tacker: status In Progress Fix Committed
2017-08-10 00:51:37 jiangxing tacker: status Fix Committed In Progress
2017-09-05 02:41:44 yong sheng gong tacker: milestone pike-rc1 queens-1
2017-10-26 10:51:30 yong sheng gong tacker: milestone queens-1 queens-2
2018-01-09 10:07:17 dharmendra tacker: milestone queens-2 queens-3