)]}'
{"tempest/test.py":[{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"ab97fab050b7aadcdcb2ee1e84fb19171f0ecbf6","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def decorator(f):"},{"line_number":83,"context_line":"        for service in args:"},{"line_number":84,"context_line":"            if service not in service_list.keys():"},{"line_number":85,"context_line":"                raise exceptions.InvalidServiceTag(\u0027%s is not a valid service\u0027"},{"line_number":86,"context_line":"                                                   % service)"},{"line_number":87,"context_line":"            if not service_list[service]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BzSA%3D","line":84,"updated":"2014-01-22 00:18:48.000000000","message":"Adding the .keys() method unnecessarily creates a new list. If you want to test for membership, wouldn\u0027t it be better to test immediately in the dict, like this?\n\nif service not in service_list:\n    ...","commit_id":"a8b3057f8c29f3ac6eb24d65feaa8be625025bc9"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"f541e7cf9481bfe525a7906d9460783beb5f485b","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def decorator(f):"},{"line_number":83,"context_line":"        for service in args:"},{"line_number":84,"context_line":"            if service not in service_list.keys():"},{"line_number":85,"context_line":"                raise exceptions.InvalidServiceTag(\u0027%s is not a valid service\u0027"},{"line_number":86,"context_line":"                                                   % service)"},{"line_number":87,"context_line":"            if not service_list[service]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Bvr8%3D","line":84,"in_reply_to":"AAAAUH%2F%2BzSA%3D","updated":"2014-01-22 15:29:02.000000000","message":"Done","commit_id":"a8b3057f8c29f3ac6eb24d65feaa8be625025bc9"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"87a8c3e2840aed6e9442a528f03b819683dbc383","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        \u0027identity\u0027: True,"},{"line_number":79,"context_line":"        \u0027object\u0027: CONF.service_available.swift,"},{"line_number":80,"context_line":"        \u0027dashboard\u0027: CONF.service_available.horizon,"},{"line_number":81,"context_line":"    }"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def decorator(f):"},{"line_number":84,"context_line":"        for service in args:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F96kU%3D","line":81,"updated":"2014-02-01 09:19:19.000000000","message":"Would it be possible to make this list (at least the keys of this dict) available outside the decorator?\n\nIt could be reused, like here for example: https://review.openstack.org/#/c/62887/8/tempest/common/rest_client.py\n\nNote that the review I link to asks to replace \"object\" with \"object_storage\" so it matches what\u0027s defined in config.py. What do you think about it?","commit_id":"938985daa9559a0a1d2015a0084df53162c51e8d"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"3df51071d213d632a36fdb563e0e8d4825ee7b30","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        \u0027identity\u0027: True,"},{"line_number":79,"context_line":"        \u0027object\u0027: CONF.service_available.swift,"},{"line_number":80,"context_line":"        \u0027dashboard\u0027: CONF.service_available.horizon,"},{"line_number":81,"context_line":"    }"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def decorator(f):"},{"line_number":84,"context_line":"        for service in args:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F94Mo%3D","line":81,"in_reply_to":"AAAAUH%2F96kU%3D","updated":"2014-02-02 18:45:07.000000000","message":"So for the first idea that would probably be a good thing to do, but it is definitely outside the scope of this change. Something for down the road.\n\nThe second one I\u0027ll definitely do, but it\u0027s also outside the scope here also, because it was pre-existing. I\u0027ll push a change up in front of this one to make the conversion before this.","commit_id":"938985daa9559a0a1d2015a0084df53162c51e8d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c9a9f505008980127786e7aae477dc979a89fac2","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \u0027orchestration\u0027: CONF.service_available.heat,"},{"line_number":74,"context_line":"        # NOTE(mtreinish) Default to true here because if the nova-network"},{"line_number":75,"context_line":"        # will provide networking for most cases with a network service tag."},{"line_number":76,"context_line":"        # If neutron is require it is normally explicitly checked"},{"line_number":77,"context_line":"        \u0027network\u0027: True,"},{"line_number":78,"context_line":"        \u0027identity\u0027: True,"},{"line_number":79,"context_line":"        \u0027object_storage\u0027: CONF.service_available.swift,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F9398%3D","line":76,"updated":"2014-02-02 20:49:05.000000000","message":"LOL, I think the above comment needs some grammar cleanup ;)\n\n \"Default to true here because if the nova-network will provide networking \n for most cases with a network service tag.\"\n\nDo you mean:\n\n \"nova-network will provide networking functionality if Neutron is not enabled,\n so always set to True\"\n\n?","commit_id":"7ac96b026257083d1306410c345a60f1da1f9370"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"23f8852974e423ddd18acc2ddeb689ab56c3d97d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \u0027orchestration\u0027: CONF.service_available.heat,"},{"line_number":74,"context_line":"        # NOTE(mtreinish) Default to true here because if the nova-network"},{"line_number":75,"context_line":"        # will provide networking for most cases with a network service tag."},{"line_number":76,"context_line":"        # If neutron is require it is normally explicitly checked"},{"line_number":77,"context_line":"        \u0027network\u0027: True,"},{"line_number":78,"context_line":"        \u0027identity\u0027: True,"},{"line_number":79,"context_line":"        \u0027object_storage\u0027: CONF.service_available.swift,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F93uE%3D","line":76,"in_reply_to":"AAAAUH%2F9398%3D","updated":"2014-02-03 00:50:42.000000000","message":"Yeah I probably should read what I\u0027m typing, or at least review it before I push it.","commit_id":"7ac96b026257083d1306410c345a60f1da1f9370"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"e0ef56297f41943f25811e1b0dd93b152a4ca036","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \u0027orchestration\u0027: CONF.service_available.heat,"},{"line_number":74,"context_line":"        # NOTE(mtreinish) nova-network will provide networking functionality"},{"line_number":75,"context_line":"        # if neutron isn\u0027t available, so always set to True."},{"line_number":76,"context_line":"        \u0027network\u0027: True,"},{"line_number":77,"context_line":"        \u0027identity\u0027: True,"},{"line_number":78,"context_line":"        \u0027object_storage\u0027: CONF.service_available.swift,"},{"line_number":79,"context_line":"        \u0027dashboard\u0027: CONF.service_available.horizon,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F91OU%3D","line":76,"updated":"2014-02-03 15:02:23.000000000","message":"I wonder if we should have a decorator attribute for tests which are supposed to run with neutron but not nova-network such as tempest.scenario.test_network_basic_ops\n\ncurrently tempest.scenario.manager.NetworkScenarioTest disables itself if not CONF.service_available.neutron","commit_id":"8afbffde92801eff5f8e64cad22abad1804d7678"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"2832936bf95568c43b58d3863c4dd7ffa0a41aa4","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \u0027orchestration\u0027: CONF.service_available.heat,"},{"line_number":74,"context_line":"        # NOTE(mtreinish) nova-network will provide networking functionality"},{"line_number":75,"context_line":"        # if neutron isn\u0027t available, so always set to True."},{"line_number":76,"context_line":"        \u0027network\u0027: True,"},{"line_number":77,"context_line":"        \u0027identity\u0027: True,"},{"line_number":78,"context_line":"        \u0027object_storage\u0027: CONF.service_available.swift,"},{"line_number":79,"context_line":"        \u0027dashboard\u0027: CONF.service_available.horizon,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUX%2F%2FqiA%3D","line":76,"in_reply_to":"AAAAUH%2F91OU%3D","updated":"2014-02-11 16:51:29.000000000","message":"So there is already a method(actually multiple) to do conditional skips with a decorator so I don\u0027t think we need to add another one. The reason it\u0027s raised in an if block for the scenario Manager is because it\u0027s done in setUpClass. (it\u0027s probably just a historical reason with the lazy load config now though) \n\nThe reason I used True here is because for the cases where neutron is required or doesn\u0027t work are already handled outside of this decorator.","commit_id":"8afbffde92801eff5f8e64cad22abad1804d7678"}]}
