Skip to content

Commit ca136a6

Browse files
authored
fix: Make make quieter when printing container IDs (unbreak provisioning) (openedx-unsupported#766)
Provisioning was broken by commit d1edbe7/PR openedx-unsupported#758 because it introduced a second layer of make, which caused the now-inner make call to target `dev.print-container.%` to print debugging info that looked like `make[2]: Entering directory '/home/timmc/edx-repos/devstack'`. Calls to `dev.print-container.%` already used the `--silent` flag, which is correct to use here but is insufficient because it doesn't suppress printing of the current directory when a recursive make call is made. This commit adds `--no-print-directory` to all calls to that target as well as to the documented way to call the target. This was not caught by automated tests because they fail to set `-e` in bash; this will be addressed in a separate PR.
1 parent d1edbe7 commit ca136a6

7 files changed

Lines changed: 22 additions & 22 deletions

File tree

Makefile

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -253,18 +253,18 @@ dev.provision.%: ## Provision specified services.
253253
@scripts/send-metrics.py wrap "dev.provision.$*"
254254

255255
dev.backup: dev.up.mysql+mysql57+mongo+elasticsearch+elasticsearch7 ## Write all data volumes to the host.
256-
docker run --rm --volumes-from $$(make -s dev.print-container.mysql) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mysql.tar.gz /var/lib/mysql
257-
docker run --rm --volumes-from $$(make -s dev.print-container.mysql57) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mysql57.tar.gz /var/lib/mysql
258-
docker run --rm --volumes-from $$(make -s dev.print-container.mongo) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mongo.tar.gz /data/db
259-
docker run --rm --volumes-from $$(make -s dev.print-container.elasticsearch) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/elasticsearch.tar.gz /usr/share/elasticsearch/data
260-
docker run --rm --volumes-from $$(make -s dev.print-container.elasticsearch7) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/elasticsearch7.tar.gz /usr/share/elasticsearch/data
256+
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mysql.tar.gz /var/lib/mysql
257+
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
258+
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
259+
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/elasticsearch.tar.gz /usr/share/elasticsearch/data
260+
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch7) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/elasticsearch7.tar.gz /usr/share/elasticsearch/data
261261

262262
dev.restore: dev.up.mysql+mysql57+mongo+elasticsearch+elasticsearch7 ## Restore all data volumes from the host. WILL OVERWRITE ALL EXISTING DATA!
263-
docker run --rm --volumes-from $$(make -s dev.print-container.mysql) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mysql.tar.gz
264-
docker run --rm --volumes-from $$(make -s dev.print-container.mysql57) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mysql57.tar.gz
265-
docker run --rm --volumes-from $$(make -s dev.print-container.mongo) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mongo.tar.gz
266-
docker run --rm --volumes-from $$(make -s dev.print-container.elasticsearch) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/elasticsearch.tar.gz
267-
docker run --rm --volumes-from $$(make -s dev.print-container.elasticsearch7) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/elasticsearch7.tar.gz
263+
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mysql.tar.gz
264+
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
265+
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
266+
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/elasticsearch.tar.gz
267+
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch7) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/elasticsearch7.tar.gz
268268

269269
# List of Makefile targets to run database migrations, in the form dev.migrate.$(service)
270270
# Services will only have their migrations added here
@@ -354,7 +354,7 @@ dev.ps: ## View list of created services and their statuses.
354354
docker-compose ps
355355

356356
dev.print-container.%: ## Get the ID of the running container for a given service.
357-
@# Can be run as ``make --silent dev.print-container.$service`` for just ID.
357+
@# Can be run as ``make --silent --no-print-directory dev.print-container.$service`` for just ID.
358358
@echo $$(docker-compose ps --quiet $*)
359359

360360
dev.restart-container: ## Restart all service containers.
@@ -432,7 +432,7 @@ dev.logs.%: ## View the logs of the specified service container.
432432
dev.attach: _expects-service.dev.attach
433433

434434
dev.attach.%: ## Attach to the specified service container process for debugging & seeing logs.
435-
docker attach "$$(make --silent dev.print-container.$*)"
435+
docker attach "$$(make --silent --no-print-directory dev.print-container.$*)"
436436

437437
dev.shell: _expects-service.dev.shell
438438

Makefile.edx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dev.provision.whitelabel:
2424
# AND the test must be setup using the 'dev.provision.whitelabel' target.
2525
whitelabel-tests:
2626
docker run -d --name=devstack.whitelabel --network=${COMPOSE_PROJECT_NAME:-devstack}_default -v ${DEVSTACK_WORKSPACE}/edx-e2e-tests:/edx-e2e-tests -v ${DEVSTACK_WORKSPACE}/edx-platform:/edx-e2e-tests/lib/edx-platform --env-file ${DEVSTACK_WORKSPACE}/edx-e2e-tests/devstack_env edxops/e2e
27-
docker cp ${DEVSTACK_WORKSPACE}/edx-themes/edx-platform/run_whitelabel_tests.sh $(make --silent dev.print-container.devstack.whitelabel)":/tmp/run_whitelabel_tests.sh
27+
docker cp ${DEVSTACK_WORKSPACE}/edx-themes/edx-platform/run_whitelabel_tests.sh $(make --silent --no-print-directory dev.print-container.devstack.whitelabel)":/tmp/run_whitelabel_tests.sh
2828
docker exec -t devstack.whitelabel env TEST_ENV=devstack TERM=$(TERM) bash /tmp/run_whitelabel_tests.sh
2929

3030
whitelabel-cleanup:

in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ set -u
1717
service="$1"
1818
shift
1919

20-
container_id=$(make --silent dev.print-container."$service")
20+
container_id=$(make --silent --no-print-directory dev.print-container."$service")
2121
if [[ -z "$container_id" ]]; then
22-
make --silent dev.up."$service"
23-
container_id=$(make --silent dev.print-container."$service")
22+
make --silent --no-print-directory dev.up."$service"
23+
container_id=$(make --silent --no-print-directory dev.print-container."$service")
2424
fi
2525

2626
docker exec -it "$container_id" bash -c "$*"

load-db.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ then
1717
fi
1818

1919
echo "Loading the $1 database..."
20-
mysql_container=$(make -s dev.print-container.mysql57)
20+
mysql_container=$(make --silent --no-print-directory dev.print-container.mysql57)
2121
docker exec -i "$mysql_container" mysql -uroot $1 < $1.sql
2222
echo "Finished loading the $1 database!"

provision-e2e.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ elif [ ! -d "$DEVSTACK_WORKSPACE" ]; then
1010
fi
1111

1212
# Copy the test course tarball into the studio container
13-
docker cp ${DEVSTACK_WORKSPACE}/edx-e2e-tests/upload_files/course.tar.gz "$(make --silent dev.print-container.studio)":/tmp/
13+
docker cp ${DEVSTACK_WORKSPACE}/edx-e2e-tests/upload_files/course.tar.gz "$(make --silent --no-print-directory dev.print-container.studio)":/tmp/
1414

1515
# Extract the test course tarball
1616
docker-compose exec -T studio bash -c 'cd /tmp && tar xzf course.tar.gz'

update-dbs-init-sql-scripts.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ make dev.clone.ssh
2424
make dev.provision.services.lms+ecommerce
2525

2626
# dump schema and data from mysql databases in the mysql docker container and copy them to current directory in docker host
27-
MYSQL_DOCKER_CONTAINER="$(make --silent dev.print-container.mysql57)"
27+
MYSQL_DOCKER_CONTAINER="$(make --silent --no-print-directory dev.print-container.mysql57)"
2828
for DB_NAME in "${DBS[@]}"; do
2929
DB_CREATION_SQL_SCRIPT="${DB_NAME}.sql"
3030
if [[ " ${EDXAPP_DBS[@]} " =~ " ${DB_NAME} " ]]; then

upgrade_mongo_4_0.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export MONGO_VERSION=3.4.24
1111
current_mongo_version="3.4"
1212
echo -e "${GREEN}Sarting Mongo ${MONGO_VERSION}${NC}"
1313
make dev.up.mongo
14-
mongo_container="$(make -s dev.print-container.mongo)"
14+
mongo_container="$(make --silent --no-print-directory dev.print-container.mongo)"
1515

1616
echo -e "${GREEN}Waiting for MongoDB...${NC}"
1717
until docker exec "$mongo_container" mongo --eval 'db.serverStatus()' &> /dev/null
@@ -49,7 +49,7 @@ export MONGO_VERSION=3.6.17
4949
echo
5050
echo -e "${GREEN}Restarting Mongo on version ${MONGO_VERSION}${NC}"
5151
make dev.up.mongo
52-
mongo_container="$(make -s dev.print-container.mongo)"
52+
mongo_container="$(make --silent --no-print-directory dev.print-container.mongo)"
5353

5454
echo -e "${GREEN}Waiting for MongoDB...${NC}"
5555
until docker exec "$mongo_container" mongo --eval 'db.serverStatus()' &> /dev/null
@@ -78,7 +78,7 @@ export MONGO_VERSION=4.0.22
7878
echo
7979
echo -e "${GREEN}Restarting Mongo on version ${MONGO_VERSION}${NC}"
8080
make dev.up.mongo
81-
mongo_container="$(make -s dev.print-container.mongo)"
81+
mongo_container="$(make --silent --no-print-directory dev.print-container.mongo)"
8282

8383
echo -e "${GREEN}Waiting for MongoDB...${NC}"
8484
until docker exec "$mongo_container" mongo --eval 'db.serverStatus()' &> /dev/null

0 commit comments

Comments
 (0)