)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"5caba54dfe85324ffa1ecd0f547ef9dad3dd9779","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Skip deleted fixed ip address for os-fixed-ips extension"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* Return the correct fixed ip address info when the address recored(s)"},{"line_number":10,"context_line":"marked \u0027deleted\u0027 in db."},{"line_number":11,"context_line":"* Only alow client reserve/unreserve valid fixed ip address by the API."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAN3%2F%2F1tY%3D","line":9,"updated":"2013-03-09 23:52:23.000000000","message":"recored -\u003e record","commit_id":"546715820206b09c08226aebc5517a64ecade7c2"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"5caba54dfe85324ffa1ecd0f547ef9dad3dd9779","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* Return the correct fixed ip address info when the address recored(s)"},{"line_number":10,"context_line":"marked \u0027deleted\u0027 in db."},{"line_number":11,"context_line":"* Only alow client reserve/unreserve valid fixed ip address by the API."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Fixes bug 1152958"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAN3%2F%2F1tU%3D","line":11,"updated":"2013-03-09 23:52:23.000000000","message":"alow -\u003e allow","commit_id":"546715820206b09c08226aebc5517a64ecade7c2"}],"nova/api/openstack/compute/contrib/fixed_ips.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"60acb9b453bf6591ebcddac3298723956f6677a6","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def _set_reserved(self, context, address, reserved):"},{"line_number":68,"context_line":"        try:"},{"line_number":69,"context_line":"            context.read_deleted \u003d \u0027no\u0027"},{"line_number":70,"context_line":"            fixed_ip \u003d db.fixed_ip_get_by_address(context, address)"},{"line_number":71,"context_line":"            db.fixed_ip_update(context, fixed_ip[\u0027address\u0027],"},{"line_number":72,"context_line":"                               {\u0027reserved\u0027: reserved})"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAN3%2F%2F1D4%3D","line":69,"updated":"2013-03-11 04:46:09.000000000","message":"This is not required because model_query\u0027s \"read_deleted\" parameter  has bigger priority and it is \u0027no\u0027","commit_id":"cd0c6f4cfced53d6359c2324bcdfcb78fc536836"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ed1aecbb5d9c49a9cd513ce37c90778919b3bbb8","unresolved":false,"context_lines":[{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":"    result \u003d session.query(models.FixedIp, models.Network, models.Instance).\\"},{"line_number":1177,"context_line":"        filter_by(address\u003daddress).\\"},{"line_number":1178,"context_line":"        filter_by(deleted\u003dFalse).\\"},{"line_number":1179,"context_line":"        outerjoin((models.Network,"},{"line_number":1180,"context_line":"                   models.Network.id \u003d\u003d"},{"line_number":1181,"context_line":"                   models.FixedIp.network_id)).\\"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F1gs%3D","line":1178,"updated":"2013-03-10 08:09:49.000000000","message":"This will produce bug when we are using postgresql\n\n(type of deleted column is Integer not Boolean... So it will produce type mismatch error in postgresql.)\n\nIf you would like to get only non deleted fixed_ips then you should use model_query with parameter read_deleted\u003d\"no\" instead of session.query..","commit_id":"1832f52ea406094ba45c4ecac9afced951490880"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"c33e55c748594f449b572f1dbba40ebe5b06d7fd","unresolved":false,"context_lines":[{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":"    result \u003d session.query(models.FixedIp, models.Network, models.Instance).\\"},{"line_number":1177,"context_line":"        filter_by(address\u003daddress).\\"},{"line_number":1178,"context_line":"        filter_by(deleted\u003dFalse).\\"},{"line_number":1179,"context_line":"        outerjoin((models.Network,"},{"line_number":1180,"context_line":"                   models.Network.id \u003d\u003d"},{"line_number":1181,"context_line":"                   models.FixedIp.network_id)).\\"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F1I4%3D","line":1178,"in_reply_to":"AAAAN3%2F%2F1gs%3D","updated":"2013-03-11 02:49:20.000000000","message":"@Boris Pavlovic, I have correct the code in PS #3.\nJust have a quick ask, I checked this src file, and found out there are some boolean column filters also, (such as line #1092, #1097), not sure they can work well with postgresql backend.","commit_id":"1832f52ea406094ba45c4ecac9afced951490880"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"b9c0b3b1ce6c015fb44e7ecfdb694881ed3a39b8","unresolved":false,"context_lines":[{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":"    result \u003d model_query(context, models.FixedIp, models.Network,"},{"line_number":1168,"context_line":"                         models.Instance, read_deleted\u003d\"no\", session\u003dsession).\\"},{"line_number":1169,"context_line":"                         filter_by(address\u003daddress).\\"},{"line_number":1170,"context_line":"                         outerjoin((models.Network,"},{"line_number":1171,"context_line":"                                    models.Network.id \u003d\u003d"},{"line_number":1172,"context_line":"                                    models.FixedIp.network_id)).\\"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAN3%2F%2Fydw%3D","line":1169,"updated":"2013-03-12 15:49:08.000000000","message":"read_deleted should \u003d \"no\" by default so I\u0027m not sure why you need to add it explicitly. I would prefer it not being set so it could be modified by changing the value in the context.","commit_id":"a8540ec386f248cf25400a70c00047b4ac09aef6"}],"nova/tests/api/openstack/compute/contrib/test_fixed_ips.py":[{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"ae28c63086276c3deac8c5bcbbfdc360b0afc8d4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                          \u002710.0.0.1\u0027)"},{"line_number":134,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/os-fixed-ips/10.0.0.2\u0027)"},{"line_number":135,"context_line":"        self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, req,"},{"line_number":136,"context_line":"                          \u002710.0.0.2\u0027)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def test_fixed_ip_reserve(self):"},{"line_number":139,"context_line":"        fake_fixed_ips[0][\u0027reserved\u0027] \u003d False"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAN3%2F%2F0FQ%3D","line":136,"updated":"2013-03-11 17:49:05.000000000","message":"suggestion: same thought  from line 157","commit_id":"feedc19192f09372c675d88970ab374bf6dbf905"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"ae28c63086276c3deac8c5bcbbfdc360b0afc8d4","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":155,"context_line":"            \u0027/v2/fake/os-fixed-ips/10.0.0.2/action\u0027)"},{"line_number":156,"context_line":"        self.assertRaises(webob.exc.HTTPNotFound, self.controller.action, req,"},{"line_number":157,"context_line":"                          \u002710.0.0.2\u0027, body)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def test_fixed_ip_unreserve(self):"},{"line_number":160,"context_line":"        fake_fixed_ips[0][\u0027reserved\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAN3%2F%2F0FU%3D","line":157,"updated":"2013-03-11 17:49:05.000000000","message":"this suggestion: I would prefer if you do this in a separate unit test. this tets a invalid ip, yours test for deleted ones... it would make far more easy to avoid duplicate it into a new test in the future","commit_id":"feedc19192f09372c675d88970ab374bf6dbf905"}],"nova/tests/integrated/test_api_samples.py":[{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"ae28c63086276c3deac8c5bcbbfdc360b0afc8d4","unresolved":false,"context_lines":[{"line_number":1806,"context_line":"                                 \u0027fixedip-post-req\u0027,"},{"line_number":1807,"context_line":"                                 project)"},{"line_number":1808,"context_line":"        self.assertEqual(response.status, 404)"},{"line_number":1809,"context_line":""},{"line_number":1810,"context_line":"    def test_get_fixed_ip(self):"},{"line_number":1811,"context_line":"        # Query a deleted fixed ip."},{"line_number":1812,"context_line":"        response \u003d self._do_get(\u0027os-fixed-ips/10.0.0.2\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAN3%2F%2F0cU%3D","line":1809,"updated":"2013-03-11 17:49:05.000000000","message":"api samples are not unit tests so this is not needed here. We just want to collect response sample from the api to use in docs and assure integrity.","commit_id":"feedc19192f09372c675d88970ab374bf6dbf905"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"eb2d4109adaa60820c3a02d025ab4b5b9b703673","unresolved":false,"context_lines":[{"line_number":1806,"context_line":"                                 \u0027fixedip-post-req\u0027,"},{"line_number":1807,"context_line":"                                 project)"},{"line_number":1808,"context_line":"        self.assertEqual(response.status, 404)"},{"line_number":1809,"context_line":""},{"line_number":1810,"context_line":"    def test_get_fixed_ip(self):"},{"line_number":1811,"context_line":"        # Query a deleted fixed ip."},{"line_number":1812,"context_line":"        response \u003d self._do_get(\u0027os-fixed-ips/10.0.0.2\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAN3%2F%2FzuM%3D","line":1809,"in_reply_to":"AAAAN3%2F%2F0cU%3D","updated":"2013-03-11 21:06:03.000000000","message":"Agreed, these should be removed.","commit_id":"feedc19192f09372c675d88970ab374bf6dbf905"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"ae28c63086276c3deac8c5bcbbfdc360b0afc8d4","unresolved":false,"context_lines":[{"line_number":1810,"context_line":"    def test_get_fixed_ip(self):"},{"line_number":1811,"context_line":"        # Query a deleted fixed ip."},{"line_number":1812,"context_line":"        response \u003d self._do_get(\u0027os-fixed-ips/10.0.0.2\u0027)"},{"line_number":1813,"context_line":"        self.assertEqual(response.status, 404)"},{"line_number":1814,"context_line":"        # Return data about the given fixed ip."},{"line_number":1815,"context_line":"        response \u003d self._do_get(\u0027os-fixed-ips/192.168.1.1\u0027)"},{"line_number":1816,"context_line":"        self.assertEqual(response.status, 200)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAN3%2F%2F0cI%3D","line":1813,"updated":"2013-03-11 17:49:05.000000000","message":"same as 1809","commit_id":"feedc19192f09372c675d88970ab374bf6dbf905"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"b9c0b3b1ce6c015fb44e7ecfdb694881ed3a39b8","unresolved":false,"context_lines":[{"line_number":1768,"context_line":"                   \u0027leased\u0027: False,"},{"line_number":1769,"context_line":"                   \u0027reserved\u0027: False,"},{"line_number":1770,"context_line":"                   \u0027host\u0027: None,"},{"line_number":1771,"context_line":"                   \u0027deleted\u0027: True},"},{"line_number":1772,"context_line":"                  ]"},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"        def fake_fixed_ip_get_by_address(context, address):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAN3%2F%2Fydk%3D","line":1771,"updated":"2013-03-12 15:49:08.000000000","message":"I don\u0027t see the point in these changes. These tests are to generate samples and adding deleted values that are later ignored just makes them more complicated. Please revert changes to this file.","commit_id":"a8540ec386f248cf25400a70c00047b4ac09aef6"}]}
