)]}'
{"nova/api/openstack/compute/hosts.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"fa80d3d8fee701b0cd98a8b5cef3b0e04d1951f8","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":84,"context_line":"        context.can(hosts_policies.BASE_POLICY_NAME)"},{"line_number":85,"context_line":"        filters \u003d {\u0027disabled\u0027: False}"},{"line_number":86,"context_line":"        zone \u003d req.GET.get(\u0027zone\u0027, None)"},{"line_number":87,"context_line":"        if zone:"},{"line_number":88,"context_line":"            filters[\u0027availability_zone\u0027] \u003d zone"},{"line_number":89,"context_line":"        services \u003d self.api.service_get_all(context, filters\u003dfilters,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_51a502b3","line":86,"range":{"start_line":86,"start_character":8,"end_line":86,"end_character":40},"updated":"2017-01-20 20:50:04.000000000","message":"This API supports \u0027zone\u0027 filter only as here, so the schema is good for me.","commit_id":"dff849a4244f688e8dd3351495df011010c28b3f"}],"nova/api/openstack/compute/schemas/hosts.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a2b68c92724adab6051fd0231bb1971febd269e2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"index_query_schema \u003d {"},{"line_number":42,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":43,"context_line":"    \u0027properties\u0027: {"},{"line_number":44,"context_line":"        \u0027zone\u0027: parameter_types.single_param({\u0027type\u0027: \u0027string\u0027})"},{"line_number":45,"context_line":"    },"},{"line_number":46,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":47,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_d358f58c","line":44,"range":{"start_line":44,"start_character":32,"end_line":44,"end_character":44},"updated":"2017-01-17 08:43:24.000000000","message":"This should be \u0027multi_params\u0027. The API allows user input multiple values. We shouldn\u0027t strict the validation for now.","commit_id":"26a07dc24a12d8753f5ce7d63467a9ac4dbe7347"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"d8243129a16e159fc25b96a7490706029eb24532","unresolved":false,"context_lines":[{"line_number":41,"context_line":"index_query_schema \u003d {"},{"line_number":42,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":43,"context_line":"    \u0027properties\u0027: {"},{"line_number":44,"context_line":"        \u0027zone\u0027: parameter_types.single_param({\u0027type\u0027: \u0027string\u0027})"},{"line_number":45,"context_line":"    },"},{"line_number":46,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":47,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_b866abea","line":44,"range":{"start_line":44,"start_character":32,"end_line":44,"end_character":44},"in_reply_to":"7a3c09a3_adeaebd8","updated":"2017-01-18 05:30:01.000000000","message":"agree, the api layer code seems only use one value instead of list?\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/hosts.py#L85","commit_id":"26a07dc24a12d8753f5ce7d63467a9ac4dbe7347"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1f34204f2b2607cd7ccde7ab9661c6369ae69368","unresolved":false,"context_lines":[{"line_number":41,"context_line":"index_query_schema \u003d {"},{"line_number":42,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":43,"context_line":"    \u0027properties\u0027: {"},{"line_number":44,"context_line":"        \u0027zone\u0027: parameter_types.single_param({\u0027type\u0027: \u0027string\u0027})"},{"line_number":45,"context_line":"    },"},{"line_number":46,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":47,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_adeaebd8","line":44,"range":{"start_line":44,"start_character":32,"end_line":44,"end_character":44},"in_reply_to":"7a3c09a3_d358f58c","updated":"2017-01-18 05:14:17.000000000","message":"humm, actually AZ is just a single value for services on host. if giving multiple value it will not match any host [1] and return empty list.\n\nBut now it will be 400 which is break, i agree to keep it same as previous API behavior. \n\n..1 https://github.com/openstack/nova/blob/master/nova/compute/api.py#L4128","commit_id":"26a07dc24a12d8753f5ce7d63467a9ac4dbe7347"}],"nova/tests/unit/api/openstack/compute/test_hosts.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8aba7ca41227afbe24a7135625dc82d6d25eacb7","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        hosts \u003d result[\u0027hosts\u0027]"},{"line_number":373,"context_line":"        self.assertEqual(fake_hosts.HOST_LIST_NOVA_ZONE, hosts)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def test_list_hosts_with_zone_invalid(self):"},{"line_number":376,"context_line":"        req_with_zone \u003d fakes.HTTPRequest.blank("},{"line_number":377,"context_line":"                            \u0027/os-hosts?zone\u003dnova\u0026zone\u003dfake\u0027,"},{"line_number":378,"context_line":"                            use_admin_context\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_ffd7fd20","line":375,"range":{"start_line":375,"start_character":8,"end_line":375,"end_character":41},"updated":"2017-01-13 07:02:39.000000000","message":"test name is confusing, it looks like invalid zone instead of multiple zone in query.\nmay be you can rename it to something like-\\\ntest_list_hosts_fail_with_multiple_zone_filter","commit_id":"a07d1b206892ad86090a88685c9e8ac3b4aa3a64"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"d8243129a16e159fc25b96a7490706029eb24532","unresolved":false,"context_lines":[{"line_number":376,"context_line":"        req_with_zone \u003d fakes.HTTPRequest.blank("},{"line_number":377,"context_line":"                            \u0027/os-hosts?zone\u003dnova\u0026zone\u003dfake\u0027,"},{"line_number":378,"context_line":"                            use_admin_context\u003dTrue)"},{"line_number":379,"context_line":"        self.assertRaises(exception.ValidationError, self.controller.index,"},{"line_number":380,"context_line":"                          req_with_zone)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_cd0ad725","line":379,"range":{"start_line":379,"start_character":26,"end_line":379,"end_character":52},"updated":"2017-01-18 05:30:01.000000000","message":"this test need to be updated","commit_id":"26a07dc24a12d8753f5ce7d63467a9ac4dbe7347"}]}
