packaging: Remove unused kata docker configure script

This PR removes an unused kata configure docker script which was used
in packaging for kata 1.x but not longer being used in kata 2.x

Fixes #4546

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
This commit is contained in:
Gabriela Cervantes 2022-06-28 15:10:39 +00:00
parent 916ffb75d7
commit 1a78c3df2e

View File

@ -1,146 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2019 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
# Description: Script to configure Docker for the static
# version of Kata Containers.
[ -z "${DEBUG}" ] || set -x
set -o errexit
set -o nounset
set -o pipefail
docker_config_dir="/etc/docker"
docker_config_file="${docker_config_file:-${docker_config_dir}/daemon.json}"
# The static version of Kata Containers is entirely contained within
# this directory.
readonly static_base_dir="/opt/kata"
# Path to runtime in static archive file
readonly runtime_path="${static_base_dir}/bin/kata-runtime"
die()
{
local msg="$*"
echo >&2 "ERROR: $msg"
exit 1
}
info()
{
local msg="$*"
echo >&2 "INFO: $msg"
}
configure_docker()
{
local file="$1"
[ -z "$file" ] && die "need file"
mkdir -p "${docker_config_dir}"
if [ -e "$docker_config_file" ]
then
local today=$(date '+%Y-%m-%d')
local backup="${docker_config_file}.${today}"
info "Backing up original Docker config file '$docker_config_file' to '$backup'"
sudo cp "${docker_config_file}" "${docker_config_file}.${today}"
else
# Create a minimal valid JSON document
echo "{}" > "${docker_config_file}"
fi
local config_files=$(tar tvf "$file" |\
grep "/configuration-.*\.toml" |\
grep -v -- '->' |\
awk '{print $NF}' |\
sed 's/^\.//g' || true)
[ -z "$config_files" ] && die "cannot find any configuration files in '$file'"
local config
local -a runtimes
for config in $(echo "$config_files" | tr '\n' ' ')
do
local runtime
runtime=$(echo "$config" |\
awk -F \/ '{print $NF}' |\
sed -e 's/configuration/kata/g' -e 's/\.toml//g')
runtimes+=("$runtime")
local result
result=$(cat "$docker_config_file" |\
jq \
--arg config "$config" \
--arg runtime "$runtime" \
--arg runtime_path "$runtime_path" \
'.runtimes[$runtime] = {path: $runtime_path, "runtimeArgs": ["--config", $config]}')
echo "$result" > "$docker_config_file"
done
info "Validating $docker_config_file"
jq -S . "$docker_config_file" &>/dev/null
info "Restarting Docker to apply new configuration"
$chronic sudo systemctl restart docker
info "Docker configured for the following additional runtimes: ${runtimes[@]}"
}
setup()
{
source "/etc/os-release" || source "/usr/lib/os-release"
# Used to manipulate $docker_config_file
local pkg="jq"
case "$ID" in
opensuse*) distro="opensuse" ;;
*) distro="$ID" ;;
esac
# Use chronic(1) if available
chronic=
command -v chronic && chronic=chronic
if command -v "$pkg" &>/dev/null
then
return 0
fi
info "Cannot find $pkg command so installing package"
case "$distro" in
centos|rhel) $chronic sudo -E yum -y install "$pkg" ;;
debian|ubuntu) $chronic sudo -E apt-get --no-install-recommends install -y "$pkg" ;;
fedora) $chronic sudo -E dnf -y install "$pkg" ;;
opensuse|sles) $chronic sudo -E zypper -y install "$pkg" ;;
*) die "do not know how to install command $pkg' for distro '$distro'" ;;
esac
}
main()
{
local file="$1"
[ -z "$file" ] && die "need full path to Kata Containers static archive file"
echo "$file" | grep -q "^kata-static-.*\.tar.xz" || die "invalid file: '$file'"
[ $(id -u) -eq 0 ] || die "must be run as root"
setup
configure_docker "$file"
}
main "$@"