)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"c5617025693f57a88000cbe147da927f2819672f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yuuichi Fujioka \u003cfujioka.yuuichi@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-12-31 02:28:58 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"a API test for specified floating ip address"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implements: blueprint allow-specific-floating-ip-address"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a961159_9bdd1044","line":7,"updated":"2015-01-15 12:45:19.000000000","message":"Please add some more information about this change.","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"2bdb0ff54777ac4155721daa6a389bd2b6b8f82b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yuuichi Fujioka \u003cfujioka.yuuichi@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-12-31 02:28:58 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"a API test for specified floating ip address"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implements: blueprint allow-specific-floating-ip-address"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a930d6b_6798e0c0","line":7,"in_reply_to":"3a961159_9bdd1044","updated":"2015-01-25 12:26:52.000000000","message":"Done","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"8c53493e168eb74aecbdcf973903a30ca4c02689","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"a API test for specified floating ip address"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a test case for a bp: allow-specific-floating-ip-address."},{"line_number":10,"context_line":"The test case checks whether admin can set floating IP address when"},{"line_number":11,"context_line":"creates a floating IP."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a930d6b_25ec06f3","line":9,"updated":"2015-01-26 10:10:33.000000000","message":"This sentence is not need as you have line \"Implements: blueprint allow-specific-floating-ip-address\"","commit_id":"974c3fa2a086f83d3f0047b81a7cd5ce71cce86a"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"298c79f4e4d499e1187c35d0f6010c577a05363c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"a API test for specified floating ip address"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds a test case for a bp: allow-specific-floating-ip-address."},{"line_number":10,"context_line":"The test case checks whether admin can set floating IP address when"},{"line_number":11,"context_line":"creates a floating IP."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a930d6b_f3dba479","line":9,"in_reply_to":"1a930d6b_25ec06f3","updated":"2015-01-26 10:57:07.000000000","message":"I will remove this line.","commit_id":"974c3fa2a086f83d3f0047b81a7cd5ce71cce86a"}],"tempest/api/network/admin/test_floating_ips_admin_actions.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"ce33aaf852705bcd9ce5ce78f2ba6d1fb74c2d7d","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @testtools.skipUnless("},{"line_number":70,"context_line":"        CONF.network_feature_enabled.specify_floating_ip_address_available,"},{"line_number":71,"context_line":"        \"Specified floating ip address is not available\")"},{"line_number":72,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":73,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":74,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a930d6b_9eb0a044","line":71,"updated":"2015-01-26 13:40:59.000000000","message":"This could be\n\"Specifying floating ip address is not possible\"","commit_id":"4c91723c80e2071a39a4bae3f5663754434e2c2a"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"d30a6af89fa3a9664d856ef4942f21ca06b35687","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @testtools.skipUnless("},{"line_number":70,"context_line":"        CONF.network_feature_enabled.specify_floating_ip_address_available,"},{"line_number":71,"context_line":"        \"Specified floating ip address is not available\")"},{"line_number":72,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":73,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":74,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a930d6b_02a27cfc","line":71,"in_reply_to":"1a930d6b_9eb0a044","updated":"2015-01-27 00:41:50.000000000","message":"Done","commit_id":"4c91723c80e2071a39a4bae3f5663754434e2c2a"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"ce33aaf852705bcd9ce5ce78f2ba6d1fb74c2d7d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":74,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":75,"context_line":"        if fip is None:"},{"line_number":76,"context_line":"            self.skip(\u0027available floating ip address is not found\u0027)"},{"line_number":77,"context_line":"        body \u003d self.admin_client.create_floatingip("},{"line_number":78,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":79,"context_line":"            floating_ip_address\u003dfip)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a930d6b_be38fcd3","line":76,"updated":"2015-01-26 13:40:59.000000000","message":"This could be :\n  self.skip(\u0027\"No floating ip available\")","commit_id":"4c91723c80e2071a39a4bae3f5663754434e2c2a"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"d30a6af89fa3a9664d856ef4942f21ca06b35687","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":74,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":75,"context_line":"        if fip is None:"},{"line_number":76,"context_line":"            self.skip(\u0027available floating ip address is not found\u0027)"},{"line_number":77,"context_line":"        body \u003d self.admin_client.create_floatingip("},{"line_number":78,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":79,"context_line":"            floating_ip_address\u003dfip)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a930d6b_22a5b803","line":76,"in_reply_to":"1a930d6b_be38fcd3","updated":"2015-01-27 00:41:50.000000000","message":"Done","commit_id":"4c91723c80e2071a39a4bae3f5663754434e2c2a"}],"tempest/api/network/base.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"fcb586635e36db7e1b361502490c80a1a8b901bb","unresolved":false,"context_lines":[{"line_number":451,"context_line":"        return metering_label_rule"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    @classmethod"},{"line_number":454,"context_line":"    def get_unused_fip(cls, ext_net_id):"},{"line_number":455,"context_line":"        resp, body \u003d cls.admin_client.list_ports(network_id\u003dext_net_id)"},{"line_number":456,"context_line":"        ports \u003d body[\u0027ports\u0027]"},{"line_number":457,"context_line":"        used_ips \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_3ac8c874","line":454,"updated":"2015-01-05 15:22:07.000000000","message":"Could you add a short docstring here please ?","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"2bdb0ff54777ac4155721daa6a389bd2b6b8f82b","unresolved":false,"context_lines":[{"line_number":451,"context_line":"        return metering_label_rule"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    @classmethod"},{"line_number":454,"context_line":"    def get_unused_fip(cls, ext_net_id):"},{"line_number":455,"context_line":"        resp, body \u003d cls.admin_client.list_ports(network_id\u003dext_net_id)"},{"line_number":456,"context_line":"        ports \u003d body[\u0027ports\u0027]"},{"line_number":457,"context_line":"        used_ips \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_3c4c4f42","line":454,"in_reply_to":"3a961159_3ac8c874","updated":"2015-01-25 12:26:52.000000000","message":"Done","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"}],"tempest/api/network/test_floating_ips.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"fcb586635e36db7e1b361502490c80a1a8b901bb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"CONF \u003d config.CONF"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class FloatingIPTestJSON(base.BaseAdminNetworkTest):"},{"line_number":27,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_3a760840","line":26,"updated":"2015-01-05 15:22:07.000000000","message":"This seems wrong.\n\nIMO tests that require admin credentials must be in the api/network/admin directory","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"2bdb0ff54777ac4155721daa6a389bd2b6b8f82b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"CONF \u003d config.CONF"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class FloatingIPTestJSON(base.BaseAdminNetworkTest):"},{"line_number":27,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_7c6df797","line":26,"in_reply_to":"3a961159_1bfbe0be","updated":"2015-01-25 12:26:52.000000000","message":"Done","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"c5617025693f57a88000cbe147da927f2819672f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"CONF \u003d config.CONF"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class FloatingIPTestJSON(base.BaseAdminNetworkTest):"},{"line_number":27,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_1bfbe0be","line":26,"in_reply_to":"3a961159_3a760840","updated":"2015-01-15 12:45:19.000000000","message":"+1\nwe have separate tempest/tempest/api/network/admin/test_floating_ips_admin_actions.py So this test should be moved there","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"fcb586635e36db7e1b361502490c80a1a8b901bb","unresolved":false,"context_lines":[{"line_number":215,"context_line":"                         list_ips[1])"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":218,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":219,"context_line":"        if not CONF.network.specified_floating_ip_address_available:"},{"line_number":220,"context_line":"            self.skip(\u0027Specified floating ip address is not available\u0027)"},{"line_number":221,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_9ab53cd2","line":218,"updated":"2015-01-05 15:22:07.000000000","message":"You might want to use the SkipUnless decorator.","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"2bdb0ff54777ac4155721daa6a389bd2b6b8f82b","unresolved":false,"context_lines":[{"line_number":215,"context_line":"                         list_ips[1])"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":218,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":219,"context_line":"        if not CONF.network.specified_floating_ip_address_available:"},{"line_number":220,"context_line":"            self.skip(\u0027Specified floating ip address is not available\u0027)"},{"line_number":221,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_c2d44622","line":218,"in_reply_to":"3a961159_9ab53cd2","updated":"2015-01-25 12:26:52.000000000","message":"Done","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"c5617025693f57a88000cbe147da927f2819672f","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":222,"context_line":"        if fip is None:"},{"line_number":223,"context_line":"            self.skip(\u0027available floating ip address is not found\u0027)"},{"line_number":224,"context_line":"        _, body \u003d self.client.create_floatingip("},{"line_number":225,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":226,"context_line":"            floating_ip_address\u003dfip)"},{"line_number":227,"context_line":"        created_floating_ip \u003d body[\u0027floatingip\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_7b21444e","line":224,"updated":"2015-01-15 12:45:19.000000000","message":"_ -  is not needed now","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"2bdb0ff54777ac4155721daa6a389bd2b6b8f82b","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":222,"context_line":"        if fip is None:"},{"line_number":223,"context_line":"            self.skip(\u0027available floating ip address is not found\u0027)"},{"line_number":224,"context_line":"        _, body \u003d self.client.create_floatingip("},{"line_number":225,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":226,"context_line":"            floating_ip_address\u003dfip)"},{"line_number":227,"context_line":"        created_floating_ip \u003d body[\u0027floatingip\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_e2bea2d3","line":224,"in_reply_to":"3a961159_7b21444e","updated":"2015-01-25 12:26:52.000000000","message":"Done","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"}],"tempest/config.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"fcb586635e36db7e1b361502490c80a1a8b901bb","unresolved":false,"context_lines":[{"line_number":471,"context_line":"                default\u003d[\"8.8.8.8\", \"8.8.4.4\"],"},{"line_number":472,"context_line":"                help\u003d\"List of dns servers which should be used\""},{"line_number":473,"context_line":"                     \" for subnet creation\"),"},{"line_number":474,"context_line":"    cfg.BoolOpt(\u0027specified_floating_ip_address_available\u0027,"},{"line_number":475,"context_line":"                default\u003dFalse,"},{"line_number":476,"context_line":"                help\u003d\u0027Specified floating ip address is available for admin\u0027),"},{"line_number":477,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_faf560ed","line":474,"updated":"2015-01-05 15:22:07.000000000","message":"The name is not right. It should be more like \"specify_floating_ip_address_available\".\n\nThis new flag should be in the NetworkFeaturesGroup.","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"2bdb0ff54777ac4155721daa6a389bd2b6b8f82b","unresolved":false,"context_lines":[{"line_number":471,"context_line":"                default\u003d[\"8.8.8.8\", \"8.8.4.4\"],"},{"line_number":472,"context_line":"                help\u003d\"List of dns servers which should be used\""},{"line_number":473,"context_line":"                     \" for subnet creation\"),"},{"line_number":474,"context_line":"    cfg.BoolOpt(\u0027specified_floating_ip_address_available\u0027,"},{"line_number":475,"context_line":"                default\u003dFalse,"},{"line_number":476,"context_line":"                help\u003d\u0027Specified floating ip address is available for admin\u0027),"},{"line_number":477,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_c7b43437","line":474,"in_reply_to":"3a961159_faf560ed","updated":"2015-01-25 12:26:52.000000000","message":"Done","commit_id":"a5cd3f68ec09c56034eef1cb47d326cb39b7c18d"}]}
