chore: add trainer to Makefile and shell (#2488)
Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
parent
0ffc55b6d4
commit
fbb575f954
42
Makefile
42
Makefile
|
|
@ -34,12 +34,12 @@ build-dirs:
|
||||||
.PHONY: build-dirs
|
.PHONY: build-dirs
|
||||||
|
|
||||||
# Build dragonlfy.
|
# Build dragonlfy.
|
||||||
docker-build: docker-build-dfdaemon docker-build-scheduler docker-build-manager
|
docker-build: docker-build-dfdaemon docker-build-scheduler docker-build-manager docker-build-trainer
|
||||||
@echo "Build image done."
|
@echo "Build image done."
|
||||||
.PHONY: docker-build
|
.PHONY: docker-build
|
||||||
|
|
||||||
# Push dragonfly images.
|
# Push dragonfly images.
|
||||||
docker-push: docker-push-dfdaemon docker-push-scheduler docker-push-manager
|
docker-push: docker-push-dfdaemon docker-push-scheduler docker-push-manager docker-build-trainer
|
||||||
@echo "Push image done."
|
@echo "Push image done."
|
||||||
.PHONY: docker-push
|
.PHONY: docker-push
|
||||||
|
|
||||||
|
|
@ -61,6 +61,12 @@ docker-build-manager:
|
||||||
./hack/docker-build.sh manager
|
./hack/docker-build.sh manager
|
||||||
.PHONY: docker-build-manager
|
.PHONY: docker-build-manager
|
||||||
|
|
||||||
|
# Build trainer image.
|
||||||
|
docker-build-trainer:
|
||||||
|
@echo "Begin to use docker build trainer image."
|
||||||
|
./hack/docker-build.sh trainer
|
||||||
|
.PHONY: docker-build-trainer
|
||||||
|
|
||||||
# Build testing tools image.
|
# Build testing tools image.
|
||||||
docker-build-testing-tools: build-dirs
|
docker-build-testing-tools: build-dirs
|
||||||
@echo "Begin to testing tools image."
|
@echo "Begin to testing tools image."
|
||||||
|
|
@ -85,8 +91,14 @@ docker-push-manager: docker-build-manager
|
||||||
./hack/docker-push.sh manager
|
./hack/docker-push.sh manager
|
||||||
.PHONY: docker-push-manager
|
.PHONY: docker-push-manager
|
||||||
|
|
||||||
|
# Push trainer image.
|
||||||
|
docker-push-trainer: docker-build-trainer
|
||||||
|
@echo "Begin to push trainer docker image."
|
||||||
|
./hack/docker-push.sh trainer
|
||||||
|
.PHONY: docker-push-trainer
|
||||||
|
|
||||||
# Build dragonfly.
|
# Build dragonfly.
|
||||||
build: build-manager build-scheduler build-dfget build-dfcache build-dfstore
|
build: build-manager build-scheduler build-trainer build-dfget build-dfcache build-dfstore
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
|
|
||||||
# Build dfget.
|
# Build dfget.
|
||||||
|
|
@ -149,6 +161,12 @@ build-manager-console: build-dirs
|
||||||
./hack/build.sh manager-console
|
./hack/build.sh manager-console
|
||||||
.PHONY: build-manager-console
|
.PHONY: build-manager-console
|
||||||
|
|
||||||
|
# Build trainer.
|
||||||
|
build-trainer: build-dirs
|
||||||
|
@echo "Begin to build trainer."
|
||||||
|
./hack/build.sh trainer
|
||||||
|
.PHONY: build-trainer
|
||||||
|
|
||||||
# Install dfget.
|
# Install dfget.
|
||||||
install-dfget:
|
install-dfget:
|
||||||
@echo "Begin to install dfget."
|
@echo "Begin to install dfget."
|
||||||
|
|
@ -167,6 +185,12 @@ install-manager:
|
||||||
./hack/install.sh install manager
|
./hack/install.sh install manager
|
||||||
.PHONY: install-manager
|
.PHONY: install-manager
|
||||||
|
|
||||||
|
# Install trainer.
|
||||||
|
install-trainer:
|
||||||
|
@echo "Begin to install trainer."
|
||||||
|
./hack/install.sh install trainer
|
||||||
|
.PHONY: install-trainer
|
||||||
|
|
||||||
# Build rpm dfget.
|
# Build rpm dfget.
|
||||||
build-rpm-dfget: build-linux-dfget
|
build-rpm-dfget: build-linux-dfget
|
||||||
@echo "Begin to build rpm dfget."
|
@echo "Begin to build rpm dfget."
|
||||||
|
|
@ -349,7 +373,7 @@ clean-e2e-test:
|
||||||
.PHONY: clean-e2e-test
|
.PHONY: clean-e2e-test
|
||||||
|
|
||||||
# Kind load dragonlfy.
|
# Kind load dragonlfy.
|
||||||
kind-load: kind-load-scheduler kind-load-dfdaemon kind-load-manager kind-load-testing-tools
|
kind-load: kind-load-scheduler kind-load-dfdaemon kind-load-manager kind-load-trainer kind-load-testing-tools
|
||||||
@echo "Kind load image done."
|
@echo "Kind load image done."
|
||||||
.PHONY: kind-load
|
.PHONY: kind-load
|
||||||
|
|
||||||
|
|
@ -368,6 +392,11 @@ kind-load-manager:
|
||||||
@./hack/kind-load.sh manager
|
@./hack/kind-load.sh manager
|
||||||
.PHONY: kind-load-manager
|
.PHONY: kind-load-manager
|
||||||
|
|
||||||
|
# Run kind load docker trainer.
|
||||||
|
kind-load-trainer:
|
||||||
|
@./hack/kind-load.sh trainer
|
||||||
|
.PHONY: kind-load-trainer
|
||||||
|
|
||||||
# Run kind load docker testing tools.
|
# Run kind load docker testing tools.
|
||||||
kind-load-testing-tools:
|
kind-load-testing-tools:
|
||||||
@./hack/kind-load.sh no-content-length
|
@./hack/kind-load.sh no-content-length
|
||||||
|
|
@ -412,9 +441,11 @@ help:
|
||||||
@echo "make docker-build-dfdaemon build dfdaemon image"
|
@echo "make docker-build-dfdaemon build dfdaemon image"
|
||||||
@echo "make docker-build-scheduler build scheduler image"
|
@echo "make docker-build-scheduler build scheduler image"
|
||||||
@echo "make docker-build-manager build manager image"
|
@echo "make docker-build-manager build manager image"
|
||||||
|
@echo "make docker-build-trainer build trainer image"
|
||||||
@echo "make docker-push-dfdaemon push dfdaemon image"
|
@echo "make docker-push-dfdaemon push dfdaemon image"
|
||||||
@echo "make docker-push-scheduler push scheduler image"
|
@echo "make docker-push-scheduler push scheduler image"
|
||||||
@echo "make docker-push-manager push manager image"
|
@echo "make docker-push-manager push manager image"
|
||||||
|
@echo "make docker-push-trainer push trainer image"
|
||||||
@echo "make build build dragonfly"
|
@echo "make build build dragonfly"
|
||||||
@echo "make build-dfget build dfget"
|
@echo "make build-dfget build dfget"
|
||||||
@echo "make build-linux-dfget build linux dfget"
|
@echo "make build-linux-dfget build linux dfget"
|
||||||
|
|
@ -426,11 +457,13 @@ help:
|
||||||
@echo "make build-manager build manager"
|
@echo "make build-manager build manager"
|
||||||
@echo "make build-manager-server build manager server"
|
@echo "make build-manager-server build manager server"
|
||||||
@echo "make build-manager-console build manager console"
|
@echo "make build-manager-console build manager console"
|
||||||
|
@echo "make build-trainer build trainer"
|
||||||
@echo "make build-e2e-sha256sum build sha256sum test tool"
|
@echo "make build-e2e-sha256sum build sha256sum test tool"
|
||||||
@echo "make build-e2e-download-grpc-test build download grpc test tool"
|
@echo "make build-e2e-download-grpc-test build download grpc test tool"
|
||||||
@echo "make install-dfget install dfget"
|
@echo "make install-dfget install dfget"
|
||||||
@echo "make install-scheduler install scheduler"
|
@echo "make install-scheduler install scheduler"
|
||||||
@echo "make install-manager install manager"
|
@echo "make install-manager install manager"
|
||||||
|
@echo "make install-trainer install trainer"
|
||||||
@echo "make build-rpm-dfget build rpm dfget"
|
@echo "make build-rpm-dfget build rpm dfget"
|
||||||
@echo "make build-rpm-dfcache build rpm dfcache"
|
@echo "make build-rpm-dfcache build rpm dfcache"
|
||||||
@echo "make build-rpm-dfstore build rpm dfstore"
|
@echo "make build-rpm-dfstore build rpm dfstore"
|
||||||
|
|
@ -452,6 +485,7 @@ help:
|
||||||
@echo "make kind-load-scheduler kind load scheduler docker image"
|
@echo "make kind-load-scheduler kind load scheduler docker image"
|
||||||
@echo "make kind-load-dfdaemon kind load dfdaemon docker image"
|
@echo "make kind-load-dfdaemon kind load dfdaemon docker image"
|
||||||
@echo "make kind-load-manager kind load manager docker image"
|
@echo "make kind-load-manager kind load manager docker image"
|
||||||
|
@echo "make kind-load-trainer kind load trainer docker image"
|
||||||
@echo "make kind-load-testing-tools kind load testing tools docker image"
|
@echo "make kind-load-testing-tools kind load testing tools docker image"
|
||||||
@echo "make lint run code lint"
|
@echo "make lint run code lint"
|
||||||
@echo "make markdownlint run markdown lint"
|
@echo "make markdownlint run markdown lint"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
ARG BASE_IMAGE=alpine:3.16
|
||||||
|
|
||||||
|
FROM golang:1.20.1-alpine3.16 as builder
|
||||||
|
|
||||||
|
ARG GOPROXY
|
||||||
|
ARG GOTAGS
|
||||||
|
ARG GOGCFLAGS
|
||||||
|
|
||||||
|
WORKDIR /go/src/d7y.io/dragonfly/v2
|
||||||
|
|
||||||
|
RUN apk --no-cache add bash make gcc libc-dev git
|
||||||
|
|
||||||
|
COPY . /go/src/d7y.io/dragonfly/v2
|
||||||
|
|
||||||
|
RUN make build-trainer && make install-trainer
|
||||||
|
|
||||||
|
FROM ${BASE_IMAGE} as health
|
||||||
|
|
||||||
|
ENV GRPC_HEALTH_PROBE_VERSION v0.4.16
|
||||||
|
|
||||||
|
RUN wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \
|
||||||
|
chmod +x /bin/grpc_health_probe
|
||||||
|
|
||||||
|
FROM ${BASE_IMAGE}
|
||||||
|
|
||||||
|
ENV PATH=/opt/dragonfly/bin:$PATH
|
||||||
|
RUN echo "hosts: files dns" > /etc/nsswitch.conf
|
||||||
|
|
||||||
|
COPY --from=builder /opt/dragonfly/bin/trainer /opt/dragonfly/bin/trainer
|
||||||
|
COPY --from=health /bin/grpc_health_probe /bin/grpc_health_probe
|
||||||
|
|
||||||
|
EXPOSE 8002
|
||||||
|
|
||||||
|
ENTRYPOINT ["/opt/dragonfly/bin/trainer"]
|
||||||
|
|
@ -9,6 +9,7 @@ DFCACHE_BINARY_NAME=dfcache
|
||||||
DFSTORE_BINARY_NAME=dfstore
|
DFSTORE_BINARY_NAME=dfstore
|
||||||
SCHEDULER_BINARY_NAME=scheduler
|
SCHEDULER_BINARY_NAME=scheduler
|
||||||
MANAGER_BINARY_NAME=manager
|
MANAGER_BINARY_NAME=manager
|
||||||
|
TRAINER_BINARY_NAME=trainer
|
||||||
|
|
||||||
PKG=d7y.io/dragonfly/v2
|
PKG=d7y.io/dragonfly/v2
|
||||||
BUILD_IMAGE=golang:1.20.1-alpine3.16
|
BUILD_IMAGE=golang:1.20.1-alpine3.16
|
||||||
|
|
@ -69,6 +70,10 @@ build-manager-local() {
|
||||||
build-local ${MANAGER_BINARY_NAME} manager
|
build-local ${MANAGER_BINARY_NAME} manager
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build-trainer-local() {
|
||||||
|
build-local ${TRAINER_BINARY_NAME} trainer
|
||||||
|
}
|
||||||
|
|
||||||
build-docker() {
|
build-docker() {
|
||||||
cd "${BUILD_SOURCE_HOME}" || return
|
cd "${BUILD_SOURCE_HOME}" || return
|
||||||
docker run \
|
docker run \
|
||||||
|
|
@ -124,6 +129,10 @@ build-manager-console() {
|
||||||
cp -r $CONSOLE_ASSETS $MANAGER_ASSETS_DIR
|
cp -r $CONSOLE_ASSETS $MANAGER_ASSETS_DIR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build-trainer-docker() {
|
||||||
|
build-docker ${TRAINER_BINARY_NAME} trainer
|
||||||
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
create-dirs
|
create-dirs
|
||||||
if [[ "1" == "${USE_DOCKER}" ]]; then
|
if [[ "1" == "${USE_DOCKER}" ]]; then
|
||||||
|
|
@ -141,6 +150,9 @@ main() {
|
||||||
scheduler)
|
scheduler)
|
||||||
build-scheduler-docker
|
build-scheduler-docker
|
||||||
;;
|
;;
|
||||||
|
trainer)
|
||||||
|
build-trainer-docker
|
||||||
|
;;
|
||||||
manager)
|
manager)
|
||||||
build-manager-docker
|
build-manager-docker
|
||||||
;;
|
;;
|
||||||
|
|
@ -153,6 +165,7 @@ main() {
|
||||||
build-dfstore-docker
|
build-dfstore-docker
|
||||||
build-scheduler-docker
|
build-scheduler-docker
|
||||||
build-manager-docker
|
build-manager-docker
|
||||||
|
build-trainer-docker
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
|
|
@ -170,6 +183,9 @@ main() {
|
||||||
scheduler)
|
scheduler)
|
||||||
build-scheduler-local
|
build-scheduler-local
|
||||||
;;
|
;;
|
||||||
|
trainer)
|
||||||
|
build-trainer-local
|
||||||
|
;;
|
||||||
manager)
|
manager)
|
||||||
build-manager-local
|
build-manager-local
|
||||||
;;
|
;;
|
||||||
|
|
@ -182,6 +198,7 @@ main() {
|
||||||
build-dfstore-local
|
build-dfstore-local
|
||||||
build-scheduler-local
|
build-scheduler-local
|
||||||
build-manager-local
|
build-manager-local
|
||||||
|
build-trainer-local
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,9 @@ main() {
|
||||||
manager)
|
manager)
|
||||||
git-submodule
|
git-submodule
|
||||||
docker-build manager
|
docker-build manager
|
||||||
|
;;
|
||||||
|
trainer)
|
||||||
|
docker-build trainer
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,9 @@ main() {
|
||||||
;;
|
;;
|
||||||
manager)
|
manager)
|
||||||
docker-push manager
|
docker-push manager
|
||||||
|
;;
|
||||||
|
trainer)
|
||||||
|
docker-push trainer
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
components="dfdaemon scheduler manager"
|
components="dfdaemon scheduler manager trainer"
|
||||||
|
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ BIN_DIR="../bin"
|
||||||
DFGET_BINARY_NAME=dfget
|
DFGET_BINARY_NAME=dfget
|
||||||
SCHEDULER_BINARY_NAME=scheduler
|
SCHEDULER_BINARY_NAME=scheduler
|
||||||
MANAGER_BINARY_NAME=manager
|
MANAGER_BINARY_NAME=manager
|
||||||
|
TRAINER_BINARY_NAME=trainer
|
||||||
|
|
||||||
curDir=$(cd "$(dirname "$0")" && pwd)
|
curDir=$(cd "$(dirname "$0")" && pwd)
|
||||||
cd "${curDir}" || return
|
cd "${curDir}" || return
|
||||||
|
|
@ -24,6 +25,9 @@ install() {
|
||||||
;;
|
;;
|
||||||
manager)
|
manager)
|
||||||
install-manager
|
install-manager
|
||||||
|
;;
|
||||||
|
trainer)
|
||||||
|
install-trainer
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -72,6 +76,21 @@ uninstall-manager() {
|
||||||
test -e /usr/local/bin/manager && unlink /usr/local/bin/manager
|
test -e /usr/local/bin/manager && unlink /usr/local/bin/manager
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install-trainer() {
|
||||||
|
local bin="${INSTALL_HOME}/${INSTALL_BIN_PATH}"
|
||||||
|
echo "install: ${bin}"
|
||||||
|
mkdir -p "${bin}"
|
||||||
|
|
||||||
|
cp "${BIN_DIR}/${GOOS}_${GOARCH}/${TRAINER_BINARY_NAME}" "${bin}"
|
||||||
|
|
||||||
|
createLink "${bin}/${TRAINER_BINARY_NAME}" /usr/local/bin/trainer
|
||||||
|
}
|
||||||
|
|
||||||
|
uninstall-trainer() {
|
||||||
|
echo "unlink /usr/local/bin/trainer"
|
||||||
|
test -e /usr/local/bin/trainer && unlink /usr/local/bin/trainer
|
||||||
|
}
|
||||||
|
|
||||||
createLink() {
|
createLink() {
|
||||||
srcPath="$1"
|
srcPath="$1"
|
||||||
linkPath="$2"
|
linkPath="$2"
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,9 @@ main() {
|
||||||
manager)
|
manager)
|
||||||
kind-load manager
|
kind-load manager
|
||||||
;;
|
;;
|
||||||
|
trainer)
|
||||||
|
kind-load trainer
|
||||||
|
;;
|
||||||
no-content-length)
|
no-content-length)
|
||||||
kind-load no-content-length
|
kind-load no-content-length
|
||||||
esac
|
esac
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue