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__'
Fix proposed to branch: master /review. opendev. org/c/openstack /manila/ +/826951
Review: https:/