)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"c60deed46d3afd73d65c4f66b67bb91738ce27ea","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds an API test that creates a service profile,"},{"line_number":10,"context_line":"a flavor, binds the service profile to the flavor,"},{"line_number":11,"context_line":"and then ensures a regular tenant can use that"},{"line_number":12,"context_line":"flavor to create a router."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially-Implements: blueprint multi-l3-backends"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a89bdaa_a1085a29","line":11,"range":{"start_line":11,"start_character":27,"end_line":11,"end_character":33},"updated":"2016-09-07 22:57:19.000000000","message":"good to use project as well, or refer as (tenant or project) until era of tenant ends completely","commit_id":"de7e358058b827a1b20e6601dde986fa89e2b0aa"}],"neutron/tests/tempest/api/admin/test_routers_flavors.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"1a2661db090944fb63c39f122a8a81bf275eb3b5","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        # make a flavor based on legacy router for regular tenant to use"},{"line_number":30,"context_line":"        driver \u003d (\u0027neutron.services.l3_router.service_providers.\u0027"},{"line_number":31,"context_line":"                  \u0027single_node.SingleNodeDriver\u0027)"},{"line_number":32,"context_line":"        sp \u003d self.admin_client.create_service_profile(driver\u003ddriver)"},{"line_number":33,"context_line":"        self.addCleanup(self.admin_client.delete_service_profile,"},{"line_number":34,"context_line":"                        sp[\u0027service_profile\u0027][\u0027id\u0027])"},{"line_number":35,"context_line":"        flavor \u003d self.admin_client.create_flavor(name\u003d\u0027special_flavor\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_1b752131","line":32,"updated":"2016-09-07 08:58:25.000000000","message":"I do not know which parts will be common to future tests. If we are writing tests that make different flavors or use different service profiles, none of this would be very helpful would it?","commit_id":"a52c85f5eae3fb658389729676cb6c3c77cdd471"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"df575de295e73f3552b846ec33132cfc37b6e8ff","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        # make a flavor based on legacy router for regular tenant to use"},{"line_number":30,"context_line":"        driver \u003d (\u0027neutron.services.l3_router.service_providers.\u0027"},{"line_number":31,"context_line":"                  \u0027single_node.SingleNodeDriver\u0027)"},{"line_number":32,"context_line":"        sp \u003d self.admin_client.create_service_profile(driver\u003ddriver)"},{"line_number":33,"context_line":"        self.addCleanup(self.admin_client.delete_service_profile,"},{"line_number":34,"context_line":"                        sp[\u0027service_profile\u0027][\u0027id\u0027])"},{"line_number":35,"context_line":"        flavor \u003d self.admin_client.create_flavor(name\u003d\u0027special_flavor\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_277d75b1","line":32,"updated":"2016-09-07 06:14:03.000000000","message":"Thought about it, but I wasn\u0027t sure if other tests would really want the same service profiles by default.","commit_id":"a52c85f5eae3fb658389729676cb6c3c77cdd471"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"acf832dedb6f06e399b117416bd92c160f352018","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        # make a flavor based on legacy router for regular tenant to use"},{"line_number":30,"context_line":"        driver \u003d (\u0027neutron.services.l3_router.service_providers.\u0027"},{"line_number":31,"context_line":"                  \u0027single_node.SingleNodeDriver\u0027)"},{"line_number":32,"context_line":"        sp \u003d self.admin_client.create_service_profile(driver\u003ddriver)"},{"line_number":33,"context_line":"        self.addCleanup(self.admin_client.delete_service_profile,"},{"line_number":34,"context_line":"                        sp[\u0027service_profile\u0027][\u0027id\u0027])"},{"line_number":35,"context_line":"        flavor \u003d self.admin_client.create_flavor(name\u003d\u0027special_flavor\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_a7850508","line":32,"updated":"2016-09-07 06:00:55.000000000","message":"have you considered adding this into resource_setup()?","commit_id":"a52c85f5eae3fb658389729676cb6c3c77cdd471"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"429f5fc3a17379d067a0f5399dddb9030f684056","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        # make a flavor based on legacy router for regular tenant to use"},{"line_number":30,"context_line":"        driver \u003d (\u0027neutron.services.l3_router.service_providers.\u0027"},{"line_number":31,"context_line":"                  \u0027single_node.SingleNodeDriver\u0027)"},{"line_number":32,"context_line":"        sp \u003d self.admin_client.create_service_profile(driver\u003ddriver)"},{"line_number":33,"context_line":"        self.addCleanup(self.admin_client.delete_service_profile,"},{"line_number":34,"context_line":"                        sp[\u0027service_profile\u0027][\u0027id\u0027])"},{"line_number":35,"context_line":"        flavor \u003d self.admin_client.create_flavor(name\u003d\u0027special_flavor\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_068f692a","line":32,"in_reply_to":"9a89bdaa_1b752131","updated":"2016-09-07 17:25:31.000000000","message":"then these might as well be part of resource_cleanup method()?","commit_id":"a52c85f5eae3fb658389729676cb6c3c77cdd471"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"e2daeacbefe23c67b1eab40319d3bc9fa2fcc5f9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        # make a flavor based on legacy router for regular tenant to use"},{"line_number":30,"context_line":"        driver \u003d (\u0027neutron.services.l3_router.service_providers.\u0027"},{"line_number":31,"context_line":"                  \u0027single_node.SingleNodeDriver\u0027)"},{"line_number":32,"context_line":"        sp \u003d self.admin_client.create_service_profile(driver\u003ddriver)"},{"line_number":33,"context_line":"        self.addCleanup(self.admin_client.delete_service_profile,"},{"line_number":34,"context_line":"                        sp[\u0027service_profile\u0027][\u0027id\u0027])"},{"line_number":35,"context_line":"        flavor \u003d self.admin_client.create_flavor(name\u003d\u0027special_flavor\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_c222f751","line":32,"in_reply_to":"9a89bdaa_277d75b1","updated":"2016-09-07 06:29:19.000000000","message":"if you\u0027re thinking of future tests, might as well turn this into some sort of test utility","commit_id":"a52c85f5eae3fb658389729676cb6c3c77cdd471"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"654c2647150a3528ad69813fb22216b7ffb71ae5","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    def resource_setup(cls):"},{"line_number":29,"context_line":"        super(RoutersFlavorTestCase, cls).resource_setup()"},{"line_number":30,"context_line":"        cls.service_profiles \u003d []"},{"line_number":31,"context_line":"        cls.flavors \u003d []"},{"line_number":32,"context_line":"        cls.flavor_service_profiles \u003d []"},{"line_number":33,"context_line":"        # make a flavor based on legacy router for regular tenant to use"},{"line_number":34,"context_line":"        driver \u003d (\u0027neutron.services.l3_router.service_providers.\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_5cca111c","line":31,"updated":"2016-09-08 00:16:28.000000000","message":"check base class, this is already defined.","commit_id":"b014ed1c977aef150a00efdcae75519942bcc181"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"0ecf9d261ee3457f86735d14e4cd6bacb87b2a8e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                                            sp[\u0027service_profile\u0027][\u0027id\u0027]))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def resource_cleanup(cls):"},{"line_number":48,"context_line":"        for flavor_id, service_profile_id in cls.flavor_service_profiles:"},{"line_number":49,"context_line":"            cls.admin_client.delete_flavor_service_profile(flavor_id,"},{"line_number":50,"context_line":"                                                           service_profile_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_5c15b199","line":47,"updated":"2016-09-08 00:07:20.000000000","message":"forgot to call super","commit_id":"b014ed1c977aef150a00efdcae75519942bcc181"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"654c2647150a3528ad69813fb22216b7ffb71ae5","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        self.assertEqual(\u0027special_flavor\u0027, flavor[\u0027name\u0027])"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        # ensure client can create router with flavor"},{"line_number":65,"context_line":"        router \u003d self.client.create_router(\u0027name\u0027, flavor_id\u003dflavor[\u0027id\u0027])"},{"line_number":66,"context_line":"        self.addCleanup(self.client.delete_router, router[\u0027router\u0027][\u0027id\u0027])"},{"line_number":67,"context_line":"        self.assertEqual(flavor[\u0027id\u0027], router[\u0027router\u0027][\u0027flavor_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_3cf70d5a","line":65,"updated":"2016-09-08 00:16:28.000000000","message":"this could be simply selc.create_router and you can avoid the cleanup.","commit_id":"b014ed1c977aef150a00efdcae75519942bcc181"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"92126bb438c94fe9bf4e5f0a0ca688adb79cae6d","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def resource_cleanup(cls):"},{"line_number":48,"context_line":"        super(RoutersFlavorTestCase, cls).resource_cleanup()"},{"line_number":49,"context_line":"        for flavor_id, service_profile_id in cls.flavor_service_profiles:"},{"line_number":50,"context_line":"            cls.admin_client.delete_flavor_service_profile(flavor_id,"},{"line_number":51,"context_line":"                                                           service_profile_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_1c81698f","line":48,"range":{"start_line":48,"start_character":8,"end_line":48,"end_character":60},"updated":"2016-09-08 00:20:50.000000000","message":"it is returning a keyword error while I locally ran these tests. log http://paste.openstack.org/show/568491/","commit_id":"08db8360545bded392ba9c8367181b323f8e658f"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"92126bb438c94fe9bf4e5f0a0ca688adb79cae6d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self.assertEqual(\u0027special_flavor\u0027, flavor[\u0027name\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        # ensure client can create router with flavor"},{"line_number":66,"context_line":"        router \u003d self.client.create_router(\u0027name\u0027, flavor_id\u003dflavor[\u0027id\u0027])"},{"line_number":67,"context_line":"        self.addCleanup(self.client.delete_router, router[\u0027router\u0027][\u0027id\u0027])"},{"line_number":68,"context_line":"        self.assertEqual(flavor[\u0027id\u0027], router[\u0027router\u0027][\u0027flavor_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_5c66912a","line":66,"range":{"start_line":66,"start_character":8,"end_line":66,"end_character":74},"updated":"2016-09-08 00:20:50.000000000","message":"this is going to crash when router_distributed \u003d True, if that\u0027s not supported there should some code to make sure it is set before running this error log http://paste.openstack.org/show/568486/","commit_id":"08db8360545bded392ba9c8367181b323f8e658f"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"6611dc12a7d872a888cf9f2644a3bd4c81f4a734","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.assertEqual(\u0027special_flavor\u0027, flavor[\u0027name\u0027])"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # ensure client can create router with flavor"},{"line_number":64,"context_line":"        router \u003d self.create_router(\u0027name\u0027, flavor_id\u003dflavor[\u0027id\u0027])"},{"line_number":65,"context_line":"        self.assertEqual(flavor[\u0027id\u0027], router[\u0027flavor_id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_502f5587","line":64,"range":{"start_line":64,"start_character":8,"end_line":64,"end_character":67},"updated":"2016-09-08 00:26:39.000000000","message":"same concern here as i mentioned in ps5\n\nthis is going to crash when router_distributed \u003d True, if that\u0027s not supported there should some code to make sure it is set to false before running this error log http://paste.openstack.org/show/568486/","commit_id":"084a85730e7e8b70aa8bdb29bafd2e8bfd9dac8e"}]}
