)]}'
{"api-ref/source/hosts.inc":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"329fa8d69952ac164cfb7e7b675a5f4e4a7f6b08","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Manage zun host"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"List all container hosts"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. rest_method::  GET /v1/hosts"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1f1a1f67_e81cd714","line":7,"range":{"start_line":7,"start_character":9,"end_line":7,"end_character":18},"updated":"2017-07-20 08:58:28.000000000","message":"compute or container, since we are naming our service as \u0027zun-compute\u0027?","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"75860ff85bb0e94ea1172ebbb87cfd3ead0e3d46","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Manage zun host"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"List all container hosts"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. rest_method::  GET /v1/hosts"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1f1a1f67_0ca5c7b5","line":7,"range":{"start_line":7,"start_character":9,"end_line":7,"end_character":18},"in_reply_to":"1f1a1f67_e81cd714","updated":"2017-07-21 01:09:03.000000000","message":"Done","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"329fa8d69952ac164cfb7e7b675a5f4e4a7f6b08","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. rest_status_code:: error status.yaml"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"   - 401"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Response Parameters"},{"line_number":26,"context_line":"-------------------"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1f1a1f67_0893935e","line":23,"range":{"start_line":23,"start_character":3,"end_line":23,"end_character":8},"updated":"2017-07-20 08:58:28.000000000","message":"please add other error codes, like forbidden.","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"75860ff85bb0e94ea1172ebbb87cfd3ead0e3d46","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. rest_status_code:: error status.yaml"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"   - 401"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Response Parameters"},{"line_number":26,"context_line":"-------------------"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1f1a1f67_2cdc0317","line":23,"range":{"start_line":23,"start_character":3,"end_line":23,"end_character":8},"in_reply_to":"1f1a1f67_0893935e","updated":"2017-07-21 01:09:03.000000000","message":"Done","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"}],"api-ref/source/samples/host-get-all-resp.json":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"329fa8d69952ac164cfb7e7b675a5f4e4a7f6b08","unresolved":false,"context_lines":[{"line_number":4,"context_line":"           \"hostname\": \"testhost\","},{"line_number":5,"context_line":"           \"uuid\": \"d0405f06-101e-4340-8735-d1bf9fa8b8ad\","},{"line_number":6,"context_line":"           \"links\": [{"},{"line_number":7,"context_line":"\t       \"href\": \"http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\", "},{"line_number":8,"context_line":"\t       \"rel\": \"self\""},{"line_number":9,"context_line":"\t       },"},{"line_number":10,"context_line":"\t        {\"href\": \"http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\","}],"source_content_type":"application/json","patch_set":1,"id":"1f1a1f67_4882ab02","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":90},"updated":"2017-07-20 08:58:28.000000000","message":"do we need this, we are not providing get api for single host? plz correct me if i am wrong.","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e7b732b32a0f57d3822b11171af00e495e221901","unresolved":false,"context_lines":[{"line_number":4,"context_line":"           \"hostname\": \"testhost\","},{"line_number":5,"context_line":"           \"uuid\": \"d0405f06-101e-4340-8735-d1bf9fa8b8ad\","},{"line_number":6,"context_line":"           \"links\": [{"},{"line_number":7,"context_line":"\t       \"href\": \"http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\", "},{"line_number":8,"context_line":"\t       \"rel\": \"self\""},{"line_number":9,"context_line":"\t       },"},{"line_number":10,"context_line":"\t        {\"href\": \"http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\","}],"source_content_type":"application/json","patch_set":1,"id":"1f1a1f67_1b5d3a46","line":7,"range":{"start_line":7,"start_character":90,"end_line":7,"end_character":91},"updated":"2017-07-19 14:27:35.000000000","message":"nit: no space","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e7b732b32a0f57d3822b11171af00e495e221901","unresolved":false,"context_lines":[{"line_number":4,"context_line":"           \"hostname\": \"testhost\","},{"line_number":5,"context_line":"           \"uuid\": \"d0405f06-101e-4340-8735-d1bf9fa8b8ad\","},{"line_number":6,"context_line":"           \"links\": [{"},{"line_number":7,"context_line":"\t       \"href\": \"http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\", "},{"line_number":8,"context_line":"\t       \"rel\": \"self\""},{"line_number":9,"context_line":"\t       },"},{"line_number":10,"context_line":"\t        {\"href\": \"http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\","}],"source_content_type":"application/json","patch_set":1,"id":"1f1a1f67_3b62360b","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":8},"updated":"2017-07-19 14:27:35.000000000","message":"nit: spaces instead of tab","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"8009d08eb3133ca7d418393a9cefa0881fff6e8a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"           \"hostname\": \"testhost\","},{"line_number":5,"context_line":"           \"uuid\": \"d0405f06-101e-4340-8735-d1bf9fa8b8ad\","},{"line_number":6,"context_line":"           \"links\": [{"},{"line_number":7,"context_line":"\t       \"href\": \"http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\", "},{"line_number":8,"context_line":"\t       \"rel\": \"self\""},{"line_number":9,"context_line":"\t       },"},{"line_number":10,"context_line":"\t        {\"href\": \"http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\","}],"source_content_type":"application/json","patch_set":1,"id":"1f1a1f67_afe26e9e","line":7,"range":{"start_line":7,"start_character":90,"end_line":7,"end_character":91},"in_reply_to":"1f1a1f67_1b5d3a46","updated":"2017-07-20 09:20:48.000000000","message":"Done","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"8009d08eb3133ca7d418393a9cefa0881fff6e8a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"           \"hostname\": \"testhost\","},{"line_number":5,"context_line":"           \"uuid\": \"d0405f06-101e-4340-8735-d1bf9fa8b8ad\","},{"line_number":6,"context_line":"           \"links\": [{"},{"line_number":7,"context_line":"\t       \"href\": \"http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\", "},{"line_number":8,"context_line":"\t       \"rel\": \"self\""},{"line_number":9,"context_line":"\t       },"},{"line_number":10,"context_line":"\t        {\"href\": \"http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\","}],"source_content_type":"application/json","patch_set":1,"id":"1f1a1f67_8fdd72de","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":8},"in_reply_to":"1f1a1f67_3b62360b","updated":"2017-07-20 09:20:48.000000000","message":"Done","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"75860ff85bb0e94ea1172ebbb87cfd3ead0e3d46","unresolved":false,"context_lines":[{"line_number":4,"context_line":"           \"hostname\": \"testhost\","},{"line_number":5,"context_line":"           \"uuid\": \"d0405f06-101e-4340-8735-d1bf9fa8b8ad\","},{"line_number":6,"context_line":"           \"links\": [{"},{"line_number":7,"context_line":"\t       \"href\": \"http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\", "},{"line_number":8,"context_line":"\t       \"rel\": \"self\""},{"line_number":9,"context_line":"\t       },"},{"line_number":10,"context_line":"\t        {\"href\": \"http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\","}],"source_content_type":"application/json","patch_set":1,"id":"1f1a1f67_6c755bfa","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":90},"in_reply_to":"1f1a1f67_4882ab02","updated":"2017-07-21 01:09:03.000000000","message":"@Pradeep， you are right. we do not provide the get api now. will add the get api later. Just keep consistent as others like container. we will need this later.","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"329fa8d69952ac164cfb7e7b675a5f4e4a7f6b08","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\t       \"href\": \"http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\", "},{"line_number":8,"context_line":"\t       \"rel\": \"self\""},{"line_number":9,"context_line":"\t       },"},{"line_number":10,"context_line":"\t        {\"href\": \"http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\","},{"line_number":11,"context_line":"\t\t \"rel\": \"bookmark\""},{"line_number":12,"context_line":"\t\t}"},{"line_number":13,"context_line":"\t   ],"},{"line_number":14,"context_line":"           \"labels\": {"}],"source_content_type":"application/json","patch_set":1,"id":"1f1a1f67_e878572c","line":11,"range":{"start_line":10,"start_character":11,"end_line":11,"end_character":20},"updated":"2017-07-20 08:58:28.000000000","message":"ditto","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"75860ff85bb0e94ea1172ebbb87cfd3ead0e3d46","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\t       \"href\": \"http://192.168.2.200:9517/v1/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\", "},{"line_number":8,"context_line":"\t       \"rel\": \"self\""},{"line_number":9,"context_line":"\t       },"},{"line_number":10,"context_line":"\t        {\"href\": \"http://192.168.2.200:9517/hosts/d0405f06-101e-4340-8735-d1bf9fa8b8ad\","},{"line_number":11,"context_line":"\t\t \"rel\": \"bookmark\""},{"line_number":12,"context_line":"\t\t}"},{"line_number":13,"context_line":"\t   ],"},{"line_number":14,"context_line":"           \"labels\": {"}],"source_content_type":"application/json","patch_set":1,"id":"1f1a1f67_2c61a33a","line":11,"range":{"start_line":10,"start_character":11,"end_line":11,"end_character":20},"in_reply_to":"1f1a1f67_e878572c","updated":"2017-07-21 01:09:03.000000000","message":"will need later","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"}],"zun/api/controllers/v1/hosts.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e7b732b32a0f57d3822b11171af00e495e221901","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class HostController(base.Controller):"},{"line_number":51,"context_line":"    \"\"\"Host info controller\"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":54,"context_line":"    @exception.wrap_pecan_controller_exception"},{"line_number":55,"context_line":"    def get_all(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_ae4e0694","line":52,"updated":"2017-07-19 14:27:35.000000000","message":"This method is only available on version 1.3 or after. We can enforce this version by adding the following:\n\n  @base.Controller.api_version(\"1.3\")","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"8009d08eb3133ca7d418393a9cefa0881fff6e8a","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class HostController(base.Controller):"},{"line_number":51,"context_line":"    \"\"\"Host info controller\"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":54,"context_line":"    @exception.wrap_pecan_controller_exception"},{"line_number":55,"context_line":"    def get_all(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_4f9aba13","line":52,"in_reply_to":"1f1a1f67_ae4e0694","updated":"2017-07-20 09:20:48.000000000","message":"Done","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"}],"zun/api/controllers/versions.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e7b732b32a0f57d3822b11171af00e495e221901","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"BASE_VER \u003d \u00271.1\u0027"},{"line_number":42,"context_line":"CURRENT_MAX_VER \u003d \u00271.3\u0027"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"class Version(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_2e2796cc","line":42,"updated":"2017-07-19 14:27:35.000000000","message":"Need to update the version history as well: https://github.com/openstack/zun/blob/master/zun/api/rest_api_version_history.rst","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"8009d08eb3133ca7d418393a9cefa0881fff6e8a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"BASE_VER \u003d \u00271.1\u0027"},{"line_number":42,"context_line":"CURRENT_MAX_VER \u003d \u00271.3\u0027"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"class Version(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_2f6bfef0","line":42,"in_reply_to":"1f1a1f67_2e2796cc","updated":"2017-07-20 09:20:48.000000000","message":"Done","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"}],"zun/tests/unit/api/controllers/v1/test_hosts.py":[{"author":{"_account_id":22406,"name":"Kien Nguyen","email":"kiennt2609@gmail.com","username":"kiennt"},"change_message_id":"76be95fe4e78164710566fa43edda7efd457414d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def _common_policy_check(self, rule, func, *arg, **kwarg):"},{"line_number":70,"context_line":"        self.policy.set_rules({rule: \u0027project_id:non_fake\u0027})"},{"line_number":71,"context_line":"        response \u003d func(*arg, **kwarg)"},{"line_number":72,"context_line":"        self.assertEqual(403, response.status_int)"},{"line_number":73,"context_line":"        self.assertEqual(\u0027application/json\u0027, response.content_type)"},{"line_number":74,"context_line":"        self.assertTrue("},{"line_number":75,"context_line":"            \"Policy doesn\u0027t allow %s to be performed.\" % rule,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_56e012cd","line":72,"range":{"start_line":72,"start_character":25,"end_line":72,"end_character":28},"updated":"2017-07-20 04:40:40.000000000","message":"403 or 401? In zun/api-ref/source/hosts.inc, you wrote error status code - 401, it makes me a little confuse here. Correct me if i\u0027m wrong.","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"8009d08eb3133ca7d418393a9cefa0881fff6e8a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def _common_policy_check(self, rule, func, *arg, **kwarg):"},{"line_number":70,"context_line":"        self.policy.set_rules({rule: \u0027project_id:non_fake\u0027})"},{"line_number":71,"context_line":"        response \u003d func(*arg, **kwarg)"},{"line_number":72,"context_line":"        self.assertEqual(403, response.status_int)"},{"line_number":73,"context_line":"        self.assertEqual(\u0027application/json\u0027, response.content_type)"},{"line_number":74,"context_line":"        self.assertTrue("},{"line_number":75,"context_line":"            \"Policy doesn\u0027t allow %s to be performed.\" % rule,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_79c53f0a","line":72,"range":{"start_line":72,"start_character":25,"end_line":72,"end_character":28},"in_reply_to":"1f1a1f67_56e012cd","updated":"2017-07-20 09:20:48.000000000","message":"I think both 403 and 401 maybe returned.","commit_id":"91c2e02c442ce130c84861a2f4f4c84b7ad201d8"}]}
