mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-07 01:28:27 +08:00
enhance: use docker compose instead of docker-compose (#35208)
https://github.com/milvus-io/milvus/issues/35209 --------- Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
This commit is contained in:
parent
b99a554827
commit
241c71fdde
20
.github/workflows/deploy-test.yaml
vendored
20
.github/workflows/deploy-test.yaml
vendored
@ -102,9 +102,9 @@ jobs:
|
|||||||
wget https://github.com/milvus-io/milvus/releases/download/${{ env.PREVIOUS_RELEASE_VERSION }}/milvus-${{ matrix.mode }}-docker-compose.yml -O docker-compose.yml;
|
wget https://github.com/milvus-io/milvus/releases/download/${{ env.PREVIOUS_RELEASE_VERSION }}/milvus-${{ matrix.mode }}-docker-compose.yml -O docker-compose.yml;
|
||||||
replace_image_tag ${{ env.OLD_IMAGE_REPO }} ${{ env.OLD_IMAGE_TAG }};
|
replace_image_tag ${{ env.OLD_IMAGE_REPO }} ${{ env.OLD_IMAGE_TAG }};
|
||||||
fi
|
fi
|
||||||
docker-compose up -d
|
docker compose up -d
|
||||||
bash ../check_healthy.sh
|
bash ../check_healthy.sh
|
||||||
docker-compose ps -a
|
docker compose ps -a
|
||||||
sleep 10s
|
sleep 10s
|
||||||
- name: Run first test
|
- name: Run first test
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
@ -130,7 +130,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
working-directory: tests/python_client/deploy/${{ matrix.mode }}
|
working-directory: tests/python_client/deploy/${{ matrix.mode }}
|
||||||
run: |
|
run: |
|
||||||
docker-compose ps -a || true
|
docker compose ps -a || true
|
||||||
mkdir -p logs/first_deploy
|
mkdir -p logs/first_deploy
|
||||||
bash ../../../scripts/export_log_docker.sh ./logs/first_deploy || echo "export logs failed"
|
bash ../../../scripts/export_log_docker.sh ./logs/first_deploy || echo "export logs failed"
|
||||||
- name: Second Milvus deployment
|
- name: Second Milvus deployment
|
||||||
@ -140,15 +140,15 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
source ../utils.sh
|
source ../utils.sh
|
||||||
if [ ${{ matrix.task }} == "reinstall" ]; then
|
if [ ${{ matrix.task }} == "reinstall" ]; then
|
||||||
docker-compose restart
|
docker compose restart
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.task }} == "upgrade" ]; then
|
if [ ${{ matrix.task }} == "upgrade" ]; then
|
||||||
wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/${{ matrix.mode }}/docker-compose.yml -O docker-compose.yml;
|
wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/${{ matrix.mode }}/docker-compose.yml -O docker-compose.yml;
|
||||||
replace_image_tag ${{ env.NEW_IMAGE_REPO }} ${{ env.NEW_IMAGE_TAG }};
|
replace_image_tag ${{ env.NEW_IMAGE_REPO }} ${{ env.NEW_IMAGE_TAG }};
|
||||||
docker-compose up -d;
|
docker compose up -d;
|
||||||
fi
|
fi
|
||||||
bash ../check_healthy.sh
|
bash ../check_healthy.sh
|
||||||
docker-compose ps -a
|
docker compose ps -a
|
||||||
|
|
||||||
echo "sleep 120s for the second deployment to be ready"
|
echo "sleep 120s for the second deployment to be ready"
|
||||||
sleep 120s
|
sleep 120s
|
||||||
@ -169,7 +169,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
working-directory: tests/python_client/deploy/${{ matrix.mode }}
|
working-directory: tests/python_client/deploy/${{ matrix.mode }}
|
||||||
run: |
|
run: |
|
||||||
docker-compose ps -a || true
|
docker compose ps -a || true
|
||||||
mkdir -p logs/second_deploy
|
mkdir -p logs/second_deploy
|
||||||
bash ../../../scripts/export_log_docker.sh ./logs/second_deploy || echo "export logs failed"
|
bash ../../../scripts/export_log_docker.sh ./logs/second_deploy || echo "export logs failed"
|
||||||
|
|
||||||
@ -181,9 +181,9 @@ jobs:
|
|||||||
echo "restart docker service"
|
echo "restart docker service"
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
sleep 20s
|
sleep 20s
|
||||||
docker-compose up -d
|
docker compose up -d
|
||||||
bash ../check_healthy.sh
|
bash ../check_healthy.sh
|
||||||
docker-compose ps -a
|
docker compose ps -a
|
||||||
|
|
||||||
echo "sleep 120s for the deployment to be ready after docker restart"
|
echo "sleep 120s for the deployment to be ready after docker restart"
|
||||||
sleep 120s
|
sleep 120s
|
||||||
@ -206,7 +206,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
working-directory: tests/python_client/deploy/${{ matrix.mode }}
|
working-directory: tests/python_client/deploy/${{ matrix.mode }}
|
||||||
run: |
|
run: |
|
||||||
docker-compose ps -a || true
|
docker compose ps -a || true
|
||||||
mkdir -p logs/second_deploy
|
mkdir -p logs/second_deploy
|
||||||
bash ../../../scripts/export_log_docker.sh ./logs/third_deploy || echo "export logs failed"
|
bash ../../../scripts/export_log_docker.sh ./logs/third_deploy || echo "export logs failed"
|
||||||
|
|
||||||
|
|||||||
6
.github/workflows/main.yaml
vendored
6
.github/workflows/main.yaml
vendored
@ -141,7 +141,7 @@ jobs:
|
|||||||
- name: Start Service
|
- name: Start Service
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
docker-compose up -d azurite
|
docker compose up -d azurite
|
||||||
- name: UT
|
- name: UT
|
||||||
run: |
|
run: |
|
||||||
chmod +x build/builder.sh
|
chmod +x build/builder.sh
|
||||||
@ -193,7 +193,7 @@ jobs:
|
|||||||
- name: Start Service
|
- name: Start Service
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
docker-compose up -d pulsar etcd minio azurite
|
docker compose up -d pulsar etcd minio azurite
|
||||||
- name: UT
|
- name: UT
|
||||||
run: |
|
run: |
|
||||||
chmod +x build/builder.sh
|
chmod +x build/builder.sh
|
||||||
@ -245,7 +245,7 @@ jobs:
|
|||||||
- name: Start Service
|
- name: Start Service
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
docker-compose up -d pulsar etcd minio
|
docker compose up -d pulsar etcd minio
|
||||||
- name: IntegrationTest
|
- name: IntegrationTest
|
||||||
run: |
|
run: |
|
||||||
chmod +x build/builder.sh
|
chmod +x build/builder.sh
|
||||||
|
|||||||
10
.github/workflows/publish-test-images.yaml
vendored
10
.github/workflows/publish-test-images.yaml
vendored
@ -39,14 +39,14 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
working-directory: tests/docker
|
working-directory: tests/docker
|
||||||
run: |
|
run: |
|
||||||
docker-compose pull --ignore-pull-failures pytest
|
docker compose pull pytest
|
||||||
- name: Docker Build
|
- name: Docker Build
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: tests/docker
|
working-directory: tests/docker
|
||||||
run: |
|
run: |
|
||||||
IMAGE_TAG=${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} docker-compose build pytest
|
IMAGE_TAG=${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} docker compose build pytest
|
||||||
export LATEST_IMAGE_TAG=${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }}
|
export LATEST_IMAGE_TAG=${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }}
|
||||||
IMAGE_TAG=latest docker-compose build pytest
|
IMAGE_TAG=latest docker compose build pytest
|
||||||
- name: Docker Push
|
- name: Docker Push
|
||||||
if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus'
|
if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus'
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
@ -55,8 +55,8 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
docker login -u ${{ secrets.DOCKERHUB_USER }} \
|
docker login -u ${{ secrets.DOCKERHUB_USER }} \
|
||||||
-p ${{ secrets.DOCKERHUB_TOKEN }}
|
-p ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
IMAGE_TAG=${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} docker-compose push pytest
|
IMAGE_TAG=${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }} docker compose push pytest
|
||||||
IMAGE_TAG=latest docker-compose push pytest
|
IMAGE_TAG=latest docker compose push pytest
|
||||||
echo "Push pytest image Succeeded"
|
echo "Push pytest image Succeeded"
|
||||||
- name: Update Pytest Image Changes
|
- name: Update Pytest Image Changes
|
||||||
if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus'
|
if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus'
|
||||||
|
|||||||
@ -389,7 +389,7 @@ For Apple Silicon users (Apple M1):
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ cd deployments/docker/dev
|
$ cd deployments/docker/dev
|
||||||
$ docker-compose -f docker-compose-apple-silicon.yml up -d
|
$ docker compose -f docker-compose-apple-silicon.yml up -d
|
||||||
$ cd ../../../
|
$ cd ../../../
|
||||||
$ make unittest
|
$ make unittest
|
||||||
```
|
```
|
||||||
@ -398,7 +398,7 @@ For others:
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ cd deployments/docker/dev
|
$ cd deployments/docker/dev
|
||||||
$ docker-compose up -d
|
$ docker compose up -d
|
||||||
$ cd ../../../
|
$ cd ../../../
|
||||||
$ make unittest
|
$ make unittest
|
||||||
```
|
```
|
||||||
@ -467,13 +467,13 @@ Milvus Cluster includes further component — Pulsar, to be distributed through
|
|||||||
```shell
|
```shell
|
||||||
# Running Milvus cluster
|
# Running Milvus cluster
|
||||||
$ cd deployments/docker/dev
|
$ cd deployments/docker/dev
|
||||||
$ docker-compose up -d
|
$ docker compose up -d
|
||||||
$ cd ../../../
|
$ cd ../../../
|
||||||
$ ./scripts/start_cluster.sh
|
$ ./scripts/start_cluster.sh
|
||||||
|
|
||||||
# Or running Milvus standalone
|
# Or running Milvus standalone
|
||||||
$ cd deployments/docker/dev
|
$ cd deployments/docker/dev
|
||||||
$ docker-compose up -d
|
$ docker compose up -d
|
||||||
$ cd ../../../
|
$ cd ../../../
|
||||||
$ ./scripts/start_standalone.sh
|
$ ./scripts/start_standalone.sh
|
||||||
```
|
```
|
||||||
|
|||||||
@ -95,7 +95,7 @@ Creating milvus_builder_1 ... done
|
|||||||
Check running state of Dev Container:
|
Check running state of Dev Container:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker-compose -f docker-compose-devcontainer.yml ps
|
$ docker compose -f docker-compose-devcontainer.yml ps
|
||||||
|
|
||||||
Name Command State Ports
|
Name Command State Ports
|
||||||
---------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------
|
||||||
@ -135,7 +135,7 @@ Milvus uses Python SDK to write test cases to verify the correctness of Milvus f
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd deployments/docker/dev
|
cd deployments/docker/dev
|
||||||
docker-compose up -d
|
docker compose up -d
|
||||||
cd ../../../
|
cd ../../../
|
||||||
build/builder.sh /bin/bash -c "export ROCKSMQ_PATH='/tmp/milvus/rdb_data' && ./scripts/start_standalone.sh && cat"
|
build/builder.sh /bin/bash -c "export ROCKSMQ_PATH='/tmp/milvus/rdb_data' && ./scripts/start_standalone.sh && cat"
|
||||||
```
|
```
|
||||||
@ -149,9 +149,9 @@ build/builder.sh /bin/bash -c "./scripts/start_cluster.sh && cat"
|
|||||||
To run E2E tests, use these commands:
|
To run E2E tests, use these commands:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
MILVUS_SERVICE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker-compose ps -q builder))
|
MILVUS_SERVICE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker compose ps -q builder))
|
||||||
cd tests/docker
|
cd tests/docker
|
||||||
docker-compose run --rm pytest /bin/bash -c "pytest --host ${MILVUS_SERVICE_IP}"
|
docker compose run --rm pytest /bin/bash -c "pytest --host ${MILVUS_SERVICE_IP}"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Basic Flow
|
## Basic Flow
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
source ./build/util.sh
|
||||||
|
|
||||||
# Absolute path to the toplevel milvus directory.
|
# Absolute path to the toplevel milvus directory.
|
||||||
toplevel=$(dirname "$(cd "$(dirname "${0}")"; pwd)")
|
toplevel=$(dirname "$(cd "$(dirname "${0}")"; pwd)")
|
||||||
|
|
||||||
@ -18,12 +20,12 @@ fi
|
|||||||
pushd "${toplevel}"
|
pushd "${toplevel}"
|
||||||
|
|
||||||
if [[ "${1-}" == "pull" ]]; then
|
if [[ "${1-}" == "pull" ]]; then
|
||||||
docker-compose pull --ignore-pull-failures builder
|
$DOCKER_COMPOSE_COMMAND pull builder
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${1-}" == "down" ]]; then
|
if [[ "${1-}" == "down" ]]; then
|
||||||
docker-compose down
|
$DOCKER_COMPOSE_COMMAND down
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -37,11 +39,11 @@ mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-vscode-ex
|
|||||||
mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-conan"
|
mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-conan"
|
||||||
chmod -R 777 "${DOCKER_VOLUME_DIRECTORY:-.docker}"
|
chmod -R 777 "${DOCKER_VOLUME_DIRECTORY:-.docker}"
|
||||||
|
|
||||||
docker-compose pull --ignore-pull-failures builder
|
$DOCKER_COMPOSE_COMMAND pull builder
|
||||||
if [[ "${CHECK_BUILDER:-}" == "1" ]]; then
|
if [[ "${CHECK_BUILDER:-}" == "1" ]]; then
|
||||||
docker-compose build builder
|
$DOCKER_COMPOSE_COMMAND build builder
|
||||||
fi
|
fi
|
||||||
|
|
||||||
docker-compose run --no-deps --rm builder "$@"
|
$DOCKER_COMPOSE_COMMAND run --no-deps --rm builder "$@"
|
||||||
|
|
||||||
popd
|
popd
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
source ./build/util.sh
|
||||||
|
|
||||||
# Absolute path to the toplevel milvus directory.
|
# Absolute path to the toplevel milvus directory.
|
||||||
toplevel=$(dirname "$(cd "$(dirname "${0}")"; pwd)")
|
toplevel=$(dirname "$(cd "$(dirname "${0}")"; pwd)")
|
||||||
|
|
||||||
@ -14,12 +16,12 @@ export OS_NAME="${OS_NAME:-ubuntu22.04}"
|
|||||||
pushd "${toplevel}"
|
pushd "${toplevel}"
|
||||||
|
|
||||||
if [[ "${1-}" == "pull" ]]; then
|
if [[ "${1-}" == "pull" ]]; then
|
||||||
docker-compose pull --ignore-pull-failures gpubuilder
|
$DOCKER_COMPOSE_COMMAND pull gpubuilder
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${1-}" == "down" ]]; then
|
if [[ "${1-}" == "down" ]]; then
|
||||||
docker-compose down
|
$DOCKER_COMPOSE_COMMAND down
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -42,15 +44,15 @@ mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker-gpu}/amd64-${OS_NAME}-vscode-extens
|
|||||||
mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker-gpu}/amd64-${OS_NAME}-conan"
|
mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker-gpu}/amd64-${OS_NAME}-conan"
|
||||||
chmod -R 777 "${DOCKER_VOLUME_DIRECTORY:-.docker-gpu}"
|
chmod -R 777 "${DOCKER_VOLUME_DIRECTORY:-.docker-gpu}"
|
||||||
|
|
||||||
docker-compose pull --ignore-pull-failures gpubuilder
|
docker compose pull gpubuilder
|
||||||
if [[ "${CHECK_BUILDER:-}" == "1" ]]; then
|
if [[ "${CHECK_BUILDER:-}" == "1" ]]; then
|
||||||
docker-compose build gpubuilder
|
$DOCKER_COMPOSE_COMMAND build gpubuilder
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$(id -u)" != "0" ]]; then
|
if [[ "$(id -u)" != "0" ]]; then
|
||||||
docker-compose run --no-deps --rm -u "$uid:$gid" gpubuilder "$@"
|
$DOCKER_COMPOSE_COMMAND run --no-deps --rm -u "$uid:$gid" gpubuilder "$@"
|
||||||
else
|
else
|
||||||
docker-compose run --no-deps --rm gpubuilder "$@"
|
$DOCKER_COMPOSE_COMMAND run --no-deps --rm gpubuilder "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
popd
|
popd
|
||||||
|
|||||||
14
build/util.sh
Normal file
14
build/util.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
# Function to check if a command exists
|
||||||
|
command_exists() {
|
||||||
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if docker-compose exists
|
||||||
|
if command_exists docker-compose; then
|
||||||
|
echo "Using docker-compose"
|
||||||
|
DOCKER_COMPOSE_COMMAND="docker-compose"
|
||||||
|
else
|
||||||
|
echo "Using docker compose"
|
||||||
|
DOCKER_COMPOSE_COMMAND="docker compose"
|
||||||
|
fi
|
||||||
@ -8,7 +8,7 @@ For better tracking and debugging Milvus, the script `export-milvus-log.sh` is p
|
|||||||
>
|
>
|
||||||
>For milvus installed with helm-chart, if `log.persistence.enabled` is set to true (default false), the tool cannot be used to export milvus logs and the log files can be found directly under the path specified by `log.persistence.mountPath`.
|
>For milvus installed with helm-chart, if `log.persistence.enabled` is set to true (default false), the tool cannot be used to export milvus logs and the log files can be found directly under the path specified by `log.persistence.mountPath`.
|
||||||
>
|
>
|
||||||
> For Milvus installed with docker-compose, you can use `docker-compose logs > milvus.log` to export the logs.
|
> For Milvus installed with docker-compose, you can use `docker compose logs > milvus.log` to export the logs.
|
||||||
|
|
||||||
## Parameter Description
|
## Parameter Description
|
||||||
|
|
||||||
|
|||||||
@ -71,7 +71,7 @@ $ for image in $(find . -type f -wholename "./images/*.tar.gz") ; do gunzip -c $
|
|||||||
### With Docker Compose
|
### With Docker Compose
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker-compose -f docker-compose.yml up -d
|
$ docker compose -f docker-compose.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### On Kubernetes
|
### On Kubernetes
|
||||||
@ -85,7 +85,7 @@ $ kubectl apply -f milvus_manifest.yaml
|
|||||||
### With Docker Compose
|
### With Docker Compose
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker-compose -f docker-compose.yml down
|
$ docker compose -f docker-compose.yml down
|
||||||
```
|
```
|
||||||
|
|
||||||
### On Kubernetes
|
### On Kubernetes
|
||||||
|
|||||||
@ -67,6 +67,7 @@ $ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docke
|
|||||||
$ sudo chmod +x /usr/local/bin/docker-compose
|
$ sudo chmod +x /usr/local/bin/docker-compose
|
||||||
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||||
$ docker-compose --version
|
$ docker-compose --version
|
||||||
|
$ docker compose --version
|
||||||
```
|
```
|
||||||
|
|
||||||
## Start service
|
## Start service
|
||||||
@ -76,6 +77,7 @@ Start third-party service:
|
|||||||
```shell
|
```shell
|
||||||
$ cd [milvus project path]/deployments/docker/cluster
|
$ cd [milvus project path]/deployments/docker/cluster
|
||||||
$ docker-compose up -d
|
$ docker-compose up -d
|
||||||
|
$ docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Start milvus cluster:
|
Start milvus cluster:
|
||||||
|
|||||||
@ -75,20 +75,20 @@ mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker}/amd64-${OS_NAME}-conan"
|
|||||||
chmod -R 777 "${DOCKER_VOLUME_DIRECTORY:-.docker}"
|
chmod -R 777 "${DOCKER_VOLUME_DIRECTORY:-.docker}"
|
||||||
|
|
||||||
if [ "${1-}" = "build" ];then
|
if [ "${1-}" = "build" ];then
|
||||||
docker-compose -f $ROOT_DIR/docker-compose-devcontainer.yml pull --ignore-pull-failures builder
|
docker compose -f $ROOT_DIR/docker-compose-devcontainer.yml pull builder
|
||||||
docker-compose -f $ROOT_DIR/docker-compose-devcontainer.yml build builder
|
docker compose -f $ROOT_DIR/docker-compose-devcontainer.yml build builder
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${1-}" = "up" ]; then
|
if [ "${1-}" = "up" ]; then
|
||||||
docker-compose -f $ROOT_DIR/docker-compose-devcontainer.yml up -d $(docker-compose config --services | grep -wv "gpubuilder")
|
docker compose -f $ROOT_DIR/docker-compose-devcontainer.yml up -d $(docker compose config --services | grep -wv "gpubuilder")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${1-}" = "down" ]; then
|
if [ "${1-}" = "down" ]; then
|
||||||
docker-compose -f $ROOT_DIR/docker-compose-devcontainer.yml down
|
docker compose -f $ROOT_DIR/docker-compose-devcontainer.yml down
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${1-}" = "gpu" -a "${2-}" = "up" ]; then
|
if [ "${1-}" = "gpu" -a "${2-}" = "up" ]; then
|
||||||
docker-compose -f $ROOT_DIR/docker-compose-devcontainer.yml up -d $(docker-compose config --services | grep -wv "builder")
|
docker compose -f $ROOT_DIR/docker-compose-devcontainer.yml up -d $(docker compose config --services | grep -wv "builder")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
popd
|
popd
|
||||||
@ -17,28 +17,28 @@
|
|||||||
cd ../build/docker/deploy/
|
cd ../build/docker/deploy/
|
||||||
|
|
||||||
echo "starting rootcoord docker"
|
echo "starting rootcoord docker"
|
||||||
nohup docker-compose -p milvus up rootcoord > ~/rootcoord_docker.log 2>&1 &
|
nohup docker compose -p milvus up rootcoord > ~/rootcoord_docker.log 2>&1 &
|
||||||
|
|
||||||
echo "starting proxy docker"
|
echo "starting proxy docker"
|
||||||
nohup docker-compose -p milvus up proxy > ~/proxy_docker.log 2>&1 &
|
nohup docker compose -p milvus up proxy > ~/proxy_docker.log 2>&1 &
|
||||||
|
|
||||||
echo "starting indexcoord docker"
|
echo "starting indexcoord docker"
|
||||||
nohup docker-compose -p milvus up indexcoord > ~/indexcoord_docker.log 2>&1 &
|
nohup docker compose -p milvus up indexcoord > ~/indexcoord_docker.log 2>&1 &
|
||||||
|
|
||||||
echo "starting indexnode docker"
|
echo "starting indexnode docker"
|
||||||
nohup docker-compose -p milvus up indexnode > ~/indexnode_docker.log 2>&1 &
|
nohup docker compose -p milvus up indexnode > ~/indexnode_docker.log 2>&1 &
|
||||||
|
|
||||||
echo "starting querycoord docker"
|
echo "starting querycoord docker"
|
||||||
nohup docker-compose -p milvus up querycoord > ~/querycoord_docker.log 2>&1 &
|
nohup docker compose -p milvus up querycoord > ~/querycoord_docker.log 2>&1 &
|
||||||
|
|
||||||
echo "starting datacoord docker"
|
echo "starting datacoord docker"
|
||||||
nohup docker-compose -p milvus up datacoord > ~/datacoord_docker.log 2>&1 &
|
nohup docker compose -p milvus up datacoord > ~/datacoord_docker.log 2>&1 &
|
||||||
|
|
||||||
echo "starting querynode1 docker"
|
echo "starting querynode1 docker"
|
||||||
nohup docker-compose -p milvus run -e QUERY_NODE_ID=1 querynode > ~/querynode1_docker.log 2>&1 &
|
nohup docker compose -p milvus run -e QUERY_NODE_ID=1 querynode > ~/querynode1_docker.log 2>&1 &
|
||||||
|
|
||||||
echo "starting querynode2 docker"
|
echo "starting querynode2 docker"
|
||||||
nohup docker-compose -p milvus run -e QUERY_NODE_ID=2 querynode > ~/querynode2_docker.log 2>&1 &
|
nohup docker compose -p milvus run -e QUERY_NODE_ID=2 querynode > ~/querynode2_docker.log 2>&1 &
|
||||||
|
|
||||||
echo "starting datanode docker"
|
echo "starting datanode docker"
|
||||||
nohup docker-compose -p milvus run -e DATA_NODE_ID=3 datanode > ~/datanode_docker.log 2>&1 &
|
nohup docker compose -p milvus run -e DATA_NODE_ID=3 datanode > ~/datanode_docker.log 2>&1 &
|
||||||
|
|||||||
@ -49,9 +49,9 @@ $ docker info
|
|||||||
2. Check the version of Docker-Compose
|
2. Check the version of Docker-Compose
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker-compose version
|
$ docker compose version
|
||||||
|
|
||||||
docker-compose version 1.25.5, build 8a1c60f6
|
docker compose version 1.25.5, build 8a1c60f6
|
||||||
docker-py version: 4.1.0
|
docker-py version: 4.1.0
|
||||||
CPython version: 3.7.5
|
CPython version: 3.7.5
|
||||||
OpenSSL version: OpenSSL 1.1.1f 31 Mar 2020
|
OpenSSL version: OpenSSL 1.1.1f 31 Mar 2020
|
||||||
|
|||||||
@ -49,9 +49,9 @@ $ docker info
|
|||||||
2. 确认 Docker Compose 版本
|
2. 确认 Docker Compose 版本
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker-compose version
|
$ docker compose version
|
||||||
|
|
||||||
docker-compose version 1.25.5, build 8a1c60f6
|
docker compose version 1.25.5, build 8a1c60f6
|
||||||
docker-py version: 4.1.0
|
docker-py version: 4.1.0
|
||||||
CPython version: 3.7.5
|
CPython version: 3.7.5
|
||||||
OpenSSL version: OpenSSL 1.1.1f 31 Mar 2020
|
OpenSSL version: OpenSSL 1.1.1f 31 Mar 2020
|
||||||
|
|||||||
@ -7,7 +7,7 @@ This folder contains the integration test for Milvus components.
|
|||||||
Integration test still need some thirdparty components to start:
|
Integration test still need some thirdparty components to start:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd [milvus-folder]/deployments/docker/dev && docker-compose up -d
|
cd [milvus-folder]/deployments/docker/dev && docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Run following script to start the full integration test:
|
Run following script to start the full integration test:
|
||||||
|
|||||||
@ -59,7 +59,7 @@ $ bash run.sh -p ${Password}
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Integrate deploy test into CI
|
## Integrate deploy test into CI
|
||||||
Provides a way to periodically run docker-compose deployment tests through GitHub action:[deploy-test](https://github.com/milvus-io/milvus/blob/master/.github/workflows/deploy-test.yaml)
|
Provides a way to periodically run docker compose deployment tests through GitHub action:[deploy-test](https://github.com/milvus-io/milvus/blob/master/.github/workflows/deploy-test.yaml)
|
||||||
|
|
||||||
- [x] Parallel testing for four deployment scenarios
|
- [x] Parallel testing for four deployment scenarios
|
||||||
- [x] Upload logs to artifacts for further debug
|
- [x] Upload logs to artifacts for further debug
|
||||||
|
|||||||
@ -4,8 +4,8 @@
|
|||||||
function check_healthy {
|
function check_healthy {
|
||||||
Expect=$(yq '.services | length' 'docker-compose.yml')
|
Expect=$(yq '.services | length' 'docker-compose.yml')
|
||||||
Expect_health=$(yq '.services' 'docker-compose.yml' |grep 'healthcheck'|wc -l)
|
Expect_health=$(yq '.services' 'docker-compose.yml' |grep 'healthcheck'|wc -l)
|
||||||
cnt=$(docker-compose ps | grep -E "running|Running|Up|up" | wc -l)
|
cnt=$(docker compose ps | grep -E "running|Running|Up|up" | wc -l)
|
||||||
healthy=$(docker-compose ps | grep "healthy" | wc -l)
|
healthy=$(docker compose ps | grep "healthy" | wc -l)
|
||||||
time_cnt=0
|
time_cnt=0
|
||||||
echo "running num $cnt expect num $Expect"
|
echo "running num $cnt expect num $Expect"
|
||||||
echo "healthy num $healthy expect num $Expect_health"
|
echo "healthy num $healthy expect num $Expect_health"
|
||||||
@ -20,8 +20,8 @@ function check_healthy {
|
|||||||
printf "timeout,there are some issues with deployment!"
|
printf "timeout,there are some issues with deployment!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cnt=$(docker-compose ps | grep -E "running|Running|Up|up" | wc -l)
|
cnt=$(docker compose ps | grep -E "running|Running|Up|up" | wc -l)
|
||||||
healthy=$(docker-compose ps | grep "healthy" | wc -l)
|
healthy=$(docker compose ps | grep "healthy" | wc -l)
|
||||||
echo "running num $cnt expect num $Expect"
|
echo "running num $cnt expect num $Expect"
|
||||||
echo "healthy num $healthy expect num $Expect_health"
|
echo "healthy num $healthy expect num $Expect_health"
|
||||||
done
|
done
|
||||||
|
|||||||
@ -42,7 +42,7 @@ done
|
|||||||
|
|
||||||
ROOT_FOLDER=$(cd "$(dirname "$0")";pwd)
|
ROOT_FOLDER=$(cd "$(dirname "$0")";pwd)
|
||||||
|
|
||||||
# to export docker-compose logs before exit
|
# to export docker compose logs before exit
|
||||||
function error_exit {
|
function error_exit {
|
||||||
pushd ${ROOT_FOLDER}/${Deploy_Dir}
|
pushd ${ROOT_FOLDER}/${Deploy_Dir}
|
||||||
echo "test failed"
|
echo "test failed"
|
||||||
@ -51,8 +51,8 @@ function error_exit {
|
|||||||
then
|
then
|
||||||
mkdir logs
|
mkdir logs
|
||||||
fi
|
fi
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
docker-compose logs > ./logs/${Deploy_Dir}-${Task}-${current}.log 2>&1
|
docker compose logs > ./logs/${Deploy_Dir}-${Task}-${current}.log 2>&1
|
||||||
echo "log saved to $(pwd)/logs/${Deploy_Dir}-${Task}-${current}.log"
|
echo "log saved to $(pwd)/logs/${Deploy_Dir}-${Task}-${current}.log"
|
||||||
popd
|
popd
|
||||||
exit 1
|
exit 1
|
||||||
@ -75,8 +75,8 @@ function replace_image_tag {
|
|||||||
|
|
||||||
#to check containers all running and minio is healthy
|
#to check containers all running and minio is healthy
|
||||||
function check_healthy {
|
function check_healthy {
|
||||||
cnt=$(docker-compose ps | grep -E "running|Running|Up|up" | wc -l)
|
cnt=$(docker compose ps | grep -E "running|Running|Up|up" | wc -l)
|
||||||
healthy=$(docker-compose ps | grep "healthy" | wc -l)
|
healthy=$(docker compose ps | grep "healthy" | wc -l)
|
||||||
time_cnt=0
|
time_cnt=0
|
||||||
echo "running num $cnt expect num $Expect"
|
echo "running num $cnt expect num $Expect"
|
||||||
echo "healthy num $healthy expect num $Expect_health"
|
echo "healthy num $healthy expect num $Expect_health"
|
||||||
@ -91,8 +91,8 @@ function check_healthy {
|
|||||||
printf "timeout,there are some issue with deployment!"
|
printf "timeout,there are some issue with deployment!"
|
||||||
error_exit
|
error_exit
|
||||||
fi
|
fi
|
||||||
cnt=$(docker-compose ps | grep -E "running|Running|Up|up" | wc -l)
|
cnt=$(docker compose ps | grep -E "running|Running|Up|up" | wc -l)
|
||||||
healthy=$(docker-compose ps | grep "healthy" | wc -l)
|
healthy=$(docker compose ps | grep "healthy" | wc -l)
|
||||||
echo "running num $cnt expect num $Expect"
|
echo "running num $cnt expect num $Expect"
|
||||||
echo "healthy num $healthy expect num $Expect_health"
|
echo "healthy num $healthy expect num $Expect_health"
|
||||||
done
|
done
|
||||||
@ -129,14 +129,14 @@ pushd ${Deploy_Dir}
|
|||||||
wget https://github.com/milvus-io/milvus/releases/download/${latest_rc_tag}/milvus-${Mode}-docker-compose.yml -O docker-compose.yml
|
wget https://github.com/milvus-io/milvus/releases/download/${latest_rc_tag}/milvus-${Mode}-docker-compose.yml -O docker-compose.yml
|
||||||
ls
|
ls
|
||||||
# clean env to deploy a fresh milvus
|
# clean env to deploy a fresh milvus
|
||||||
docker-compose down
|
docker compose down
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
echo "$pw"| sudo -S rm -rf ./volumes
|
echo "$pw"| sudo -S rm -rf ./volumes
|
||||||
|
|
||||||
# first deployment
|
# first deployment
|
||||||
if [ "$Task" == "reinstall" ];
|
if [ "$Task" == "reinstall" ];
|
||||||
then
|
then
|
||||||
printf "download latest milvus docker-compose yaml file from github\n"
|
printf "download latest milvus docker compose yaml file from github\n"
|
||||||
wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/${Mode}/docker-compose.yml -O docker-compose.yml
|
wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/${Mode}/docker-compose.yml -O docker-compose.yml
|
||||||
printf "start to deploy latest rc tag milvus\n"
|
printf "start to deploy latest rc tag milvus\n"
|
||||||
replace_image_tag "milvusdb\/milvus" $latest_tag
|
replace_image_tag "milvusdb\/milvus" $latest_tag
|
||||||
@ -150,9 +150,9 @@ fi
|
|||||||
cat docker-compose.yml|grep milvusdb
|
cat docker-compose.yml|grep milvusdb
|
||||||
Expect=$(grep "container_name" docker-compose.yml | wc -l)
|
Expect=$(grep "container_name" docker-compose.yml | wc -l)
|
||||||
Expect_health=$(grep "healthcheck" docker-compose.yml | wc -l)
|
Expect_health=$(grep "healthcheck" docker-compose.yml | wc -l)
|
||||||
docker-compose up -d
|
docker compose up -d
|
||||||
check_healthy
|
check_healthy
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# test for first deployment
|
# test for first deployment
|
||||||
@ -169,10 +169,10 @@ fi
|
|||||||
pushd ${Deploy_Dir}
|
pushd ${Deploy_Dir}
|
||||||
# uninstall milvus
|
# uninstall milvus
|
||||||
printf "start to uninstall milvus\n"
|
printf "start to uninstall milvus\n"
|
||||||
docker-compose down
|
docker compose down
|
||||||
sleep 10
|
sleep 10
|
||||||
printf "check all containers removed\n"
|
printf "check all containers removed\n"
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
|
|
||||||
# second deployment
|
# second deployment
|
||||||
if [ "$Task" == "reinstall" ];
|
if [ "$Task" == "reinstall" ];
|
||||||
@ -184,16 +184,16 @@ if [ "$Task" == "upgrade" ];
|
|||||||
then
|
then
|
||||||
printf "start to upgrade milvus\n"
|
printf "start to upgrade milvus\n"
|
||||||
# because the task is upgrade, so replace image tag to latest, like rc4-->rc5
|
# because the task is upgrade, so replace image tag to latest, like rc4-->rc5
|
||||||
printf "download latest milvus docker-compose yaml file from github\n"
|
printf "download latest milvus docker compose yaml file from github\n"
|
||||||
wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/${Mode}/docker-compose.yml -O docker-compose.yml
|
wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/${Mode}/docker-compose.yml -O docker-compose.yml
|
||||||
printf "start to deploy latest rc tag milvus\n"
|
printf "start to deploy latest rc tag milvus\n"
|
||||||
replace_image_tag "milvusdb\/milvus" $latest_tag
|
replace_image_tag "milvusdb\/milvus" $latest_tag
|
||||||
|
|
||||||
fi
|
fi
|
||||||
cat docker-compose.yml|grep milvusdb
|
cat docker-compose.yml|grep milvusdb
|
||||||
docker-compose up -d
|
docker compose up -d
|
||||||
check_healthy
|
check_healthy
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# wait for milvus ready
|
# wait for milvus ready
|
||||||
@ -211,12 +211,12 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# test for third deployment(after docker-compose restart)
|
# test for third deployment(after docker compose restart)
|
||||||
pushd ${Deploy_Dir}
|
pushd ${Deploy_Dir}
|
||||||
printf "start to restart milvus\n"
|
printf "start to restart milvus\n"
|
||||||
docker-compose restart
|
docker compose restart
|
||||||
check_healthy
|
check_healthy
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# wait for milvus ready
|
# wait for milvus ready
|
||||||
@ -234,9 +234,9 @@ fi
|
|||||||
|
|
||||||
pushd ${Deploy_Dir}
|
pushd ${Deploy_Dir}
|
||||||
# clean env
|
# clean env
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
docker-compose down
|
docker compose down
|
||||||
sleep 10
|
sleep 10
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
echo "$pw"|sudo -S rm -rf ./volumes
|
echo "$pw"|sudo -S rm -rf ./volumes
|
||||||
popd
|
popd
|
||||||
|
|||||||
@ -32,8 +32,8 @@ function replace_image_tag {
|
|||||||
function check_healthy {
|
function check_healthy {
|
||||||
Expect=$(yq '.services | length' 'docker-compose.yml')
|
Expect=$(yq '.services | length' 'docker-compose.yml')
|
||||||
Expect_health=$(yq '.services' 'docker-compose.yml' |grep 'healthcheck'|wc -l)
|
Expect_health=$(yq '.services' 'docker-compose.yml' |grep 'healthcheck'|wc -l)
|
||||||
cnt=$(docker-compose ps | grep -E "running|Running|Up|up" | wc -l)
|
cnt=$(docker compose ps | grep -E "running|Running|Up|up" | wc -l)
|
||||||
healthy=$(docker-compose ps | grep "healthy" | wc -l)
|
healthy=$(docker compose ps | grep "healthy" | wc -l)
|
||||||
time_cnt=0
|
time_cnt=0
|
||||||
echo "running num $cnt expect num $Expect"
|
echo "running num $cnt expect num $Expect"
|
||||||
echo "healthy num $healthy expect num $Expect_health"
|
echo "healthy num $healthy expect num $Expect_health"
|
||||||
@ -48,8 +48,8 @@ function check_healthy {
|
|||||||
printf "timeout,there are some issues with deployment!"
|
printf "timeout,there are some issues with deployment!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cnt=$(docker-compose ps | grep -E "running|Running|Up|up" | wc -l)
|
cnt=$(docker compose ps | grep -E "running|Running|Up|up" | wc -l)
|
||||||
healthy=$(docker-compose ps | grep "healthy" | wc -l)
|
healthy=$(docker compose ps | grep "healthy" | wc -l)
|
||||||
echo "running num $cnt expect num $Expect"
|
echo "running num $cnt expect num $Expect"
|
||||||
echo "healthy num $healthy expect num $Expect_health"
|
echo "healthy num $healthy expect num $Expect_health"
|
||||||
done
|
done
|
||||||
|
|||||||
@ -80,12 +80,12 @@ fi
|
|||||||
export MILVUS_SERVICE_PORT="${MILVUS_SERVICE_PORT:-19530}"
|
export MILVUS_SERVICE_PORT="${MILVUS_SERVICE_PORT:-19530}"
|
||||||
|
|
||||||
if [[ "${MANUAL:-}" == "true" ]]; then
|
if [[ "${MANUAL:-}" == "true" ]]; then
|
||||||
docker-compose up -d
|
docker compose up -d
|
||||||
else
|
else
|
||||||
if [[ "${MILVUS_CLIENT}" == "pymilvus" ]]; then
|
if [[ "${MILVUS_CLIENT}" == "pymilvus" ]]; then
|
||||||
# Better to run pytest under pytest workspace
|
# Better to run pytest under pytest workspace
|
||||||
export MILVUS_PYTEST_WORKSPACE="/milvus/tests/python_client"
|
export MILVUS_PYTEST_WORKSPACE="/milvus/tests/python_client"
|
||||||
docker-compose run --rm pytest /bin/bash -c "pytest -n ${PARALLEL_NUM} --host ${MILVUS_SERVICE_IP} --port ${MILVUS_SERVICE_PORT} \
|
docker compose run --rm pytest /bin/bash -c "pytest -n ${PARALLEL_NUM} --host ${MILVUS_SERVICE_IP} --port ${MILVUS_SERVICE_PORT} \
|
||||||
--html=\${CI_LOG_PATH}/report.html --self-contained-html ${@:-}"
|
--html=\${CI_LOG_PATH}/report.html --self-contained-html ${@:-}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
log_dir=${1:-"logs"}
|
log_dir=${1:-"logs"}
|
||||||
array=($(docker-compose ps -a|awk 'NR == 1 {next} {print $1}'))
|
array=($(docker compose ps -a|awk 'NR == 1 {next} {print $1}'))
|
||||||
echo ${array[@]}
|
echo ${array[@]}
|
||||||
if [ ! -d $log_dir ];
|
if [ ! -d $log_dir ];
|
||||||
then
|
then
|
||||||
|
|||||||
@ -31,8 +31,8 @@ done
|
|||||||
ROOT="$( cd -P "$( dirname "$SOURCE" )/../.." && pwd )"
|
ROOT="$( cd -P "$( dirname "$SOURCE" )/../.." && pwd )"
|
||||||
|
|
||||||
pushd "${ROOT}/tests/docker"
|
pushd "${ROOT}/tests/docker"
|
||||||
docker-compose pull --ignore-pull-failures pytest
|
docker compose pull pytest
|
||||||
if [[ -z "${SKIP_CHECK_PYTEST_ENV:-}" ]]; then
|
if [[ -z "${SKIP_CHECK_PYTEST_ENV:-}" ]]; then
|
||||||
docker-compose build pytest
|
docker compose build pytest
|
||||||
fi
|
fi
|
||||||
popd
|
popd
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user