)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d36e3371dc47e4c8677a27a5c0cebfe61c498c27","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This is a proposal for a tempest network scenario"},{"line_number":18,"context_line":"aimed at validating VM connectivity after advanced"},{"line_number":19,"context_line":"VM operations."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: If9e658147a1fe89e3681f1309e863b901d282447"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"AAAAUX%2F%2Bwjg%3D","line":19,"updated":"2014-02-19 09:29:52.000000000","message":"please add:\nPartially Implements: blueprint neutron-advanced-scenarios\n\nor a better bp/bug if you have one","commit_id":"f6de2dbdaf88e40568b21e2665ee84dea34d61f7"}],"tempest/scenario/manager.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"f0cc8bc2afe5b3ab72997335e3a5696a30e01622","unresolved":false,"context_lines":[{"line_number":674,"context_line":"        self.set_resource(name, vip)"},{"line_number":675,"context_line":"        return vip"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"    def _check_tenant_network_connectivity(self, server,"},{"line_number":678,"context_line":"                                           username,"},{"line_number":679,"context_line":"                                           private_key,"},{"line_number":680,"context_line":"                                           should_connect\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAVX%2F%2F3N8%3D","line":677,"updated":"2014-02-27 18:42:21.000000000","message":"If you pulled it from network_basic_ops, then you should remove it from there. the point is to share the code, so future changes will affect all tests","commit_id":"aa3b306ce7389ca6d5036bbcc7b4d4b51a450d12"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"4cd6ef05af9f31c87b7fe3452cec72abf83cab14","unresolved":false,"context_lines":[{"line_number":674,"context_line":"        self.set_resource(name, vip)"},{"line_number":675,"context_line":"        return vip"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"    def _check_tenant_network_connectivity(self, server,"},{"line_number":678,"context_line":"                                           username,"},{"line_number":679,"context_line":"                                           private_key,"},{"line_number":680,"context_line":"                                           should_connect\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAVX%2F%2FzOA%3D","line":677,"in_reply_to":"AAAAVX%2F%2F3N8%3D","updated":"2014-02-28 07:25:33.000000000","message":"I will delete these 2 methods here in this patch, and I will submit another commit to do refactor. thanks.","commit_id":"aa3b306ce7389ca6d5036bbcc7b4d4b51a450d12"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"f0cc8bc2afe5b3ab72997335e3a5696a30e01622","unresolved":false,"context_lines":[{"line_number":693,"context_line":"                                                should_connect\u003dshould_connect)"},{"line_number":694,"context_line":"        except Exception:"},{"line_number":695,"context_line":"            LOG.exception(\u0027Tenant network connectivity check failed\u0027)"},{"line_number":696,"context_line":"            self._log_console_output(servers\u003d[server])"},{"line_number":697,"context_line":"            debug.log_ip_ns()"},{"line_number":698,"context_line":"            raise"},{"line_number":699,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAVX%2F%2F3OA%3D","line":696,"updated":"2014-02-27 18:42:21.000000000","message":"this needs to be a list of all existing servers in cloud.","commit_id":"aa3b306ce7389ca6d5036bbcc7b4d4b51a450d12"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"f0cc8bc2afe5b3ab72997335e3a5696a30e01622","unresolved":false,"context_lines":[{"line_number":697,"context_line":"            debug.log_ip_ns()"},{"line_number":698,"context_line":"            raise"},{"line_number":699,"context_line":""},{"line_number":700,"context_line":"    def _check_public_network_connectivity(self, floating_ip,"},{"line_number":701,"context_line":"                                           username,"},{"line_number":702,"context_line":"                                           private_key,"},{"line_number":703,"context_line":"                                           should_connect\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAVX%2F%2F3RE%3D","line":700,"updated":"2014-02-27 18:42:21.000000000","message":"same here","commit_id":"aa3b306ce7389ca6d5036bbcc7b4d4b51a450d12"}],"tempest/scenario/network/test_network_advanced_ops.py":[{"author":{"_account_id":8278,"name":"Dazhao Yu","email":"dazhaoyu@gmail.com","username":"Dazhao"},"change_message_id":"79ce24cc31e3627f214b2535b16f9f9534c2233a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":4,"context_line":"# Copyright 2013 Hewlett-Packard Development Company, L.P."},{"line_number":5,"context_line":"# All Rights Reserved."},{"line_number":6,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F98E0%3D","line":3,"updated":"2013-12-04 08:57:23.000000000","message":"should be 2013, not 2012","commit_id":"5cf5ef2400af6dace57db78fc26ae3883ab7827c"},{"author":{"_account_id":8278,"name":"Dazhao Yu","email":"dazhaoyu@gmail.com","username":"Dazhao"},"change_message_id":"79ce24cc31e3627f214b2535b16f9f9534c2233a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":4,"context_line":"# Copyright 2013 Hewlett-Packard Development Company, L.P."},{"line_number":5,"context_line":"# All Rights Reserved."},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F98EM%3D","line":4,"updated":"2013-12-04 08:57:23.000000000","message":"Remove the line 3-4, and add the following line:\n# Copyright 2013 IBM Corp.","commit_id":"5cf5ef2400af6dace57db78fc26ae3883ab7827c"},{"author":{"_account_id":8278,"name":"Dazhao Yu","email":"dazhaoyu@gmail.com","username":"Dazhao"},"change_message_id":"79ce24cc31e3627f214b2535b16f9f9534c2233a","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _check_instance_connectivity(self, instance):"},{"line_number":31,"context_line":"        if not self.config.network.tenant_networks_reachable:"},{"line_number":32,"context_line":"            msg \u003d \u0027Tenant networks not configured to be reachable.\u0027"},{"line_number":33,"context_line":"            LOG.info(msg)"},{"line_number":34,"context_line":"            return"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F98C8%3D","line":32,"updated":"2013-12-04 08:57:23.000000000","message":"Tenant network was not configured to be reachable, maybe more clear","commit_id":"5cf5ef2400af6dace57db78fc26ae3883ab7827c"}],"tempest/scenario/network/test_network_basic_ops.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"208e799ae2083c52b0ee1b7e0314cecb2485efb1","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            raise exc"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def _check_same_net_vms_connectivity(self):"},{"line_number":128,"context_line":"        if not self.config.network.tenant_networks_reachable:"},{"line_number":129,"context_line":"            msg \u003d \u0027Tenant networks not configured to be reachable.\u0027"},{"line_number":130,"context_line":"            LOG.info(msg)"},{"line_number":131,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F971w%3D","line":128,"updated":"2013-12-04 09:41:55.000000000","message":"since this is set to False by default, in-network checks should be preformed via ssh into a VM in the net.","commit_id":"5cf5ef2400af6dace57db78fc26ae3883ab7827c"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"208e799ae2083c52b0ee1b7e0314cecb2485efb1","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        test_servers \u003d []"},{"line_number":137,"context_line":"        for i in range(2):"},{"line_number":138,"context_line":"            name \u003d data_utils.rand_name(\u0027server-smoke-%d-\u0027 % i)"},{"line_number":139,"context_line":"            test_servers.append(self._create_server(name, network))"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        ssh_login \u003d self.config.compute.image_ssh_user"},{"line_number":142,"context_line":"        private_key \u003d self.keypairs[self.tenant_id].private_key"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F970s%3D","line":139,"updated":"2013-12-04 09:41:55.000000000","message":"Why create 2 new VMs when you can use the one already created and add another one?","commit_id":"5cf5ef2400af6dace57db78fc26ae3883ab7827c"}],"tempest/scenario/test_network_advanced_server_ops.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d2bfaa131bc7c80b0f4dbfbf3989b4036b538b3e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"     * Reboot an instance"},{"line_number":35,"context_line":"     * Pause/Unpause an instance"},{"line_number":36,"context_line":"     * Suspend/Resume an instance"},{"line_number":37,"context_line":"     * Resize an instance"},{"line_number":38,"context_line":"    \"\"\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F%2F9Ms%3D","line":37,"updated":"2014-01-06 08:40:47.000000000","message":"IMHO the rebuild would be nice addition.","commit_id":"39114d36451bbe8b5c8b18b32e853b6efba622cb"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d2bfaa131bc7c80b0f4dbfbf3989b4036b538b3e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self.floating_ip \u003d self._create_floating_ip(self.server,"},{"line_number":71,"context_line":"                                                    public_network_id)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def _check_tenant_network_connectivity(self, should_connect\u003dTrue):"},{"line_number":74,"context_line":"        if not self.config.network.tenant_networks_reachable:"},{"line_number":75,"context_line":"            msg \u003d \u0027Tenant networks not configured to be reachable.\u0027"},{"line_number":76,"context_line":"            LOG.info(msg)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F%2F9MI%3D","line":73,"updated":"2014-01-06 08:40:47.000000000","message":"Unfortunately the basic ops variant is over engineered for single network, in tho future the connectivity checks should have more common code.","commit_id":"39114d36451bbe8b5c8b18b32e853b6efba622cb"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"d2bfaa131bc7c80b0f4dbfbf3989b4036b538b3e","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        self.status_timeout("},{"line_number":168,"context_line":"            self.compute_client.servers, self.server.id, \u0027ACTIVE\u0027)"},{"line_number":169,"context_line":"        self._check_tenant_network_connectivity()"},{"line_number":170,"context_line":"        self._check_public_network_connectivity()"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F%2F9Ls%3D","line":170,"updated":"2014-01-06 08:40:47.000000000","message":"The last 4 lines is repeated 5 times, at least the two connection check should be in protected method. (-1)","commit_id":"39114d36451bbe8b5c8b18b32e853b6efba622cb"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"8a18b20ca682b5fb9e070425a07d852ced88f746","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    def setUpClass(cls):"},{"line_number":43,"context_line":"        super(TestNetworkAdvancedServerOps, cls).setUpClass()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        cfg \u003d cls.config.network"},{"line_number":46,"context_line":"        if not (cfg.tenant_networks_reachable or cfg.public_network_id):"},{"line_number":47,"context_line":"            msg \u003d (\u0027Either tenant_networks_reachable must be \"true\", or \u0027"},{"line_number":48,"context_line":"                   \u0027public_network_id must be defined.\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F%2F5KU%3D","line":45,"updated":"2014-01-07 06:05:39.000000000","message":"We shouldn\u0027t use cls.config anymore. See: http://www.mail-archive.com/openstack-dev@lists.openstack.org/msg12412.html","commit_id":"ea06bf69b32391d94364f89fdcd7155f2b057581"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"7261df070df3e31649c813687cfc3a0680d416d9","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                                    public_network_id)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _check_tenant_network_connectivity(self, should_connect\u003dTrue):"},{"line_number":77,"context_line":"        if not CONF.network.tenant_networks_reachable:"},{"line_number":78,"context_line":"            msg \u003d \u0027Tenant networks not configured to be reachable.\u0027"},{"line_number":79,"context_line":"            LOG.info(msg)"},{"line_number":80,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAUH%2F%2F3wo%3D","line":77,"updated":"2014-01-07 12:34:03.000000000","message":"this has been checked in setUpClass","commit_id":"b889e100ce36687374b8309af69d3c7afa2e5b18"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"5064c6a6c22362029dab02c724dadae9f36cbaf7","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                                    public_network_id)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _check_tenant_network_connectivity(self, should_connect\u003dTrue):"},{"line_number":77,"context_line":"        if not CONF.network.tenant_networks_reachable:"},{"line_number":78,"context_line":"            msg \u003d \u0027Tenant networks not configured to be reachable.\u0027"},{"line_number":79,"context_line":"            LOG.info(msg)"},{"line_number":80,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAUH%2F%2FaFQ%3D","line":77,"in_reply_to":"AAAAUH%2F%2F0I4%3D","updated":"2014-01-14 02:34:57.000000000","message":"you\u0027re right. But if this tests need both of them, setUpClass should check like this:\n\nif not (cfg.tenant_networks_reachable and cfg.public_network_id):","commit_id":"b889e100ce36687374b8309af69d3c7afa2e5b18"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"23201b10defbae8ad094f91ad062a8e48a8b0be5","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                                    public_network_id)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _check_tenant_network_connectivity(self, should_connect\u003dTrue):"},{"line_number":77,"context_line":"        if not CONF.network.tenant_networks_reachable:"},{"line_number":78,"context_line":"            msg \u003d \u0027Tenant networks not configured to be reachable.\u0027"},{"line_number":79,"context_line":"            LOG.info(msg)"},{"line_number":80,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAUH%2F%2F0I4%3D","line":77,"in_reply_to":"AAAAUH%2F%2F3wo%3D","updated":"2014-01-08 06:40:38.000000000","message":"The setUpClass check\n\nif not (cfg.tenant_networks_reachable or cfg.public_network_id):\n\nchecks either tenant_networks_reachable must be \"true\", or  public_network_id must be defined. so we must check tenant_networks_reachable here.\n\nI found in other tests that the public_network_id needn\u0027t  to check (test_floating_ip.py), it seems that  it must be set to run tempest. so I think if we should delete the check in setUpClass check? another reason is if we set tenant_networks_reachable \u003d True and public_network_id is none, this test will also error at self._get_router(self.tenant_id).","commit_id":"b889e100ce36687374b8309af69d3c7afa2e5b18"},{"author":{"_account_id":8622,"name":"Feng Ju","email":"jufeng@cn.ibm.com","username":"jufeng"},"change_message_id":"fa0300aa4aeec1236e25665351455bb03ec0da7e","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                                    public_network_id)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _check_tenant_network_connectivity(self, should_connect\u003dTrue):"},{"line_number":77,"context_line":"        if not CONF.network.tenant_networks_reachable:"},{"line_number":78,"context_line":"            msg \u003d \u0027Tenant networks not configured to be reachable.\u0027"},{"line_number":79,"context_line":"            LOG.info(msg)"},{"line_number":80,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAUH%2F%2FaBI%3D","line":77,"in_reply_to":"AAAAUH%2F%2FaFQ%3D","updated":"2014-01-14 02:59:10.000000000","message":"so test both of them seems reasonable. thanks.","commit_id":"b889e100ce36687374b8309af69d3c7afa2e5b18"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"2385a5e70c63d370afbf296b7fd4edf69bd0f3af","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2013 IBM Corp."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2B7t0%3D","line":1,"updated":"2014-02-18 05:52:58.000000000","message":"Could you remove this vim setting line?","commit_id":"f6de2dbdaf88e40568b21e2665ee84dea34d61f7"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d36e3371dc47e4c8677a27a5c0cebfe61c498c27","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        super(TestNetworkAdvancedServerOps, cls).setUpClass()"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        cfg \u003d CONF.network"},{"line_number":48,"context_line":"        if not (cfg.tenant_networks_reachable and cfg.public_network_id):"},{"line_number":49,"context_line":"            msg \u003d (\u0027Both tenant_networks_reachable must be \"true\", and \u0027"},{"line_number":50,"context_line":"                   \u0027public_network_id must be defined.\u0027)"},{"line_number":51,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2Bwe8%3D","line":48,"updated":"2014-02-19 09:29:52.000000000","message":"forcing tenant_networks_reachable will prevent it from running on most setup, as well as the gate (if I\u0027m not mistaken) as it is False by default (for a good reason). are you sure that\u0027s what you want? why?\n\nplease consider using something like this:\nhttps://github.com/openstack/tempest/blob/master/tempest/scenario/test_network_basic_ops.py#L102","commit_id":"f6de2dbdaf88e40568b21e2665ee84dea34d61f7"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d36e3371dc47e4c8677a27a5c0cebfe61c498c27","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                   \u0027public_network_id must be defined.\u0027)"},{"line_number":51,"context_line":"            raise cls.skipException(msg)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def _create_server(self):"},{"line_number":54,"context_line":"        key_name \u003d data_utils.rand_name(\u0027keypair-smoke-\u0027)"},{"line_number":55,"context_line":"        self.keypair \u003d self.create_keypair(name\u003dkey_name)"},{"line_number":56,"context_line":"        security_group \u003d\\"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2BwYM%3D","line":53,"updated":"2014-02-19 09:29:52.000000000","message":"this will create {server, net, subnet, router, key, FLIP, secgroup}\nonce for each test (6 times) times and only clean them at the end.\nbetter use setUp() and tearDown() to avoid stress\nsee example:\nhttps://review.openstack.org/#/c/66879/","commit_id":"f6de2dbdaf88e40568b21e2665ee84dea34d61f7"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d36e3371dc47e4c8677a27a5c0cebfe61c498c27","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self.floating_ip \u003d self._create_floating_ip(self.server,"},{"line_number":74,"context_line":"                                                    public_network_id)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def _check_tenant_network_connectivity(self, should_connect\u003dTrue):"},{"line_number":77,"context_line":"        # The target login is assumed to have been configured for"},{"line_number":78,"context_line":"        # key-based authentication by cloud-init."},{"line_number":79,"context_line":"        username \u003d CONF.compute.image_ssh_user"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2BwdI%3D","line":76,"updated":"2014-02-19 09:29:52.000000000","message":"since this method (and some other methods here) are copy-pasted from network-basic-ops, please move them to manager.py to share code","commit_id":"f6de2dbdaf88e40568b21e2665ee84dea34d61f7"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d36e3371dc47e4c8677a27a5c0cebfe61c498c27","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                self._check_vm_connectivity(ip_address, username, private_key,"},{"line_number":84,"context_line":"                                            should_connect\u003dshould_connect)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def _check_public_network_connectivity(self, should_connect\u003dTrue):"},{"line_number":87,"context_line":"        # The target login is assumed to have been configured for"},{"line_number":88,"context_line":"        # key-based authentication by cloud-init."},{"line_number":89,"context_line":"        username \u003d CONF.compute.image_ssh_user"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2BwdE%3D","line":86,"updated":"2014-02-19 09:29:52.000000000","message":"same here","commit_id":"f6de2dbdaf88e40568b21e2665ee84dea34d61f7"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d36e3371dc47e4c8677a27a5c0cebfe61c498c27","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            self._check_vm_connectivity(floating_ip, username, private_key,"},{"line_number":94,"context_line":"                                        should_connect\u003dshould_connect)"},{"line_number":95,"context_line":"        except Exception as exc:"},{"line_number":96,"context_line":"            LOG.exception(exc)"},{"line_number":97,"context_line":"            debug.log_ip_ns()"},{"line_number":98,"context_line":"            raise exc"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2BwaQ%3D","line":96,"updated":"2014-02-19 09:29:52.000000000","message":"this is wrong usage of LOG.exception\nhttps://bugs.launchpad.net/tempest/+bug/1262547\n\nThis is better:\n\n        except Exception:\n            LOG.exception(\u0027INFORMATIVE FAIL MESSAGE\u0027)\n            debug.log_ip_ns()\n            raise\nhttps://github.com/openstack/tempest/blob/master/tempest/scenario/test_network_basic_ops.py#L190","commit_id":"f6de2dbdaf88e40568b21e2665ee84dea34d61f7"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"b302bdddc40cddacf58888f7ff65330f5e4f329f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def cleanup_wrapper(self, resource):"},{"line_number":52,"context_line":"        self.cleanup_resource(resource, self.__class__.__name__)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def _create_server(self):"},{"line_number":55,"context_line":"        key_name \u003d data_utils.rand_name(\u0027keypair-smoke-\u0027)"},{"line_number":56,"context_line":"        self.keypair \u003d self.create_keypair(name\u003dkey_name)"},{"line_number":57,"context_line":"        self.addCleanup(self.cleanup_wrapper, self.keypair)"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAU3%2F%2Ffgk%3D","line":54,"updated":"2014-02-26 10:10:25.000000000","message":"please rename method to setUp(self)\nand add super(..).setUp()","commit_id":"da08559e57d87fc69f9ba20f7f8f9d3495353978"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"b302bdddc40cddacf58888f7ff65330f5e4f329f","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    @services(\u0027compute\u0027, \u0027network\u0027)"},{"line_number":103,"context_line":"    def test_server_connectivity_stop_start(self):"},{"line_number":104,"context_line":"        self._create_server()"},{"line_number":105,"context_line":"        self.server.stop()"},{"line_number":106,"context_line":"        self.status_timeout(self.compute_client.servers, self.server.id,"},{"line_number":107,"context_line":"                            \u0027SHUTOFF\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAU3%2F%2FfgY%3D","line":104,"updated":"2014-02-26 10:10:25.000000000","message":"this is common to all test_method and should be part of setUp() method (see previous comment)","commit_id":"da08559e57d87fc69f9ba20f7f8f9d3495353978"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"b302bdddc40cddacf58888f7ff65330f5e4f329f","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @services(\u0027compute\u0027, \u0027network\u0027)"},{"line_number":113,"context_line":"    def test_server_connectivity_reboot(self):"},{"line_number":114,"context_line":"        self._create_server()"},{"line_number":115,"context_line":"        self.server.reboot()"},{"line_number":116,"context_line":"        self._wait_server_status_and_check_network_connectivity()"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAU3%2F%2FfgU%3D","line":114,"updated":"2014-02-26 10:10:25.000000000","message":"same here","commit_id":"da08559e57d87fc69f9ba20f7f8f9d3495353978"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"b302bdddc40cddacf58888f7ff65330f5e4f329f","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @services(\u0027compute\u0027, \u0027network\u0027)"},{"line_number":119,"context_line":"    def test_server_connectivity_rebuild(self):"},{"line_number":120,"context_line":"        self._create_server()"},{"line_number":121,"context_line":"        image_ref_alt \u003d CONF.compute.image_ref_alt"},{"line_number":122,"context_line":"        self.server.rebuild(image_ref_alt)"},{"line_number":123,"context_line":"        self._wait_server_status_and_check_network_connectivity()"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAU3%2F%2FfgE%3D","line":120,"updated":"2014-02-26 10:10:25.000000000","message":"same here (and so on...)","commit_id":"da08559e57d87fc69f9ba20f7f8f9d3495353978"}]}
