)]}'
{"tempest/api/compute/base.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3abd422f4b25c496bd5cdcf310a071a7a4f78731","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        # TODO(andreaf) WE should care also for the alt_manager here"},{"line_number":74,"context_line":"        # but only once client lazy load in the manager is done"},{"line_number":75,"context_line":"        cls.os \u003d cls.get_client_manager()"},{"line_number":76,"context_line":"        cls.multi_user \u003d cls.check_multi_user()"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @classmethod"},{"line_number":79,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_f185375a","line":76,"updated":"2014-12-12 17:16:28.000000000","message":"In case of pre-provisioned users we won\u0027t know if we can get two distinct users until we actually go and lock them, so it\u0027s correct that this should be here rather than in skip_checks.","commit_id":"34cb4b5668fed8b8df2067f4e4e066199379059f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3abd422f4b25c496bd5cdcf310a071a7a4f78731","unresolved":false,"context_lines":[{"line_number":396,"context_line":"            cls.os_adm \u003d clients.Manager("},{"line_number":397,"context_line":"                credentials\u003dcreds, interface\u003dcls._interface)"},{"line_number":398,"context_line":"        except NotImplementedError:"},{"line_number":399,"context_line":"            msg \u003d (\"Missing Compute Admin API credentials in configuration.\")"},{"line_number":400,"context_line":"            raise cls.skipException(msg)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_f1a457bb","line":399,"updated":"2014-12-12 17:16:28.000000000","message":"I\u0027d like to see the check for availability of admin creds going into the skip_checks if possible. They are in the config file so they don\u0027t require any credentials to be setup. \nHere than we could just get the admin creds and manager without try / except.","commit_id":"34cb4b5668fed8b8df2067f4e4e066199379059f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"ee3b9dbe7a563bbf8ff3055ad5391b7b1f8efd71","unresolved":false,"context_lines":[{"line_number":394,"context_line":"    @classmethod"},{"line_number":395,"context_line":"    def skip_checks(cls):"},{"line_number":396,"context_line":"        super(BaseComputeAdminTest, cls).skip_checks()"},{"line_number":397,"context_line":"        if (CONF.identity.admin_username \u003d\u003d \"\""},{"line_number":398,"context_line":"            or CONF.identity.admin_password \u003d\u003d \"\""},{"line_number":399,"context_line":"            or CONF.identity.tenant_name \u003d\u003d \"\"):"},{"line_number":400,"context_line":"            msg \u003d (\"Missing Compute Admin API credentials in configuration.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_5af0dbc8","line":397,"updated":"2014-12-12 21:35:40.000000000","message":"All 3 of these options default to None so this won\u0027t ever work. I would probably do something like:\n\nif not CONF.identity.admin_username or not CONF.identity.admin_password or not CONF.identity.tenant_name:\n\nit might be worth breaking this out into a helper function, since this check will be needed for every admin base test class.","commit_id":"61717d6af0ff7ef8654d437280e544e64f7c473c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"d634c8827a84e2b37cf046567c088254d5b3ec51","unresolved":false,"context_lines":[{"line_number":395,"context_line":"    @classmethod"},{"line_number":396,"context_line":"    def skip_checks(cls):"},{"line_number":397,"context_line":"        super(BaseComputeAdminTest, cls).skip_checks()"},{"line_number":398,"context_line":"        if not auth.get_default_credentials(credential_type\u003d\u0027compute_admin\u0027,"},{"line_number":399,"context_line":"                                            fill_in\u003dFalse):"},{"line_number":400,"context_line":"            msg \u003d (\"Missing Compute Admin API credentials in configuration.\")"},{"line_number":401,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_f68ecd78","line":398,"updated":"2014-12-15 21:11:17.000000000","message":"The original code used \"identity_admin\" credentials.\n\nThe if should be replaced by a try / except - see https://git.openstack.org/cgit/openstack/tempest/tree/tempest/auth.py#n564.","commit_id":"e4d6027ad85585623605ae7c8a3895be0ccc393b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"d634c8827a84e2b37cf046567c088254d5b3ec51","unresolved":false,"context_lines":[{"line_number":396,"context_line":"    def skip_checks(cls):"},{"line_number":397,"context_line":"        super(BaseComputeAdminTest, cls).skip_checks()"},{"line_number":398,"context_line":"        if not auth.get_default_credentials(credential_type\u003d\u0027compute_admin\u0027,"},{"line_number":399,"context_line":"                                            fill_in\u003dFalse):"},{"line_number":400,"context_line":"            msg \u003d (\"Missing Compute Admin API credentials in configuration.\")"},{"line_number":401,"context_line":"            raise cls.skipException(msg)"},{"line_number":402,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_363695b5","line":399,"updated":"2014-12-15 21:11:17.000000000","message":"The message was wrong before - may we could fix it as well as it\u0027s misleading.","commit_id":"e4d6027ad85585623605ae7c8a3895be0ccc393b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9174ba3d128c1f9e3ecd0bb26b705463fb8be7fa","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        cls.server_groups \u003d []"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @classmethod"},{"line_number":58,"context_line":"    def skip_checks(cls):"},{"line_number":59,"context_line":"        super(BaseComputeTest, cls).skip_checks()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if cls._api_version \u003d\u003d 3:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_d3c60d16","line":58,"updated":"2014-12-17 06:31:46.000000000","message":"It would be better at least for readability if we can define those function in a particular order as mentioned in base test class-\n\n    - skip_checks\t\n    - setup_credentials\t\n    - setup_clients\t\n    - resource_setup\n\n    - resource_cleanup","commit_id":"d6e0936ac9a2a93ab1924bc34101a6d50c8e80c7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"be847baaea14e3bb037eb74e491599ce6f9adea7","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    force_tenant_isolation \u003d False"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @classmethod"},{"line_number":39,"context_line":"    def resource_setup(cls):"},{"line_number":40,"context_line":"        cls.set_network_resources()"},{"line_number":41,"context_line":"        super(BaseComputeTest, cls).resource_setup()"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"da86d52c_c7995a7a","line":39,"updated":"2015-02-05 10:09:18.000000000","message":"can we move this after setup_clients (as defined in base test class) for better readability.","commit_id":"bbfd5018fdecdf18ea3ac948678ec288c7f1f40a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"be847baaea14e3bb037eb74e491599ce6f9adea7","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        if cls._api_version !\u003d 2:"},{"line_number":44,"context_line":"            msg \u003d (\"Unexpected API version is specified (%s)\" %"},{"line_number":45,"context_line":"                   cls._api_version)"},{"line_number":46,"context_line":"            raise exceptions.InvalidConfiguration(message\u003dmsg)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        cls.build_interval \u003d CONF.compute.build_interval"},{"line_number":49,"context_line":"        cls.build_timeout \u003d CONF.compute.build_timeout"}],"source_content_type":"text/x-python","patch_set":24,"id":"da86d52c_070c52ec","line":46,"updated":"2015-02-05 10:09:18.000000000","message":"this should go in skip_checks to avoid teardownClass to be called in this case.","commit_id":"bbfd5018fdecdf18ea3ac948678ec288c7f1f40a"}],"tempest/common/credentials.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"7c55b7822eae12132c7858758fd1e0a69ef2542d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"def is_admin_available(cls):"},{"line_number":47,"context_line":"    # In the case of a pre-provisioned account, if even if creds were"},{"line_number":48,"context_line":"    # configured, the admin credentials won\u0027t be available"},{"line_number":49,"context_line":"    if (CONF.auth.locking_credentials_provider and"},{"line_number":50,"context_line":"        not getattr(cls, \u0027force_tenant_isolation\u0027, None)):"},{"line_number":51,"context_line":"        raise NotImplementedError"},{"line_number":52,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_3182f400","line":49,"updated":"2014-12-16 23:48:50.000000000","message":"This is fine, but locking_credentials_provider is taken in account only when allow_tenant_isolation is false as well, so both things should be checked at the same time.","commit_id":"d6e0936ac9a2a93ab1924bc34101a6d50c8e80c7"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"7c55b7822eae12132c7858758fd1e0a69ef2542d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    # In the case of a pre-provisioned account, if even if creds were"},{"line_number":48,"context_line":"    # configured, the admin credentials won\u0027t be available"},{"line_number":49,"context_line":"    if (CONF.auth.locking_credentials_provider and"},{"line_number":50,"context_line":"        not getattr(cls, \u0027force_tenant_isolation\u0027, None)):"},{"line_number":51,"context_line":"        raise NotImplementedError"},{"line_number":52,"context_line":"    else:"},{"line_number":53,"context_line":"        auth.get_default_credentials(credential_type\u003d\u0027identity_admin\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_31abd48a","line":50,"updated":"2014-12-16 23:48:50.000000000","message":"I don\u0027t get the force_tenant_isolation check. It\u0027s a test specific attribute, it should not affect the availability of the admin credentials.","commit_id":"d6e0936ac9a2a93ab1924bc34101a6d50c8e80c7"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"7c55b7822eae12132c7858758fd1e0a69ef2542d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    # configured, the admin credentials won\u0027t be available"},{"line_number":49,"context_line":"    if (CONF.auth.locking_credentials_provider and"},{"line_number":50,"context_line":"        not getattr(cls, \u0027force_tenant_isolation\u0027, None)):"},{"line_number":51,"context_line":"        raise NotImplementedError"},{"line_number":52,"context_line":"    else:"},{"line_number":53,"context_line":"        auth.get_default_credentials(credential_type\u003d\u0027identity_admin\u0027,"},{"line_number":54,"context_line":"                                     fill_in\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_3199146f","line":51,"updated":"2014-12-16 23:48:50.000000000","message":"I think it would be more nice for the helper fuction to return true of false depending on whether admin creds are available or not.","commit_id":"d6e0936ac9a2a93ab1924bc34101a6d50c8e80c7"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"7c55b7822eae12132c7858758fd1e0a69ef2542d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        not getattr(cls, \u0027force_tenant_isolation\u0027, None)):"},{"line_number":51,"context_line":"        raise NotImplementedError"},{"line_number":52,"context_line":"    else:"},{"line_number":53,"context_line":"        auth.get_default_credentials(credential_type\u003d\u0027identity_admin\u0027,"},{"line_number":54,"context_line":"                                     fill_in\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_f1b5ccd0","line":53,"updated":"2014-12-16 23:48:50.000000000","message":"Ditto L51","commit_id":"d6e0936ac9a2a93ab1924bc34101a6d50c8e80c7"}]}
