!48 modify kata integration to adapt to the update of kata-containers

From: @Vanient 
Reviewed-by: @flyflyflypeng, @duguhaotian 
Signed-off-by: @duguhaotian
This commit is contained in:
openeuler-ci-bot 2022-09-06 06:10:00 +00:00 committed by Gitee
commit 75cb99a193
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 219 additions and 137 deletions

View File

@ -1,136 +0,0 @@
#needsrootforbuild
%global debug_package %{nil}
%global kernel_version 4.19.36
%define VERSION v1.11.1
%define RELEASE 6
Name: kata-containers
Version: %{VERSION}
Release: %{RELEASE}
Summary: Kata Container integration
License: Apache 2.0
URL: https://gitee.com/src-openeuler/kata_integration
Source0: kata_integration-v1.0.0.tar.gz
Source1: kata-runtime-%{version}.tar.gz
Source2: kata-agent-%{version}.tar.gz
Source3: kata-proxy-%{version}.tar.gz
Source4: kata-shim-%{version}.tar.gz
Source5: linux-%{kernel_version}.tar.gz
BuildRoot: %_topdir/BUILDROOT
BuildRequires: automake golang gcc bc glibc-devel glibc-static busybox glib2-devel glib2 ipvsadm conntrack-tools nfs-utils
BuildRequires: patch elfutils-libelf-devel openssl-devel bison flex
%description
This is core component of Kata Container, to make it work, you need a docker engine.
%prep
%setup -T -c -a 0 -n %{name}-%{version}
%setup -T -c -a 1 -n runtime
%setup -T -c -a 2 -n agent
%setup -T -c -a 3 -n proxy
%setup -T -c -a 4 -n shim
%setup -T -c -a 5 -n kernel
# extract the kata_integration.tar.gz file
cd %{_builddir}/%{name}-%{version}
# apply kata_integration patches
sh apply-patches
# mv build components into kata_integration dir
pushd %{_builddir}/%{name}-%{version}
mv ../runtime .
mv ../agent .
mv ../proxy .
mv ../shim .
popd
# build kernel
cd %{_builddir}/kernel
mv kernel linux
cd %{_builddir}/kernel/linux/
%ifarch %{ix86} x86_64
cp %{_builddir}/%{name}-%{version}/hack/config-kata-x86_64 ./.config
%else
cp %{_builddir}/%{name}-%{version}/hack/config-kata-arm64 ./.config
%endif
%build
echo %{_builddir}
echo %{name}-%{version}
cd %{_builddir}/kernel/linux/
make %{?_smp_mflags}
cd %{_builddir}/%{name}-%{version}
mkdir -p -m 750 build
make runtime
make proxy
make shim
make initrd
%install
mkdir -p -m 755 %{buildroot}/var/lib/kata
%ifarch %{ix86} x86_64
install -p -m 755 -D %{_builddir}/kernel/linux/arch/x86_64/boot/bzImage %{buildroot}/var/lib/kata/kernel
%else
install -p -m 755 -D %{_builddir}/kernel/linux/arch/arm64/boot/Image %{buildroot}/var/lib/kata/kernel
%endif
cd %{_builddir}/%{name}-%{version}
mkdir -p -m 750 %{buildroot}/usr/bin
install -p -m 750 ./build/kata-runtime ./build/kata-proxy ./build/kata-shim ./build/kata-netmon %{buildroot}/usr/bin/
install -p -m 640 ./build/kata-containers-initrd.img %{buildroot}/var/lib/kata/
mkdir -p -m 750 %{buildroot}/usr/share/defaults/kata-containers/
install -p -m 640 -D ./runtime/cli/config/configuration-qemu.toml %{buildroot}/usr/share/defaults/kata-containers/configuration.toml
%clean
%files
/usr/bin/kata-runtime
/usr/bin/kata-proxy
/usr/bin/kata-shim
/usr/bin/kata-netmon
/var/lib/kata/kernel
/var/lib/kata/kata-containers-initrd.img
%config(noreplace) /usr/share/defaults/kata-containers/configuration.toml
%doc
%changelog
* Fri Nov 6 2020 yangfeiyu<yangfeiyu2@huawei.com> - 1.11.1-6
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:revert the kata-containers.spec to still build kata-containers components into one package
* Fri Oct 9 2020 yangfeiyu<yangfeiyu2@huawei.com> - 1.11.1-5
- Type:enhancement
- ID:NA
- SUG:restart
- DESC:directly copy kata binary files instead of building them
* Wed Sep 30 2020 yangfeiyu<yangfeiyu2@huawei.com> - 1.11.1-4
- Type:bugfix
- ID:NA
- SUG:restart
- DESC:kata-runtime retry inserting of CNI interface
* Sun Sep 27 2020 LiangZhang<zhangliang5@Huawei.com> - 1.11.1-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix cmd params of direct use stratovirt binary
* Thu Sep 20 2020 jiangpengf<jiangpengfei9@huawei.com> - 1.11.1-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix del-iface doesn't delete the tap interface in the host problem
* Thu Aug 27 2020 jiangpengf<jiangpengfei9@huawei.com> - 1.11.1-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update kata-containers version to v1.11.1-1

View File

@ -1,6 +1,6 @@
%global debug_package %{nil}
%define VERSION v1.0.0
%define RELEASE 2
%define RELEASE 9
Name: kata-integration
Version: %{VERSION}
@ -28,6 +28,18 @@ This is a usefult tool for building Kata Container components.
%doc
%changelog
* Wed Aug 18 2022 chengzeruizhi<chengzeruizhi@huawei.com> - 1.0.0-9
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:adapt to kata-containers
* Fri Aug 5 2022 xiadanni<xiadanni1@huawei.com> - 1.0.0-8
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:bump version to 1.0.0-8
* Sat Sep 5 2020 jiangpengf<jiangpengfei9@huawei.com> - 1.0.0-2
- Type:enhancement
- ID:NA

65
kata-micro-kernel.spec Normal file
View File

@ -0,0 +1,65 @@
%global debug_package %{nil}
%define VERSION 5.10.0
%define RELEASE 1
Name: kata-micro-kernel
Version: %{VERSION}
Release: %{RELEASE}
Summary: Micro kernel for kata-containers
License: GPLv2
URL: http://www.kernel.org/
Source0: kernel.tar.gz
Source1: kata_integration-v1.0.0.tar.gz
BuildRoot: %_topdir/BUILDROOT
BuildRequires: automake gcc bc glibc-devel glibc-static glib2-devel glib2
BuildRequires: patch elfutils-libelf-devel bison flex
%description
This is a micro kernel for kata-containers.
%prep
%setup -T -c -a 0 -n kernel
%setup -T -c -a 1 -n kata_integration
# extract the kata_integration.tar.gz file
cd %{_builddir}/kata_integration
# apply kata_integration patches
sh apply-patches
# build kernel
cd %{_builddir}/kernel
mv kernel linux
cd %{_builddir}/kernel/linux/
%ifarch %{ix86} x86_64
cp %{_builddir}/kata_integration/hack/config-kata-x86_64 ./.config
%else
cp %{_builddir}/kata_integration/hack/config-kata-arm64 ./.config
%endif
%build
cd %{_builddir}/kernel/linux/
make %{?_smp_mflags}
%install
mkdir -p -m 755 %{buildroot}/var/lib/kata
%ifarch %{ix86} x86_64
install -p -m 640 -D %{_builddir}/kernel/linux/arch/x86_64/boot/bzImage %{buildroot}/var/lib/kata/kernel
%else
install -p -m 640 -D %{_builddir}/kernel/linux/arch/arm64/boot/Image %{buildroot}/var/lib/kata/kernel
%endif
%clean
%files
/var/lib/kata/kernel
%doc
%changelog
* Fri Aug 20 2021 jikui<jikui2@huawei.com> - 5.10.0-1
- Type:requirement
- ID:NA
- SUG:NA
- DESC:init kata-micro-kernel package

View File

@ -0,0 +1,67 @@
From c26cf7520b4fe94dff39742b32168ac0bd36c212 Mon Sep 17 00:00:00 2001
From: holyfei <yangfeiyu20102011@163.com>
Date: Wed, 18 Aug 2021 10:50:26 +0800
Subject: [PATCH] kata_integration: adapt with new kata-containers
reason: adapt with new kata-containers
Signed-off-by: holyfei <yangfeiyu20102011@163.com>
---
Makefile | 2 +-
hack/config-kata-arm64 | 2 +-
hack/config-kata-x86_64 | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index f22fc80..db6b799 100644
--- a/Makefile
+++ b/Makefile
@@ -55,7 +55,7 @@ agent:
test:
docker run -ti --rm --runtime=kata-runtime busybox sh
-initrd: agent
+initrd:
sh ./scripts/make_kata_container_initrd.sh
debug-initrd: runtime
diff --git a/hack/config-kata-arm64 b/hack/config-kata-arm64
index 253af36..425bb52 100644
--- a/hack/config-kata-arm64
+++ b/hack/config-kata-arm64
@@ -548,7 +548,7 @@ CONFIG_ACPI_GTDT=y
CONFIG_ACPI_PPTT=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
-# CONFIG_VHOST_NET is not set
+CONFIG_VHOST_NET=y
CONFIG_VHOST_VSOCK=y
CONFIG_VHOST=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
diff --git a/hack/config-kata-x86_64 b/hack/config-kata-x86_64
index 452f903..7c57225 100644
--- a/hack/config-kata-x86_64
+++ b/hack/config-kata-x86_64
@@ -583,8 +583,8 @@ CONFIG_FIRMWARE_MEMMAP=y
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
-# CONFIG_VHOST_NET is not set
-# CONFIG_VHOST_VSOCK is not set
+CONFIG_VHOST_NET=y
+CONFIG_VHOST_VSOCK=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
#
@@ -1261,7 +1261,7 @@ CONFIG_DNS_RESOLVER=y
# CONFIG_OPENVSWITCH is not set
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
-# CONFIG_VIRTIO_VSOCKETS is not set
+CONFIG_VIRTIO_VSOCKETS=y
# CONFIG_NETLINK_DIAG is not set
# CONFIG_MPLS is not set
# CONFIG_NET_NSH is not set
--
2.23.0

View File

@ -0,0 +1,42 @@
From 8a527dfce24b0c71328812646f48b65df02b4890 Mon Sep 17 00:00:00 2001
From: holyfei <yangfeiyu20102011@163.com>
Date: Fri, 20 Aug 2021 10:11:09 +0800
Subject: [PATCH] kata_integration: modify kernel config for kata
reason: modify kernel config for kata
Signed-off-by: holyfei <yangfeiyu20102011@163.com>
---
hack/config-kata-arm64 | 2 +-
hack/config-kata-x86_64 | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/hack/config-kata-arm64 b/hack/config-kata-arm64
index 425bb52..bbea2a5 100644
--- a/hack/config-kata-arm64
+++ b/hack/config-kata-arm64
@@ -1946,7 +1946,7 @@ CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_INPUT=y
-# CONFIG_VIRTIO_MMIO is not set
+CONFIG_VIRTIO_MMIO=y
#
# Microsoft Hyper-V guest support
diff --git a/hack/config-kata-x86_64 b/hack/config-kata-x86_64
index 7c57225..e5e3cbf 100644
--- a/hack/config-kata-x86_64
+++ b/hack/config-kata-x86_64
@@ -2177,7 +2177,7 @@ CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=y
# CONFIG_VIRTIO_INPUT is not set
-# CONFIG_VIRTIO_MMIO is not set
+CONFIG_VIRTIO_MMIO=y
#
# Microsoft Hyper-V guest support
--
2.23.0

View File

@ -0,0 +1,29 @@
From 15aea9afc7f15bd625da438a4c0d490d1884f1c2 Mon Sep 17 00:00:00 2001
From: holyfei <yangfeiyu20102011@163.com>
Date: Wed, 25 Aug 2021 14:14:01 +0800
Subject: [PATCH] kata_integration: modify x86_64 kernel config for kata
reason: modify x86_64 kernel config for kata
Signed-off-by: Wei Gao <gaowei66@huawei.com>
---
hack/config-kata-x86_64 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hack/config-kata-x86_64 b/hack/config-kata-x86_64
index e5e3cbf..69302d7 100644
--- a/hack/config-kata-x86_64
+++ b/hack/config-kata-x86_64
@@ -2176,8 +2176,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=y
-# CONFIG_VIRTIO_INPUT is not set
+CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
#
# Microsoft Hyper-V guest support
--
2.21.1 (Apple Git-122.3)

View File

@ -1 +1,4 @@
0001-kata-containers-disable-netmon-by-default.patch
0002-kata_integration-adapt-with-new-kata-containers.patch
0003-kata_integration-modify-kernel-config-for-kata.patch
0004-kata_integration-modify-x86_64-kernel-config-for-kat.patch