)]}'
{"rally/api.py":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"12b7beb08c53f3238e063dbb0be257d8626e0da9","unresolved":false,"context_lines":[{"line_number":516,"context_line":"        deployment_uuid \u003d objects.Deployment.get(deployment)[\"uuid\"]"},{"line_number":517,"context_line":"        verifier \u003d tempest.Tempest(deployment_uuid)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"        if not os.path.exists(verifier.path()):"},{"line_number":520,"context_line":"            LOG.error("},{"line_number":521,"context_line":"                _(\"Tempest for deployment \u0027%s\u0027 is not installed! Use `rally \""},{"line_number":522,"context_line":"                  \"verify install` for Tempest installation\") % deployment)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_123acccc","line":519,"updated":"2015-12-07 13:04:00.000000000","message":"This code may be moved to Tempest\u0027s method ensure_installed.","commit_id":"aeaa32ad5fd98996c22280fd60475ffc98b71d03"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"12b7beb08c53f3238e063dbb0be257d8626e0da9","unresolved":false,"context_lines":[{"line_number":520,"context_line":"            LOG.error("},{"line_number":521,"context_line":"                _(\"Tempest for deployment \u0027%s\u0027 is not installed! Use `rally \""},{"line_number":522,"context_line":"                  \"verify install` for Tempest installation\") % deployment)"},{"line_number":523,"context_line":"            raise exceptions.TempestNotInstalled(deployment\u003ddeployment)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        if not verifier.is_configured():"},{"line_number":526,"context_line":"            verifier.generate_config_file()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_72eb1014","line":523,"updated":"2015-12-07 13:04:00.000000000","message":"Not sure about this. There is already a lot of exceptions which are never catched. Nothing will be changed if we use RallyException here.","commit_id":"aeaa32ad5fd98996c22280fd60475ffc98b71d03"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"b76a74509b996297de62478e613d219e4508e25e","unresolved":false,"context_lines":[{"line_number":520,"context_line":"            LOG.error("},{"line_number":521,"context_line":"                _(\"Tempest for deployment \u0027%s\u0027 is not installed! Use `rally \""},{"line_number":522,"context_line":"                  \"verify install` for Tempest installation\") % deployment)"},{"line_number":523,"context_line":"            raise exceptions.TempestNotInstalled(deployment\u003ddeployment)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        if not verifier.is_configured():"},{"line_number":526,"context_line":"            verifier.generate_config_file()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_aae494e0","line":523,"in_reply_to":"7a740942_72eb1014","updated":"2015-12-07 15:58:55.000000000","message":"Agree","commit_id":"aeaa32ad5fd98996c22280fd60475ffc98b71d03"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"df4d65fbc961d4aa491b8b862c20858fce4eae65","unresolved":false,"context_lines":[{"line_number":486,"context_line":"            shutil.move(tmp_conf_path, verifier.config_file)"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"    @staticmethod"},{"line_number":489,"context_line":"    def _check_tempest_tree_existence(verifier):"},{"line_number":490,"context_line":"        if not os.path.exists(verifier.path()):"},{"line_number":491,"context_line":"            msg \u003d _(\"Tempest tree for \""},{"line_number":492,"context_line":"                    \"deployment \u0027%s\u0027 not found!\") % verifier.deployment"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_0d5bcaf7","line":489,"updated":"2015-12-10 13:15:38.000000000","message":"Why not just _check_tempest_installed","commit_id":"2d5b9e8208982519cc9822b4177fdd59b4564dd3"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a09af1c1ed35153f9dc3265101db4d5dab8dc304","unresolved":false,"context_lines":[{"line_number":486,"context_line":"            shutil.move(tmp_conf_path, verifier.config_file)"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"    @staticmethod"},{"line_number":489,"context_line":"    def _check_tempest_tree_existence(verifier):"},{"line_number":490,"context_line":"        if not os.path.exists(verifier.path()):"},{"line_number":491,"context_line":"            msg \u003d _(\"Tempest tree for \""},{"line_number":492,"context_line":"                    \"deployment \u0027%s\u0027 not found!\") % verifier.deployment"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_261263b5","line":489,"in_reply_to":"7a740942_0d5bcaf7","updated":"2015-12-10 14:08:37.000000000","message":"We cannot call verifier.is_installed() because we have different conditions of Tempest installation in case of using Tempest venv and local env (--system-wide-install option). Actually, generation of config file doesn\u0027t depend on Tempest installation. If Tempest tree exists, then we can generate config file.","commit_id":"2d5b9e8208982519cc9822b4177fdd59b4564dd3"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"df4d65fbc961d4aa491b8b862c20858fce4eae65","unresolved":false,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"    @staticmethod"},{"line_number":489,"context_line":"    def _check_tempest_tree_existence(verifier):"},{"line_number":490,"context_line":"        if not os.path.exists(verifier.path()):"},{"line_number":491,"context_line":"            msg \u003d _(\"Tempest tree for \""},{"line_number":492,"context_line":"                    \"deployment \u0027%s\u0027 not found!\") % verifier.deployment"},{"line_number":493,"context_line":"            LOG.error("}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_eda43e09","line":490,"updated":"2015-12-10 13:15:38.000000000","message":"Probably verifier.is_installed() should be used here.","commit_id":"2d5b9e8208982519cc9822b4177fdd59b4564dd3"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"df4d65fbc961d4aa491b8b862c20858fce4eae65","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            msg \u003d _(\"Tempest tree for \""},{"line_number":492,"context_line":"                    \"deployment \u0027%s\u0027 not found!\") % verifier.deployment"},{"line_number":493,"context_line":"            LOG.error("},{"line_number":494,"context_line":"                msg + _(\" Probably you forgot to install Tempest. \""},{"line_number":495,"context_line":"                        \"Use `rally verify install` for Tempest installation\"))"},{"line_number":496,"context_line":"            raise exceptions.NotFoundException(message\u003dmsg)"},{"line_number":497,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_adaf16e2","line":494,"updated":"2015-12-10 13:15:38.000000000","message":"It is too verbose as for me.","commit_id":"2d5b9e8208982519cc9822b4177fdd59b4564dd3"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a09af1c1ed35153f9dc3265101db4d5dab8dc304","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            msg \u003d _(\"Tempest tree for \""},{"line_number":492,"context_line":"                    \"deployment \u0027%s\u0027 not found!\") % verifier.deployment"},{"line_number":493,"context_line":"            LOG.error("},{"line_number":494,"context_line":"                msg + _(\" Probably you forgot to install Tempest. \""},{"line_number":495,"context_line":"                        \"Use `rally verify install` for Tempest installation\"))"},{"line_number":496,"context_line":"            raise exceptions.NotFoundException(message\u003dmsg)"},{"line_number":497,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_861b17ca","line":494,"in_reply_to":"7a740942_adaf16e2","updated":"2015-12-10 14:08:37.000000000","message":"Ok, I will remove it.","commit_id":"2d5b9e8208982519cc9822b4177fdd59b4564dd3"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"df4d65fbc961d4aa491b8b862c20858fce4eae65","unresolved":false,"context_lines":[{"line_number":493,"context_line":"            LOG.error("},{"line_number":494,"context_line":"                msg + _(\" Probably you forgot to install Tempest. \""},{"line_number":495,"context_line":"                        \"Use `rally verify install` for Tempest installation\"))"},{"line_number":496,"context_line":"            raise exceptions.NotFoundException(message\u003dmsg)"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    @classmethod"},{"line_number":499,"context_line":"    def configure_tempest(cls, deployment, tempest_config\u003dNone,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_0dcd0ab7","line":496,"updated":"2015-12-10 13:15:38.000000000","message":"IMO it is more like \u0027not installed\u0027 then \u0027not found\u0027, so RallyException looks like more applicable here.","commit_id":"2d5b9e8208982519cc9822b4177fdd59b4564dd3"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a09af1c1ed35153f9dc3265101db4d5dab8dc304","unresolved":false,"context_lines":[{"line_number":493,"context_line":"            LOG.error("},{"line_number":494,"context_line":"                msg + _(\" Probably you forgot to install Tempest. \""},{"line_number":495,"context_line":"                        \"Use `rally verify install` for Tempest installation\"))"},{"line_number":496,"context_line":"            raise exceptions.NotFoundException(message\u003dmsg)"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    @classmethod"},{"line_number":499,"context_line":"    def configure_tempest(cls, deployment, tempest_config\u003dNone,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_c6591f5d","line":496,"in_reply_to":"7a740942_0dcd0ab7","updated":"2015-12-10 14:08:37.000000000","message":"Actually, we check Tempest tree existence, not installation.","commit_id":"2d5b9e8208982519cc9822b4177fdd59b4564dd3"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"df4d65fbc961d4aa491b8b862c20858fce4eae65","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        verifier \u003d tempest.Tempest(deployment_uuid,"},{"line_number":510,"context_line":"                                   tempest_config\u003dtempest_config)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"        # If Tempest tree doesn\u0027t exist, NotFoundException is raised."},{"line_number":513,"context_line":"        cls._check_tempest_tree_existence(verifier)"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        verifier.generate_config_file(override)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_2d0566c1","line":512,"updated":"2015-12-10 13:15:38.000000000","message":"This comment is not necessary","commit_id":"2d5b9e8208982519cc9822b4177fdd59b4564dd3"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"f345d8c7d31706738d6535787c85727b02ecb9bb","unresolved":false,"context_lines":[{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        return verification"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    @staticmethod"},{"line_number":390,"context_line":"    def _create_verifier(deployment_uuid, verification\u003dNone,"},{"line_number":391,"context_line":"                         tempest_config\u003dNone, system_wide_install\u003dFalse):"},{"line_number":392,"context_line":"        \"\"\"Create a Tempest object."}],"source_content_type":"text/x-python","patch_set":14,"id":"7a740942_49c92925","line":389,"updated":"2015-12-14 15:38:28.000000000","message":"This method is used only in one place. Can we move code from it to `verify` method?","commit_id":"da043d54b06e567b4fc869086593305afb2ef2d0"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"3582484a5f64cc6c78aa53cfa18b36ba80118aa5","unresolved":false,"context_lines":[{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        return verification"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    @staticmethod"},{"line_number":390,"context_line":"    def _create_verifier(deployment_uuid, verification\u003dNone,"},{"line_number":391,"context_line":"                         tempest_config\u003dNone, system_wide_install\u003dFalse):"},{"line_number":392,"context_line":"        \"\"\"Create a Tempest object."}],"source_content_type":"text/x-python","patch_set":14,"id":"7a740942_34cbd4a5","line":389,"in_reply_to":"7a740942_49c92925","updated":"2015-12-14 15:45:52.000000000","message":"I will do it in the next patch, depending on this one ;)","commit_id":"da043d54b06e567b4fc869086593305afb2ef2d0"}]}
