Eric Ernst 32feb10331 runtime: cpuset: when creating container, don't pass cpuset details
Today we only clear out the cpuset details when doing an update call on
existing container/pods. This works in the case of Kubernetes, but not
in the case where we are explicitly setting the cpuset details at boot
time. For example, if you are running a single container via docker ala:

docker run --cpuset-cpus 0-3 -it alpine sh

What would happen is the cpuset info would be passed in with the
container spec for create container request to the agent. At that point
in time, there'd only be the defualt number of CPUs available in the
guest (1), so you'd be left with cpusets set to 0. Next, we'd hotplug
the vCPUs, providing 0-4 CPUs in the guest, but the cpuset would never
be updated, leaving the application tied to CPU 0.

Ouch.

Until the day we support cpusets in the guest, let's make sure that we
start off clearing the cpuset fields.

Fixes: #1405

Signed-off-by: Eric Ernst <eric.g.ernst@gmail.com>
2021-03-17 11:31:32 +08:00
2020-10-06 17:54:13 -07:00
2021-01-14 14:03:39 -06:00
2021-03-17 11:31:32 +08:00
2020-10-18 00:40:16 +08:00
2020-10-06 17:54:13 -07:00
2017-12-06 23:01:13 -06:00
2020-06-27 20:16:53 -07:00
2020-06-25 11:19:12 +01:00
2021-01-14 11:05:32 -08:00

Kata Containers


Welcome to Kata Containers!

The purpose of this repository is to act as a "top level" site for the project. Specifically it is used:

Raising issues

This repository is used for raising issues:

  • That might affect multiple code repositories.

  • Where the raiser is unsure which repositories are affected.

Note:

  • If an issue affects only a single component, it should be raised in that components repository.

Kata Containers repositories

CI

The CI repository stores the Continuous Integration (CI) system configuration information.

Community

The Community repository is the first place to go if you want to use or contribute to the project.

Code Repositories

Kata Containers-developed components

Agent

The kata-agent runs inside the virtual machine and sets up the container environment.

KSM throttler

The kata-ksm-throttler is an optional utility that monitors containers and deduplicates memory to maximize container density on a host.

Runtime

The kata-runtime is usually invoked by a container manager and provides high-level verbs to manage containers.

Trace forwarder

The kata-trace-forwarder is a component only used when tracing the agent process.

Additional

Kernel

The hypervisor uses a Linux* kernel to boot the guest image.

Documentation

The docs directory holds documentation common to all code components.

Packaging

We use the packaging to create packages for the system components including rootfs and kernel images.

Test code

The tests repository hosts all test code except the unit testing code (which is kept in the same repository as the component it tests).

Utilities

OS builder

The osbuilder tool can create a rootfs and a "mini O/S" image. This image is used by the hypervisor to setup the environment before switching to the workload.

kata-agent-ctl

kata-agent-ctl is a low-level test tool for interacting with the agent.

Web content

The www.katacontainers.io repository contains all sources for the https://www.katacontainers.io site.

Credits

Kata Containers uses packagecloud for package hosting.

Languages
Rust 58%
Go 24.6%
Shell 10.1%
RPC 5.3%
Makefile 1%
Other 0.9%