)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"00232b4ee445a08c872cefdb68d40c4edcacb725","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1) Adding paramete description in the function"},{"line_number":10,"context_line":"2) Describing what functions does"},{"line_number":11,"context_line":"3) Small fixes"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I671b0b649d43228c733f8af9c20c2438a6c36432"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_4489d025","line":11,"updated":"2016-05-15 19:40:46.000000000","message":"\"Small fixes\" ?","commit_id":"418a4fe2638bcda87ba429494e35dfcac0c4b395"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1695c017c6745dc9bd98312ca3fb33d0c94ba58a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1) Adding paramete description in the function"},{"line_number":10,"context_line":"2) Describing what functions does"},{"line_number":11,"context_line":"3) Small fixes"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I671b0b649d43228c733f8af9c20c2438a6c36432"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_ae7db36e","line":11,"in_reply_to":"dab17558_4489d025","updated":"2016-05-17 06:37:46.000000000","message":"maybe indents changes.","commit_id":"418a4fe2638bcda87ba429494e35dfcac0c4b395"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"d4e400c18eb29a2d953fe70ee26a619a7fec12be","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Adding/fixing docstring to _create_creds function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1) Adding parameter description in the function"},{"line_number":10,"context_line":"2) Describing what functions does"},{"line_number":11,"context_line":"3) Indent changes"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I671b0b649d43228c733f8af9c20c2438a6c36432"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dab17558_d65a1b81","line":10,"updated":"2016-05-18 00:33:52.000000000","message":"s/does/do","commit_id":"d627f360ff4f22288be8c2efebb5feeb76e643f3"}],"tempest/common/dynamic_creds.py":[{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"1bf69b436364c92f2a9d52341ae73f46d903a1dc","unresolved":false,"context_lines":[{"line_number":115,"context_line":"         :type admin: bool"},{"line_number":116,"context_line":"         :param roles: Roles to assign for the user"},{"line_number":117,"context_line":"         :type roles: list"},{"line_number":118,"context_line":"         :return: Readonly Credentials with network resources"},{"line_number":119,"context_line":"         \"\"\""},{"line_number":120,"context_line":"        if \u0027.\u0027 in self.name:"},{"line_number":121,"context_line":"            root \u003d \"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_c0090c97","line":118,"range":{"start_line":118,"start_character":16,"end_line":118,"end_character":17},"updated":"2016-05-16 14:08:41.000000000","message":"Maybe we can set the type  in a different way , \n:param str suffix: Suffix to ...\n:param bool admin: Flag if ...\n\nI think its a great idea to start documenting tempest !","commit_id":"418a4fe2638bcda87ba429494e35dfcac0c4b395"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1695c017c6745dc9bd98312ca3fb33d0c94ba58a","unresolved":false,"context_lines":[{"line_number":115,"context_line":"         :type admin: bool"},{"line_number":116,"context_line":"         :param roles: Roles to assign for the user"},{"line_number":117,"context_line":"         :type roles: list"},{"line_number":118,"context_line":"         :return: Readonly Credentials with network resources"},{"line_number":119,"context_line":"         \"\"\""},{"line_number":120,"context_line":"        if \u0027.\u0027 in self.name:"},{"line_number":121,"context_line":"            root \u003d \"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_2e8a6364","line":118,"range":{"start_line":118,"start_character":16,"end_line":118,"end_character":17},"in_reply_to":"dab17558_c0090c97","updated":"2016-05-17 06:37:46.000000000","message":"yeah, it would be nice to fix that. but it is fine to make that out of scope from this patch.","commit_id":"418a4fe2638bcda87ba429494e35dfcac0c4b395"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d2567a5a25f524474d7bd515bcdad7c494ca9982","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def _create_creds(self, suffix\u003d\"\", admin\u003dFalse, roles\u003dNone):"},{"line_number":106,"context_line":"        \"\"\"Create random credentials under the following schema."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        If the name contains a \u0027.\u0027 is the full class path of something, and"},{"line_number":109,"context_line":"        we don\u0027t really care. If it isn\u0027t, it\u0027s probably a meaningful name,"},{"line_number":110,"context_line":"        so use it."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        For logging purposes, -user and -tenant are long and redundant,"},{"line_number":113,"context_line":"        don\u0027t use them. The user# will be sufficient to figure it out."}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_91e14b01","side":"PARENT","line":110,"range":{"start_line":108,"start_character":8,"end_line":110,"end_character":18},"updated":"2016-05-31 00:13:19.000000000","message":"This comment seems useful for understanding the following line 115-116.","commit_id":"c69d06dbb4c14eec305ed6f0db947af77427c04c"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"dead841d1dc790320212f3f2ce9dbfaaa124b727","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def _create_creds(self, suffix\u003d\"\", admin\u003dFalse, roles\u003dNone):"},{"line_number":106,"context_line":"        \"\"\"Create random credentials under the following schema."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        If the name contains a \u0027.\u0027 is the full class path of something, and"},{"line_number":109,"context_line":"        we don\u0027t really care. If it isn\u0027t, it\u0027s probably a meaningful name,"},{"line_number":110,"context_line":"        so use it."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        For logging purposes, -user and -tenant are long and redundant,"},{"line_number":113,"context_line":"        don\u0027t use them. The user# will be sufficient to figure it out."}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_b7555551","side":"PARENT","line":110,"range":{"start_line":108,"start_character":8,"end_line":110,"end_character":18},"in_reply_to":"9abb7d3a_91e14b01","updated":"2016-05-31 08:08:09.000000000","message":"@Ken\u0027ichi Ohmichi Could you please explain me when this (115 line) code is used. I thought that when you send a full class path I will hit this if, but I didn\u0027t.\n\nBut even if it is used (though I didn\u0027t find where) I think it\u0027s better to leave it as is, because it will give us a more meaningful name than just \"\".","commit_id":"c69d06dbb4c14eec305ed6f0db947af77427c04c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1d3c058564e76eea703e76e2da3598030a95db8c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def _create_creds(self, suffix\u003d\"\", admin\u003dFalse, roles\u003dNone):"},{"line_number":106,"context_line":"        \"\"\"Create random credentials under the following schema."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        If the name contains a \u0027.\u0027 is the full class path of something, and"},{"line_number":109,"context_line":"        we don\u0027t really care. If it isn\u0027t, it\u0027s probably a meaningful name,"},{"line_number":110,"context_line":"        so use it."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        For logging purposes, -user and -tenant are long and redundant,"},{"line_number":113,"context_line":"        don\u0027t use them. The user# will be sufficient to figure it out."}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_88707d41","side":"PARENT","line":110,"range":{"start_line":108,"start_character":8,"end_line":110,"end_character":18},"in_reply_to":"9abb7d3a_b7555551","updated":"2016-06-01 23:26:51.000000000","message":"If so, why do you keep the following line 115-116 in this patch?:\n\n if \u0027.\u0027 in self.name:\n     root \u003d \"\"\n\nIf keeping these line, it is better to keep the corresponding comment for explaining these lines.\n\nThe code has been added since I216155d68cbdbf9bed10e2ab9b7a1ea714570358 , and that seems intentional for the test class from the scenario manager. I feel it is not necessary to change the code in this patch because of the patch scope.","commit_id":"c69d06dbb4c14eec305ed6f0db947af77427c04c"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"d4e400c18eb29a2d953fe70ee26a619a7fec12be","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        if self.network_resources:"},{"line_number":166,"context_line":"            if self.network_resources[\u0027router\u0027]:"},{"line_number":167,"context_line":"                if (not self.network_resources[\u0027subnet\u0027] or"},{"line_number":168,"context_line":"                        not self.network_resources[\u0027network\u0027]):"},{"line_number":169,"context_line":"                    raise exceptions.InvalidConfiguration("},{"line_number":170,"context_line":"                        \u0027A router requires a subnet and network\u0027)"},{"line_number":171,"context_line":"            elif self.network_resources[\u0027subnet\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_56f58b4e","line":168,"updated":"2016-05-18 00:33:52.000000000","message":"Why are you making this change? Did you follow any convention?","commit_id":"d627f360ff4f22288be8c2efebb5feeb76e643f3"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"b33627d3d360dc84c9b82955f8966b2f4f961aa4","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        if self.network_resources:"},{"line_number":166,"context_line":"            if self.network_resources[\u0027router\u0027]:"},{"line_number":167,"context_line":"                if (not self.network_resources[\u0027subnet\u0027] or"},{"line_number":168,"context_line":"                        not self.network_resources[\u0027network\u0027]):"},{"line_number":169,"context_line":"                    raise exceptions.InvalidConfiguration("},{"line_number":170,"context_line":"                        \u0027A router requires a subnet and network\u0027)"},{"line_number":171,"context_line":"            elif self.network_resources[\u0027subnet\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_11cb8d1f","line":168,"in_reply_to":"bab6814e_d7c68b15","updated":"2016-05-19 21:13:57.000000000","message":"I don\u0027t think there is anything wrong previous code. Editor constraints may vary and the complain from your editor is not a good reason to make this change.","commit_id":"d627f360ff4f22288be8c2efebb5feeb76e643f3"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"8e94ff5851f8ac8caa8952f7c1f71f45ad01a791","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        if self.network_resources:"},{"line_number":166,"context_line":"            if self.network_resources[\u0027router\u0027]:"},{"line_number":167,"context_line":"                if (not self.network_resources[\u0027subnet\u0027] or"},{"line_number":168,"context_line":"                        not self.network_resources[\u0027network\u0027]):"},{"line_number":169,"context_line":"                    raise exceptions.InvalidConfiguration("},{"line_number":170,"context_line":"                        \u0027A router requires a subnet and network\u0027)"},{"line_number":171,"context_line":"            elif self.network_resources[\u0027subnet\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_d7c68b15","line":168,"in_reply_to":"dab17558_56f58b4e","updated":"2016-05-18 07:26:42.000000000","message":"The editor complained about this line being indented incorrectly","commit_id":"d627f360ff4f22288be8c2efebb5feeb76e643f3"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fe166cce92fe30c57d7ed8f1e886a55c4eaf5fd4","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        For logging purposes, -user and -tenant are long and redundant,"},{"line_number":113,"context_line":"        don\u0027t use them. The user# will be sufficient to figure it out."},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        if \u0027.\u0027 in self.name:"},{"line_number":116,"context_line":"            root \u003d \"\""},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            root \u003d self.name"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        project_name \u003d data_utils.rand_name(root) + suffix"},{"line_number":121,"context_line":"        project_desc \u003d project_name + \"-desc\""}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_4032b0f2","side":"PARENT","line":118,"range":{"start_line":115,"start_character":0,"end_line":118,"end_character":28},"updated":"2016-06-06 12:41:55.000000000","message":"I think this is a safety measure to avoid injecting a whole class path into resource names. There was an issue in the past with code using __name__ instead of cls.__name__ which would end up in having the whole path name into the resource name.  \n\nSuffix isn\u0027t really used, so we should drop it, so we could drop it and have a default value for root in case name is empty or contains a \".\".","commit_id":"c69d06dbb4c14eec305ed6f0db947af77427c04c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"ef52236e121e6d308fff23432595a2c37155a95d","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        :type roles: list"},{"line_number":116,"context_line":"        :return: Readonly Credentials with network resources"},{"line_number":117,"context_line":"        \"\"\""},{"line_number":118,"context_line":"        root \u003d self.name"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        project_name \u003d data_utils.rand_name(root)"},{"line_number":121,"context_line":"        project_desc \u003d project_name + \"-desc\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_ada8c078","line":118,"range":{"start_line":118,"start_character":8,"end_line":118,"end_character":24},"updated":"2016-06-15 16:07:33.000000000","message":"NIT: you don\u0027t need the root variable anymore...","commit_id":"88ea9ab07d1431ae781fd59592e4f013fb06ce8f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"ef52236e121e6d308fff23432595a2c37155a95d","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            user \u003d user[\u0027user\u0027]"},{"line_number":134,"context_line":"        role_assigned \u003d False"},{"line_number":135,"context_line":"        if admin:"},{"line_number":136,"context_line":"            self.creds_client.assign_user_role(user, project, self.admin_role)"},{"line_number":137,"context_line":"            role_assigned \u003d True"},{"line_number":138,"context_line":"            if self.identity_version \u003d\u003d \u0027v3\u0027:"},{"line_number":139,"context_line":"                self.creds_client.assign_user_role_on_domain("}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_4dae7c82","line":136,"range":{"start_line":136,"start_character":12,"end_line":136,"end_character":78},"updated":"2016-06-15 16:07:33.000000000","message":"NIT: unrelated change","commit_id":"88ea9ab07d1431ae781fd59592e4f013fb06ce8f"}]}
