Merge pull request #4713 from AkihiroSuda/remove-hack-unused
remove unused hack/* files
This commit is contained in:
commit
f1ea895fbb
@ -1,15 +0,0 @@
|
||||
/*
|
||||
Copyright The containerd Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
CNI_CONFIG_DIR=${DESTDIR}/etc/cni/net.d
|
||||
${SUDO} mkdir -p ${CNI_CONFIG_DIR}
|
||||
${SUDO} bash -c 'cat >'${CNI_CONFIG_DIR}'/10-containerd-net.conflist <<EOF
|
||||
{
|
||||
"cniVersion": "0.4.0",
|
||||
"name": "containerd-net",
|
||||
"plugins": [
|
||||
{
|
||||
"type": "bridge",
|
||||
"bridge": "cni0",
|
||||
"isGateway": true,
|
||||
"ipMasq": true,
|
||||
"promiscMode": true,
|
||||
"ipam": {
|
||||
"type": "host-local",
|
||||
"ranges": [
|
||||
[{
|
||||
"subnet": "10.88.0.0/16"
|
||||
}],
|
||||
[{
|
||||
"subnet": "2001:4860:4860::/64"
|
||||
}]
|
||||
],
|
||||
"routes": [
|
||||
{ "dst": "0.0.0.0/0" },
|
||||
{ "dst": "::/0" }
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "portmap",
|
||||
"capabilities": {"portMappings": true}
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF'
|
@ -1,45 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
CNI_DIR=${DESTDIR}/opt/cni
|
||||
CNI_PKG=github.com/containernetworking/plugins
|
||||
|
||||
# Create a temporary GOPATH for cni installation.
|
||||
GOPATH=$(mktemp -d /tmp/cri-install-cni.XXXX)
|
||||
|
||||
# Install cni
|
||||
from-vendor CNI github.com/containernetworking/plugins
|
||||
checkout_repo ${CNI_PKG} ${CNI_VERSION} ${CNI_REPO}
|
||||
cd ${GOPATH}/src/${CNI_PKG}
|
||||
|
||||
if [[ "$OSTYPE" == "linux-gnu"* ]] || [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
./build_linux.sh
|
||||
elif [[ "$OSTYPE" == "win32" ]]; then
|
||||
./build_windows.sh
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${SUDO} mkdir -p ${CNI_DIR}
|
||||
${SUDO} cp -r ./bin ${CNI_DIR}
|
||||
|
||||
# Clean the tmp GOPATH dir.
|
||||
rm -rf ${GOPATH}
|
@ -1,49 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
CONTAINERD_DIR=${CONTAINERD_DIR:-"${DESTDIR}/usr/local"}
|
||||
CONTAINERD_PKG=github.com/containerd/containerd
|
||||
|
||||
# CHECKOUT_CONTAINERD indicates whether to checkout containerd repo.
|
||||
# This is useful for build containerd from existing repo, currently
|
||||
# used by containerd CI test.
|
||||
CHECKOUT_CONTAINERD=${CHECKOUT_CONTAINERD:-true}
|
||||
|
||||
if ${CHECKOUT_CONTAINERD}; then
|
||||
# Create a temporary GOPATH for containerd installation.
|
||||
export GOPATH=$(mktemp -d /tmp/cri-install-containerd.XXXX)
|
||||
from-vendor CONTAINERD github.com/containerd/containerd
|
||||
checkout_repo ${CONTAINERD_PKG} ${CONTAINERD_VERSION} ${CONTAINERD_REPO}
|
||||
fi
|
||||
|
||||
# Install containerd
|
||||
cd ${GOPATH}/src/${CONTAINERD_PKG}
|
||||
make BUILDTAGS="${BUILDTAGS}"
|
||||
# containerd make install requires `go` to work. Explicitly
|
||||
# set PATH to make sure it can find `go` even with `sudo`.
|
||||
# The single quote is required because containerd Makefile
|
||||
# can't handle spaces in the path.
|
||||
${SUDO} make install -e DESTDIR="'${CONTAINERD_DIR}'"
|
||||
|
||||
# Clean the tmp GOPATH dir.
|
||||
if ${CHECKOUT_CONTAINERD}; then
|
||||
rm -rf ${GOPATH}
|
||||
fi
|
@ -1,40 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
CRITOOL_DIR="${CRITOOL_DIR:-${DESTDIR}/usr/local/bin}"
|
||||
CRICTL_CONFIG_DIR="${CRICTL_CONFIG_DIR:-"${DESTDIR}/etc"}"
|
||||
CRICTL_RUNTIME_ENDPOINT=${CRICTL_RUNTIME_ENDPOINT:-unix:///run/containerd/containerd.sock}
|
||||
|
||||
# Create a temporary GOPATH for crictl installation.
|
||||
GOPATH=$(mktemp -d /tmp/cri-install-crictl.XXXX)
|
||||
|
||||
#Install crictl
|
||||
checkout_repo ${CRITOOL_PKG} ${CRITOOL_VERSION} ${CRITOOL_REPO}
|
||||
cd ${GOPATH}/src/${CRITOOL_PKG}
|
||||
make VERSION=${CRITOOL_VERSION}
|
||||
${SUDO} make install -e BINDIR="\"${CRITOOL_DIR}\"" GOPATH=${GOPATH}
|
||||
${SUDO} mkdir -p ${CRICTL_CONFIG_DIR}
|
||||
${SUDO} bash -c 'cat >"'"${CRICTL_CONFIG_DIR}"'"/crictl.yaml <<EOF
|
||||
runtime-endpoint: '${CRICTL_RUNTIME_ENDPOINT}'
|
||||
EOF'
|
||||
|
||||
# Clean the tmp GOPATH dir.
|
||||
rm -rf ${GOPATH}
|
@ -1,44 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Dependencies:
|
||||
# runc:
|
||||
# - libseccomp-dev(Ubuntu,Debian)/libseccomp-devel(Fedora, CentOS, RHEL). Note that
|
||||
# libseccomp in ubuntu <=trusty and debian <=jessie is not new enough, backport
|
||||
# is required.
|
||||
# containerd:
|
||||
# - btrfs-tools(Ubuntu,Debian)/btrfs-progs-devel(Fedora, CentOS, RHEL)
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
cd $(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Install runc
|
||||
./install-runc.sh
|
||||
|
||||
# Install cni
|
||||
./install-cni.sh
|
||||
|
||||
# Install cni config
|
||||
./install-cni-config.sh
|
||||
|
||||
# Install containerd
|
||||
./install-containerd.sh
|
||||
|
||||
#Install critools
|
||||
./install-critools.sh
|
@ -1,37 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
RUNC_DIR=${DESTDIR}
|
||||
RUNC_PKG=github.com/opencontainers/runc
|
||||
|
||||
# Create a temporary GOPATH for runc installation.
|
||||
GOPATH=$(mktemp -d /tmp/cri-install-runc.XXXX)
|
||||
|
||||
# Install runc
|
||||
from-vendor RUNC github.com/opencontainers/runc
|
||||
checkout_repo ${RUNC_PKG} ${RUNC_VERSION} ${RUNC_REPO}
|
||||
cd ${GOPATH}/src/${RUNC_PKG}
|
||||
make BUILDTAGS="$BUILDTAGS" VERSION=${RUNC_VERSION}
|
||||
${SUDO} make install -e DESTDIR=${RUNC_DIR}
|
||||
|
||||
# Clean the tmp GOPATH dir. Use sudo because runc build generates
|
||||
# some privileged files.
|
||||
${SUDO} rm -rf ${GOPATH}
|
@ -1,55 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/../utils.sh
|
||||
|
||||
# DESTDIR is the absolute dest path to install dependencies.
|
||||
DESTDIR=${DESTDIR:-"/"}
|
||||
# Make sure that DESTDIR is an absolute path.
|
||||
if [[ ${DESTDIR} != /* ]]; then
|
||||
echo "DESTDIR is not an absolute path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# NOSUDO indicates not to use sudo during installation.
|
||||
NOSUDO=${NOSUDO:-false}
|
||||
SUDO="sudo"
|
||||
if ${NOSUDO}; then
|
||||
SUDO=""
|
||||
fi
|
||||
|
||||
# BUILDTAGS are bulid tags for runc and containerd.
|
||||
BUILDTAGS=${BUILDTAGS:-seccomp apparmor selinux}
|
||||
|
||||
# checkout_repo checks out specified repository
|
||||
# and switch to specified version.
|
||||
# Varset:
|
||||
# 1) Pkg name;
|
||||
# 2) Version;
|
||||
# 3) Repo name;
|
||||
checkout_repo() {
|
||||
local -r pkg=$1
|
||||
local -r version=$2
|
||||
local -r repo=$3
|
||||
path="${GOPATH}/src/${pkg}"
|
||||
if [ ! -d ${path} ]; then
|
||||
mkdir -p ${path}
|
||||
git clone https://${repo} ${path}
|
||||
fi
|
||||
cd ${path}
|
||||
git fetch --all
|
||||
git checkout ${version}
|
||||
}
|
@ -1,86 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
CNI_CONFIG_DIR="${CNI_CONFIG_DIR:-"C:\\Program Files\\containerd\\cni\\conf"}"
|
||||
mkdir -p "${CNI_CONFIG_DIR}"
|
||||
|
||||
# split_ip splits ip into a 4-element array.
|
||||
split_ip() {
|
||||
local -r varname="$1"
|
||||
local -r ip="$2"
|
||||
for i in {0..3}; do
|
||||
eval "$varname"[$i]=$( echo "$ip" | cut -d '.' -f $((i + 1)) )
|
||||
done
|
||||
}
|
||||
|
||||
# subnet gets subnet for a gateway, e.g. 192.168.100.0/24.
|
||||
calculate_subnet() {
|
||||
local -r gateway="$1"
|
||||
local -r prefix_len="$2"
|
||||
split_ip gateway_array "$gateway"
|
||||
local len=$prefix_len
|
||||
for i in {0..3}; do
|
||||
if (( len >= 8 )); then
|
||||
mask=255
|
||||
elif (( len > 0 )); then
|
||||
mask=$(( 256 - 2 ** ( 8 - len ) ))
|
||||
else
|
||||
mask=0
|
||||
fi
|
||||
(( len -= 8 ))
|
||||
result_array[i]=$(( gateway_array[i] & mask ))
|
||||
done
|
||||
result="$(printf ".%s" "${result_array[@]}")"
|
||||
result="${result:1}"
|
||||
echo "$result/$((32 - prefix_len))"
|
||||
}
|
||||
|
||||
# nat already exists on the Windows VM, the subnet and gateway
|
||||
# we specify should match that.
|
||||
gateway="$(powershell -c "(Get-NetIPAddress -InterfaceAlias 'vEthernet (nat)' -AddressFamily IPv4).IPAddress")"
|
||||
prefix_len="$(powershell -c "(Get-NetIPAddress -InterfaceAlias 'vEthernet (nat)' -AddressFamily IPv4).PrefixLength")"
|
||||
|
||||
subnet="$(calculate_subnet "$gateway" "$prefix_len")"
|
||||
|
||||
# The "name" field in the config is used as the underlying
|
||||
# network type right now (see
|
||||
# https://github.com/microsoft/windows-container-networking/pull/45),
|
||||
# so it must match a network type in:
|
||||
# https://docs.microsoft.com/en-us/windows-server/networking/technologies/hcn/hcn-json-document-schemas
|
||||
bash -c 'cat >"'"${CNI_CONFIG_DIR}"'"/0-containerd-nat.conf <<EOF
|
||||
{
|
||||
"cniVersion": "0.2.0",
|
||||
"name": "nat",
|
||||
"type": "nat",
|
||||
"master": "Ethernet",
|
||||
"ipam": {
|
||||
"subnet": "'$subnet'",
|
||||
"routes": [
|
||||
{
|
||||
"GW": "'$gateway'"
|
||||
}
|
||||
]
|
||||
},
|
||||
"capabilities": {
|
||||
"portMappings": true,
|
||||
"dns": true
|
||||
}
|
||||
}
|
||||
EOF'
|
@ -1,39 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/../utils.sh
|
||||
# WINCNI_BIN_DIR is the cni plugin directory
|
||||
WINCNI_BIN_DIR="${WINCNI_BIN_DIR:-"C:\\Program Files\\containerd\\cni\\bin"}"
|
||||
WINCNI_PKG=github.com/Microsoft/windows-container-networking
|
||||
WINCNI_VERSION=aa10a0b31e9f72937063436454def1760b858ee2
|
||||
|
||||
# Create a temporary GOPATH for cni installation.
|
||||
GOPATH="$(mktemp -d /tmp/cri-install-cni.XXXX)"
|
||||
|
||||
# Install cni
|
||||
checkout_repo "${WINCNI_PKG}" "${WINCNI_VERSION}" "${WINCNI_PKG}"
|
||||
cd "${GOPATH}/src/${WINCNI_PKG}"
|
||||
make all
|
||||
install -D -m 755 "out/nat.exe" "${WINCNI_BIN_DIR}/nat.exe"
|
||||
install -D -m 755 "out/sdnbridge.exe" "${WINCNI_BIN_DIR}/sdnbridge.exe"
|
||||
install -D -m 755 "out/sdnoverlay.exe" "${WINCNI_BIN_DIR}/sdnoverlay.exe"
|
||||
|
||||
# Clean the tmp GOPATH dir.
|
||||
rm -rf "${GOPATH}"
|
@ -1,47 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
cd $(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Install hcsshim
|
||||
./install-hcsshim.sh
|
||||
|
||||
# Install cni
|
||||
./install-cni.sh
|
||||
|
||||
# Install cni config
|
||||
./install-cni-config.sh
|
||||
|
||||
# Install containerd
|
||||
NOSUDO=true \
|
||||
BUILDTAGS="" \
|
||||
CONTAINERD_DIR='C:\Program Files\Containerd' \
|
||||
../install-containerd.sh
|
||||
# Containerd makefile always installs into a "bin" directory.
|
||||
# Use slash instead of bach slash so that `*` can work.
|
||||
mv C:/'Program Files'/Containerd/bin/* 'C:\Program Files\Containerd\'
|
||||
rm -rf 'C:\Program Files\Containerd\bin'
|
||||
|
||||
#Install critools
|
||||
NOSUDO=true \
|
||||
CRITOOL_DIR='C:\Program Files\Containerd' \
|
||||
CRICTL_RUNTIME_ENDPOINT="npipe:////./pipe/containerd-containerd" \
|
||||
CRICTL_CONFIG_DIR="C:\\Users\\$(id -u -n)\\.crictl" \
|
||||
../install-critools.sh
|
@ -1,37 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/../utils.sh
|
||||
HCSSHIM_DIR="${HCSSHIM_DIR:-"C:\\Program Files\\Containerd"}"
|
||||
HCSSHIM_PKG=github.com/Microsoft/hcsshim
|
||||
|
||||
# Create a temporary GOPATH for hcsshim installation.
|
||||
GOPATH="$(mktemp -d /tmp/cri-install-hcsshim.XXXX)"
|
||||
|
||||
# Install hcsshim
|
||||
from-vendor HCSSHIM "${HCSSHIM_PKG}"
|
||||
checkout_repo "${HCSSHIM_PKG}" "${HCSSHIM_VERSION}" "${HCSSHIM_REPO}"
|
||||
cd "${GOPATH}/src/${HCSSHIM_PKG}"
|
||||
go build "${HCSSHIM_PKG}/cmd/containerd-shim-runhcs-v1"
|
||||
install -D -m 755 containerd-shim-runhcs-v1.exe "${HCSSHIM_DIR}"/containerd-shim-runhcs-v1.exe
|
||||
|
||||
# Clean the tmp GOPATH dir. Use sudo because runc build generates
|
||||
# some privileged files.
|
||||
rm -rf ${GOPATH}
|
67
hack/push.sh
67
hack/push.sh
@ -1,67 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
|
||||
# DEPLOY_BUCKET is the gcs bucket where the tarball should be stored in.
|
||||
DEPLOY_BUCKET=${DEPLOY_BUCKET:-"cri-containerd-staging"}
|
||||
# DEPLOY_DIR is the directory in the gcs bucket to store the tarball.
|
||||
DEPLOY_DIR=${DEPLOY_DIR:-""}
|
||||
# BUILD_DIR is the directory of the bulid out.
|
||||
BUILD_DIR=${BUILD_DIR:-"_output"}
|
||||
# TARBALL is the tarball name.
|
||||
TARBALL=${TARBALL:-"cri-containerd.tar.gz"}
|
||||
# LATEST is the name of the latest version file.
|
||||
LATEST=${LATEST:-"latest"}
|
||||
# PUSH_VERSION indicates whether to push version.
|
||||
PUSH_VERSION=${PUSH_VERSION:-false}
|
||||
|
||||
release_tar=${ROOT}/${BUILD_DIR}/${TARBALL}
|
||||
release_tar_checksum=${release_tar}.sha256
|
||||
if [[ ! -e ${release_tar} || ! -e ${release_tar_checksum} ]]; then
|
||||
echo "Release tarball is not built"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! gsutil ls "gs://${DEPLOY_BUCKET}" > /dev/null; then
|
||||
create_ttl_bucket ${DEPLOY_BUCKET}
|
||||
fi
|
||||
|
||||
if [ -z "${DEPLOY_DIR}" ]; then
|
||||
DEPLOY_PATH="${DEPLOY_BUCKET}"
|
||||
else
|
||||
DEPLOY_PATH="${DEPLOY_BUCKET}/${DEPLOY_DIR}"
|
||||
fi
|
||||
|
||||
# TODO(random-liu): Add checksum for the tarball.
|
||||
gsutil cp ${release_tar} "gs://${DEPLOY_PATH}/"
|
||||
gsutil cp ${release_tar_checksum} "gs://${DEPLOY_PATH}/"
|
||||
echo "Release tarball is uploaded to:
|
||||
https://storage.googleapis.com/${DEPLOY_PATH}/${TARBALL}"
|
||||
|
||||
if ${PUSH_VERSION}; then
|
||||
if [[ -z "${VERSION}" ]]; then
|
||||
echo "VERSION is not set"
|
||||
exit 1
|
||||
fi
|
||||
echo ${VERSION} | gsutil cp - "gs://${DEPLOY_PATH}/${LATEST}"
|
||||
echo "Latest version is uploaded to:
|
||||
https://storage.googleapis.com/${DEPLOY_PATH}/${LATEST}"
|
||||
fi
|
@ -1,75 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
cd ${ROOT}
|
||||
|
||||
umask 0022
|
||||
|
||||
# BUILD_DIR is the directory to generate release tar.
|
||||
# TARBALL is the name of the release tar.
|
||||
BUILD_DIR=${BUILD_DIR:-"_output"}
|
||||
# Convert to absolute path if it's relative.
|
||||
if [[ ${BUILD_DIR} != /* ]]; then
|
||||
BUILD_DIR=${ROOT}/${BUILD_DIR}
|
||||
fi
|
||||
TARBALL=${TARBALL:-"cri-containerd.tar.gz"}
|
||||
# INCLUDE_CNI indicates whether to install CNI. By default don't
|
||||
# include CNI in release tarball.
|
||||
INCLUDE_CNI=${INCLUDE_CNI:-false}
|
||||
# CUSTOM_CONTAINERD indicates whether to install customized containerd
|
||||
# for CI test.
|
||||
CUSTOM_CONTAINERD=${CUSTOM_CONTAINERD:-false}
|
||||
|
||||
destdir=${BUILD_DIR}/release-stage
|
||||
|
||||
if [[ -z "${VERSION}" ]]; then
|
||||
echo "VERSION is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Remove release-stage directory to avoid including old files.
|
||||
rm -rf ${destdir}
|
||||
|
||||
# Install dependencies into release stage.
|
||||
# Install hcsshim
|
||||
HCSSHIM_DIR=${destdir} ./hack/install/windows/install-hcsshim.sh
|
||||
|
||||
if ${INCLUDE_CNI}; then
|
||||
# Install cni
|
||||
NOSUDO=true WINCNI_BIN_DIR=${destdir}/cni ./hack/install/windows/install-cni.sh
|
||||
fi
|
||||
|
||||
# Build containerd from source
|
||||
NOSUDO=true CONTAINERD_DIR=${destdir} ./hack/install/install-containerd.sh
|
||||
# Containerd makefile always installs into a "bin" directory.
|
||||
mv "${destdir}"/bin/* "${destdir}"
|
||||
rm -rf "${destdir}/bin"
|
||||
|
||||
if ${CUSTOM_CONTAINERD}; then
|
||||
make install -e BINDIR=${destdir}
|
||||
fi
|
||||
|
||||
# Create release tar
|
||||
tarball=${BUILD_DIR}/${TARBALL}
|
||||
tar -zcvf ${tarball} -C ${destdir} . --owner=0 --group=0
|
||||
checksum=$(sha256 ${tarball})
|
||||
echo "sha256sum: ${checksum} ${tarball}"
|
||||
echo ${checksum} > ${tarball}.sha256
|
127
hack/release.sh
127
hack/release.sh
@ -1,127 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
cd ${ROOT}
|
||||
|
||||
umask 0022
|
||||
|
||||
# BUILD_DIR is the directory to generate release tar.
|
||||
# TARBALL is the name of the release tar.
|
||||
BUILD_DIR=${BUILD_DIR:-"_output"}
|
||||
# Convert to absolute path if it's relative.
|
||||
if [[ ${BUILD_DIR} != /* ]]; then
|
||||
BUILD_DIR=${ROOT}/${BUILD_DIR}
|
||||
fi
|
||||
TARBALL=${TARBALL:-"cri-containerd.tar.gz"}
|
||||
# INCLUDE_CNI indicates whether to install CNI. By default don't
|
||||
# include CNI in release tarball.
|
||||
INCLUDE_CNI=${INCLUDE_CNI:-false}
|
||||
# CUSTOM_CONTAINERD indicates whether to install customized containerd
|
||||
# for CI test.
|
||||
CUSTOM_CONTAINERD=${CUSTOM_CONTAINERD:-false}
|
||||
# OFFICIAL_RELEASE indicates whether to use official containerd release.
|
||||
OFFICIAL_RELEASE=${OFFICIAL_RELEASE:-false}
|
||||
# LOCAL_RELEASE indicates that containerd has been built and released
|
||||
# locally.
|
||||
LOCAL_RELEASE=${LOCAL_RELEASE:-false}
|
||||
if [ -z "${GOOS:-}" ]
|
||||
then
|
||||
GOOS=$(go env GOOS)
|
||||
fi
|
||||
if [ -z "${GOARCH:-}" ]
|
||||
then
|
||||
GOARCH=$(go env GOARCH)
|
||||
fi
|
||||
|
||||
|
||||
destdir=${BUILD_DIR}/release-stage
|
||||
|
||||
if [[ -z "${VERSION}" ]]; then
|
||||
echo "VERSION is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Remove release-stage directory to avoid including old files.
|
||||
rm -rf ${destdir}
|
||||
|
||||
# download_containerd downloads containerd from official release.
|
||||
download_containerd() {
|
||||
local -r tmppath="$(mktemp -d /tmp/download-containerd.XXXX)"
|
||||
local -r tarball="${tmppath}/containerd.tar.gz"
|
||||
local -r url="https://github.com/containerd/containerd/releases/download/v${VERSION}/containerd-${VERSION}.linux-amd64.tar.gz"
|
||||
wget -O "${tarball}" "${url}"
|
||||
tar -C "${destdir}/usr/local" -xzf "${tarball}"
|
||||
rm -rf "${tmppath}"
|
||||
}
|
||||
|
||||
# copy_local_containerd copies local containerd release.
|
||||
copy_local_containerd() {
|
||||
local -r tarball="${GOPATH}/src/github.com/containerd/containerd/releases/containerd-${VERSION}.${GOOS}-${GOARCH}.tar.gz"
|
||||
if [[ ! -e "${tarball}" ]]; then
|
||||
echo "Containerd release is not built"
|
||||
exit 1
|
||||
fi
|
||||
tar -C "${destdir}/usr/local" -xzf "${tarball}"
|
||||
}
|
||||
|
||||
# Install dependencies into release stage.
|
||||
# Install runc
|
||||
NOSUDO=true DESTDIR=${destdir} ./hack/install/install-runc.sh
|
||||
|
||||
if ${INCLUDE_CNI}; then
|
||||
# Install cni
|
||||
NOSUDO=true DESTDIR=${destdir} ./hack/install/install-cni.sh
|
||||
fi
|
||||
|
||||
# Install critools
|
||||
NOSUDO=true DESTDIR=${destdir} ./hack/install/install-critools.sh
|
||||
|
||||
# Install containerd
|
||||
if $OFFICIAL_RELEASE; then
|
||||
download_containerd
|
||||
elif $LOCAL_RELEASE; then
|
||||
copy_local_containerd
|
||||
else
|
||||
# Build containerd from source
|
||||
NOSUDO=true DESTDIR=${destdir} ./hack/install/install-containerd.sh
|
||||
fi
|
||||
|
||||
if ${CUSTOM_CONTAINERD}; then
|
||||
make install -e DESTDIR=${destdir}
|
||||
fi
|
||||
|
||||
# Install systemd units into release stage.
|
||||
mkdir -p ${destdir}/etc/systemd/system
|
||||
cp ${ROOT}/contrib/systemd-units/* ${destdir}/etc/systemd/system/
|
||||
# Install cluster directory into release stage.
|
||||
mkdir -p ${destdir}/opt/containerd
|
||||
cp -r ${ROOT}/cluster ${destdir}/opt/containerd
|
||||
# Write a version file into the release tarball.
|
||||
cat > ${destdir}/opt/containerd/cluster/version <<EOF
|
||||
CONTAINERD_VERSION: $(yaml-quote ${VERSION})
|
||||
EOF
|
||||
|
||||
# Create release tar
|
||||
tarball=${BUILD_DIR}/${TARBALL}
|
||||
tar -zcvf ${tarball} -C ${destdir} . --owner=0 --group=0
|
||||
checksum=$(sha256 ${tarball})
|
||||
echo "sha256sum: ${checksum} ${tarball}"
|
||||
echo ${checksum} > ${tarball}.sha256
|
@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
cd ${ROOT}
|
||||
|
||||
echo "Sort vendor.conf..."
|
||||
tmpdir="$(mktemp -d)"
|
||||
trap "rm -rf ${tmpdir}" EXIT
|
||||
|
||||
awk -v RS= '{print > "'${tmpdir}/'TMP."NR}' vendor.conf
|
||||
for file in ${tmpdir}/*; do
|
||||
if [[ -e "${tmpdir}/vendor.conf" ]]; then
|
||||
echo >> "${tmpdir}/vendor.conf"
|
||||
fi
|
||||
sort -Vru "${file}" >> "${tmpdir}/vendor.conf"
|
||||
done
|
||||
|
||||
mv "${tmpdir}/vendor.conf" vendor.conf
|
||||
|
||||
echo "Please commit the change made by this file..."
|
@ -1,59 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/utils.sh
|
||||
cd ${ROOT}
|
||||
|
||||
echo "Compare vendor with containerd vendors..."
|
||||
containerd_vendor=$(mktemp /tmp/containerd-vendor.conf.XXXX)
|
||||
from-vendor CONTAINERD github.com/containerd/containerd
|
||||
curl -s https://raw.githubusercontent.com/${CONTAINERD_REPO#*/}/${CONTAINERD_VERSION}/vendor.conf > ${containerd_vendor}
|
||||
# Create a temporary vendor file to update.
|
||||
tmp_vendor=$(mktemp /tmp/vendor.conf.XXXX)
|
||||
while read vendor; do
|
||||
repo=$(echo ${vendor} | awk '{print $1}')
|
||||
commit=$(echo ${vendor} | awk '{print $2}')
|
||||
alias=$(echo ${vendor} | awk '{print $3}')
|
||||
vendor_in_containerd=$(grep ${repo} ${containerd_vendor} || true)
|
||||
if [ -z "${vendor_in_containerd}" ]; then
|
||||
echo ${vendor} >> ${tmp_vendor}
|
||||
continue
|
||||
fi
|
||||
commit_in_containerd=$(echo ${vendor_in_containerd} | awk '{print $2}')
|
||||
alias_in_containerd=$(echo ${vendor_in_containerd} | awk '{print $3}')
|
||||
if [[ "${commit}" != "${commit_in_containerd}" || "${alias}" != "${alias_in_containerd}" ]]; then
|
||||
echo ${vendor_in_containerd} >> ${tmp_vendor}
|
||||
else
|
||||
echo ${vendor} >> ${tmp_vendor}
|
||||
fi
|
||||
done < vendor.conf
|
||||
# Update vendors if temporary vendor.conf is different from the original one.
|
||||
if ! diff vendor.conf ${tmp_vendor} > /dev/null; then
|
||||
if [ $# -gt 0 ] && [ ${1} = "-only-verify" ]; then
|
||||
echo "Need to update vendor.conf."
|
||||
diff vendor.conf ${tmp_vendor}
|
||||
rm ${tmp_vendor}
|
||||
exit 1
|
||||
else
|
||||
echo "Updating vendor.conf."
|
||||
mv ${tmp_vendor} vendor.conf
|
||||
fi
|
||||
fi
|
||||
rm ${containerd_vendor}
|
@ -1,69 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/test-utils.sh
|
||||
|
||||
# FOCUS focuses the test to run.
|
||||
FOCUS=${FOCUS:-}
|
||||
# SKIP skips the test to skip.
|
||||
SKIP=${SKIP:-""}
|
||||
# REPORT_DIR is the the directory to store test logs.
|
||||
REPORT_DIR=${REPORT_DIR:-"/tmp/test-cri"}
|
||||
# RUNTIME is the runtime handler to use in the test.
|
||||
RUNTIME=${RUNTIME:-""}
|
||||
|
||||
# Check GOPATH
|
||||
if [[ -z "${GOPATH}" ]]; then
|
||||
echo "GOPATH is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# For multiple GOPATHs, keep the first one only
|
||||
GOPATH=${GOPATH%%:*}
|
||||
|
||||
CRITEST=${GOPATH}/bin/critest
|
||||
|
||||
GINKGO_PKG=github.com/onsi/ginkgo/ginkgo
|
||||
|
||||
# Install ginkgo
|
||||
if [ ! -x "$(command -v ginkgo)" ]; then
|
||||
go get -u ${GINKGO_PKG}
|
||||
fi
|
||||
|
||||
# Install critest
|
||||
if [ ! -x "$(command -v ${CRITEST})" ]; then
|
||||
go get -d ${CRITOOL_PKG}/...
|
||||
cd ${GOPATH}/src/${CRITOOL_PKG}
|
||||
git fetch --all
|
||||
git checkout ${CRITOOL_VERSION}
|
||||
make critest
|
||||
make install-critest -e BINDIR="${GOPATH}/bin"
|
||||
fi
|
||||
which ${CRITEST}
|
||||
|
||||
mkdir -p ${REPORT_DIR}
|
||||
test_setup ${REPORT_DIR}
|
||||
|
||||
# Run cri validation test
|
||||
sudo env PATH=${PATH} GOPATH=${GOPATH} ${CRITEST} --runtime-endpoint=${CONTAINERD_SOCK} --ginkgo.focus="${FOCUS}" --ginkgo.skip="${SKIP}" --parallel=8 --runtime-handler=${RUNTIME}
|
||||
test_exit_code=$?
|
||||
|
||||
test_teardown
|
||||
|
||||
exit ${test_exit_code}
|
@ -1,104 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
source $(dirname "${BASH_SOURCE[0]}")/test-utils.sh
|
||||
|
||||
DEFAULT_SKIP="\[Flaky\]|\[Slow\]|\[Serial\]"
|
||||
DEFAULT_SKIP+="|querying\s\/stats\/summary"
|
||||
|
||||
# FOCUS focuses the test to run.
|
||||
export FOCUS=${FOCUS:-""}
|
||||
# SKIP skips the test to skip.
|
||||
export SKIP=${SKIP:-${DEFAULT_SKIP}}
|
||||
# REPORT_DIR is the the directory to store test logs.
|
||||
REPORT_DIR=${REPORT_DIR:-"/tmp/test-e2e-node"}
|
||||
# UPLOAD_LOG indicates whether to upload test log to gcs.
|
||||
UPLOAD_LOG=${UPLOAD_LOG:-false}
|
||||
# TIMEOUT is the timeout of the test.
|
||||
TIMEOUT=${TIMEOUT:-"40m"}
|
||||
# FAIL_SWAP_ON makes kubelet fail when swap is on.
|
||||
# Many dev environments run with swap on, so we don't fail by default.
|
||||
FAIL_SWAP_ON=${FAIL_SWAP_ON:-"false"}
|
||||
|
||||
# Check GOPATH
|
||||
if [[ -z "${GOPATH}" ]]; then
|
||||
echo "GOPATH is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ORIGINAL_RULES=`mktemp`
|
||||
sudo iptables-save > ${ORIGINAL_RULES}
|
||||
|
||||
# Update ip firewall
|
||||
# We need to add rules to accept all TCP/UDP/ICMP packets.
|
||||
if sudo iptables -L INPUT | grep "Chain INPUT (policy DROP)" > /dev/null; then
|
||||
sudo iptables -A INPUT -w -p TCP -j ACCEPT
|
||||
sudo iptables -A INPUT -w -p UDP -j ACCEPT
|
||||
sudo iptables -A INPUT -w -p ICMP -j ACCEPT
|
||||
fi
|
||||
if sudo iptables -L FORWARD | grep "Chain FORWARD (policy DROP)" > /dev/null; then
|
||||
sudo iptables -A FORWARD -w -p TCP -j ACCEPT
|
||||
sudo iptables -A FORWARD -w -p UDP -j ACCEPT
|
||||
sudo iptables -A FORWARD -w -p ICMP -j ACCEPT
|
||||
fi
|
||||
|
||||
# For multiple GOPATHs, keep the first one only
|
||||
GOPATH=${GOPATH%%:*}
|
||||
|
||||
# Get kubernetes
|
||||
KUBERNETES_REPO="https://github.com/kubernetes/kubernetes"
|
||||
KUBERNETES_PATH="${GOPATH}/src/k8s.io/kubernetes"
|
||||
if [ ! -d "${KUBERNETES_PATH}" ]; then
|
||||
mkdir -p ${KUBERNETES_PATH}
|
||||
cd ${KUBERNETES_PATH}
|
||||
git clone https://${KUBERNETES_REPO} .
|
||||
fi
|
||||
cd ${KUBERNETES_PATH}
|
||||
git fetch --all
|
||||
git checkout ${KUBERNETES_VERSION}
|
||||
|
||||
mkdir -p ${REPORT_DIR}
|
||||
test_setup ${REPORT_DIR}
|
||||
|
||||
timeout "${TIMEOUT}" make test-e2e-node \
|
||||
RUNTIME=remote \
|
||||
CONTAINER_RUNTIME_ENDPOINT=unix://${CONTAINERD_SOCK} \
|
||||
ARTIFACTS=${REPORT_DIR} \
|
||||
TEST_ARGS='--kubelet-flags=--cgroups-per-qos=true \
|
||||
--kubelet-flags=--cgroup-root=/ \
|
||||
--kubelet-flags=--fail-swap-on='${FAIL_SWAP_ON}' \
|
||||
--prepull-images=false'
|
||||
test_exit_code=$?
|
||||
|
||||
test_teardown
|
||||
|
||||
sudo iptables-restore < ${ORIGINAL_RULES}
|
||||
rm ${ORIGINAL_RULES}
|
||||
|
||||
# UPLOAD_LOG_PATH is bucket to upload test logs.
|
||||
UPLOAD_LOG_PATH=cri-containerd_test-e2e-node
|
||||
if ${UPLOAD_LOG}; then
|
||||
if [ -z "${VERSION}" ]; then
|
||||
echo "VERSION is not set"
|
||||
exit 1
|
||||
fi
|
||||
upload_logs_to_gcs "${UPLOAD_LOG_PATH}" "${VERSION}-$(date +%Y%m%d-%H%M%S)" "${REPORT_DIR}"
|
||||
fi
|
||||
|
||||
exit ${test_exit_code}
|
@ -1,44 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/..
|
||||
API_ROOT="${ROOT}/${API_PATH-"pkg/api/v1"}"
|
||||
|
||||
go get k8s.io/code-generator/cmd/go-to-protobuf/protoc-gen-gogo
|
||||
if ! which protoc-gen-gogo >/dev/null; then
|
||||
echo "GOPATH is not in PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function cleanup {
|
||||
rm -f ${API_ROOT}/api.pb.go.bak
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
protoc \
|
||||
--proto_path="${API_ROOT}" \
|
||||
--proto_path="${ROOT}/vendor" \
|
||||
--gogo_out=plugins=grpc:${API_ROOT} ${API_ROOT}/api.proto
|
||||
|
||||
# Update boilerplate for the generated file.
|
||||
echo "$(cat hack/boilerplate/boilerplate ${API_ROOT}/api.pb.go)" > ${API_ROOT}/api.pb.go
|
||||
|
||||
gofmt -l -s -w ${API_ROOT}/api.pb.go
|
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
find_files() {
|
||||
find . -not \( \
|
||||
\( \
|
||||
-wholename '*/vendor/*' \
|
||||
\) -prune \
|
||||
\) -name '*.go'
|
||||
}
|
||||
|
||||
GOFMT="gofmt -s"
|
||||
bad_files=$(find_files | xargs $GOFMT -l)
|
||||
if [[ -n "${bad_files}" ]]; then
|
||||
echo "!!! '$GOFMT' needs to be run on the following files: "
|
||||
echo "${bad_files}"
|
||||
exit 1
|
||||
fi
|
@ -1,25 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright The containerd Authors.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
tmpdir="$(mktemp -d)"
|
||||
trap "rm -rf ${tmpdir}" EXIT
|
||||
|
||||
git clone "https://github.com/containerd/project" "${tmpdir}"
|
||||
"${tmpdir}"/script/validate/vendor
|
Loading…
Reference in New Issue
Block a user