From 6b55faa54a0843ab93103c1e0acc060ae26975f9 Mon Sep 17 00:00:00 2001 From: Terence Date: Tue, 1 Sep 2020 15:29:41 +0800 Subject: [PATCH 1/5] Fix docker-compose test --- .github/workflows/master_only.yml | 2 +- infra/scripts/test-docker-compose.sh | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/master_only.yml b/.github/workflows/master_only.yml index eae6119e34..0774a2f6e5 100644 --- a/.github/workflows/master_only.yml +++ b/.github/workflows/master_only.yml @@ -64,4 +64,4 @@ jobs: steps: - uses: actions/checkout@v2 - name: Test docker compose - run: ./infra/scripts/test-docker-compose.sh + run: ./infra/scripts/test-docker-compose.sh ${GITHUB_SHA} diff --git a/infra/scripts/test-docker-compose.sh b/infra/scripts/test-docker-compose.sh index 0d6e99f860..28acd4d7b8 100755 --- a/infra/scripts/test-docker-compose.sh +++ b/infra/scripts/test-docker-compose.sh @@ -26,6 +26,11 @@ export COMPOSE_INTERACTIVE_NO_CLI=1 cd ${PROJECT_ROOT_DIR}/infra/docker-compose/ cp .env.sample .env +# Replace FEAST_VERSION with latest github image SHA +tmpfile=$(mktemp /tmp/docker-compose.XXXXXX) +FEAST_VERSION=$(grep FEAST_VERSION .env | cut -d '=' -f 2-) +sed "s|$FEAST_VERSION|$LATEST_GH_COMMIT_SHA|g" < .env > $tmpfile && mv $tmpfile .env + # Start Docker Compose containers docker-compose up -d From c092b700787fe099ee0afa1e4eb7cb1d3e8c6ef9 Mon Sep 17 00:00:00 2001 From: Terence Date: Wed, 2 Sep 2020 10:07:43 +0800 Subject: [PATCH 2/5] Address PR comments --- .github/workflows/complete.yml | 8 ++++++++ .github/workflows/master_only.yml | 7 ------- infra/scripts/test-docker-compose.sh | 6 +++--- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/complete.yml b/.github/workflows/complete.yml index 6c3bb2d087..8eec3b27c9 100644 --- a/.github/workflows/complete.yml +++ b/.github/workflows/complete.yml @@ -142,3 +142,11 @@ jobs: with: name: load-test-results path: load-test-output/ + + tests-docker-compose: + needs: build-push-docker-images + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Test docker compose + run: ./infra/scripts/test-docker-compose.sh ${GITHUB_SHA} diff --git a/.github/workflows/master_only.yml b/.github/workflows/master_only.yml index 0774a2f6e5..e812aeb162 100644 --- a/.github/workflows/master_only.yml +++ b/.github/workflows/master_only.yml @@ -58,10 +58,3 @@ jobs: docker push gcr.io/kf-feast/feast-${{ matrix.component }}:latest fi fi - - tests-docker-compose: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Test docker compose - run: ./infra/scripts/test-docker-compose.sh ${GITHUB_SHA} diff --git a/infra/scripts/test-docker-compose.sh b/infra/scripts/test-docker-compose.sh index 28acd4d7b8..34eab56adb 100755 --- a/infra/scripts/test-docker-compose.sh +++ b/infra/scripts/test-docker-compose.sh @@ -7,6 +7,7 @@ echo " Running Docker Compose tests with pytest at 'tests/e2e' ============================================================ " +LATEST_GH_COMMIT_SHA=$1 clean_up () { ARG=$? @@ -27,9 +28,8 @@ cd ${PROJECT_ROOT_DIR}/infra/docker-compose/ cp .env.sample .env # Replace FEAST_VERSION with latest github image SHA -tmpfile=$(mktemp /tmp/docker-compose.XXXXXX) -FEAST_VERSION=$(grep FEAST_VERSION .env | cut -d '=' -f 2-) -sed "s|$FEAST_VERSION|$LATEST_GH_COMMIT_SHA|g" < .env > $tmpfile && mv $tmpfile .env +export FEAST_VERSION=$LATEST_GH_COMMIT_SHA +echo "Testing docker-compose setup with version SHA, $FEAST_VERSION." # Start Docker Compose containers docker-compose up -d From af6a3d4769344f67eb1117a67ca1f1e11944a02a Mon Sep 17 00:00:00 2001 From: Terence Date: Wed, 2 Sep 2020 12:22:34 +0800 Subject: [PATCH 3/5] Fix docker-compose bash script --- infra/scripts/test-docker-compose.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/infra/scripts/test-docker-compose.sh b/infra/scripts/test-docker-compose.sh index 34eab56adb..9108750b0d 100755 --- a/infra/scripts/test-docker-compose.sh +++ b/infra/scripts/test-docker-compose.sh @@ -50,6 +50,12 @@ export FEAST_CORE_CONTAINER_IP_ADDRESS=$(docker inspect -f '{{range .NetworkSett # Wait for Feast Core to be ready ${PROJECT_ROOT_DIR}/infra/scripts/wait-for-it.sh ${FEAST_CORE_CONTAINER_IP_ADDRESS}:6565 --timeout=120 +# Get Feast Job Controller container IP address +export FEAST_JOB_CONTROLLER_CONTAINER_IP_ADDRESS=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' feast_jobcontroller_1) + +# Wait for Feast Job Controller to be ready +"${PROJECT_ROOT_DIR}"/infra/scripts/wait-for-it.sh ${FEAST_JOB_CONTROLLER_CONTAINER_IP_ADDRESS}:6570 --timeout=120 + # Get Feast Online Serving container IP address export FEAST_ONLINE_SERVING_CONTAINER_IP_ADDRESS=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' feast_online_serving_1) From 4916e8ceecd6748f39c1b2fb3b6605a30b205aaa Mon Sep 17 00:00:00 2001 From: Terence Date: Wed, 2 Sep 2020 12:55:32 +0800 Subject: [PATCH 4/5] Update flag --- infra/scripts/test-docker-compose.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infra/scripts/test-docker-compose.sh b/infra/scripts/test-docker-compose.sh index 9108750b0d..35e1593dd6 100755 --- a/infra/scripts/test-docker-compose.sh +++ b/infra/scripts/test-docker-compose.sh @@ -63,4 +63,4 @@ export FEAST_ONLINE_SERVING_CONTAINER_IP_ADDRESS=$(docker inspect -f '{{range .N ${PROJECT_ROOT_DIR}/infra/scripts/wait-for-it.sh ${FEAST_ONLINE_SERVING_CONTAINER_IP_ADDRESS}:6566 --timeout=120 # Run e2e tests for Redis -docker exec feast_jupyter_1 bash -c 'cd /feast/tests/e2e/redis && pytest --verbose -rs basic-ingest-redis-serving.py --core_url core:6565 --serving_url=online_serving:6566 --kafka_brokers=kafka:9092' +docker exec feast_jupyter_1 bash -c 'cd /feast/tests/e2e/redis && pytest --verbose -rs basic-ingest-redis-serving.py --core_url core:6565 --serving_url=online_serving:6566 --jobcontroller_url=jobcontroller:6570 --kafka_brokers=kafka:9092' From e0225acd5a6c13cd8ac2a5a2aefc59e8b9c6e66c Mon Sep 17 00:00:00 2001 From: Terence Date: Wed, 2 Sep 2020 15:47:18 +0800 Subject: [PATCH 5/5] Update polling interval --- infra/docker-compose/jobcontroller/jobcontroller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infra/docker-compose/jobcontroller/jobcontroller.yml b/infra/docker-compose/jobcontroller/jobcontroller.yml index 4d28d62f8c..a8be1f7b6c 100644 --- a/infra/docker-compose/jobcontroller/jobcontroller.yml +++ b/infra/docker-compose/jobcontroller/jobcontroller.yml @@ -1,7 +1,7 @@ feast: core-host: core jobs: - polling_interval_milliseconds: 20000 + polling_interval_milliseconds: 10000 job_update_timeout_seconds: 240 active_runner: direct runners: