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