Skip to content

Remove check for ora2pg depedency from guardrails in case of live migration in oracle and mysql #7490

Remove check for ora2pg depedency from guardrails in case of live migration in oracle and mysql

Remove check for ora2pg depedency from guardrails in case of live migration in oracle and mysql #7490

name: "MySQL: Migration Tests"
on:
push:
branches: ['main', '*.*-dev', '*.*.*-dev']
pull_request:
branches: ['main']
jobs:
run-mysql-migration-tests:
strategy:
matrix:
version: [2024.2.0.0-b145, 2.20.8.0-b53, 2024.1.3.1-b8, 2.23.1.0-b220]
BETA_FAST_DATA_EXPORT: [0, 1]
env:
BETA_FAST_DATA_EXPORT: ${{ matrix.BETA_FAST_DATA_EXPORT }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
# https://github.com/actions/setup-java
with:
distribution: "temurin"
java-version: "17"
check-latest: true
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Install python3 and psycopg2
run: |
sudo apt install -y python3
sudo apt install -y libpq-dev
sudo apt install python3-psycopg2
- name: Run installer script to setup voyager
run: |
yes | ./installer_scripts/install-yb-voyager --install-from-local-source
env:
ON_INSTALLER_ERROR_OUTPUT_LOG: Y
DEBEZIUM_VERSION: aneesh_ff-fb-remove
DEBEZIUM_RELEASE_TAG: voyager-debezium
- name: Start MySQL
run: |
sudo /etc/init.d/mysql start
sleep 10
- name: Test MySQL connection
run: |
mysql -uroot -proot -e 'select version();'
- name: Create MySQL user
run: |
./migtests/scripts/mysql/create_mysql_user
- name: Start YugabyteDB cluster
run: |
docker run -d --name yugabytedb \
-p7000:7000 -p9000:9000 -p15433:15433 -p5433:5433 -p9042:9042 \
yugabytedb/yugabyte:${{ matrix.version }} \
bin/yugabyted start --tserver_flags="ysql_hba_conf_csv={host all yugabyte all trust,host all all all md5}" --background=false --ui=false
sleep 20
- name: Test YugabyteDB connection
run: |
psql "postgresql://yugabyte:@127.0.0.1:5433/yugabyte" -c "SELECT version();"
- name: Create YugabyteDB user
run: |
./migtests/scripts/yugabytedb/create_yb_user
- name: Enable yb-tserver-n1 name resolution
run: |
echo "127.0.0.1 yb-tserver-n1" | sudo tee -a /etc/hosts
psql "postgresql://yugabyte@yb-tserver-n1:5433/yugabyte" -c "SELECT version();"
- name: "TEST: mysql-table-list-flags-test (table-list and exclude-table-list)"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/table-list-flags-tests
- name: "TEST: mysql-table-list-file-path-test (table-list-file-path and exclude-table-list-file-path)"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/table-list-flags-tests env-file-path-flags.sh
- name: "TEST: mysql-sakila"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/sakila
- name: "TEST: mysql-datatypes"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/datatypes
- name: "TEST: mysql-constraints"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/constraints
- name: "TEST: mysql-case-indexes"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/indexes
- name: "TEST: mysql-functions"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/functions
- name: "TEST: mysql-case-sequences"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/sequences
- name: "TEST: mysql-triggers-procedures"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/triggers-procedures
- name: "TEST: mysql-case-views"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/views
- name: "TEST: mysql-partitions"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/partitions
- name: "TEST: mysql-sample-chinook"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/chinook
- name: "TEST: mysql-misc-tests"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/misc-tests
- name: "TEST: mysql-case-sensitivity-reserved-words"
if: ${{ !cancelled() }}
run: migtests/scripts/run-test.sh mysql/case-sensitivity-reserved-words
# Placeholder for now so that a basic test can run
- name: Create the live migration user
if: always()
run: |
mysql -uroot -proot -e 'GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'ybvoyager'@'127.0.0.1';'
- name: "TEST: mysql-live-migration-test"
if: ${{ !cancelled() }}
run: migtests/scripts/live-migration-run-test.sh mysql/basic-live-test