Report TypeError When using JsonFilter

Bug #1959472 reported by huwenhui
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
Fix Released
High
huwenhui

Bug Description

 The default scheduler_hints value is None, and if we don't pass the scheduler_hints , It will report TypeError when creating share with JsonFilter with Rest API.

curl -i -X POST http://manila-ha-vip:8786/v2/ab35926cf5dc4d6da89c592bb43c26fb/shares -H "X-Auth-Token: gAAAAABh9NMQIClC84uFB2qpi3_b_HB7NvVid68JhOvMYmSrnt1ohcsUX5yK_06d3rKoRmnqe0vqFAlVaT5IEuvMQ8EAZsD3cdCT5HzCWqwtkZk9qxuQZAVJtw5nFBuwNvM7zvEE6gexs0K7DwmJBBXbm6CU_zhX95Ot0CQW3kEpMc4cjew__14" -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-manilaclient" -d '{"share": {"description": null, "is_public": false, "name": "test23456", "share_type": "dnas", "share_proto": "nfs", "size": 1}}'

2022-01-29 13:58:21.615 331858 DEBUG manila.scheduler.filters.json [req-ebd777a0-24a2-4977-9822-522eee37588b 1ae34f048c1545539aaa6cfd7571e631 ab35926cf5dc4d6da89c592bb43c26fb - - -] --- scheduler_hints is None --- host_passes /usr/lib/python2.7/site-packages/manila/scheduler/filters/json.py:153
2022-01-29 13:58:21.616 331858 ERROR manila.scheduler.manager [req-ebd777a0-24a2-4977-9822-522eee37588b 1ae34f048c1545539aaa6cfd7571e631 ab35926cf5dc4d6da89c592bb43c26fb - - -] Failed to schedule create_share: 'NoneType' object has no attribute '__getitem__'
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server [req-ebd777a0-24a2-4977-9822-522eee37588b 1ae34f048c1545539aaa6cfd7571e631 ab35926cf5dc4d6da89c592bb43c26fb - - -] Exception during message handling: TypeError: 'NoneType' object has no attribute '__getitem__'
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server Traceback (most recent call last):
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 160, in _process_incoming
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 213, in dispatch
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 183, in _do_dispatch
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/manager.py", line 121, in create_share_instance
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server context, ex, request_spec)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server self.force_reraise()
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/manager.py", line 111, in create_share_instance
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server filter_properties)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/drivers/filter.py", line 86, in schedule_create_share
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server filter_properties)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/drivers/filter.py", line 216, in _schedule_share
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server hosts, filter_properties)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/host_manager.py", line 536, in get_filtered_hosts
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server filter_properties)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/filters/base.py", line 91, in get_filtered_objects
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server list_objs = list(objs)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/filters/base.py", line 44, in filter_all
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server if self._filter_one(obj, filter_properties):
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/filters/base_host.py", line 27, in _filter_one
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server return self.host_passes(obj, filter_properties)
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/manila/scheduler/filters/json.py", line 157, in host_passes
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server query = filter_properties['scheduler_hints']['query']
2022-01-29 13:58:21.684 331858 ERROR oslo_messaging.rpc.server TypeError: 'NoneType' object has no attribute '__getitem__'

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to manila (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/manila/+/826951

Changed in manila:
status: New → In Progress
Revision history for this message
huwenhui (huwenhui) wrote :
huwenhui (huwenhui)
Changed in manila:
assignee: nobody → huwenhui (huwenhui)
Changed in manila:
importance: Undecided → High
milestone: none → zed-1
Revision history for this message
Vida Haririan (vhariria) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to manila (master)

Reviewed: https://review.opendev.org/c/openstack/manila/+/826951
Committed: https://opendev.org/openstack/manila/commit/064046a47f4a6340f1be00e7121c1c35ab985ff3
Submitter: "Zuul (22348)"
Branch: master

commit 064046a47f4a6340f1be00e7121c1c35ab985ff3
Author: huwenhui <email address hidden>
Date: Sat Jan 29 14:50:08 2022 +0800

    Fix the bug of TypeError with JsonFilter

    The default scheduler_hints value is None, and if we don't pass
    the scheduler_hints , It will report TypeError when creating share
    with JsonFilter with Rest API. The TypeError exception is added to
    solve this problem.

    Change-Id: Iad89491cbbaccac8df161f8f1157c7ebf3291458
    Closes-Bug: #1959472

Changed in manila:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to manila (stable/yoga)

Fix proposed to branch: stable/yoga
Review: https://review.opendev.org/c/openstack/manila/+/838882

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to manila (stable/yoga)

Reviewed: https://review.opendev.org/c/openstack/manila/+/838882
Committed: https://opendev.org/openstack/manila/commit/45b55e85935ae1bb7282cc295681e5866642e84c
Submitter: "Zuul (22348)"
Branch: stable/yoga

commit 45b55e85935ae1bb7282cc295681e5866642e84c
Author: huwenhui <email address hidden>
Date: Sat Jan 29 14:50:08 2022 +0800

    Fix the bug of TypeError with JsonFilter

    The default scheduler_hints value is None, and if we don't pass
    the scheduler_hints , It will report TypeError when creating share
    with JsonFilter with Rest API. The TypeError exception is added to
    solve this problem.

    Change-Id: Iad89491cbbaccac8df161f8f1157c7ebf3291458
    Closes-Bug: #1959472
    (cherry picked from commit 064046a47f4a6340f1be00e7121c1c35ab985ff3)

tags: added: in-stable-yoga
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/manila 15.0.0.0rc1

This issue was fixed in the openstack/manila 15.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/manila 14.0.1

This issue was fixed in the openstack/manila 14.0.1 release.

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.