)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"14a4cc3e7d557b422e285c83141db9792f632fd8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yuuichi Fujioka \u003cfujioka.yuuichi@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-09 18:02:44 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"an API test for specified floating ip address"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test case checks whether admin can set floating IP address when"},{"line_number":10,"context_line":"creates a floating IP."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5afe65bd_d4ba4ac0","line":7,"updated":"2015-06-01 17:32:57.000000000","message":"Introduce an API test for specified floating ip address","commit_id":"86f242d043f4de23e3ae19588118e6222f9edf71"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"912955ada788ee9023f685d04dc456cdffe6c9fb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yuuichi Fujioka \u003cfujioka.yuuichi@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-09 18:02:44 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"an API test for specified floating ip address"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test case checks whether admin can set floating IP address when"},{"line_number":10,"context_line":"creates a floating IP."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5afe65bd_200d8f90","line":7,"in_reply_to":"5afe65bd_d4ba4ac0","updated":"2015-06-03 07:46:14.000000000","message":"Done","commit_id":"86f242d043f4de23e3ae19588118e6222f9edf71"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"2b2ef6f1768450f5c2074e921020e4329301bfbc","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test case checks whether admin can set floating IP address when"},{"line_number":10,"context_line":"creates a floating IP."},{"line_number":11,"context_line":"Implements: blueprint allow-specific-floating-ip-address"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I036da37402b826c1a73698e0ae21894a3ce676ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5afe65bd_81dc44e5","line":11,"updated":"2015-06-03 09:17:44.000000000","message":"Wrong link? This leds to nowhere.","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"4f05bdbdd6c41fd0dff4df924141e4e980edc150","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test case checks whether admin can set floating IP address when"},{"line_number":10,"context_line":"creates a floating IP."},{"line_number":11,"context_line":"Implements: blueprint allow-specific-floating-ip-address"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I036da37402b826c1a73698e0ae21894a3ce676ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5afe65bd_c7124709","line":11,"in_reply_to":"5afe65bd_81dc44e5","updated":"2015-06-03 12:21:37.000000000","message":"The link generated by the tooling is a launchpad search query. However, launchpad does not return completed blueprints in the search results. The blueprint name is spelled correctly and it is at [1]. It might be a good idea to add the full URL here in the commit message.\n\n[1] https://blueprints.launchpad.net/neutron/+spec/allow-specific-floating-ip-address","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"30ea1b57d6e3d01fe2b87335c8858cbfa8d27b74","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test case checks whether admin can set floating IP address when"},{"line_number":10,"context_line":"creates a floating IP."},{"line_number":11,"context_line":"Implements: blueprint allow-specific-floating-ip-address"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I036da37402b826c1a73698e0ae21894a3ce676ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afb71cf_a07b5127","line":11,"in_reply_to":"5afe65bd_c7124709","updated":"2015-06-10 08:17:20.000000000","message":"I\u0027ll add a link to the comment message.","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"}],"neutron/tests/api/admin/test_floating_ips_admin_actions.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"4f05bdbdd6c41fd0dff4df924141e4e980edc150","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    @testtools.skipUnless("},{"line_number":138,"context_line":"        CONF.network_feature_enabled.specify_floating_ip_address_available,"},{"line_number":139,"context_line":"        \"Specifying floating ip address is not possible\")"},{"line_number":140,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":141,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":142,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_87ca0f6d","line":139,"updated":"2015-06-03 12:21:37.000000000","message":"Nit: \"Feature for specifying floating IP address is disabled\"","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"30ea1b57d6e3d01fe2b87335c8858cbfa8d27b74","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    @testtools.skipUnless("},{"line_number":138,"context_line":"        CONF.network_feature_enabled.specify_floating_ip_address_available,"},{"line_number":139,"context_line":"        \"Specifying floating ip address is not possible\")"},{"line_number":140,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":141,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":142,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_54f5bc54","line":139,"in_reply_to":"5afe65bd_87ca0f6d","updated":"2015-06-10 08:17:20.000000000","message":"Thank you.\nI\u0027ll fix it.","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"4f05bdbdd6c41fd0dff4df924141e4e980edc150","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":147,"context_line":"            floating_ip_address\u003dfip)"},{"line_number":148,"context_line":"        created_floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":149,"context_line":"        self.addCleanup(self.admin_client.delete_floatingip,"},{"line_number":150,"context_line":"                        created_floating_ip[\u0027id\u0027])"},{"line_number":151,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027id\u0027])"},{"line_number":152,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_8778cf2c","line":149,"updated":"2015-06-03 12:21:37.000000000","message":"Not needed. The base class cleans the resources in resource_cleanup().","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"30ea1b57d6e3d01fe2b87335c8858cbfa8d27b74","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":147,"context_line":"            floating_ip_address\u003dfip)"},{"line_number":148,"context_line":"        created_floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":149,"context_line":"        self.addCleanup(self.admin_client.delete_floatingip,"},{"line_number":150,"context_line":"                        created_floating_ip[\u0027id\u0027])"},{"line_number":151,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027id\u0027])"},{"line_number":152,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_808e1577","line":149,"in_reply_to":"5afe65bd_8778cf2c","updated":"2015-06-10 08:17:20.000000000","message":"I tried it.\na created floating ip was not deleted.\n\nI feel this line is need. when this test use BaseNetworkTest.create_floatingip, a create floating ip is deleted. but this test doesn\u0027t use that.","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"11067e2cd27f56f1a764ef74d449b43c657eb4c1","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":142,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":143,"context_line":"        if fip is None:"},{"line_number":144,"context_line":"            self.skip(\u0027No floating ip available\u0027)"},{"line_number":145,"context_line":"        body \u003d self.admin_client.create_floatingip("},{"line_number":146,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":147,"context_line":"            floating_ip_address\u003dfip)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_26f1afcd","line":144,"updated":"2015-06-10 13:03:13.000000000","message":"Do you want to skip the test or fail it, so that action can be taken to correct the test?  IF failing, could fail in get_unused_fip() and not have to test here.","commit_id":"8ac665c5727b434faa36ac1abdec3893cc773fd3"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"06637de22cfde837aa2b8019e5782570a75c94c8","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":142,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":143,"context_line":"        if fip is None:"},{"line_number":144,"context_line":"            self.skip(\u0027No floating ip available\u0027)"},{"line_number":145,"context_line":"        body \u003d self.admin_client.create_floatingip("},{"line_number":146,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":147,"context_line":"            floating_ip_address\u003dfip)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_5532f2a7","line":144,"in_reply_to":"3afb71cf_26f1afcd","updated":"2015-06-15 01:25:39.000000000","message":"I\u0027ll fix to fail a test when an unused fip is not exist.\nbecause I think a tester can skip this test by configuration.","commit_id":"8ac665c5727b434faa36ac1abdec3893cc773fd3"},{"author":{"_account_id":14258,"name":"Ryan Tidwell","email":"rktidwell85@gmail.com","username":"tidwellr"},"change_message_id":"4696802c910e69be896f65b1c23d6e3ea1312513","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        CONF.network_feature_enabled.specify_floating_ip_address_available,"},{"line_number":139,"context_line":"        \"Feature for specifying floating IP address is disabled\")"},{"line_number":140,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":141,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":142,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":143,"context_line":"        body \u003d self.admin_client.create_floatingip("},{"line_number":144,"context_line":"            floating_network_id\u003dself.ext_net_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_fc6c300a","line":141,"updated":"2015-06-15 05:01:42.000000000","message":"Missing @test.idempotent_id ?","commit_id":"f2e20d2684c70202f5c44158cae4edab1d965a3a"},{"author":{"_account_id":14258,"name":"Ryan Tidwell","email":"rktidwell85@gmail.com","username":"tidwellr"},"change_message_id":"efcabfb48ca8b01eae7b7ccbb4d2d2ead7eef176","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        CONF.network_feature_enabled.specify_floating_ip_address_available,"},{"line_number":139,"context_line":"        \"Feature for specifying floating IP address is disabled\")"},{"line_number":140,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":141,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":142,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":143,"context_line":"        body \u003d self.admin_client.create_floatingip("},{"line_number":144,"context_line":"            floating_network_id\u003dself.ext_net_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_abb5ce31","line":141,"in_reply_to":"fa32b979_90a039a1","updated":"2015-06-16 00:29:42.000000000","message":"uuidgen should work prefectly.  The only requirement is that the UUID be unique ( it is a UUID after all :) )","commit_id":"f2e20d2684c70202f5c44158cae4edab1d965a3a"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"e276118851869976540f84e6d4e6e62c603e7dbd","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        CONF.network_feature_enabled.specify_floating_ip_address_available,"},{"line_number":139,"context_line":"        \"Feature for specifying floating IP address is disabled\")"},{"line_number":140,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":141,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":142,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":143,"context_line":"        body \u003d self.admin_client.create_floatingip("},{"line_number":144,"context_line":"            floating_network_id\u003dself.ext_net_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_4b30bfe8","line":141,"in_reply_to":"fa32b979_abb5ce31","updated":"2015-06-16 02:28:31.000000000","message":"thank you, I\u0027ll fix it immediately.","commit_id":"f2e20d2684c70202f5c44158cae4edab1d965a3a"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"87d1e065cd75a25b23296103785b89cc5c255f7e","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        CONF.network_feature_enabled.specify_floating_ip_address_available,"},{"line_number":139,"context_line":"        \"Feature for specifying floating IP address is disabled\")"},{"line_number":140,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":141,"context_line":"    def test_create_floatingip_with_specified_ip_address(self):"},{"line_number":142,"context_line":"        fip \u003d self.get_unused_fip(self.ext_net_id)"},{"line_number":143,"context_line":"        body \u003d self.admin_client.create_floatingip("},{"line_number":144,"context_line":"            floating_network_id\u003dself.ext_net_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_90a039a1","line":141,"in_reply_to":"fa32b979_fc6c300a","updated":"2015-06-16 00:21:08.000000000","message":"sorry, I don\u0027t know how to assign UUID to this test. would you tell me the way to assign? can I generate UUID?(e.g. using uuidgen command)","commit_id":"f2e20d2684c70202f5c44158cae4edab1d965a3a"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"f1749ec0171cf31c36340ba1779ddeeceda667ff","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":146,"context_line":"            floating_ip_address\u003dfip)"},{"line_number":147,"context_line":"        created_floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":148,"context_line":"        self.addCleanup(self.admin_client.delete_floatingip,"},{"line_number":149,"context_line":"                        created_floating_ip[\u0027id\u0027])"},{"line_number":150,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027id\u0027])"},{"line_number":151,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_aa2322bc","line":148,"updated":"2015-08-26 14:07:39.000000000","message":"This is not needed. The base client class cleans up floatingip resources automatically.","commit_id":"b9a0a8c1e819bd525b3e02f129cdc7009a39b134"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"2818a6c9e210fa2a6970ae8e36ca14d8e1018c25","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":146,"context_line":"            floating_ip_address\u003dfip)"},{"line_number":147,"context_line":"        created_floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":148,"context_line":"        self.addCleanup(self.admin_client.delete_floatingip,"},{"line_number":149,"context_line":"                        created_floating_ip[\u0027id\u0027])"},{"line_number":150,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027id\u0027])"},{"line_number":151,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_6ae63a45","line":148,"in_reply_to":"fa1b9901_aa2322bc","updated":"2015-09-01 22:22:42.000000000","message":"If you\u0027ll read the comments of PS4 I\u0027m glad.\n\nI feel this line is need.","commit_id":"b9a0a8c1e819bd525b3e02f129cdc7009a39b134"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"ebbb2e95bb29c2cc3090219c42b151eb320f923d","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":146,"context_line":"            floating_ip_address\u003dfip)"},{"line_number":147,"context_line":"        created_floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":148,"context_line":"        self.addCleanup(self.admin_client.delete_floatingip,"},{"line_number":149,"context_line":"                        created_floating_ip[\u0027id\u0027])"},{"line_number":150,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027id\u0027])"},{"line_number":151,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a26ad4f_a1c77544","line":148,"updated":"2015-10-27 15:40:29.000000000","message":"Having gone back and read PS11 and PS4, I\u0027ll ask the question in a slightly different way:\n\nWhy isn\u0027t this test using BaseNetworkTest?","commit_id":"29e4bb0fbe463c1726cc25022c038b520ec2ddb1"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"128a9035846e9517e6de5006a9f610b3072de3fb","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            floating_network_id\u003dself.ext_net_id,"},{"line_number":146,"context_line":"            floating_ip_address\u003dfip)"},{"line_number":147,"context_line":"        created_floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":148,"context_line":"        self.addCleanup(self.admin_client.delete_floatingip,"},{"line_number":149,"context_line":"                        created_floating_ip[\u0027id\u0027])"},{"line_number":150,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027id\u0027])"},{"line_number":151,"context_line":"        self.assertIsNotNone(created_floating_ip[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a26ad4f_6b6ec002","line":148,"in_reply_to":"1a26ad4f_a1c77544","updated":"2015-10-30 06:41:04.000000000","message":"Because, in default, non-admin cannot set floating_ip_address, and BaseNetworkTest.create_floatingip is using non admin client.\n\nShould I make BaseAdminNetworkTest.create_floatingip? I feel it\u0027s a little overkill.","commit_id":"29e4bb0fbe463c1726cc25022c038b520ec2ddb1"}],"neutron/tests/api/base.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"2b2ef6f1768450f5c2074e921020e4329301bfbc","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    @classmethod"},{"line_number":286,"context_line":"    def create_floatingip(cls, external_network_id, floating_ip_address\u003dNone):"},{"line_number":287,"context_line":"        \"\"\"Wrapper utility that returns a test floating IP.\"\"\""},{"line_number":288,"context_line":"        kwargs \u003d {}"},{"line_number":289,"context_line":"        if floating_ip_address is not None:"},{"line_number":290,"context_line":"            kwargs[\u0027floating_ip_address\u0027] \u003d floating_ip_address"},{"line_number":291,"context_line":"        body \u003d cls.client.create_floatingip("}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_41040cbf","line":288,"updated":"2015-06-03 09:17:44.000000000","message":"Do we really need this? I think we already can pass kwargs in create_floatingip https://github.com/openstack/neutron/blob/master/neutron/tests/api/admin/test_floating_ips_admin_actions.py#L85","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"30ea1b57d6e3d01fe2b87335c8858cbfa8d27b74","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    @classmethod"},{"line_number":286,"context_line":"    def create_floatingip(cls, external_network_id, floating_ip_address\u003dNone):"},{"line_number":287,"context_line":"        \"\"\"Wrapper utility that returns a test floating IP.\"\"\""},{"line_number":288,"context_line":"        kwargs \u003d {}"},{"line_number":289,"context_line":"        if floating_ip_address is not None:"},{"line_number":290,"context_line":"            kwargs[\u0027floating_ip_address\u0027] \u003d floating_ip_address"},{"line_number":291,"context_line":"        body \u003d cls.client.create_floatingip("}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_f7b14a48","line":288,"in_reply_to":"5afe65bd_41040cbf","updated":"2015-06-10 08:17:20.000000000","message":"you are right. this function is not used in new test case.\n\nI\u0027ll revert this change.","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"4f05bdbdd6c41fd0dff4df924141e4e980edc150","unresolved":false,"context_lines":[{"line_number":495,"context_line":""},{"line_number":496,"context_line":"            for iterator in iterators:"},{"line_number":497,"context_line":"                for ip in iterator:"},{"line_number":498,"context_line":"                    if str(ip) not in used_ips:"},{"line_number":499,"context_line":"                        ips.append(str(ip))"},{"line_number":500,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":501,"context_line":"                            break"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_c73ec7d9","line":498,"updated":"2015-06-03 12:21:37.000000000","message":"Why not return ip here? I don\u0027t understand the need to collect five and return one.","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"30ea1b57d6e3d01fe2b87335c8858cbfa8d27b74","unresolved":false,"context_lines":[{"line_number":495,"context_line":""},{"line_number":496,"context_line":"            for iterator in iterators:"},{"line_number":497,"context_line":"                for ip in iterator:"},{"line_number":498,"context_line":"                    if str(ip) not in used_ips:"},{"line_number":499,"context_line":"                        ips.append(str(ip))"},{"line_number":500,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":501,"context_line":"                            break"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_f7d02a21","line":498,"in_reply_to":"5afe65bd_c73ec7d9","updated":"2015-06-10 08:17:20.000000000","message":"a first patch set returns a ip address in here, but a test case[1] is failed.\na cause is ip address is in use.\n\n[1] http://logs.openstack.org/06/181606/1/check/check-neutron-dsvm-api/cd52a1c/console.html.gz\n\nI wonder it.\nIn the test case, a first unused IP address in a allocation pool  is unusable.","commit_id":"1f67eb201ef12ad32b7a379e7a460417e3e14222"},{"author":{"_account_id":7037,"name":"John Perkins","email":"john.perkins@rackspace.com","username":"JPerkins"},"change_message_id":"f5eab2876ec575c582048cd53dd7473146897de1","unresolved":false,"context_lines":[{"line_number":493,"context_line":"                for ip in iterator:"},{"line_number":494,"context_line":"                    if str(ip) not in used_ips:"},{"line_number":495,"context_line":"                        ips.append(str(ip))"},{"line_number":496,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":497,"context_line":"                            break"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"        if ips:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_22a19046","line":496,"updated":"2015-06-10 16:33:32.000000000","message":"Why are we collecting 6 ips in the ips list here and only returning the last item? Also, if multiple items are needed here, can we make this a configurable value?","commit_id":"8ac665c5727b434faa36ac1abdec3893cc773fd3"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"06637de22cfde837aa2b8019e5782570a75c94c8","unresolved":false,"context_lines":[{"line_number":493,"context_line":"                for ip in iterator:"},{"line_number":494,"context_line":"                    if str(ip) not in used_ips:"},{"line_number":495,"context_line":"                        ips.append(str(ip))"},{"line_number":496,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":497,"context_line":"                            break"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"        if ips:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afb71cf_d5c26284","line":496,"in_reply_to":"3afb71cf_22a19046","updated":"2015-06-15 01:25:39.000000000","message":"It has no reason. I feel it shouldn\u0027t be configurable. because, This logic is there in order not to use the first IP address in allocation pools.\n\nI want to use a first ip address in allocation pools in patch set 1. but in one test case[1], the first ip address is unusable. a cause is ip address is in use. \n\n[1] http://logs.openstack.org/06/181606/1/check/check-neutron-dsvm-api/cd52a1c/console.html.gz","commit_id":"8ac665c5727b434faa36ac1abdec3893cc773fd3"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"d32670fec86532044cbcbd63511f1435f34fd477","unresolved":false,"context_lines":[{"line_number":466,"context_line":"        return metering_label_rule"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"    @classmethod"},{"line_number":469,"context_line":"    def get_unused_fip(cls, ext_net_id):"},{"line_number":470,"context_line":"        \"\"\"Get a unused ip address in a allocaion pool of ext_net\"\"\""},{"line_number":471,"context_line":"        body \u003d cls.admin_client.list_ports(network_id\u003dext_net_id)"},{"line_number":472,"context_line":"        ports \u003d body[\u0027ports\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_ab262b66","line":469,"updated":"2015-06-16 02:42:47.000000000","message":"I think we should just call this: get_unsed_ip(network_id) as we can use this method for any network not just the external one.","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"eda6584392b6eae123bc4154d6b957533ecf2284","unresolved":false,"context_lines":[{"line_number":466,"context_line":"        return metering_label_rule"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"    @classmethod"},{"line_number":469,"context_line":"    def get_unused_fip(cls, ext_net_id):"},{"line_number":470,"context_line":"        \"\"\"Get a unused ip address in a allocaion pool of ext_net\"\"\""},{"line_number":471,"context_line":"        body \u003d cls.admin_client.list_ports(network_id\u003dext_net_id)"},{"line_number":472,"context_line":"        ports \u003d body[\u0027ports\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_05961bf0","line":469,"in_reply_to":"fa32b979_ab262b66","updated":"2015-06-16 08:49:17.000000000","message":"It\u0027s so good.\nI\u0027ll modify this method.","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"d32670fec86532044cbcbd63511f1435f34fd477","unresolved":false,"context_lines":[{"line_number":467,"context_line":""},{"line_number":468,"context_line":"    @classmethod"},{"line_number":469,"context_line":"    def get_unused_fip(cls, ext_net_id):"},{"line_number":470,"context_line":"        \"\"\"Get a unused ip address in a allocaion pool of ext_net\"\"\""},{"line_number":471,"context_line":"        body \u003d cls.admin_client.list_ports(network_id\u003dext_net_id)"},{"line_number":472,"context_line":"        ports \u003d body[\u0027ports\u0027]"},{"line_number":473,"context_line":"        used_ips \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_8b6ec794","line":470,"updated":"2015-06-16 02:42:47.000000000","message":"allocation and update that it can be used for any network.","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"eda6584392b6eae123bc4154d6b957533ecf2284","unresolved":false,"context_lines":[{"line_number":467,"context_line":""},{"line_number":468,"context_line":"    @classmethod"},{"line_number":469,"context_line":"    def get_unused_fip(cls, ext_net_id):"},{"line_number":470,"context_line":"        \"\"\"Get a unused ip address in a allocaion pool of ext_net\"\"\""},{"line_number":471,"context_line":"        body \u003d cls.admin_client.list_ports(network_id\u003dext_net_id)"},{"line_number":472,"context_line":"        ports \u003d body[\u0027ports\u0027]"},{"line_number":473,"context_line":"        used_ips \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_c5b6f389","line":470,"in_reply_to":"fa32b979_8b6ec794","updated":"2015-06-16 08:49:17.000000000","message":"I\u0027ll fix it.","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"db11556a90b56d926b003712ae55e46c3242665b","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            for iterator in iterators:"},{"line_number":493,"context_line":"                for ip in iterator:"},{"line_number":494,"context_line":"                    if str(ip) not in used_ips:"},{"line_number":495,"context_line":"                        ips.append(str(ip))"},{"line_number":496,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":497,"context_line":"                            break"},{"line_number":498,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_8b6aeeb3","line":495,"updated":"2015-06-24 08:00:40.000000000","message":"+1. I don\u0027t understand how it caused another test to fail. I would fix that test if that\u0027s the case.","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"d32670fec86532044cbcbd63511f1435f34fd477","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            for iterator in iterators:"},{"line_number":493,"context_line":"                for ip in iterator:"},{"line_number":494,"context_line":"                    if str(ip) not in used_ips:"},{"line_number":495,"context_line":"                        ips.append(str(ip))"},{"line_number":496,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":497,"context_line":"                            break"},{"line_number":498,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_0bbe37d4","line":495,"updated":"2015-06-16 02:42:47.000000000","message":"why not just return the ip here instead of storing it?","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"eda6584392b6eae123bc4154d6b957533ecf2284","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            for iterator in iterators:"},{"line_number":493,"context_line":"                for ip in iterator:"},{"line_number":494,"context_line":"                    if str(ip) not in used_ips:"},{"line_number":495,"context_line":"                        ips.append(str(ip))"},{"line_number":496,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":497,"context_line":"                            break"},{"line_number":498,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_8526abcc","line":495,"in_reply_to":"fa32b979_0bbe37d4","updated":"2015-06-16 08:49:17.000000000","message":"I\u0027m happy if you see comment in patch set 5.\n\nI want to just return the ip here. but one test case[1] is failed.\n\n[1] http://logs.openstack.org/06/181606/1/check/check-neutron-dsvm-api/cd52a1c/console.html.gz","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"a4079eca40f1cdb62ca6d00bd5cb913c012bef16","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            for iterator in iterators:"},{"line_number":493,"context_line":"                for ip in iterator:"},{"line_number":494,"context_line":"                    if str(ip) not in used_ips:"},{"line_number":495,"context_line":"                        ips.append(str(ip))"},{"line_number":496,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":497,"context_line":"                            break"},{"line_number":498,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba3cc151_43ec78f3","line":495,"in_reply_to":"fa32b979_8b6aeeb3","updated":"2015-07-09 23:43:08.000000000","message":"ok, I\u0027ll try.","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"d32670fec86532044cbcbd63511f1435f34fd477","unresolved":false,"context_lines":[{"line_number":496,"context_line":"                        if len(ips) \u003e 5:"},{"line_number":497,"context_line":"                            break"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"        if ips:"},{"line_number":500,"context_line":"            return ips[-1]"},{"line_number":501,"context_line":"        message \u003d \"ext_net has no usable IP address in allocation pools\""},{"line_number":502,"context_line":"        raise exceptions.InvalidConfiguration(message)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_cbb7eff3","line":499,"updated":"2015-06-16 02:42:47.000000000","message":"just raise here if we didn\u0027t return above.","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"abe953532c6026f9a13056958489d4be57e05b97","unresolved":false,"context_lines":[{"line_number":517,"context_line":"                    iterators.append(netaddr.iter_iprange("},{"line_number":518,"context_line":"                        allocation_pool[\u0027start\u0027], allocation_pool[\u0027end\u0027]))"},{"line_number":519,"context_line":"            else:"},{"line_number":520,"context_line":"                iterators.append(netaddr.IPNetwork(cidr))"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"            for iterator in iterators:"},{"line_number":523,"context_line":"                for ip in iterator:"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa1b9901_ff5870fc","line":520,"updated":"2015-08-18 16:18:51.000000000","message":"This will include both the network and broadcast addresses.  You could skip these.\n\n  net \u003d netaddr.IPNetwork(cidr)\n  iterator \u003d (ip for ip in net if ip not in (net.network, net.broadcast))\n  iterators.append(iterator)\n\nOtherwise, you\u0027re pretty much guaranteed to return a network address on L525.  My guess is that this branch of code is not executed in any case.  You should probably either ensure that this branch is executed or just take it out and raise an exception.  That would make the failure a lot more obvious.","commit_id":"5123a5c639d1d203a643decd2d6f782b5e7974b7"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"d7a794ee7e402473159010f382db027cbed0c4b2","unresolved":false,"context_lines":[{"line_number":517,"context_line":"                    iterators.append(netaddr.iter_iprange("},{"line_number":518,"context_line":"                        allocation_pool[\u0027start\u0027], allocation_pool[\u0027end\u0027]))"},{"line_number":519,"context_line":"            else:"},{"line_number":520,"context_line":"                iterators.append(netaddr.IPNetwork(cidr))"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"            for iterator in iterators:"},{"line_number":523,"context_line":"                for ip in iterator:"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa1b9901_f2508c0c","line":520,"in_reply_to":"fa1b9901_ff5870fc","updated":"2015-08-25 01:55:44.000000000","message":"sorry for late response and thank you.\nI\u0027ll fix it to the same as the your code.","commit_id":"5123a5c639d1d203a643decd2d6f782b5e7974b7"}],"neutron/tests/tempest/config.py":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"d32670fec86532044cbcbd63511f1435f34fd477","unresolved":false,"context_lines":[{"line_number":481,"context_line":"                     \"the extended IPv6 attributes ipv6_ra_mode \""},{"line_number":482,"context_line":"                     \"and ipv6_address_mode\""},{"line_number":483,"context_line":"                ),"},{"line_number":484,"context_line":"    cfg.BoolOpt(\u0027specify_floating_ip_address_available\u0027,"},{"line_number":485,"context_line":"                default\u003dTrue,"},{"line_number":486,"context_line":"                help\u003d\u0027Specified floating ip address is available for admin\u0027),"},{"line_number":487,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_6b96e34d","line":484,"updated":"2015-06-16 02:42:47.000000000","message":"Just curious, how is this configured in neutron?","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"eda6584392b6eae123bc4154d6b957533ecf2284","unresolved":false,"context_lines":[{"line_number":481,"context_line":"                     \"the extended IPv6 attributes ipv6_ra_mode \""},{"line_number":482,"context_line":"                     \"and ipv6_address_mode\""},{"line_number":483,"context_line":"                ),"},{"line_number":484,"context_line":"    cfg.BoolOpt(\u0027specify_floating_ip_address_available\u0027,"},{"line_number":485,"context_line":"                default\u003dTrue,"},{"line_number":486,"context_line":"                help\u003d\u0027Specified floating ip address is available for admin\u0027),"},{"line_number":487,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_651cc7c1","line":484,"in_reply_to":"fa32b979_6b96e34d","updated":"2015-06-16 08:49:17.000000000","message":"do you want to know how to configure to use this feature?\nthat is in policy.json. (https://github.com/openstack/neutron/blob/e728dbebe0637e6a4c7f77429ebfb21d4f44b078/etc/policy.json#L134)\n\nIf this paramete is set to unusable, all user cannot use this feature.","commit_id":"1902cd74e4bb938a7b757256d346e742472d1d51"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"7019abc96b8e72093a0525d059e018ac81e60d5b","unresolved":false,"context_lines":[{"line_number":481,"context_line":"                     \"the extended IPv6 attributes ipv6_ra_mode \""},{"line_number":482,"context_line":"                     \"and ipv6_address_mode\""},{"line_number":483,"context_line":"                ),"},{"line_number":484,"context_line":"    cfg.BoolOpt(\u0027specify_floating_ip_address_available\u0027,"},{"line_number":485,"context_line":"                default\u003dTrue,"},{"line_number":486,"context_line":"                help\u003d\u0027Specified floating ip address is available for admin\u0027),"},{"line_number":487,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_fa566c05","line":484,"updated":"2015-07-20 11:21:44.000000000","message":"floating_ip_address_available_for_admin?","commit_id":"cd3ea24ee262a225ad72349848b51a15ad91385f"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"84681c68a7a3fb6d3366c044b2999aef96ab51af","unresolved":false,"context_lines":[{"line_number":481,"context_line":"                     \"the extended IPv6 attributes ipv6_ra_mode \""},{"line_number":482,"context_line":"                     \"and ipv6_address_mode\""},{"line_number":483,"context_line":"                ),"},{"line_number":484,"context_line":"    cfg.BoolOpt(\u0027specify_floating_ip_address_available\u0027,"},{"line_number":485,"context_line":"                default\u003dTrue,"},{"line_number":486,"context_line":"                help\u003d\u0027Specified floating ip address is available for admin\u0027),"},{"line_number":487,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_a3217c4f","line":484,"in_reply_to":"3a50d1a3_fa566c05","updated":"2015-07-21 09:17:27.000000000","message":"I think that there is no need to change.\n\nIn default, Tenant users cannot pass an IP Address when creating floating ip.\nIf a provider allows it, this feature is not for administrator only, tenant users can use it.","commit_id":"cd3ea24ee262a225ad72349848b51a15ad91385f"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"7019abc96b8e72093a0525d059e018ac81e60d5b","unresolved":false,"context_lines":[{"line_number":483,"context_line":"                ),"},{"line_number":484,"context_line":"    cfg.BoolOpt(\u0027specify_floating_ip_address_available\u0027,"},{"line_number":485,"context_line":"                default\u003dTrue,"},{"line_number":486,"context_line":"                help\u003d\u0027Specified floating ip address is available for admin\u0027),"},{"line_number":487,"context_line":"]"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"messaging_group \u003d cfg.OptGroup(name\u003d\u0027messaging\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_ba3a24cc","line":486,"updated":"2015-07-20 11:21:44.000000000","message":"nit: Specified -\u003e Make or Specified -\u003e Make specified?","commit_id":"cd3ea24ee262a225ad72349848b51a15ad91385f"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"84681c68a7a3fb6d3366c044b2999aef96ab51af","unresolved":false,"context_lines":[{"line_number":483,"context_line":"                ),"},{"line_number":484,"context_line":"    cfg.BoolOpt(\u0027specify_floating_ip_address_available\u0027,"},{"line_number":485,"context_line":"                default\u003dTrue,"},{"line_number":486,"context_line":"                help\u003d\u0027Specified floating ip address is available for admin\u0027),"},{"line_number":487,"context_line":"]"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"messaging_group \u003d cfg.OptGroup(name\u003d\u0027messaging\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_b53e80d8","line":486,"in_reply_to":"3a50d1a3_ba3a24cc","updated":"2015-07-21 09:17:27.000000000","message":"thank you, I\u0027ll consider this message.","commit_id":"cd3ea24ee262a225ad72349848b51a15ad91385f"}]}
