Untitled

 avatar
unknown
plain_text
a year ago
1.7 kB
8
Indexable
Working 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"]
        )

        cmds.append("export logfile=/tmp/engine_commit_id.log")
        cmds.append("sudo date >> $logfile 2>&1")

        # MySQL commands to retrieve engine information
        cmds.append(
            "engine_public_version=$(mysql -u rdsbmsperf -p auroraperf -e \"SELECT aurora_version();\" -prdsbmsperf | grep -P '[\\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(
            f"aws s3 cp $logfile {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)
Editor is loading...
Leave a Comment