)]}'
{"tempest/scenario/orchestration/test_autoscaling.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"726afd96017479cb3e5e54992edaf5f121795110","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        if not CONF.orchestration.keypair_name:"},{"line_number":64,"context_line":"            self.addCleanup(self.client.stacks.delete, self.stack)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":67,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":68,"context_line":"    @test.skip_because(bug\u003d\"1257575\")"},{"line_number":69,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_f12aed2a","line":66,"updated":"2014-09-02 20:07:31.000000000","message":"If this test requires neutron to run, then you should add it to the services decorator below. That will skip the test if neutron isn\u0027t enabled and also properly tag the test as using neutron.\n\nSee:\n\nhttp://git.openstack.org/cgit/openstack/tempest/tree/tempest/test.py#n92","commit_id":"7adfcc5e5be4f051bdafcd18b97f366a35f7f420"},{"author":{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},"change_message_id":"5405fb1d72c1b50e2b43c799c5d4dd7c2a185275","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        if not CONF.orchestration.keypair_name:"},{"line_number":64,"context_line":"            self.addCleanup(self.client.stacks.delete, self.stack)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":67,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":68,"context_line":"    @test.skip_because(bug\u003d\"1257575\")"},{"line_number":69,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_de7ea6ae","line":66,"in_reply_to":"fa98f980_8d740469","updated":"2014-09-03 21:31:00.000000000","message":"I was looking though other scenario tests, and there are a few that require neutron, and they do implement test skip if it is not available. Doing it through tag is cleaner, and the tests could be refactored if there was a neutron specific tag. \n\nI have submitted another patch (Change-Id: #I369e5b03c318cfc1b42984a05806c50ec44df490) and was planning to rebase this on top. If it is confusing to have both network and neutron, can we do a rename, e.g. network-nova, network-neutron?","commit_id":"7adfcc5e5be4f051bdafcd18b97f366a35f7f420"},{"author":{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},"change_message_id":"b86d421e20518f6997b3f81d6cfc1e9e9b62d30b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        if not CONF.orchestration.keypair_name:"},{"line_number":64,"context_line":"            self.addCleanup(self.client.stacks.delete, self.stack)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":67,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":68,"context_line":"    @test.skip_because(bug\u003d\"1257575\")"},{"line_number":69,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_faec68f5","line":66,"in_reply_to":"fa98f980_ba958088","updated":"2014-09-03 13:29:49.000000000","message":"Edit:\n[1] http://git.openstack.org/cgit/openstack/tempest/tree/tempest/scenario/manager.py#n447","commit_id":"7adfcc5e5be4f051bdafcd18b97f366a35f7f420"},{"author":{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},"change_message_id":"13a24c275f1aa7957ccb4f45032313989b1c4c3d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        if not CONF.orchestration.keypair_name:"},{"line_number":64,"context_line":"            self.addCleanup(self.client.stacks.delete, self.stack)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":67,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":68,"context_line":"    @test.skip_because(bug\u003d\"1257575\")"},{"line_number":69,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_ba958088","line":66,"in_reply_to":"fa98f980_f12aed2a","updated":"2014-09-03 13:25:38.000000000","message":"Thank you for the pointer. Currently the \u0027network\u0027 tag never skips the test, as it is assumed the nova-network is always available. But scenario tests use neutron only. There is a check for neutron in preconditions of NetworkScenarioTest [1].\n\nWould it make sense to introduce a neutron service tag? Even though nova-network is being deprecated in the future, a separate neutron tag would work now. But I am afraid it would be confusing to have both network and neutron service tags.\n\n[1] http://git.openstack.org/cgit/openstack/tempest/tree/tempest/test.py#n92","commit_id":"7adfcc5e5be4f051bdafcd18b97f366a35f7f420"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"4a526c13684e4ba605c3f70dbb599d44c65945ef","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        if not CONF.orchestration.keypair_name:"},{"line_number":64,"context_line":"            self.addCleanup(self.client.stacks.delete, self.stack)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":67,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":68,"context_line":"    @test.skip_because(bug\u003d\"1257575\")"},{"line_number":69,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_8d740469","line":66,"in_reply_to":"fa98f980_faec68f5","updated":"2014-09-03 21:01:38.000000000","message":"Oops sorry, yeah I forgot about that in the services decorator. Considering I wrote the decorator (the comment explaining this in the decorator definition has my name on it too) I probably should have remembered that detail.\n\nI agree adding a new service tag would be confusing and that definitely seems unnecessary here.\n\nLeaving this skipUnless decorator is valid, but if we need to skip the test based on neutron availability, then you still need to add it to the services list below too, so it is properly tagged as requiring networking. (if it didn\u0027t require networking then skipping wouldn\u0027t be necessary)","commit_id":"7adfcc5e5be4f051bdafcd18b97f366a35f7f420"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"aecd87f90b0297bf5eaa8600c12506809c0bec4a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            self.addCleanup(self.client.stacks.delete, self.stack)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # We need the skip based on Neutron availability because \u0027network\u0027 service"},{"line_number":67,"context_line":"    # tag does not skip the test yet based on Neutron availability."},{"line_number":68,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":69,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":70,"context_line":"    @test.skip_because(bug\u003d\"1257575\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_515dbce8","line":67,"updated":"2014-09-09 00:43:17.000000000","message":"This comment would become useless and make confusions in the future. It seems enough to write it on the commit message like current patch. In addition, this test is skipped already with the line 70, and the skip_because decorator is important for the maintenance(skip_because should be removed in the future and it would be nice to clarify it). So it would be better to put this skipUnless after skip_because.","commit_id":"379ca754ff6e732005be46c67babfb751c67760a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"aecd87f90b0297bf5eaa8600c12506809c0bec4a","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    @test.skip_because(bug\u003d\"1257575\")"},{"line_number":71,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":72,"context_line":"    @test.services(\u0027orchestration\u0027, \u0027compute\u0027, \u0027network\u0027)"},{"line_number":73,"context_line":"    def test_scale_up_then_down(self):"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.assign_keypair()"},{"line_number":76,"context_line":"        self.launch_stack()"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_71948044","line":73,"updated":"2014-09-09 00:43:17.000000000","message":"I could not find the dependencies on Neutron in this test.\nAccording to the test name, I felt it would be better to make the test independent if depending.","commit_id":"379ca754ff6e732005be46c67babfb751c67760a"},{"author":{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},"change_message_id":"af0a5ffdc981bd07aaa28ad131f0940d62ee238e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    @test.skip_because(bug\u003d\"1257575\")"},{"line_number":71,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":72,"context_line":"    @test.services(\u0027orchestration\u0027, \u0027compute\u0027, \u0027network\u0027)"},{"line_number":73,"context_line":"    def test_scale_up_then_down(self):"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.assign_keypair()"},{"line_number":76,"context_line":"        self.launch_stack()"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_1bd6dcc3","line":73,"in_reply_to":"fa98f980_71948044","updated":"2014-09-09 16:55:38.000000000","message":"See [1], it checks for Neutron and returns None if it is not available. So the self._get_default_network() at line 41 would raise an exception, as it would try to use the None object:\nAttributeError: \u0027NoneType\u0027 object has no attribute \u0027list_networks\u0027\n\nIt does not happen now only because of the skip_because(bug\u003d\"1257575\").\n\nThe test only uses network to get the subnet and pass it to heat client. So network is not required if heat does not need it, which I do not know. But I think whether or not the subnet is needed for this test is irrelevant for the bug this patch is resolving. Someone with more knowledge of heat can look at this. The tag and the skip would make the dependency more obvious.\n\n[1] http://git.openstack.org/cgit/openstack/tempest/tree/tempest/clients.py#n700","commit_id":"379ca754ff6e732005be46c67babfb751c67760a"}],"tempest/scenario/orchestration/test_server_cfn_init.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"726afd96017479cb3e5e54992edaf5f121795110","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                self._log_console_output(servers\u003d[server])"},{"line_number":125,"context_line":"                raise e"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":128,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":129,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":130,"context_line":"    @test.services(\u0027orchestration\u0027, \u0027compute\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_1121314d","line":127,"updated":"2014-09-02 20:07:31.000000000","message":"Same here","commit_id":"7adfcc5e5be4f051bdafcd18b97f366a35f7f420"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"ac4befd3e2bce45844a6e3ea001a7ad19760570d","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                self._log_console_output(servers\u003d[server])"},{"line_number":129,"context_line":"                raise e"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":132,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":133,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":134,"context_line":"    @test.services(\u0027orchestration\u0027, \u0027compute\u0027, \u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baa201ad_6a267b6a","line":131,"updated":"2014-09-29 09:25:48.000000000","message":"Do you really need the skipUnLess next to the services decorator ? The service decorator supposed to the same thing.","commit_id":"0df85cc93b752dfedf75be3cb2a117f688f8dc02"},{"author":{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},"change_message_id":"6921efc656a0cd77c6195d3554c89af73b924c58","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                self._log_console_output(servers\u003d[server])"},{"line_number":129,"context_line":"                raise e"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    @testtools.skipUnless(CONF.service_available.neutron,"},{"line_number":132,"context_line":"                          \u0027Neutron is not available\u0027)"},{"line_number":133,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":134,"context_line":"    @test.services(\u0027orchestration\u0027, \u0027compute\u0027, \u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baa201ad_37f9284e","line":131,"in_reply_to":"baa201ad_6a267b6a","updated":"2014-09-29 19:08:15.000000000","message":"The \u0027network\u0027 service decorator never skips a test. It is not checking for Neutron, and assumes nova-network is always there.","commit_id":"0df85cc93b752dfedf75be3cb2a117f688f8dc02"}]}
