)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e7083be4b78319532376f2e902a3fdba5ff97504","unresolved":false,"context_lines":[{"line_number":11,"context_line":"loginable/reachable to a server with ssh/ping."},{"line_number":12,"context_line":"For code-cleanup, this patch adds two common methods."},{"line_number":13,"context_line":"The first adds the rule to the specified security group."},{"line_number":14,"context_line":"The second adds the rule to \"default\" group."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I4e2ebd099b7373948c82abf86615a85db055c7c5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAARn%2F%2F%2F1I%3D","line":14,"updated":"2013-08-19 00:27:14.000000000","message":"Now I have removed the second method, so this commit log is wrong.","commit_id":"3249bd2de18f67fb68416172f994cc27a6ef7757"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"291b5e740b7ca09616e41d52c418c5e4deea4b6e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Cleanup: Add common \"create security rule\" method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are many \"create security rule\" methods in each scenario test,"},{"line_number":10,"context_line":"their behaviors are almost same. They creates security rule which is"},{"line_number":11,"context_line":"loginable/reachable to a server with ssh/ping."},{"line_number":12,"context_line":"For code-cleanup, this patch adds the method which creates loginable"},{"line_number":13,"context_line":"rules to the specified security group."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAARn%2F%2F%2FGM%3D","line":10,"updated":"2013-08-19 09:26:46.000000000","message":"s/creates/create","commit_id":"a6c499a77d9a5a12f84634697720fb8e680f8c5c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"972320495fb571394c4154f1726442cb88577ebe","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Cleanup: Add common \"create security rule\" method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are many \"create security rule\" methods in each scenario test,"},{"line_number":10,"context_line":"their behaviors are almost same. They creates security rule which is"},{"line_number":11,"context_line":"loginable/reachable to a server with ssh/ping."},{"line_number":12,"context_line":"For code-cleanup, this patch adds the method which creates loginable"},{"line_number":13,"context_line":"rules to the specified security group."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAARn%2F%2F%2B%2BE%3D","line":10,"in_reply_to":"AAAARn%2F%2F%2FGM%3D","updated":"2013-08-19 10:07:28.000000000","message":"Thanks, will fix.","commit_id":"a6c499a77d9a5a12f84634697720fb8e680f8c5c"}],"tempest/scenario/manager.py":[{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"abd9aa86002c837c60b79ea397df08be6829df44","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            self.fail(\"Timed out waiting for thing %s to become %s\""},{"line_number":259,"context_line":"                      % (thing_id, expected_status))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def create_loginable_secgroup_rule(self, client, secgroup_id):"},{"line_number":262,"context_line":"        # These rules are intended to permit inbound ssh and icmp"},{"line_number":263,"context_line":"        # traffic from all sources, so no group_id is provided."},{"line_number":264,"context_line":"        # Setting a group_id would only permit traffic from ports"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAARH%2F%2F14Q%3D","line":261,"updated":"2013-08-16 12:47:49.000000000","message":"I think this should be:\n1. moved in the NetworkScenarioTest class\n2. changed to assume secgroup_id is the default security group id if no id is passed as argument\n3. renamed to be an hidden method (starting with _ as all the others are)","commit_id":"fa9b53403b0673d55d8d93d98f4c198200100e67"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0ab37a54b5e61552190d87ccd7f4e7384739636a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            self.fail(\"Timed out waiting for thing %s to become %s\""},{"line_number":259,"context_line":"                      % (thing_id, expected_status))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def create_loginable_secgroup_rule(self, client, secgroup_id):"},{"line_number":262,"context_line":"        # These rules are intended to permit inbound ssh and icmp"},{"line_number":263,"context_line":"        # traffic from all sources, so no group_id is provided."},{"line_number":264,"context_line":"        # Setting a group_id would only permit traffic from ports"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAARH%2F%2FzJc%3D","line":261,"in_reply_to":"AAAARH%2F%2F14Q%3D","updated":"2013-08-17 08:59:09.000000000","message":"\u003e 1. moved in the NetworkScenarioTest class\n\nshould not because NetworkScenarioTest class is inherited only by NetworkScenarioTest and TestNetworkQuotaBasic.\n\n\u003e 2. changed to assume secgroup_id is the default security group id if no id is passed as argument\n\ncool, I like this idea, I am going to apply it.\n\n3. renamed to be an hidden method (starting with _ as all the others are)\n\nif we don\u0027t need to move the method to NetworkScenarioTest, I feel prefix \"_\" is not necessary for the method name because of the name of other methods without prefix \"_\".","commit_id":"fa9b53403b0673d55d8d93d98f4c198200100e67"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"abd9aa86002c837c60b79ea397df08be6829df44","unresolved":false,"context_lines":[{"line_number":285,"context_line":"                                                             **ruleset)"},{"line_number":286,"context_line":"            except Exception:"},{"line_number":287,"context_line":"                self.fail(\"Failed to create rule in security group.\")"},{"line_number":288,"context_line":"            self.addCleanup(client.security_group_rules.delete, sg_rule.id)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def create_loginable_default_secgroup_rule(self, client):"},{"line_number":291,"context_line":"        sgs \u003d self.compute_client.security_groups.list()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAARH%2F%2F16c%3D","line":288,"updated":"2013-08-16 12:47:49.000000000","message":"I\u0027d use set_resource here instead of addCleanup","commit_id":"fa9b53403b0673d55d8d93d98f4c198200100e67"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0ab37a54b5e61552190d87ccd7f4e7384739636a","unresolved":false,"context_lines":[{"line_number":285,"context_line":"                                                             **ruleset)"},{"line_number":286,"context_line":"            except Exception:"},{"line_number":287,"context_line":"                self.fail(\"Failed to create rule in security group.\")"},{"line_number":288,"context_line":"            self.addCleanup(client.security_group_rules.delete, sg_rule.id)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def create_loginable_default_secgroup_rule(self, client):"},{"line_number":291,"context_line":"        sgs \u003d self.compute_client.security_groups.list()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAARH%2F%2FzJA%3D","line":288,"in_reply_to":"AAAARH%2F%2F16c%3D","updated":"2013-08-17 08:59:09.000000000","message":"Thanks, I will fix.","commit_id":"fa9b53403b0673d55d8d93d98f4c198200100e67"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"abd9aa86002c837c60b79ea397df08be6829df44","unresolved":false,"context_lines":[{"line_number":287,"context_line":"                self.fail(\"Failed to create rule in security group.\")"},{"line_number":288,"context_line":"            self.addCleanup(client.security_group_rules.delete, sg_rule.id)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def create_loginable_default_secgroup_rule(self, client):"},{"line_number":291,"context_line":"        sgs \u003d self.compute_client.security_groups.list()"},{"line_number":292,"context_line":"        for sg in sgs:"},{"line_number":293,"context_line":"            if sg.name \u003d\u003d \u0027default\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAARH%2F%2F140%3D","line":290,"updated":"2013-08-16 12:47:49.000000000","message":"given my previous inline comments, I think this method is not needed","commit_id":"fa9b53403b0673d55d8d93d98f4c198200100e67"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0ab37a54b5e61552190d87ccd7f4e7384739636a","unresolved":false,"context_lines":[{"line_number":287,"context_line":"                self.fail(\"Failed to create rule in security group.\")"},{"line_number":288,"context_line":"            self.addCleanup(client.security_group_rules.delete, sg_rule.id)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def create_loginable_default_secgroup_rule(self, client):"},{"line_number":291,"context_line":"        sgs \u003d self.compute_client.security_groups.list()"},{"line_number":292,"context_line":"        for sg in sgs:"},{"line_number":293,"context_line":"            if sg.name \u003d\u003d \u0027default\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAARH%2F%2FzI8%3D","line":290,"in_reply_to":"AAAARH%2F%2F140%3D","updated":"2013-08-17 08:59:09.000000000","message":"awesome, thanks!","commit_id":"fa9b53403b0673d55d8d93d98f4c198200100e67"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2b1d8209a2c1b4cc096a62bfa5d0354889c88ebd","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            self.fail(\"Timed out waiting for thing %s to become %s\""},{"line_number":259,"context_line":"                      % (thing_id, expected_status))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def create_loginable_secgroup_rule(self, client, secgroup_id\u003dNone):"},{"line_number":262,"context_line":"        if secgroup_id is None:"},{"line_number":263,"context_line":"            sgs \u003d client.security_groups.list()"},{"line_number":264,"context_line":"            for sg in sgs:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARn%2F%2F%2Fy8%3D","line":261,"updated":"2013-08-19 01:26:05.000000000","message":"All callers specify self.compute_client as client, so the argument \"client\" would be unnecessary.","commit_id":"3a852115c500cb35883560ee040002a699500e34"}],"tempest/scenario/test_minimum_basic.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"afc8f14c79c44f81293df5b8e053252b63d30cd1","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            \u0027cidr\u0027: \u00270.0.0.0/0\u0027,"},{"line_number":158,"context_line":"            \u0027group_id\u0027: None"},{"line_number":159,"context_line":"        }"},{"line_number":160,"context_line":"        sg_rule \u003d self.compute_client.security_group_rules.create(secgroup.id,"},{"line_number":161,"context_line":"                                                                  **ruleset)"},{"line_number":162,"context_line":"        self.addCleanup(self.compute_client.security_group_rules.delete,"},{"line_number":163,"context_line":"                        sg_rule.id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAARX%2F%2F%2FbM%3D","side":"PARENT","line":160,"updated":"2013-08-18 18:20:57.000000000","message":"Please inherit the exception handing from here. No exception handling at all.","commit_id":"1ac6776ee989d374858e8a6d4c217bf735e3f760"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"5676491ede4f263a46173b3c3081bac20f47f54e","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        self.nova_reboot()"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        self.nova_floating_ip_create()"},{"line_number":181,"context_line":"        self.nova_floating_ip_add()"},{"line_number":182,"context_line":"        self.nova_security_group_rule_create()"},{"line_number":183,"context_line":"        self.ssh_to_server()"},{"line_number":184,"context_line":"        self.check_partitions()"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAARn%2F%2F5A4%3D","line":181,"updated":"2013-08-20 15:49:30.000000000","message":"and here.","commit_id":"2eae955c99cb239f91a3794f1b92d31ce3139c8f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c3d867d690ce3d2705bed387b4ac9e98dd191f1f","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        self.nova_reboot()"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        self.nova_floating_ip_create()"},{"line_number":181,"context_line":"        self.nova_floating_ip_add()"},{"line_number":182,"context_line":"        self.nova_security_group_rule_create()"},{"line_number":183,"context_line":"        self.ssh_to_server()"},{"line_number":184,"context_line":"        self.check_partitions()"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAARn%2F%2F3i8%3D","line":181,"in_reply_to":"AAAARn%2F%2F5A4%3D","updated":"2013-08-20 22:50:54.000000000","message":"Done","commit_id":"2eae955c99cb239f91a3794f1b92d31ce3139c8f"}],"tempest/scenario/test_server_basic_ops.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"afc8f14c79c44f81293df5b8e053252b63d30cd1","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            try:"},{"line_number":79,"context_line":"                self.compute_client.security_group_rules.create("},{"line_number":80,"context_line":"                    self.secgroup.id, **ruleset)"},{"line_number":81,"context_line":"            except Exception:"},{"line_number":82,"context_line":"                self.fail(\"Failed to create rule in security group.\")"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def boot_instance(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAARX%2F%2F%2FbQ%3D","side":"PARENT","line":81,"updated":"2013-08-18 18:20:57.000000000","message":"This is one one of the worst style of exception handling.\nDoes not preserver the original exception in the log, and catches all of them.","commit_id":"1ac6776ee989d374858e8a6d4c217bf735e3f760"}],"tempest/scenario/test_snapshot_pattern.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"afc8f14c79c44f81293df5b8e053252b63d30cd1","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            \u0027cidr\u0027: \u00270.0.0.0/0\u0027,"},{"line_number":71,"context_line":"            \u0027group_id\u0027: None"},{"line_number":72,"context_line":"        }"},{"line_number":73,"context_line":"        sg_rule \u003d self.compute_client.security_group_rules.create(secgroup.id,"},{"line_number":74,"context_line":"                                                                  **ruleset)"},{"line_number":75,"context_line":"        self.addCleanup(self.compute_client.security_group_rules.delete,"},{"line_number":76,"context_line":"                        sg_rule.id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAARX%2F%2F%2Fbc%3D","side":"PARENT","line":73,"updated":"2013-08-18 18:20:57.000000000","message":"Please inherit the exception handling from here, so no exception handling at all.","commit_id":"1ac6776ee989d374858e8a6d4c217bf735e3f760"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"5676491ede4f263a46173b3c3081bac20f47f54e","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_snapshot_pattern(self):"},{"line_number":105,"context_line":"        # prepare for booting a instance"},{"line_number":106,"context_line":"        self._add_keypair()"},{"line_number":107,"context_line":"        self._create_security_group_rule()"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # boot a instance and create a timestamp file in it"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAARn%2F%2F5BU%3D","line":106,"updated":"2013-08-20 15:49:30.000000000","message":"Why even bother with this. Why not replace it with:\nself.create_loginable_secgroup_rule()","commit_id":"2eae955c99cb239f91a3794f1b92d31ce3139c8f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c3d867d690ce3d2705bed387b4ac9e98dd191f1f","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_snapshot_pattern(self):"},{"line_number":105,"context_line":"        # prepare for booting a instance"},{"line_number":106,"context_line":"        self._add_keypair()"},{"line_number":107,"context_line":"        self._create_security_group_rule()"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # boot a instance and create a timestamp file in it"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAARn%2F%2F3jE%3D","line":106,"in_reply_to":"AAAARn%2F%2F5BU%3D","updated":"2013-08-20 22:50:54.000000000","message":"Done","commit_id":"2eae955c99cb239f91a3794f1b92d31ce3139c8f"}],"tempest/scenario/test_stamp_pattern.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"afc8f14c79c44f81293df5b8e053252b63d30cd1","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            \u0027cidr\u0027: \u00270.0.0.0/0\u0027,"},{"line_number":99,"context_line":"            \u0027group_id\u0027: None"},{"line_number":100,"context_line":"        }"},{"line_number":101,"context_line":"        sg_rule \u003d self.compute_client.security_group_rules.create(secgroup.id,"},{"line_number":102,"context_line":"                                                                  **ruleset)"},{"line_number":103,"context_line":"        self.addCleanup(self.compute_client.security_group_rules.delete,"},{"line_number":104,"context_line":"                        sg_rule.id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAARX%2F%2F%2Fbg%3D","side":"PARENT","line":101,"updated":"2013-08-18 18:20:57.000000000","message":"Please inherit the exception handling from here.\nSo no exception handling at all.","commit_id":"1ac6776ee989d374858e8a6d4c217bf735e3f760"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"5676491ede4f263a46173b3c3081bac20f47f54e","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    @testtools.skip(\"Until Bug #1205344 is fixed\")"},{"line_number":198,"context_line":"    def test_stamp_pattern(self):"},{"line_number":199,"context_line":"        # prepare for booting a instance"},{"line_number":200,"context_line":"        self._add_keypair()"},{"line_number":201,"context_line":"        self._create_security_group_rule()"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # boot an instance and create a timestamp file in it"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAARn%2F%2F5BQ%3D","line":200,"updated":"2013-08-20 15:49:30.000000000","message":"same here","commit_id":"2eae955c99cb239f91a3794f1b92d31ce3139c8f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c3d867d690ce3d2705bed387b4ac9e98dd191f1f","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    @testtools.skip(\"Until Bug #1205344 is fixed\")"},{"line_number":198,"context_line":"    def test_stamp_pattern(self):"},{"line_number":199,"context_line":"        # prepare for booting a instance"},{"line_number":200,"context_line":"        self._add_keypair()"},{"line_number":201,"context_line":"        self._create_security_group_rule()"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # boot an instance and create a timestamp file in it"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAARn%2F%2F3iw%3D","line":200,"in_reply_to":"AAAARn%2F%2F5BQ%3D","updated":"2013-08-20 22:50:54.000000000","message":"Done","commit_id":"2eae955c99cb239f91a3794f1b92d31ce3139c8f"}]}
