Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.3 kB
3
Indexable
A.py Code

""" Aurora Perf workflow object.
"""
import logging
import time

from aurora_performance_data_service.helpers.constants import (
    MAX_TIMEOUT_FOR_RESOURCE_PROV,
    SECONDS_IN_AN_HOUR,
    WAIT_TIME_FOR_CONSEQ_FUNC_INVOKE,
)
from aurora_performance_data_service.helpers.result_db.resultdb_handler import (
    ResultDbHandler,
    get_result_db_handler,
)
from aurora_performance_data_service.workflow.perf_workflow_config import PerfWorkflowConfig
from aurora_performance_data_service.workflow.rdsbms_workflow_manager import (
    BMSWorkflowManager,
    get_rdsbms_workflow_manager,
)
from aurora_performance_data_service.workflow.workflow_summary import get_result_manager

logger = logging.getLogger(__name__)


class PerfWorkflowRunner:
    def __init__(self, perf_workflow_config: PerfWorkflowConfig, test_id: str):
        self.__parent_workflow_id = None
        self.pwc = perf_workflow_config
        self.pwc.test_id = test_id
        self.test_id = perf_workflow_config.test_id
        self.result_db: ResultDbHandler = get_result_db_handler()
        self.rdsbms_manager: BMSWorkflowManager = get_rdsbms_workflow_manager()
        self.rdsbms_params_dict = self.pwc.rdsbms_params_dict
        self.workflow_resource_retention_time = self.pwc.workflow_resource_retention_time

In my B.py code
def collect_ams_engine_version_logs(
        self, instance_id, workflow_path
    ):
        """
        Gather ams engine versions
        """
        credentials = self.get_pas_credentials(PAS_ADMIN_OPS_ROLE)
        cmds = self.get_rds_s3_file_transfer_template(
            credentials["AccessKeyId"], credentials["SecretAccessKey"]
        )
        dbname1 = "auroraperf"
        dbpassword1 = "rdsbmsperf"
        dbuser1 = "rdsbmsperf"
 
        cmds.append("export logfile=/tmp/engine_commit_id.log")
        cmds.append("sudo date >> $logfile 2>&1")

        cmds.append(
            f"engine_public_version=$(/rdsdbbin/oscar/bin/mysql --user={dbuser1} --database={dbname1} -e \"SELECT aurora_version();\" --password={dbpassword1} | grep -oP '[\\d.]+' | tr -d '\\n')"
        )

        cmds.append(
            "MySQL_grep=$(echo $(strings /rdsdbbin/oscar/bin/mysqld | grep 'git-head' -m1));"
        )
        cmds.append(
            "engine_internal_version=$(echo $MySQL_grep | grep -P 'OscarMysql[\\d]+-[\\d.]+' -o | grep -P '[\\d.]+' | tr -d '\\n');"
        )
        cmds.append(
            "engine_build_time=$(echo $MySQL_grep | grep -P '\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}UTC' -o | tr -d '\\n');"
        )
        cmds.append(
            "engine_git_commit=$(echo $MySQL_grep | grep -P '[\\w\\d]{40}' -o -m1 | tr -d '\\n');"
        )

        cmds.append(
            'echo "engine_public_version: $engine_public_version engine_internal_version: $engine_internal_version engine_build_time: $engine_build_time engine_git_commit: $engine_git_commit" >> $logfile 2>&1'
        )

        cmds.append(
            "aws s3 cp ${logfile} "
            + f"{get_pas_logs_s3_dir_for_instance(workflow_path, instance_id[0].strip())} "
            + ">> $logfile 2>&1"
        )

        self.__ssm_client.run_cmd(
            instance_id[1],
            cmds,
        )

I want to have the value of  self.rdsbms_params_dict = self.pwc.rdsbms_params_dict from A's code how to do it

Leave a Comment