From 1b1bb487091e3447ce989d6bafe4c5960ddb4306 Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Fri, 5 Mar 2021 16:36:13 -0600 Subject: [PATCH 1/3] adds a new install-deps in the makefile; and some debug out Signed-off-by: Mike Brown --- Makefile | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 399c7db3a..c71f4d0e7 100644 --- a/Makefile +++ b/Makefile @@ -124,7 +124,7 @@ TESTFLAGS_PARALLEL ?= 8 OUTPUTDIR = $(join $(ROOTDIR), _output) CRIDIR=$(OUTPUTDIR)/cri -.PHONY: clean all AUTHORS build binaries test integration generate protos checkprotos coverage ci check help install uninstall vendor release mandir install-man genman install-cri-deps cri-release cri-cni-release cri-integration bin/cri-integration.test +.PHONY: clean all AUTHORS build binaries test integration generate protos checkprotos coverage ci check help install uninstall vendor release mandir install-man genman install-cri-deps cri-release cri-cni-release cri-integration install-deps bin/cri-integration.test .DEFAULT: default all: binaries @@ -263,6 +263,7 @@ release: releases/$(RELEASE).tar.gz @echo "$(WHALE) $@" @cd releases && sha256sum $(RELEASE).tar.gz >$(RELEASE).tar.gz.sha256sum +# install of cri deps into release output directory ifeq ($(GOOS),windows) install-cri-deps: $(BINARIES) mkdir -p $(CRIDIR) @@ -344,6 +345,19 @@ uninstall: @echo "$(WHALE) $@" @rm -f $(addprefix $(DESTDIR)/bin/,$(notdir $(BINARIES))) +#TODO(mikebrow): refactor install-critools and install-cni to work for local host and for release +ifeq ($(GOOS),windows) +install-deps: + script/setup/install-runc + #script/setup/install-critools + #script/setup/install-cni-windows +else +install-deps: ## install cri dependencies + script/setup/install-seccomp + script/setup/install-runc + #script/setup/install-critools + #script/setup/install-cni +endif coverage: ## generate coverprofiles from the unit tests, except tests that require root @echo "$(WHALE) $@" @@ -374,7 +388,7 @@ root-coverage: ## generate coverage profiles for unit tests that require root fi; \ done ) -vendor: +vendor: ## vendor @echo "$(WHALE) $@" @go mod tidy @go mod vendor From 2205da64a6dbe4ad689dd6eb5ee02b552538a81f Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Tue, 9 Mar 2021 10:16:05 -0600 Subject: [PATCH 2/3] clean up install-cni and install-critools Signed-off-by: Mike Brown --- Makefile | 9 ++++----- script/setup/install-cni | 8 ++++++-- script/setup/install-critools | 9 +++++++-- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index c71f4d0e7..dca94ecbe 100644 --- a/Makefile +++ b/Makefile @@ -345,18 +345,17 @@ uninstall: @echo "$(WHALE) $@" @rm -f $(addprefix $(DESTDIR)/bin/,$(notdir $(BINARIES))) -#TODO(mikebrow): refactor install-critools and install-cni to work for local host and for release ifeq ($(GOOS),windows) install-deps: script/setup/install-runc - #script/setup/install-critools - #script/setup/install-cni-windows + script/setup/install-critools + script/setup/install-cni-windows else install-deps: ## install cri dependencies script/setup/install-seccomp script/setup/install-runc - #script/setup/install-critools - #script/setup/install-cni + script/setup/install-critools + script/setup/install-cni endif coverage: ## generate coverprofiles from the unit tests, except tests that require root diff --git a/script/setup/install-cni b/script/setup/install-cni index 7f2eb8b3a..34461958d 100755 --- a/script/setup/install-cni +++ b/script/setup/install-cni @@ -25,8 +25,9 @@ CNI_COMMIT=$(grep containernetworking/plugins "$GOPATH"/src/github.com/container CNI_DIR=${DESTDIR:=''}/opt/cni CNI_CONFIG_DIR=${DESTDIR}/etc/cni/net.d -git clone https://github.com/containernetworking/plugins.git "$GOPATH"/src/github.com/containernetworking/plugins -cd "$GOPATH"/src/github.com/containernetworking/plugins +TMPROOT=$(mktemp -d) +git clone https://github.com/containernetworking/plugins.git "${TMPROOT}"/plugins +pushd "${TMPROOT}"/plugins git checkout $CNI_COMMIT ./build_linux.sh mkdir -p $CNI_DIR @@ -66,3 +67,6 @@ cat << EOF | tee $CNI_CONFIG_DIR/10-containerd-net.conflist ] } EOF + +popd +rm -fR "${TMPROOT}" diff --git a/script/setup/install-critools b/script/setup/install-critools index 88cdb4773..058c2d2d5 100755 --- a/script/setup/install-critools +++ b/script/setup/install-critools @@ -24,11 +24,16 @@ cd "$GOPATH" go get -u github.com/onsi/ginkgo/ginkgo CRITEST_COMMIT=0f5f734a7e1da0979915c6e7d5b6641bd9dc2627 -git clone https://github.com/kubernetes-sigs/cri-tools.git "$GOPATH"/src/github.com/kubernetes-sigs/cri-tools -cd "$GOPATH"/src/github.com/kubernetes-sigs/cri-tools +TMPROOT=$(mktemp -d) +git clone https://github.com/kubernetes-sigs/cri-tools.git "${TMPROOT}"/cri-tools +pushd "${TMPROOT}"/cri-tools git checkout "$CRITEST_COMMIT" make make install -e BINDIR=${DESTDIR:=''}/usr/local/bin + cat << EOF | tee ${DESTDIR}/etc/crictl.yaml runtime-endpoint: unix:///run/containerd/containerd.sock EOF + +popd +rm -fR "${TMPROOT}" From 9ad87b9ba7ef743822ad45b0bf13a15c6e9274f5 Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Thu, 11 Mar 2021 10:45:37 -0600 Subject: [PATCH 3/3] adds critools-version Signed-off-by: Mike Brown --- Makefile | 2 +- script/setup/critools-version | 1 + script/setup/install-critools | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 script/setup/critools-version diff --git a/Makefile b/Makefile index dca94ecbe..eb9de9550 100644 --- a/Makefile +++ b/Makefile @@ -347,7 +347,7 @@ uninstall: ifeq ($(GOOS),windows) install-deps: - script/setup/install-runc + # TODO: need a script for hcshim something like containerd/cri/hack/install/windows/install-hcsshim.sh script/setup/install-critools script/setup/install-cni-windows else diff --git a/script/setup/critools-version b/script/setup/critools-version new file mode 100644 index 000000000..b045f193d --- /dev/null +++ b/script/setup/critools-version @@ -0,0 +1 @@ +0f5f734a7e1da0979915c6e7d5b6641bd9dc2627 diff --git a/script/setup/install-critools b/script/setup/install-critools index 058c2d2d5..232dfbcf5 100755 --- a/script/setup/install-critools +++ b/script/setup/install-critools @@ -20,9 +20,12 @@ # set -eu -o pipefail +script_dir="$(cd -- "$(dirname -- "$0")" > /dev/null 2>&1; pwd -P)" + cd "$GOPATH" go get -u github.com/onsi/ginkgo/ginkgo -CRITEST_COMMIT=0f5f734a7e1da0979915c6e7d5b6641bd9dc2627 + +: "${CRITEST_COMMIT:=$(cat "${script_dir}/critools-version")}" TMPROOT=$(mktemp -d) git clone https://github.com/kubernetes-sigs/cri-tools.git "${TMPROOT}"/cri-tools