Add CRI v1 proto

Add CRI v1 proto and generated code.
We need both v1 and v1alpha2 side by side so that
containerd and CRI-O could be updated. Once the runtimes
are updated and in the CI, we can switch the kubelet
to use v1 in 1.21 .

We are jumping to v1, so we have to avoid multiple hops to get
to GA. The package could stay v1 and declare CRI support to
be at beta and eventually GA.

Signed-off-by: Mrunal Patel <mpatel@redhat.com>
This commit is contained in:
Mrunal Patel
2020-11-09 13:42:32 -08:00
parent 1d4c0ad6f3
commit 9fcede9d5b
7 changed files with 35619 additions and 28 deletions

View File

@@ -24,27 +24,39 @@ set -o nounset
set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
KUBE_REMOTE_RUNTIME_ROOT="${KUBE_ROOT}/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2"
KUBE_REMOTE_RUNTIME_ROOT="${KUBE_ROOT}/staging/src/k8s.io/cri-api/pkg/apis/runtime/"
source "${KUBE_ROOT}/hack/lib/init.sh"
runtime_versions=("v1alpha2" "v1")
kube::golang::setup_env
function cleanup {
rm -rf "${KUBE_REMOTE_RUNTIME_ROOT}/_tmp/"
for v in "${runtime_versions[@]}"; do
rm -rf "${KUBE_REMOTE_RUNTIME_ROOT}/${v}/_tmp/"
done
}
trap cleanup EXIT
mkdir -p "${KUBE_REMOTE_RUNTIME_ROOT}/_tmp"
cp "${KUBE_REMOTE_RUNTIME_ROOT}/api.pb.go" "${KUBE_REMOTE_RUNTIME_ROOT}/_tmp/"
function verify_generated_code() {
RUNTIME_API_VERSION="$1"
KUBE_REMOTE_RUNTIME_PATH="${KUBE_REMOTE_RUNTIME_ROOT}/${RUNTIME_API_VERSION}"
mkdir -p "${KUBE_REMOTE_RUNTIME_PATH}/_tmp"
cp "${KUBE_REMOTE_RUNTIME_PATH}/api.pb.go" "${KUBE_REMOTE_RUNTIME_PATH}/_tmp/"
ret=0
KUBE_VERBOSE=3 "${KUBE_ROOT}/hack/update-generated-runtime.sh"
diff -I "gzipped FileDescriptorProto" -I "0x" -Naupr "${KUBE_REMOTE_RUNTIME_ROOT}/_tmp/api.pb.go" "${KUBE_REMOTE_RUNTIME_ROOT}/api.pb.go" || ret=$?
if [[ $ret -eq 0 ]]; then
echo "Generated container runtime api is up to date."
cp "${KUBE_REMOTE_RUNTIME_ROOT}/_tmp/api.pb.go" "${KUBE_REMOTE_RUNTIME_ROOT}/"
else
echo "Generated container runtime api is out of date. Please run hack/update-generated-runtime.sh"
exit 1
fi
ret=0
KUBE_VERBOSE=3 "${KUBE_ROOT}/hack/update-generated-runtime.sh"
diff -I "gzipped FileDescriptorProto" -I "0x" -Naupr "${KUBE_REMOTE_RUNTIME_PATH}/_tmp/api.pb.go" "${KUBE_REMOTE_RUNTIME_PATH}/api.pb.go" || ret=$?
if [[ $ret -eq 0 ]]; then
echo "Generated container runtime api is up to date."
cp "${KUBE_REMOTE_RUNTIME_PATH}/_tmp/api.pb.go" "${KUBE_REMOTE_RUNTIME_PATH}/"
else
echo "Generated container runtime api is out of date. Please run hack/update-generated-runtime.sh"
exit 1
fi
}
for v in "${runtime_versions[@]}"; do
verify_generated_code "${v}"
done