)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e6e0b6dac52eb77073cccc0911146dae11262591","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add a method to select the appropriate credentials provider based"},{"line_number":10,"context_line":"on configuration, and replace all the flow branches based on"},{"line_number":11,"context_line":"allow_tenant_isolation to use the factory."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I280f2b1659c593e14ab9213a161b55bcfc08fa5c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_6982d1a6","line":12,"updated":"2014-07-29 21:11:33.000000000","message":"Missing reference to bp","commit_id":"3fd73914bca701b7b3e334190ef5884f1aa50002"}],"tempest/api/compute/base.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"56c29030e569726aa2066b323305589c19e8f5e9","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # TODO(andreaf) WE should care also for the alt_manager here"},{"line_number":46,"context_line":"        # but only once client lazy load in the manager is done"},{"line_number":47,"context_line":"        cls.os \u003d cls.get_client_manager()"},{"line_number":48,"context_line":"        cls.multi_user \u003d cls.check_multi_user()"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        cls.build_interval \u003d CONF.compute.build_interval"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_3ad69328","line":47,"updated":"2014-10-08 23:22:35.000000000","message":"Nice catch, this would arguably be an unrelated change but it was so ugly before I think this is fine.","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"56c29030e569726aa2066b323305589c19e8f5e9","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            cls.availability_zone_admin_client \u003d ("},{"line_number":387,"context_line":"                cls.os_adm.availability_zone_client)"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        if cls._api_version \u003d\u003d 3:"},{"line_number":390,"context_line":"            cls.servers_admin_client \u003d cls.os_adm.servers_v3_client"},{"line_number":391,"context_line":"            cls.services_admin_client \u003d cls.os_adm.services_v3_client"},{"line_number":392,"context_line":"            cls.availability_zone_admin_client \u003d \\"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_ba22834f","line":389,"updated":"2014-10-08 23:22:35.000000000","message":"This is an unrelated change, I\u0027d probably also make it elif. But it should belong in a follow on change","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c471672d484db3f9a1f64b75205ebaf2163fbe0a","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            cls.availability_zone_admin_client \u003d ("},{"line_number":387,"context_line":"                cls.os_adm.availability_zone_client)"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        if cls._api_version \u003d\u003d 3:"},{"line_number":390,"context_line":"            cls.servers_admin_client \u003d cls.os_adm.servers_v3_client"},{"line_number":391,"context_line":"            cls.services_admin_client \u003d cls.os_adm.services_v3_client"},{"line_number":392,"context_line":"            cls.availability_zone_admin_client \u003d \\"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_d56558e1","line":389,"in_reply_to":"baa201ad_ba22834f","updated":"2014-10-08 23:56:53.000000000","message":"ok","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"}],"tempest/api/compute/servers/test_list_server_filters.py":[{"author":{"_account_id":6683,"name":"Pavel Sedlák","email":"psedlak@redhat.com","username":"psedlak"},"change_message_id":"3caf9590b5563bd4dd9a1a3250f4708a2dd69dd9","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        cls.fixed_network_name \u003d CONF.compute.fixed_network_name"},{"line_number":75,"context_line":"        if CONF.service_available.neutron:"},{"line_number":76,"context_line":"            if hasattr(cls.isolated_creds, \u0027get_primary_network\u0027):"},{"line_number":77,"context_line":"                network \u003d cls.isolated_creds.get_primary_network()"},{"line_number":78,"context_line":"                cls.fixed_network_name \u003d network[\u0027name\u0027]"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_6713b901","line":76,"updated":"2014-07-23 09:11:59.000000000","message":"same proposal as mentioned in v3 version applies here","commit_id":"3fd73914bca701b7b3e334190ef5884f1aa50002"}],"tempest/api/compute/v3/servers/test_list_server_filters.py":[{"author":{"_account_id":6683,"name":"Pavel Sedlák","email":"psedlak@redhat.com","username":"psedlak"},"change_message_id":"3caf9590b5563bd4dd9a1a3250f4708a2dd69dd9","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        cls.fixed_network_name \u003d CONF.compute.fixed_network_name"},{"line_number":75,"context_line":"        if CONF.service_available.neutron:"},{"line_number":76,"context_line":"            if hasattr(cls.isolated_creds, \u0027get_primary_network\u0027):"},{"line_number":77,"context_line":"                network \u003d cls.isolated_creds.get_primary_network()"},{"line_number":78,"context_line":"                cls.fixed_network_name \u003d network[\u0027name\u0027]"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_a706b1cb","line":76,"updated":"2014-07-23 09:11:59.000000000","message":"maybe let the \u0027accounts\u0027 version return CONF.compute.fixed_network_name for get_primary_network request instead? - it could simplify this code, and make it more \u0027compatible\u0027 though not sure if it would have different side effect","commit_id":"3fd73914bca701b7b3e334190ef5884f1aa50002"}],"tempest/api/object_storage/base.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"56c29030e569726aa2066b323305589c19e8f5e9","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # Get isolated creds for normal user"},{"line_number":40,"context_line":"        cls.os \u003d clients.Manager(cls.isolated_creds.get_primary_creds())"},{"line_number":41,"context_line":"        # Get isolated creds for admin user"},{"line_number":42,"context_line":"        cls.os_admin \u003d clients.Manager(cls.isolated_creds.get_admin_creds())"},{"line_number":43,"context_line":"        # Get isolated creds for alt user"},{"line_number":44,"context_line":"        cls.os_alt \u003d clients.Manager(cls.isolated_creds.get_alt_creds())"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_dacbc76f","line":42,"updated":"2014-10-08 23:22:35.000000000","message":"Well this should be fixed as part of the no-admin stuff that David was looking at. Because this will cause a failure if the tests are run without admin creds enabled.","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c471672d484db3f9a1f64b75205ebaf2163fbe0a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # Get isolated creds for normal user"},{"line_number":40,"context_line":"        cls.os \u003d clients.Manager(cls.isolated_creds.get_primary_creds())"},{"line_number":41,"context_line":"        # Get isolated creds for admin user"},{"line_number":42,"context_line":"        cls.os_admin \u003d clients.Manager(cls.isolated_creds.get_admin_creds())"},{"line_number":43,"context_line":"        # Get isolated creds for alt user"},{"line_number":44,"context_line":"        cls.os_alt \u003d clients.Manager(cls.isolated_creds.get_alt_creds())"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_f5609cd0","line":42,"in_reply_to":"baa201ad_dacbc76f","updated":"2014-10-08 23:56:53.000000000","message":"Yes but nothing to change here, or?","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"}],"tempest/common/accounts.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d3092cf53fb69b151da4acc5ed6d5633d05175cd","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        # If using default credentials we rely on hash_dict"},{"line_number":62,"context_line":"        if self.use_default_creds:"},{"line_number":63,"context_line":"            # That should be good enough for backward compatibility"},{"line_number":64,"context_line":"            return True"},{"line_number":65,"context_line":"        else:"},{"line_number":66,"context_line":"            return len(self.hash_dict) \u003e 1"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"da9df570_f25e6f75","line":64,"updated":"2014-09-25 03:24:55.000000000","message":"So in this case where NotLockingAccounts will use default configured cred, should not we check the existence of those cred for multi user instead of returning true?\nSame way as https://github.com/openstack/tempest/blob/master/tempest/api/compute/base.py#L127-L139","commit_id":"2e3ae4fcd43c313dd38aef26ca2ce96180163296"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e21917019392f2521d12960d76f8769a51bf456c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        # If using default credentials we rely on hash_dict"},{"line_number":62,"context_line":"        if self.use_default_creds:"},{"line_number":63,"context_line":"            # That should be good enough for backward compatibility"},{"line_number":64,"context_line":"            return True"},{"line_number":65,"context_line":"        else:"},{"line_number":66,"context_line":"            return len(self.hash_dict) \u003e 1"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"da9df570_f5a3b0fd","line":64,"in_reply_to":"da9df570_f25e6f75","updated":"2014-09-25 12:49:53.000000000","message":"I suppose so - this is just for backward compatibility, but you are right, I may as well do it properly.\n\nIn fact here is should raise an exception, and the implementation should be in NotLockingAccounts","commit_id":"2e3ae4fcd43c313dd38aef26ca2ce96180163296"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d3092cf53fb69b151da4acc5ed6d5633d05175cd","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            self.remove_credentials(creds)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def get_admin_creds(self):"},{"line_number":140,"context_line":"        msg \u003d (\u0027If admin credentials are available tenant_isolation should be\u0027"},{"line_number":141,"context_line":"               \u0027 used instead\u0027)"},{"line_number":142,"context_line":"        raise NotImplementedError(msg)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"da9df570_55bf25fb","line":140,"updated":"2014-09-25 03:24:55.000000000","message":"So with this, tests through error for admin cred?","commit_id":"2e3ae4fcd43c313dd38aef26ca2ce96180163296"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"36cd48af1fab171c37008e5614b07bf68806cc52","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            self.remove_credentials(creds)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def get_admin_creds(self):"},{"line_number":140,"context_line":"        msg \u003d (\u0027If admin credentials are available tenant_isolation should be\u0027"},{"line_number":141,"context_line":"               \u0027 used instead\u0027)"},{"line_number":142,"context_line":"        raise NotImplementedError(msg)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"da9df570_66e458e1","line":140,"in_reply_to":"da9df570_35745867","updated":"2014-09-26 09:27:09.000000000","message":"Yes, i understand that we do not support multiple pre-provisioned admin accounts.\nBut with this user will not be able to run admin tests with locking_credentials_provider\u003dtrue.\n\nCan we have the single admin credential pre created in yaml file so that user do not need to change the config to run admin tests in pre-created account configuration. And if it is not defined then raise error?\n\nBecause i think it will be little bit extra work(change in config) for user (in case of pre-created account), to run complete set of tempest tests.","commit_id":"2e3ae4fcd43c313dd38aef26ca2ce96180163296"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e21917019392f2521d12960d76f8769a51bf456c","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            self.remove_credentials(creds)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def get_admin_creds(self):"},{"line_number":140,"context_line":"        msg \u003d (\u0027If admin credentials are available tenant_isolation should be\u0027"},{"line_number":141,"context_line":"               \u0027 used instead\u0027)"},{"line_number":142,"context_line":"        raise NotImplementedError(msg)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"da9df570_35745867","line":140,"in_reply_to":"da9df570_55bf25fb","updated":"2014-09-25 12:49:53.000000000","message":"There could be some value in running with pre-provisioned accounts even if admin credentials were available. However even in that case you would not run admin tests, as we do not support multiple pre-provisioned admin accounts.","commit_id":"2e3ae4fcd43c313dd38aef26ca2ce96180163296"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3a508ba7bb317184007bab44d8ffcad6fc8b6c37","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            self.remove_credentials(creds)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def get_admin_creds(self):"},{"line_number":140,"context_line":"        msg \u003d (\u0027If admin credentials are available tenant_isolation should be\u0027"},{"line_number":141,"context_line":"               \u0027 used instead\u0027)"},{"line_number":142,"context_line":"        raise NotImplementedError(msg)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"da9df570_b15bdcf4","line":140,"in_reply_to":"da9df570_66e458e1","updated":"2014-09-26 09:50:36.000000000","message":"Well the main idea of this whole bp is for people who wants to run tempest without storing system wide admin credentials in test configuration (for security reasons).\n\nIf you wanted to provide admin credentials for the locking accounts, you would need to provide a different one for each testing process, because test assume credentials are isolated when they ask for them from isolated_creds.\nOr you could have a single set, and then you would need to have test waiting until lock is released.\n\nThe main problem here is that some test use admin credentials to support non-admin tests, other use admin credentials for testing an admin api, and there\u0027s no clear separation. There is a bp about running tempest without admin credentials, which depends on this one.\n\nSo the change you ask for here belongs to that bp.","commit_id":"2e3ae4fcd43c313dd38aef26ca2ce96180163296"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"87b0055bed6e9e79bfaba8a195b84ea55b2c3851","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            self.remove_credentials(creds)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def get_admin_creds(self):"},{"line_number":140,"context_line":"        msg \u003d (\u0027If admin credentials are available tenant_isolation should be\u0027"},{"line_number":141,"context_line":"               \u0027 used instead\u0027)"},{"line_number":142,"context_line":"        raise NotImplementedError(msg)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"da9df570_71ced42f","line":140,"in_reply_to":"da9df570_b15bdcf4","updated":"2014-09-26 10:40:56.000000000","message":"humm, got it. Agree, admin tests should be handled something like \u0027skipping tests if admin cred are not available BP\u0027.\n\nThanks Andrea.","commit_id":"2e3ae4fcd43c313dd38aef26ca2ce96180163296"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"56c29030e569726aa2066b323305589c19e8f5e9","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                      \"not valid: %s\" % ic.message"},{"line_number":162,"context_line":"                raise exceptions.InvalidConfiguration(msg)"},{"line_number":163,"context_line":"        else:"},{"line_number":164,"context_line":"            return len(self.hash_dict) \u003e 1"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def get_creds(self, id):"},{"line_number":167,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_daa02792","line":164,"updated":"2014-10-08 23:22:35.000000000","message":"I\u0027m thinking maybe a uniqueness check here would be warranted, because it\u0027s possible that they just setup a list of identical creds. Maybe just put a todo here.","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c471672d484db3f9a1f64b75205ebaf2163fbe0a","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                      \"not valid: %s\" % ic.message"},{"line_number":162,"context_line":"                raise exceptions.InvalidConfiguration(msg)"},{"line_number":163,"context_line":"        else:"},{"line_number":164,"context_line":"            return len(self.hash_dict) \u003e 1"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def get_creds(self, id):"},{"line_number":167,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_359ea4b9","line":164,"in_reply_to":"baa201ad_daa02792","updated":"2014-10-08 23:56:53.000000000","message":"Fair enough.","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"}],"tempest/common/cred_provider.py":[{"author":{"_account_id":6683,"name":"Pavel Sedlák","email":"psedlak@redhat.com","username":"psedlak"},"change_message_id":"3caf9590b5563bd4dd9a1a3250f4708a2dd69dd9","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# TODO(andreaf) Drop them from the CredentialsProvider interface completely"},{"line_number":31,"context_line":"def get_isolated_credentials(name, tempest_client\u003dTrue, network_resources\u003dNone,"},{"line_number":32,"context_line":"                             force_tenant_isolation\u003dFalse):"},{"line_number":33,"context_line":"    if CONF.allow_tenant_isolation:"},{"line_number":34,"context_line":"        return isolated_creds.IsolatedCreds("},{"line_number":35,"context_line":"            name\u003dname,"},{"line_number":36,"context_line":"            tempest_client\u003dtempest_client,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_87fd2d0b","line":33,"range":{"start_line":33,"start_character":12,"end_line":33,"end_character":34},"updated":"2014-07-23 09:11:59.000000000","message":"auth section does not need to be specified here?","commit_id":"3fd73914bca701b7b3e334190ef5884f1aa50002"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e6e0b6dac52eb77073cccc0911146dae11262591","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# TODO(andreaf) Drop them from the CredentialsProvider interface completely"},{"line_number":31,"context_line":"def get_isolated_credentials(name, tempest_client\u003dTrue, network_resources\u003dNone,"},{"line_number":32,"context_line":"                             force_tenant_isolation\u003dFalse):"},{"line_number":33,"context_line":"    if CONF.allow_tenant_isolation:"},{"line_number":34,"context_line":"        return isolated_creds.IsolatedCreds("},{"line_number":35,"context_line":"            name\u003dname,"},{"line_number":36,"context_line":"            tempest_client\u003dtempest_client,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_a94789a2","line":33,"range":{"start_line":33,"start_character":12,"end_line":33,"end_character":34},"in_reply_to":"baada198_006663ee","updated":"2014-07-29 21:11:33.000000000","message":"Thanks, I will fix it","commit_id":"3fd73914bca701b7b3e334190ef5884f1aa50002"},{"author":{"_account_id":6683,"name":"Pavel Sedlák","email":"psedlak@redhat.com","username":"psedlak"},"change_message_id":"7a7607c86197ec21e9bfcb0cfc6848a05dbc1de5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# TODO(andreaf) Drop them from the CredentialsProvider interface completely"},{"line_number":31,"context_line":"def get_isolated_credentials(name, tempest_client\u003dTrue, network_resources\u003dNone,"},{"line_number":32,"context_line":"                             force_tenant_isolation\u003dFalse):"},{"line_number":33,"context_line":"    if CONF.allow_tenant_isolation:"},{"line_number":34,"context_line":"        return isolated_creds.IsolatedCreds("},{"line_number":35,"context_line":"            name\u003dname,"},{"line_number":36,"context_line":"            tempest_client\u003dtempest_client,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_006663ee","line":33,"range":{"start_line":33,"start_character":12,"end_line":33,"end_character":34},"in_reply_to":"baada198_87fd2d0b","updated":"2014-07-23 09:52:13.000000000","message":"ah i noticed, it\u0027s act. based on older version of accounts provider patch, as now it\u0027s auth.test_accounts_file (not a list) so this is just a early notice that this will change after rebase :)","commit_id":"3fd73914bca701b7b3e334190ef5884f1aa50002"}],"tempest/common/credentials.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"dd3c960334b422a45b9f92e333496ce9291651d9","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        # If a test requires tenant isolation, but that is not available,"},{"line_number":34,"context_line":"        # we fail the test"},{"line_number":35,"context_line":"        if force_tenant_isolation:"},{"line_number":36,"context_line":"            raise exceptions.InvalidConfiguration("},{"line_number":37,"context_line":"                \"Tenant isolation is disabled but this test requires it\""},{"line_number":38,"context_line":"            )"},{"line_number":39,"context_line":"        # Most params are not relevant for pre-created accounts"}],"source_content_type":"text/x-python","patch_set":12,"id":"7ac7a964_af775bd3","line":36,"updated":"2014-08-15 14:58:13.000000000","message":"So this is incorrect usage of the force_tenant_isolation flag. That is specifically used to reuse the tenant isolation code when an admin test requires it regardless of the config setting. \n\nThe point is if we need to create a separate tenant user pair to make a test work (like a quota test) there\u0027s no point to reinvent the wheel when tenant isolation can already do that. But, tenant_isolation in and of itself isn\u0027t a requirement for those tests.","commit_id":"0e6d5092f182f3dca8712100d92693ec0b5a5d02"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0bc2e2589c872fdcede3288879c333f12062e3fa","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        # If a test requires tenant isolation, but that is not available,"},{"line_number":34,"context_line":"        # we fail the test"},{"line_number":35,"context_line":"        if force_tenant_isolation:"},{"line_number":36,"context_line":"            raise exceptions.InvalidConfiguration("},{"line_number":37,"context_line":"                \"Tenant isolation is disabled but this test requires it\""},{"line_number":38,"context_line":"            )"},{"line_number":39,"context_line":"        # Most params are not relevant for pre-created accounts"}],"source_content_type":"text/x-python","patch_set":12,"id":"7ac7a964_9ba3c19d","line":36,"in_reply_to":"7ac7a964_af775bd3","updated":"2014-08-15 16:41:41.000000000","message":"Got it - this flag is a bit confusing to me - but it\u0027s not the right place to change it.","commit_id":"0e6d5092f182f3dca8712100d92693ec0b5a5d02"}],"tempest/config.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"dd3c960334b422a45b9f92e333496ce9291651d9","unresolved":false,"context_lines":[{"line_number":672,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":673,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":674,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":675,"context_line":"               help\u003d\"The endpoint type to use for the orchestration service.\"),"},{"line_number":676,"context_line":"    cfg.BoolOpt(\u0027allow_tenant_isolation\u0027,"},{"line_number":677,"context_line":"                default\u003dFalse,"},{"line_number":678,"context_line":"                help\u003d\"Allows test cases to create/destroy tenants and \""}],"source_content_type":"text/x-python","patch_set":12,"id":"7ac7a964_6f3c63e3","line":675,"updated":"2014-08-15 14:58:13.000000000","message":"I think you should remove this one too and add it to the deprecated list. (although I don\u0027t think it\u0027s being used anywhere.","commit_id":"0e6d5092f182f3dca8712100d92693ec0b5a5d02"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0bc2e2589c872fdcede3288879c333f12062e3fa","unresolved":false,"context_lines":[{"line_number":672,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":673,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":674,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":675,"context_line":"               help\u003d\"The endpoint type to use for the orchestration service.\"),"},{"line_number":676,"context_line":"    cfg.BoolOpt(\u0027allow_tenant_isolation\u0027,"},{"line_number":677,"context_line":"                default\u003dFalse,"},{"line_number":678,"context_line":"                help\u003d\"Allows test cases to create/destroy tenants and \""}],"source_content_type":"text/x-python","patch_set":12,"id":"7ac7a964_06191479","line":675,"in_reply_to":"7ac7a964_6f3c63e3","updated":"2014-08-15 16:41:41.000000000","message":"It is not being used. But ok, I\u0027ll add it to the deprecation list.","commit_id":"0e6d5092f182f3dca8712100d92693ec0b5a5d02"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1fa0cb0802591c40075fc555a15d5f9a3d762e32","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    cfg.BoolOpt(\u0027locking_credentials_provider\u0027,"},{"line_number":53,"context_line":"                default\u003dFalse,"},{"line_number":54,"context_line":"                help\u003d\"If set to True it enables the Accounts credentials \""},{"line_number":55,"context_line":"                     \"credentials provider, which locks credentials to \""},{"line_number":56,"context_line":"                     \"allow for parallel execution with pre-provisioned\""},{"line_number":57,"context_line":"                     \"accounts. It can only be used to run tests that\""},{"line_number":58,"context_line":"                     \"ensure credentials cleanup happens.\"),"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa98f980_d60f5f86","line":55,"updated":"2014-09-04 08:39:15.000000000","message":"double \"credentials\"","commit_id":"73ad578c51d6a3b5c14cb6b075de07e48498d527"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0926a70dd8e51eea822c3951ddb5febd6b9c703a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    cfg.BoolOpt(\u0027locking_credentials_provider\u0027,"},{"line_number":53,"context_line":"                default\u003dFalse,"},{"line_number":54,"context_line":"                help\u003d\"If set to True it enables the Accounts credentials \""},{"line_number":55,"context_line":"                     \"credentials provider, which locks credentials to \""},{"line_number":56,"context_line":"                     \"allow for parallel execution with pre-provisioned\""},{"line_number":57,"context_line":"                     \"accounts. It can only be used to run tests that\""},{"line_number":58,"context_line":"                     \"ensure credentials cleanup happens.\"),"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa98f980_62334914","line":55,"in_reply_to":"fa98f980_d60f5f86","updated":"2014-09-04 10:41:45.000000000","message":"done","commit_id":"73ad578c51d6a3b5c14cb6b075de07e48498d527"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1fa0cb0802591c40075fc555a15d5f9a3d762e32","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                default\u003dFalse,"},{"line_number":54,"context_line":"                help\u003d\"If set to True it enables the Accounts credentials \""},{"line_number":55,"context_line":"                     \"credentials provider, which locks credentials to \""},{"line_number":56,"context_line":"                     \"allow for parallel execution with pre-provisioned\""},{"line_number":57,"context_line":"                     \"accounts. It can only be used to run tests that\""},{"line_number":58,"context_line":"                     \"ensure credentials cleanup happens.\"),"},{"line_number":59,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa98f980_16256708","line":56,"updated":"2014-09-04 08:39:15.000000000","message":"space at end. for below lines too","commit_id":"73ad578c51d6a3b5c14cb6b075de07e48498d527"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0926a70dd8e51eea822c3951ddb5febd6b9c703a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                default\u003dFalse,"},{"line_number":54,"context_line":"                help\u003d\"If set to True it enables the Accounts credentials \""},{"line_number":55,"context_line":"                     \"credentials provider, which locks credentials to \""},{"line_number":56,"context_line":"                     \"allow for parallel execution with pre-provisioned\""},{"line_number":57,"context_line":"                     \"accounts. It can only be used to run tests that\""},{"line_number":58,"context_line":"                     \"ensure credentials cleanup happens.\"),"},{"line_number":59,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa98f980_227f81ac","line":56,"in_reply_to":"fa98f980_16256708","updated":"2014-09-04 10:41:45.000000000","message":"Done. The last one does not need a space at the end.","commit_id":"73ad578c51d6a3b5c14cb6b075de07e48498d527"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"56c29030e569726aa2066b323305589c19e8f5e9","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                help\u003d\"If set to True it enables the Accounts provider, \""},{"line_number":55,"context_line":"                     \"which locks credentials to allow for parallel execution \""},{"line_number":56,"context_line":"                     \"with pre-provisioned accounts. It can only be used to \""},{"line_number":57,"context_line":"                     \"run tests that ensure credentials cleanup happens.\"),"},{"line_number":58,"context_line":"]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"identity_group \u003d cfg.OptGroup(name\u003d\u0027identity\u0027,"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_daf58783","line":57,"updated":"2014-10-08 23:22:35.000000000","message":"Maybe add onto this comment that only do this if you have enough credentials for 2x the number of threads.","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c471672d484db3f9a1f64b75205ebaf2163fbe0a","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                help\u003d\"If set to True it enables the Accounts provider, \""},{"line_number":55,"context_line":"                     \"which locks credentials to allow for parallel execution \""},{"line_number":56,"context_line":"                     \"with pre-provisioned accounts. It can only be used to \""},{"line_number":57,"context_line":"                     \"run tests that ensure credentials cleanup happens.\"),"},{"line_number":58,"context_line":"]"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"identity_group \u003d cfg.OptGroup(name\u003d\u0027identity\u0027,"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_95a7500a","line":57,"in_reply_to":"baa201ad_daf58783","updated":"2014-10-08 23:56:53.000000000","message":"ok","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"e83a09fec82d1391c07fe9665a51707f0f5f38df","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                     \"which locks credentials to allow for parallel execution \""},{"line_number":56,"context_line":"                     \"with pre-provisioned accounts. It can only be used to \""},{"line_number":57,"context_line":"                     \"run tests that ensure credentials cleanup happens. \""},{"line_number":58,"context_line":"                     \"It requires at least `2 * CONC` distinct accounts \""},{"line_number":59,"context_line":"                     \"configured in `test_accounts_file`, with CONC \u003d\u003d the \""},{"line_number":60,"context_line":"                     \"number of concurrent test processes.\"),"},{"line_number":61,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":48,"id":"baa201ad_e72b5692","line":58,"updated":"2014-10-11 01:16:14.000000000","message":"I think this looks a little weird and might be difficult for people to understand, But, we can revise the language in the help later.","commit_id":"8283b4ebc7de969c86898ec5cf7f9f5cf20fa01e"}],"tempest/scenario/manager.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"56c29030e569726aa2066b323305589c19e8f5e9","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    def resource_setup(cls):"},{"line_number":53,"context_line":"        super(ScenarioTest, cls).resource_setup()"},{"line_number":54,"context_line":"        # Using tempest client for isolated credentials as well"},{"line_number":55,"context_line":"        cls.isolated_creds \u003d credentials.get_isolated_credentials("},{"line_number":56,"context_line":"            cls.__name__, network_resources\u003dcls.network_resources)"},{"line_number":57,"context_line":"        cls.manager \u003d clients.Manager("},{"line_number":58,"context_line":"            credentials\u003dcls.credentials()"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_fad96b22","line":55,"updated":"2014-10-08 23:22:35.000000000","message":"I\u0027m wondering why we\u0027ve duplicated this for the scenario tests, shouldn\u0027t we just use the same code from the base test class. Either way that change would be a follow on patch, so nothing to change here.","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c471672d484db3f9a1f64b75205ebaf2163fbe0a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    def resource_setup(cls):"},{"line_number":53,"context_line":"        super(ScenarioTest, cls).resource_setup()"},{"line_number":54,"context_line":"        # Using tempest client for isolated credentials as well"},{"line_number":55,"context_line":"        cls.isolated_creds \u003d credentials.get_isolated_credentials("},{"line_number":56,"context_line":"            cls.__name__, network_resources\u003dcls.network_resources)"},{"line_number":57,"context_line":"        cls.manager \u003d clients.Manager("},{"line_number":58,"context_line":"            credentials\u003dcls.credentials()"}],"source_content_type":"text/x-python","patch_set":46,"id":"baa201ad_f5497c60","line":55,"in_reply_to":"baa201ad_fad96b22","updated":"2014-10-08 23:56:53.000000000","message":"Initially this was using the OfficialManager, which is my it was separated. With the scenario migration bp we removed that, but there are still things that could be streamlined further.","commit_id":"92ce62ff7270162567a5b9939102dc19497ffe34"}],"tempest/test.py":[{"author":{"_account_id":6683,"name":"Pavel Sedlák","email":"psedlak@redhat.com","username":"psedlak"},"change_message_id":"3caf9590b5563bd4dd9a1a3250f4708a2dd69dd9","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        creds \u003d cls.isolated_creds.get_primary_creds()"},{"line_number":322,"context_line":"        params \u003d dict(credentials\u003dcreds, service\u003dcls._service)"},{"line_number":323,"context_line":"        if getattr(cls, \u0027_interface\u0027, None):"},{"line_number":324,"context_line":"            interface \u003d cls._interface"},{"line_number":325,"context_line":"        if interface:"},{"line_number":326,"context_line":"            params[\u0027interface\u0027] \u003d interface"},{"line_number":327,"context_line":"        os \u003d clients.Manager(**params)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_6ab2a04a","line":324,"range":{"start_line":324,"start_character":12,"end_line":324,"end_character":21},"updated":"2014-07-23 09:11:59.000000000","message":"i see it was same here before, and that interface arg is not used atm, but wonder, why the cls._interface has higher priority over explicitly passed arg?","commit_id":"3fd73914bca701b7b3e334190ef5884f1aa50002"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e6e0b6dac52eb77073cccc0911146dae11262591","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        creds \u003d cls.isolated_creds.get_primary_creds()"},{"line_number":322,"context_line":"        params \u003d dict(credentials\u003dcreds, service\u003dcls._service)"},{"line_number":323,"context_line":"        if getattr(cls, \u0027_interface\u0027, None):"},{"line_number":324,"context_line":"            interface \u003d cls._interface"},{"line_number":325,"context_line":"        if interface:"},{"line_number":326,"context_line":"            params[\u0027interface\u0027] \u003d interface"},{"line_number":327,"context_line":"        os \u003d clients.Manager(**params)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_c9911df9","line":324,"range":{"start_line":324,"start_character":12,"end_line":324,"end_character":21},"in_reply_to":"baada198_6ab2a04a","updated":"2014-07-29 21:11:33.000000000","message":"Not sure, I would give precedence to a passed arg as well... but I would not change it in this patch.","commit_id":"3fd73914bca701b7b3e334190ef5884f1aa50002"}]}
