From 61c47c9e5486285aeeeb6b765c927cd76fec4ca9 Mon Sep 17 00:00:00 2001 From: M Umar Khan Date: Tue, 8 Apr 2025 13:40:24 +0500 Subject: [PATCH] chore: remove mysql57 --- Makefile | 23 ++--------------------- check.sh | 5 ----- docker-compose.yml | 32 -------------------------------- options.mk | 2 +- provision.sh | 5 +---- 5 files changed, 4 insertions(+), 63 deletions(-) diff --git a/Makefile b/Makefile index aba37bc..6f938d0 100644 --- a/Makefile +++ b/Makefile @@ -186,16 +186,14 @@ dev.provision.%: dev.check-memory ## Provision specified services. echo $* bash ./provision.sh $* -dev.backup: dev.up.mysql57+mysql80+mongo+elasticsearch710+opensearch12+coursegraph ## Write all data volumes to the host. - docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql57) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mysql57.tar.gz /var/lib/mysql +dev.backup: dev.up.mysql80+mongo+elasticsearch710+opensearch12+coursegraph ## Write all data volumes to the host. docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql80) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mysql80.tar.gz /var/lib/mysql docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mongo) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mongo.tar.gz /data/db docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch710) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/elasticsearch710.tar.gz /usr/share/elasticsearch/data docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.opensearch12) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/opensearch12.tar.gz /usr/share/opensearch/data docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.coursegraph) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/coursegraph.tar.gz /data -dev.restore: dev.up.mysql57+mysql80+mongo+elasticsearch710+opensearch12+coursegraph ## Restore all data volumes from the host. WILL OVERWRITE ALL EXISTING DATA! - docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql57) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mysql57.tar.gz +dev.restore: dev.up.mysql80+mongo+elasticsearch710+opensearch12+coursegraph ## Restore all data volumes from the host. WILL OVERWRITE ALL EXISTING DATA! docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql80) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mysql80.tar.gz docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mongo) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mongo.tar.gz docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch710) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/elasticsearch710.tar.gz @@ -413,23 +411,6 @@ dev.shell.%: ## Run a shell on the specified service's container. dev.dbshell: docker compose exec mysql80 bash -c "mysql" -DB_NAMES_LIST = credentials discovery ecommerce notes registrar xqueue edxapp edxapp_csmh dashboard analytics-api reports reports_v1 -_db_copy8_targets = $(addprefix dev.dbcopy8.,$(DB_NAMES_LIST)) -dev.dbcopyall8: ## Clean mysql80 container and copy data from old mysql 5.7 containers into new mysql8 dbs - $(MAKE) stop - $(MAKE) dev.remove-containers.mysql80 - docker volume rm devstack_mysql80_data - $(MAKE) dev.up.mysql57+mysql80 - $(MAKE) dev.wait-for.mysql57+mysql80 - docker compose exec -T mysql80 mysql -uroot mysql < provision-mysql80.sql - $(MAKE) $(_db_copy8_targets) - $(MAKE) stop - -dev.dbcopy8.%: ## Copy data from old mysql 5.7 container into a new 8 db - docker compose exec mysql57 mysqldump "$*" > .dev/$*.sql - docker compose exec -T mysql80 mysql "$*" < .dev/$*.sql - rm .dev/$*.sql - dev.dbshell.%: ## Run a SQL shell on the given database. docker compose exec mysql80 bash -c "mysql $*" diff --git a/check.sh b/check.sh index 3db2720..a234066 100755 --- a/check.sh +++ b/check.sh @@ -70,11 +70,6 @@ mysql_run_check() { "docker compose exec -T $(printf %q "$container_name") mysql --protocol tcp -uroot -se $(printf %q "$mysql_probe")" } -if should_check mysql57; then - echo "Checking MySQL 5.7 query endpoint:" - mysql_run_check mysql57 -fi - if should_check mysql80; then echo "Checking MySQL 8.0 query endpoint:" mysql_run_check mysql80 diff --git a/docker-compose.yml b/docker-compose.yml index acf8abd..540c24a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -186,23 +186,6 @@ services: - mongo_data:/data/db - mongo_config_data:/data/configdb - mysql57: - command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci - container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.mysql57" - hostname: mysql57.devstack.edx - environment: - MYSQL_ROOT_PASSWORD: "" - MYSQL_ALLOW_EMPTY_PASSWORD: "yes" - image: edxops/mysql:5.7 - networks: - default: - aliases: - - edx.devstack.mysql57 - ports: - - "3506:3306" - volumes: - - mysql57_data:/var/lib/mysql - mysql80: command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.mysql80" @@ -280,7 +263,6 @@ services: - lms - memcached - mysql80 - - mysql57 # Allows attachment to the credentials service using 'docker attach '. stdin_open: true tty: true @@ -306,7 +288,6 @@ services: - elasticsearch710 - memcached - mysql80 - - mysql57 - opensearch12 - redis # Allows attachment to the discovery service using 'docker attach '. @@ -339,7 +320,6 @@ services: - lms - memcached - mysql80 - - mysql57 # Allows attachment to the ecommerce service using 'docker attach '. stdin_open: true tty: true @@ -366,7 +346,6 @@ services: - elasticsearch710 - lms - mysql80 - - mysql57 image: edxops/edx-notes-api-dev:latest networks: default: @@ -480,7 +459,6 @@ services: - memcached - mongo - mysql80 - - mysql57 # Allows attachment to the LMS service using 'docker attach '. stdin_open: true tty: true @@ -516,7 +494,6 @@ services: hostname: lms-worker.devstack.edx depends_on: - mysql80 - - mysql57 - redis stdin_open: true tty: true @@ -533,7 +510,6 @@ services: depends_on: - analyticsapi - mysql80 - - mysql57 - lms - memcached # Allows attachment to the insights service using 'docker attach '. @@ -566,7 +542,6 @@ services: hostname: analyticsapi depends_on: - mysql80 - - mysql57 - elasticsearch710 command: bash -c 'source /edx/app/analytics_api/analytics_api_env && while true; do python /edx/app/analytics_api/analytics_api/manage.py runserver 0.0.0.0:19001 --settings analyticsdataserver.settings.devstack; sleep 2; done' stdin_open: true @@ -592,7 +567,6 @@ services: - discovery - lms - mysql80 - - mysql57 - memcached - redis - registrar-worker @@ -635,7 +609,6 @@ services: depends_on: - lms - mysql80 - - mysql57 - redis stdin_open: true tty: true @@ -674,7 +647,6 @@ services: - memcached - mongo - mysql80 - - mysql57 # Allows attachment to the CMS service using 'docker attach '. stdin_open: true tty: true @@ -710,7 +682,6 @@ services: hostname: cms-worker.devstack.edx depends_on: - mysql80 - - mysql57 - redis stdin_open: true tty: true @@ -745,7 +716,6 @@ services: - ${PWD}/configuration_files/xqueue.yml:/edx/etc/xqueue.yml depends_on: - mysql80 - - mysql57 environment: XQUEUE_CFG: "/edx/etc/xqueue.yml" networks: @@ -765,7 +735,6 @@ services: - ${PWD}/configuration_files/xqueue.yml:/edx/etc/xqueue.yml depends_on: - mysql80 - - mysql57 networks: default: aliases: @@ -1200,6 +1169,5 @@ volumes: mongo_data: mongo_config_data: opensearch12_data: - mysql57_data: mysql80_data: redis_data: diff --git a/options.mk b/options.mk index b1f4bb1..a09e983 100644 --- a/options.mk +++ b/options.mk @@ -90,4 +90,4 @@ credentials+cms+discovery+ecommerce+insights+lms+registrar # All third-party services. # Separated by plus signs. Listed in alphabetical order for clarity. THIRD_PARTY_SERVICES ?= \ -chrome+coursegraph+elasticsearch710+firefox+memcached+mongo+mysql57+mysql80+opensearch12+redis+namenode+datanode+resourcemanager+nodemanager+sparkmaster+sparkworker+vertica +chrome+coursegraph+elasticsearch710+firefox+memcached+mongo+mysql80+opensearch12+redis+namenode+datanode+resourcemanager+nodemanager+sparkmaster+sparkworker+vertica diff --git a/provision.sh b/provision.sh index 300d475..43a0ff9 100755 --- a/provision.sh +++ b/provision.sh @@ -127,7 +127,6 @@ fi echo -e "${GREEN}Will provision the following:\n ${to_provision_ordered}${NC}" # Bring the databases online. -docker compose up -d mysql57 docker compose up -d mysql80 if needs_mongo "$to_provision_ordered"; then docker compose up -d mongo @@ -135,13 +134,11 @@ fi # Ensure the MySQL server is online and usable echo -e "${GREEN}Waiting for MySQL.${NC}" -make dev.wait-for.mysql57+mysql80 +make dev.wait-for.mysql80 echo -e "${GREEN}MySQL is ready.${NC}" # Ensure that the MySQL databases and users are created for all IDAs. # (A no-op for databases and users that already exist). -echo -e "${GREEN}Ensuring MySQL 5.7 databases and users exist...${NC}" -docker compose exec -T mysql57 bash -e -c "mysql -uroot mysql" < provision.sql echo -e "${GREEN}Ensuring MySQL 8.0 databases and users exist...${NC}" docker compose exec -T mysql80 bash -e -c "mysql -uroot mysql" < provision-mysql80.sql