)]}'
{"tempest/common/dynamic_creds.py":[{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f36b854c3e17e0c692fdcd8f3f4125ccf098b1ba","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                    os.subnets_client, os.ports_client,"},{"line_number":103,"context_line":"                    os.security_groups_client)"},{"line_number":104,"context_line":""},{"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."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        :param suffix: Suffix for project_name, username and email."},{"line_number":116,"context_line":"        :type suffix: str"},{"line_number":117,"context_line":"        :param admin: Flag for creating admin credentials."},{"line_number":118,"context_line":"        :type admin: bool"},{"line_number":119,"context_line":"        :param roles: Roles for credentials."},{"line_number":120,"context_line":"        :type roles: str or list"},{"line_number":121,"context_line":"        :return: TestResources object"},{"line_number":122,"context_line":"        \"\"\""},{"line_number":123,"context_line":"        if \u0027.\u0027 in self.name:"},{"line_number":124,"context_line":"            root \u003d \"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_3c1b4a1d","line":121,"range":{"start_line":105,"start_character":0,"end_line":121,"end_character":37},"updated":"2016-05-29 07:46:05.000000000","message":"Please base it on your other patch","commit_id":"5bc21bccfd71e6d1d2964ead5f8ece992d8082d4"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f36b854c3e17e0c692fdcd8f3f4125ccf098b1ba","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            root \u003d self.name"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        project_name \u003d data_utils.rand_name(root) + suffix"},{"line_number":129,"context_line":"        project_desc \u003d project_name + \"-\" + str(roles)"},{"line_number":130,"context_line":"        project \u003d self.creds_client.create_project("},{"line_number":131,"context_line":"            name\u003dproject_name, description\u003dproject_desc)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_fc20a24b","line":129,"range":{"start_line":129,"start_character":44,"end_line":129,"end_character":54},"updated":"2016-05-29 07:46:05.000000000","message":"I think it should be different for a list.","commit_id":"5bc21bccfd71e6d1d2964ead5f8ece992d8082d4"},{"author":{"_account_id":4727,"name":"Itzik Brown","email":"itzikb@redhat.com","username":"itzikb1"},"change_message_id":"f36b854c3e17e0c692fdcd8f3f4125ccf098b1ba","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        if type(roles) is list:"},{"line_number":151,"context_line":"            for role in roles:"},{"line_number":152,"context_line":"                self.creds_client.assign_user_role(user, project, role)"},{"line_number":153,"context_line":"                role_assigned \u003d True"},{"line_number":154,"context_line":"        # NOTE(mtreinish) For a user to have access to a project with v3 auth"},{"line_number":155,"context_line":"        # it must beassigned a role on the project. So we need to ensure that"},{"line_number":156,"context_line":"        # our newly created user has a role on the newly created project."}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_dc1dde10","line":153,"range":{"start_line":153,"start_character":16,"end_line":153,"end_character":36},"updated":"2016-05-29 07:46:05.000000000","message":"Although not in your patch - Where is it used?","commit_id":"5bc21bccfd71e6d1d2964ead5f8ece992d8082d4"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"15c6bbfe7ce48ba0422593f77ebd34791608a004","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        :param admin: Flag if to assign to the user admin role"},{"line_number":120,"context_line":"        :type admin: bool"},{"line_number":121,"context_line":"        :param roles: Roles to assign for the user"},{"line_number":122,"context_line":"        :type roles: list"},{"line_number":123,"context_line":"        :return: Readonly Credentials with network resources"},{"line_number":124,"context_line":"        \"\"\""},{"line_number":125,"context_line":"        root \u003d self.name"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_b4d5cf43","line":122,"range":{"start_line":122,"start_character":8,"end_line":122,"end_character":25},"updated":"2016-06-27 10:03:04.000000000","message":"You\u0027re changing this from being a list to a list or a string, which would require a docstring update.","commit_id":"7465961041987b76c92c65291714b6ff12159572"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"29b72420cc5661fb2e6d85981e775070a79ea2fe","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        :param admin: Flag if to assign to the user admin role"},{"line_number":120,"context_line":"        :type admin: bool"},{"line_number":121,"context_line":"        :param roles: Roles to assign for the user"},{"line_number":122,"context_line":"        :type roles: list"},{"line_number":123,"context_line":"        :return: Readonly Credentials with network resources"},{"line_number":124,"context_line":"        \"\"\""},{"line_number":125,"context_line":"        root \u003d self.name"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_cf472176","line":122,"range":{"start_line":122,"start_character":8,"end_line":122,"end_character":25},"in_reply_to":"3aaa91ec_b4d5cf43","updated":"2016-06-27 12:37:47.000000000","message":"Indeed will update it in the following patch","commit_id":"7465961041987b76c92c65291714b6ff12159572"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"15c6bbfe7ce48ba0422593f77ebd34791608a004","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        project_name \u003d data_utils.rand_name(root)"},{"line_number":128,"context_line":"        role_desc \u003d \"_\".join(roles) if type(roles) is list else roles"},{"line_number":129,"context_line":"        project_desc \u003d project_name + \"-\" + role_desc"},{"line_number":130,"context_line":"        project \u003d self.creds_client.create_project("},{"line_number":131,"context_line":"            name\u003dproject_name, description\u003dproject_desc)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_b42b0f81","line":129,"range":{"start_line":129,"start_character":40,"end_line":129,"end_character":53},"updated":"2016-06-27 10:03:04.000000000","message":"The list of role is not intrinsic to the project. I guess this could help debugging, but I\u0027m not convinced this is right place for this info.","commit_id":"7465961041987b76c92c65291714b6ff12159572"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"29b72420cc5661fb2e6d85981e775070a79ea2fe","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        project_name \u003d data_utils.rand_name(root)"},{"line_number":128,"context_line":"        role_desc \u003d \"_\".join(roles) if type(roles) is list else roles"},{"line_number":129,"context_line":"        project_desc \u003d project_name + \"-\" + role_desc"},{"line_number":130,"context_line":"        project \u003d self.creds_client.create_project("},{"line_number":131,"context_line":"            name\u003dproject_name, description\u003dproject_desc)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_52bab40b","line":129,"range":{"start_line":129,"start_character":40,"end_line":129,"end_character":53},"in_reply_to":"3aaa91ec_b42b0f81","updated":"2016-06-27 12:37:47.000000000","message":"The purpose is the better debugging.\nI want to know on what project I am working on and description \"desc\" is not something that helps to debug","commit_id":"7465961041987b76c92c65291714b6ff12159572"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"15c6bbfe7ce48ba0422593f77ebd34791608a004","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        \"\"\"Get credentials for given credential type"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        :param credential_type: Type of credentials (\u0027primary\u0027, \u0027admin\u0027,"},{"line_number":282,"context_line":"        \u0027alt\u0027, or a list of credentials)"},{"line_number":283,"context_line":"        :return: Credentials object"},{"line_number":284,"context_line":"        \"\"\""},{"line_number":285,"context_line":"        if self._creds.get(str(credential_type)):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_f4f477f1","line":282,"range":{"start_line":282,"start_character":28,"end_line":282,"end_character":39},"updated":"2016-06-27 10:03:04.000000000","message":"list of roles","commit_id":"7465961041987b76c92c65291714b6ff12159572"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"29b72420cc5661fb2e6d85981e775070a79ea2fe","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        \"\"\"Get credentials for given credential type"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        :param credential_type: Type of credentials (\u0027primary\u0027, \u0027admin\u0027,"},{"line_number":282,"context_line":"        \u0027alt\u0027, or a list of credentials)"},{"line_number":283,"context_line":"        :return: Credentials object"},{"line_number":284,"context_line":"        \"\"\""},{"line_number":285,"context_line":"        if self._creds.get(str(credential_type)):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_ef393df4","line":282,"range":{"start_line":282,"start_character":28,"end_line":282,"end_character":39},"in_reply_to":"3aaa91ec_f4f477f1","updated":"2016-06-27 12:37:47.000000000","message":"will update in the next patch","commit_id":"7465961041987b76c92c65291714b6ff12159572"}]}
