)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"f5ed45317a3161a9e47dcc8884fa683e4ce721bc","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"    return floating_ip_ref[\u0027address\u0027]"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":""},{"line_number":722,"context_line":"@require_context"},{"line_number":723,"context_line":"def floating_ip_bulk_create(context, ips, want_result\u003dTrue):"},{"line_number":724,"context_line":"    session \u003d get_session()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_6c639e41","line":721,"updated":"2015-03-02 03:10:24.000000000","message":"do we need to remove this ?\n\nfloating_ip_bulk create call this function.","commit_id":"7e63d0ec5f12fd3a10a012147a8ceb414d11d3b5"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"91f0b4250651bb41bd69d3bed71e3b16703871ae","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"    return floating_ip_ref[\u0027address\u0027]"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":""},{"line_number":722,"context_line":"@require_context"},{"line_number":723,"context_line":"def floating_ip_bulk_create(context, ips, want_result\u003dTrue):"},{"line_number":724,"context_line":"    session \u003d get_session()"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_159d73bc","line":721,"in_reply_to":"ba7be1f8_6c639e41","updated":"2015-03-07 08:59:49.000000000","message":"this patch just clean require_admin_context for floating_ip_get_all and floating_ip_get_all_by_host.\n\nThis is not the scope of this patch. \n\nI can improve the commit message for more clear. \n\nThanks.","commit_id":"7e63d0ec5f12fd3a10a012147a8ceb414d11d3b5"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"f5ed45317a3161a9e47dcc8884fa683e4ce721bc","unresolved":false,"context_lines":[{"line_number":753,"context_line":"        yield out"},{"line_number":754,"context_line":""},{"line_number":755,"context_line":""},{"line_number":756,"context_line":"@require_context"},{"line_number":757,"context_line":"def floating_ip_bulk_destroy(context, ips):"},{"line_number":758,"context_line":"    session \u003d get_session()"},{"line_number":759,"context_line":"    with session.begin():"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_8c5a9281","line":756,"updated":"2015-03-02 03:10:24.000000000","message":"ditto","commit_id":"7e63d0ec5f12fd3a10a012147a8ceb414d11d3b5"}],"nova/tests/unit/api/openstack/compute/contrib/test_floating_ips_bulk.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"9d5153711f5a92243dcfab1012e84afd8d0d16d1","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.controller \u003d self.floating_ips_bulk.FloatingIPBulkController()"},{"line_number":42,"context_line":"        self.req \u003d fakes.HTTPRequest.blank(\u0027\u0027)"},{"line_number":43,"context_line":"        self.admin_req \u003d fakes.HTTPRequest.blank(\u0027\u0027, use_admin_context\u003dTrue)"},{"line_number":44,"context_line":"        self.non_admin_req \u003d fakes.HTTPRequest.blank(\u0027\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _setup_floating_ips(self, ip_range):"},{"line_number":47,"context_line":"        body \u003d {\u0027floating_ips_bulk_create\u0027: {\u0027ip_range\u0027: ip_range}}"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_57b50f7c","line":44,"updated":"2015-03-14 11:02:19.000000000","message":"I perfer move this into FloatingIPBulkV2\u0027s setUp, then when we remove v2 api, this non_admin_req will be disappeared directly with FloatingIPBulkV2","commit_id":"7e63d0ec5f12fd3a10a012147a8ceb414d11d3b5"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"9d5153711f5a92243dcfab1012e84afd8d0d16d1","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_list_ips(self):"},{"line_number":73,"context_line":"        ip_range \u003d \u0027192.168.1.1/28\u0027"},{"line_number":74,"context_line":"        self._setup_floating_ips(ip_range)"},{"line_number":75,"context_line":"        res_dict \u003d self.controller.index(self.admin_req)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        ip_info \u003d [{\u0027address\u0027: str(ip_addr),"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_17bf1762","line":74,"updated":"2015-03-14 11:02:19.000000000","message":"we can use self.req at here for V2.1 API now","commit_id":"7e63d0ec5f12fd3a10a012147a8ceb414d11d3b5"},{"author":{"_account_id":11189,"name":"yuntongjin","email":"yuntong.jin@intel.com","username":"yuntong"},"change_message_id":"aa413323499bcb36816fa4478ac609c16baa63eb","unresolved":false,"context_lines":[{"line_number":168,"context_line":"class FloatingIPBulkV2(FloatingIPBulkV21):"},{"line_number":169,"context_line":"    floating_ips_bulk \u003d fipbulk_v2"},{"line_number":170,"context_line":"    bad_request \u003d webob.exc.HTTPBadRequest"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def setUp(self):"},{"line_number":173,"context_line":"        super(FloatingIPBulkV2, self).setUp()"},{"line_number":174,"context_line":"        self.non_admin_req \u003d fakes.HTTPRequest.blank(\u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_1e1402e8","line":171,"updated":"2015-03-18 09:02:47.000000000","message":"Need policy test case for REST API","commit_id":"fa59d690fe7939b149a8f52d1b85623105a932dd"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"5fc5dde6ef1e0aaeb89eb6443c277da0a2402566","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        ip_range \u003d \u0027192.168.1.0/29\u0027"},{"line_number":232,"context_line":"        body \u003d {\u0027ip_range\u0027: ip_range}"},{"line_number":233,"context_line":"        self._common_policy_check(self.controller.update, self.req,"},{"line_number":234,"context_line":"                                  \"delete\", body\u003dbody)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_540f3688","line":234,"updated":"2015-03-18 11:56:32.000000000","message":"pep8 error, \n ./nova/tests/unit/api/openstack/compute/contrib/test_floating_ips_bulk.py:234:55: W292 no newline at end of file","commit_id":"91548a3cc01a1c83136f2bd01312ffc02fccdd3c"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"5232deed00d61f3818e265032562f56bcb97e726","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        ip_range \u003d \u0027192.168.1.0/29\u0027"},{"line_number":232,"context_line":"        body \u003d {\u0027ip_range\u0027: ip_range}"},{"line_number":233,"context_line":"        self._common_policy_check(self.controller.update, self.req,"},{"line_number":234,"context_line":"                                  \"delete\", body\u003dbody)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_34e8027c","line":234,"in_reply_to":"9a80dd14_540f3688","updated":"2015-03-18 11:59:11.000000000","message":"please run tox test first next time.","commit_id":"91548a3cc01a1c83136f2bd01312ffc02fccdd3c"}]}
