mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-21 17:34:31 +00:00
Merge pull request #4910 from bergwolf/2.5.0-branch-bump
# Kata Containers 2.5.0
This commit is contained in:
commit
94c7f6e5a9
@ -1092,6 +1092,16 @@ impl BaseContainer for LinuxContainer {
|
|||||||
fs::remove_dir_all(&self.root)?;
|
fs::remove_dir_all(&self.root)?;
|
||||||
|
|
||||||
if let Some(cgm) = self.cgroup_manager.as_mut() {
|
if let Some(cgm) = self.cgroup_manager.as_mut() {
|
||||||
|
// Kill all of the processes created in this container to prevent
|
||||||
|
// the leak of some daemon process when this container shared pidns
|
||||||
|
// with the sandbox.
|
||||||
|
let pids = cgm.get_pids().context("get cgroup pids")?;
|
||||||
|
for i in pids {
|
||||||
|
if let Err(e) = signal::kill(Pid::from_raw(i), Signal::SIGKILL) {
|
||||||
|
warn!(self.logger, "kill the process {} error: {:?}", i, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cgm.destroy().context("destroy cgroups")?;
|
cgm.destroy().context("destroy cgroups")?;
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -118,6 +118,9 @@ block_device_driver = "@DEFBLOCKSTORAGEDRIVER_ACRN@"
|
|||||||
# but it will not abort container execution.
|
# but it will not abort container execution.
|
||||||
#guest_hook_path = "/usr/share/oci/hooks"
|
#guest_hook_path = "/usr/share/oci/hooks"
|
||||||
|
|
||||||
|
# disable applying SELinux on the VMM process (default false)
|
||||||
|
disable_selinux=@DEFDISABLESELINUX@
|
||||||
|
|
||||||
[agent.@PROJECT_TYPE@]
|
[agent.@PROJECT_TYPE@]
|
||||||
# If enabled, make the agent display debug-level messages.
|
# If enabled, make the agent display debug-level messages.
|
||||||
# (default: disabled)
|
# (default: disabled)
|
||||||
@ -186,9 +189,6 @@ internetworking_model="@DEFNETWORKMODEL_ACRN@"
|
|||||||
# (default: true)
|
# (default: true)
|
||||||
disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@
|
disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@
|
||||||
|
|
||||||
# disable applying SELinux on the VMM process (default false)
|
|
||||||
disable_selinux=@DEFDISABLESELINUX@
|
|
||||||
|
|
||||||
# If enabled, the runtime will create opentracing.io traces and spans.
|
# If enabled, the runtime will create opentracing.io traces and spans.
|
||||||
# (See https://www.jaegertracing.io/docs/getting-started).
|
# (See https://www.jaegertracing.io/docs/getting-started).
|
||||||
# (default: disabled)
|
# (default: disabled)
|
||||||
|
@ -39,6 +39,9 @@ image = "@IMAGEPATH@"
|
|||||||
# Default false
|
# Default false
|
||||||
# confidential_guest = true
|
# confidential_guest = true
|
||||||
|
|
||||||
|
# disable applying SELinux on the VMM process (default false)
|
||||||
|
disable_selinux=@DEFDISABLESELINUX@
|
||||||
|
|
||||||
# Path to the firmware.
|
# Path to the firmware.
|
||||||
# If you want Cloud Hypervisor to use a specific firmware, set its path below.
|
# If you want Cloud Hypervisor to use a specific firmware, set its path below.
|
||||||
# This is option is only used when confidential_guest is enabled.
|
# This is option is only used when confidential_guest is enabled.
|
||||||
@ -319,9 +322,6 @@ internetworking_model="@DEFNETWORKMODEL_CLH@"
|
|||||||
# (default: true)
|
# (default: true)
|
||||||
disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@
|
disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@
|
||||||
|
|
||||||
# disable applying SELinux on the VMM process (default false)
|
|
||||||
disable_selinux=@DEFDISABLESELINUX@
|
|
||||||
|
|
||||||
# If enabled, the runtime will create opentracing.io traces and spans.
|
# If enabled, the runtime will create opentracing.io traces and spans.
|
||||||
# (See https://www.jaegertracing.io/docs/getting-started).
|
# (See https://www.jaegertracing.io/docs/getting-started).
|
||||||
# (default: disabled)
|
# (default: disabled)
|
||||||
|
@ -221,6 +221,9 @@ valid_entropy_sources = @DEFVALIDENTROPYSOURCES@
|
|||||||
# Default 0-sized value means unlimited rate.
|
# Default 0-sized value means unlimited rate.
|
||||||
#tx_rate_limiter_max_rate = 0
|
#tx_rate_limiter_max_rate = 0
|
||||||
|
|
||||||
|
# disable applying SELinux on the VMM process (default false)
|
||||||
|
disable_selinux=@DEFDISABLESELINUX@
|
||||||
|
|
||||||
[factory]
|
[factory]
|
||||||
# VM templating support. Once enabled, new VMs are created from template
|
# VM templating support. Once enabled, new VMs are created from template
|
||||||
# using vm cloning. They will share the same initial kernel, initramfs and
|
# using vm cloning. They will share the same initial kernel, initramfs and
|
||||||
@ -309,9 +312,6 @@ internetworking_model="@DEFNETWORKMODEL_FC@"
|
|||||||
# (default: true)
|
# (default: true)
|
||||||
disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@
|
disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@
|
||||||
|
|
||||||
# disable applying SELinux on the VMM process (default false)
|
|
||||||
disable_selinux=@DEFDISABLESELINUX@
|
|
||||||
|
|
||||||
# If enabled, the runtime will create opentracing.io traces and spans.
|
# If enabled, the runtime will create opentracing.io traces and spans.
|
||||||
# (See https://www.jaegertracing.io/docs/getting-started).
|
# (See https://www.jaegertracing.io/docs/getting-started).
|
||||||
# (default: disabled)
|
# (default: disabled)
|
||||||
|
@ -406,6 +406,9 @@ valid_entropy_sources = @DEFVALIDENTROPYSOURCES@
|
|||||||
# use legacy serial for guest console if available and implemented for architecture. Default false
|
# use legacy serial for guest console if available and implemented for architecture. Default false
|
||||||
#use_legacy_serial = true
|
#use_legacy_serial = true
|
||||||
|
|
||||||
|
# disable applying SELinux on the VMM process (default false)
|
||||||
|
disable_selinux=@DEFDISABLESELINUX@
|
||||||
|
|
||||||
[factory]
|
[factory]
|
||||||
# VM templating support. Once enabled, new VMs are created from template
|
# VM templating support. Once enabled, new VMs are created from template
|
||||||
# using vm cloning. They will share the same initial kernel, initramfs and
|
# using vm cloning. They will share the same initial kernel, initramfs and
|
||||||
@ -523,9 +526,6 @@ internetworking_model="@DEFNETWORKMODEL_QEMU@"
|
|||||||
# (default: true)
|
# (default: true)
|
||||||
disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@
|
disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@
|
||||||
|
|
||||||
# disable applying SELinux on the VMM process (default false)
|
|
||||||
disable_selinux=@DEFDISABLESELINUX@
|
|
||||||
|
|
||||||
# If enabled, the runtime will create opentracing.io traces and spans.
|
# If enabled, the runtime will create opentracing.io traces and spans.
|
||||||
# (See https://www.jaegertracing.io/docs/getting-started).
|
# (See https://www.jaegertracing.io/docs/getting-started).
|
||||||
# (default: disabled)
|
# (default: disabled)
|
||||||
|
@ -669,6 +669,7 @@ func newFirecrackerHypervisorConfig(h hypervisor) (vc.HypervisorConfig, error) {
|
|||||||
RxRateLimiterMaxRate: rxRateLimiterMaxRate,
|
RxRateLimiterMaxRate: rxRateLimiterMaxRate,
|
||||||
TxRateLimiterMaxRate: txRateLimiterMaxRate,
|
TxRateLimiterMaxRate: txRateLimiterMaxRate,
|
||||||
EnableAnnotations: h.EnableAnnotations,
|
EnableAnnotations: h.EnableAnnotations,
|
||||||
|
DisableSeLinux: h.DisableSeLinux,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -805,6 +806,7 @@ func newQemuHypervisorConfig(h hypervisor) (vc.HypervisorConfig, error) {
|
|||||||
GuestSwap: h.GuestSwap,
|
GuestSwap: h.GuestSwap,
|
||||||
Rootless: h.Rootless,
|
Rootless: h.Rootless,
|
||||||
LegacySerial: h.LegacySerial,
|
LegacySerial: h.LegacySerial,
|
||||||
|
DisableSeLinux: h.DisableSeLinux,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -869,6 +871,7 @@ func newAcrnHypervisorConfig(h hypervisor) (vc.HypervisorConfig, error) {
|
|||||||
BlockDeviceDriver: blockDriver,
|
BlockDeviceDriver: blockDriver,
|
||||||
DisableVhostNet: h.DisableVhostNet,
|
DisableVhostNet: h.DisableVhostNet,
|
||||||
GuestHookPath: h.guestHookPath(),
|
GuestHookPath: h.guestHookPath(),
|
||||||
|
DisableSeLinux: h.DisableSeLinux,
|
||||||
EnableAnnotations: h.EnableAnnotations,
|
EnableAnnotations: h.EnableAnnotations,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
@ -2015,11 +2015,13 @@ func (k *kataAgent) sendReq(spanCtx context.Context, request interface{}) (inter
|
|||||||
k.Lock()
|
k.Lock()
|
||||||
|
|
||||||
if k.reqHandlers == nil {
|
if k.reqHandlers == nil {
|
||||||
|
k.Unlock()
|
||||||
return nil, errors.New("Client has already disconnected")
|
return nil, errors.New("Client has already disconnected")
|
||||||
}
|
}
|
||||||
|
|
||||||
handler := k.reqHandlers[msgName]
|
handler := k.reqHandlers[msgName]
|
||||||
if msgName == "" || handler == nil {
|
if msgName == "" || handler == nil {
|
||||||
|
k.Unlock()
|
||||||
return nil, errors.New("Invalid request type")
|
return nil, errors.New("Invalid request type")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ spec:
|
|||||||
katacontainers.io/kata-runtime: cleanup
|
katacontainers.io/kata-runtime: cleanup
|
||||||
containers:
|
containers:
|
||||||
- name: kube-kata-cleanup
|
- name: kube-kata-cleanup
|
||||||
image: quay.io/kata-containers/kata-deploy:latest
|
image: quay.io/kata-containers/kata-deploy:2.5.0
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
command: [ "bash", "-c", "/opt/kata-artifacts/scripts/kata-deploy.sh reset" ]
|
command: [ "bash", "-c", "/opt/kata-artifacts/scripts/kata-deploy.sh reset" ]
|
||||||
env:
|
env:
|
||||||
|
@ -16,7 +16,7 @@ spec:
|
|||||||
serviceAccountName: kata-label-node
|
serviceAccountName: kata-label-node
|
||||||
containers:
|
containers:
|
||||||
- name: kube-kata
|
- name: kube-kata
|
||||||
image: quay.io/kata-containers/kata-deploy:latest
|
image: quay.io/kata-containers/kata-deploy:2.5.0
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -23,8 +23,13 @@ RUN apt-get update && \
|
|||||||
ARG IMG_USER=kata-builder
|
ARG IMG_USER=kata-builder
|
||||||
ARG UID=1000
|
ARG UID=1000
|
||||||
ARG GID=1000
|
ARG GID=1000
|
||||||
|
# gid of the docker group on the host, required for running docker in docker builds.
|
||||||
|
ARG HOST_DOCKER_GID
|
||||||
|
|
||||||
RUN if [ ${IMG_USER} != "root" ]; then groupadd --gid=${GID} ${IMG_USER};fi
|
RUN if [ ${IMG_USER} != "root" ]; then groupadd --gid=${GID} ${IMG_USER};fi
|
||||||
RUN if [ ${IMG_USER} != "root" ]; then adduser ${IMG_USER} --uid=${UID} --gid=${GID};fi
|
RUN if [ ${IMG_USER} != "root" ]; then adduser ${IMG_USER} --uid=${UID} --gid=${GID};fi
|
||||||
|
RUN if [ ${IMG_USER} != "root" ] && [ ! -z ${HOST_DOCKER_GID} ]; then groupadd --gid=${HOST_DOCKER_GID} docker_on_host;fi
|
||||||
|
RUN if [ ${IMG_USER} != "root" ] && [ ! -z ${HOST_DOCKER_GID} ]; then usermod -a -G docker_on_host ${IMG_USER};fi
|
||||||
RUN sh -c "echo '${IMG_USER} ALL=NOPASSWD: ALL' >> /etc/sudoers"
|
RUN sh -c "echo '${IMG_USER} ALL=NOPASSWD: ALL' >> /etc/sudoers"
|
||||||
|
|
||||||
#FIXME: gcc is required as agent is build out of a container build.
|
#FIXME: gcc is required as agent is build out of a container build.
|
||||||
@ -40,4 +45,4 @@ RUN apt-get update && \
|
|||||||
apt-get clean && rm -rf /var/lib/apt/lists
|
apt-get clean && rm -rf /var/lib/apt/lists
|
||||||
|
|
||||||
ENV USER ${IMG_USER}
|
ENV USER ${IMG_USER}
|
||||||
USER ${UID}:${GID}
|
USER ${IMG_USER}
|
||||||
|
@ -20,17 +20,27 @@ if [ "${script_dir}" != "${PWD}" ]; then
|
|||||||
ln -sf "${script_dir}/build" "${PWD}/build"
|
ln -sf "${script_dir}/build" "${PWD}/build"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# This is the gid of the "docker" group on host. In case of docker in docker builds
|
||||||
|
# for some of the targets (clh builds from source), the nested container user needs to
|
||||||
|
# be part of this group.
|
||||||
|
docker_gid=$(getent group docker | cut -d: -f3 || { echo >&2 "Missing docker group, docker needs to be installed" && false; })
|
||||||
|
|
||||||
|
# If docker gid is the effective group id of the user, do not pass it as
|
||||||
|
# an additional group.
|
||||||
|
if [ ${docker_gid} == ${gid} ]; then
|
||||||
|
docker_gid=""
|
||||||
|
fi
|
||||||
|
|
||||||
docker build -q -t build-kata-deploy \
|
docker build -q -t build-kata-deploy \
|
||||||
--build-arg IMG_USER="${USER}" \
|
--build-arg IMG_USER="${USER}" \
|
||||||
--build-arg UID=${uid} \
|
--build-arg UID=${uid} \
|
||||||
--build-arg GID=${gid} \
|
--build-arg GID=${gid} \
|
||||||
|
--build-arg HOST_DOCKER_GID=${docker_gid} \
|
||||||
"${script_dir}/dockerbuild/"
|
"${script_dir}/dockerbuild/"
|
||||||
|
|
||||||
docker run \
|
docker run \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
--user ${uid}:${gid} \
|
|
||||||
--env USER=${USER} -v "${kata_dir}:${kata_dir}" \
|
--env USER=${USER} -v "${kata_dir}:${kata_dir}" \
|
||||||
--rm \
|
--rm \
|
||||||
-w ${script_dir} \
|
-w ${script_dir} \
|
||||||
build-kata-deploy "${kata_deploy_create}" $@
|
build-kata-deploy "${kata_deploy_create}" $@
|
||||||
|
|
||||||
|
@ -241,12 +241,12 @@ externals:
|
|||||||
nydus:
|
nydus:
|
||||||
description: "Nydus image acceleration service"
|
description: "Nydus image acceleration service"
|
||||||
url: "https://github.com/dragonflyoss/image-service"
|
url: "https://github.com/dragonflyoss/image-service"
|
||||||
version: "v1.1.2"
|
version: "v2.1.0-alpha.4"
|
||||||
|
|
||||||
nydus-snapshotter:
|
nydus-snapshotter:
|
||||||
description: "Snapshotter for Nydus image acceleration service"
|
description: "Snapshotter for Nydus image acceleration service"
|
||||||
url: "https://github.com/containerd/nydus-snapshotter"
|
url: "https://github.com/containerd/nydus-snapshotter"
|
||||||
version: "v0.1.0"
|
version: "v0.2.3"
|
||||||
|
|
||||||
virtiofsd:
|
virtiofsd:
|
||||||
description: "vhost-user virtio-fs device backend written in Rust"
|
description: "vhost-user virtio-fs device backend written in Rust"
|
||||||
|
Loading…
Reference in New Issue
Block a user