Commit Graph

1014 Commits

Author SHA1 Message Date
Julio Montes
613fd0fb60 virtcontainers: rename GetOCISpec to GetPatchedOCISpec
GetOCISpec returns a patched version of the original OCI spec, it was modified
to support:
* capabilities
* Ephemeral storage
* k8s empty dir

In order to avoid consusions and make api clear, rename GetOCISpec
to GetPatchedOCISpec and ContainerConfig.Spec to ContainerConfig.CustomSpec

fixes #2252

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-11-25 17:22:23 +00:00
Julio Montes
dd15db3250 Merge pull request #2261 from teawater/fc_log_debug
fc.go: Set firecracker log level to debug if hypervisor.enable_debug …
2019-11-25 10:32:26 -06:00
Peng Tao
35d4cac999 Merge pull request #2257 from devimc/topic/virtcontainers/honourDontSaveSpec
virtcontainers: honour ContainerConfig struct comment and don't save OCI spec
2019-11-25 20:41:35 +08:00
Graham Whaley
6727c68005 Merge pull request #2255 from devimc/topic/virtcontainers/useMapSearch
virtcontainers: improve algorithm to find containers
2019-11-25 09:29:51 +00:00
Hui Zhu
191ee63750 fc.go: Set fc log level to debug if hypervisor.enable_debug is true
Set firecracker log level to debug if hypervisor.enable_debug is true.

Fixes: #2260

Signed-off-by: Hui Zhu <teawater@antfin.com>
2019-11-25 17:08:00 +08:00
Hui Zhu
562d9fd5c2 Merge pull request #2073 from Pennyzct/firecracker_fifo_log
FC: extract error info from firecracker built-in log and metrics scheme
2019-11-25 16:15:36 +08:00
Julio Montes
336edf75ea virtcontainers: honour ContainerConfig struct comment and not save Spec
Currently kata-runtime saves the Container OCI Spec even when it's not needed
and a comment in `ContainerConfig struct` specifically indicates that
it won't be saved to disk.
Use '-' as json tag instead of '_' to indicates that `Spec` field shouldn't
be saved to disk.

fixes #2256

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-11-22 21:16:11 +00:00
Julio Montes
7f67b9f084 virtcontainers: improve algorithm to find containers
Do not iterate over a map to find a container, use map built-in
method instead.

fixes #2254

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-11-22 20:08:37 +00:00
Julio Montes
0ff0e54769 Merge pull request #2217 from ericooper/clh-driver-fix-2206
Clh driver: removed hard-coded vsock contextid (cid)
2019-11-22 07:23:14 -06:00
Johan Kuijpers
1abe52abd7 clh: removed hard-coded vsock contextid (cid)
update after review 2. applied ci static checks

Fixes: #2206

Signed-off-by: Johan Kuijpers <johan.kuijpers@ericsson.com>
2019-11-22 09:35:41 +01:00
Fupan Li
eae8449231 Merge pull request #2242 from tedyu/to-disk-close
vc: Persist file handle may leak in FS#ToDisk
2019-11-22 09:12:50 +08:00
Archana Shinde
db696da98b Merge pull request #2232 from tedyu/rm-persist-dir
vc: Clean up directories in case MkdirAll fails
2019-11-21 15:42:23 -08:00
Ted Yu
b8b6733f62 vc: Persist file handle may leak in FS#ToDisk
Fixes #2241

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2019-11-21 12:42:10 -08:00
Julio Montes
a17ca14c7a Merge pull request #2238 from tedyu/start-sandbox-running
vc: Restore sandbox state when there is error starting containers
2019-11-21 13:58:56 -06:00
Ted Yu
03478d4540 vc: Clean up directories in case MkdirAll fails
Fixes #2230

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2019-11-21 02:27:30 -08:00
Ted Yu
93a03369ae vc: Restore sandbox state when there is error starting containers
Fixes #2237

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2019-11-20 18:47:37 -08:00
Ted Yu
2331e879af vc: Persist file handle may leak in FS#FromDisk
Fixes #2233

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2019-11-20 11:48:43 -08:00
Archana Shinde
1f71114291 Merge pull request #2223 from tedyu/sandbox-anno
vc: Sandbox#Annotations should use annotationsLock read lock
2019-11-20 11:11:31 -08:00
Fupan Li
48c8d669fe Merge pull request #2179 from WeiZhang555/persist-storage
Support "Configuration" in "newstore" feature
2019-11-20 10:08:13 +08:00
Ted Yu
1afad1c0ad vc: Sandbox#Annotations should use annotationsLock read lock
Fixes #2222

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2019-11-19 13:44:53 -08:00
Ted Yu
618666ed8c vc: Remove unnecessary call to kill
Fixes #2207

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2019-11-19 05:46:33 -08:00
Wei Zhang
7943dd95b4 persistence: store configuration in newstore
Fixes #803

Store the configuration data in persist.json.

Signed-off-by: Wei Zhang <weizhang555.zw@gmail.com>
2019-11-19 18:40:19 +08:00
zhangwei_cs
c0d2867a0e Merge pull request #2214 from bergwolf/fix-build
clh: fix build
2019-11-19 18:39:57 +08:00
Graham Whaley
45faacfe49 Merge pull request #2204 from tedyu/rm-extra-kill
vc: Remove extra call to Kill
2019-11-19 09:17:12 +00:00
Peng Tao
510f0a6687 clh: fix build
PR #2202 changed createSandbox() interface but didn't get a chance
to match with cloud hypervisor change.

Fixes: #2213

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-11-19 01:02:04 -08:00
Peng Tao
be6110d234 Merge pull request #2202 from lifupan/watch_firecracker_console
FC: log out the firecracker's console when debug enabled
2019-11-19 14:06:24 +08:00
Ted Yu
ee9a53ca4b vc: Remove extra call to Kill
Fixes #2207

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2019-11-18 07:06:35 -08:00
Johan Kuijpers
01713d59cb runtime: added cloud hypervisor driver
Initial release of cloud hypervisor driver for kata-runtime

Fixes: #2046

Signed-off-by: Johan Kuijpers <johan.kuijpers@ericsson.com>
2019-11-15 19:35:29 +00:00
Eric Ernst
70297c2184 nemu: remove nemu support
NEMU deprecation was announced in 1.8 of Kata. Removing from tree.

Thanks for all the fish!

Fixes: #2195

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-11-14 23:06:43 -08:00
lifupan
a2b6afcd9a FC: log out the firecracker's console when debug enabled
For shimv2 case, when hypervisor's debug option set, log out
the firecracker's console output which contains the kernel boot
logs; thus it would be easy for system panic debugging.

When agent debug was enabled by passing "agent.log=debug" to
kernel parameter, it will also log out the agent logs from
the console output.

Fixes: #2201

Signed-off-by: lifupan <lifupan@gmail.com>
2019-11-15 11:51:32 +08:00
lifupan
13a00a2cf2 virtcontainers: add a stateful to FC struct
Add a 'sateful' variable to FC to indicate
when it is called with cli or shimv2.

Signed-off-by: lifupan <lifupan@gmail.com>
2019-11-15 11:48:13 +08:00
Eric Ernst
75d149c2a6 Merge pull request #1214 from mcastelino/topic/network-simplify
Topic/network simplify
2019-11-13 14:40:12 -08:00
Penny Zheng
daae1db893 log: extract error info from firecracker built-in log and metrics scheme
Firecracker have its own logging scheme, providing two fifo files with log
and metrics info.
We should extract error info for better debugging.

Fixes: #2072

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Haibo Xu <haibo.xu@arm.com>
2019-11-13 09:22:26 +08:00
Julio Montes
78ca966e8d virtcontainers: bump firecracker minimum supported version
firecracker 0.19.0 API is not backward compatible, hence we need
to bump the firecracker minimum supported version to 0.19.0

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-11-11 22:22:03 +00:00
Julio Montes
77b0dfb05f virtcontainers: use new firecracker API
Support new firecracker API 0.19.0:
* remove vsock ID from http request

fixes #2183

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-11-11 22:19:57 +00:00
Julio Montes
0def9b01de virtcontainers/firecracker: update API
update firecracker API to 0.19.0

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-11-11 22:18:05 +00:00
Manohar Castelino
dffc988d92 virtcontainers: Eliminate legacy networking models
Prior to the addition of tcMirroring support kata-runtime had
compatibility issues with some CNI plugins some of which were addressed
by the bridged model. With the addition of tc mode there are no gaps in
networking that can be filled by the bridged mode or enlightened mode
(which was never implemented).

Eliminate both of these options to simplify the setup.

Fixes: #1213

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-11-11 09:14:38 -08:00
Archana Shinde
f6ffb791e7 rootless: Fix cgroup creation logic for rootless
We do not want to create cgroups in case of rootless.
Fix the logic to implement this.

Fixes #2177

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-11-08 18:30:11 -08:00
Jose Carlos Venegas Munoz
d0615f8220 Merge pull request #2140 from YvesChan/qmp_race
vc/qemu: add mutex to qmp monitor channel in qmpSetup()
2019-11-08 15:01:34 -06:00
Yves Chan
5b31282558 vc/qemu: add mutex to qmp monitor channel in qmpSetup()
Solve possible race condition in qmpSetup() and qmpShutdown()

Fixes: #2139

Signed-off-by: Yves Chan <shanks.cyp@gmail.com>
2019-11-06 11:38:51 +08:00
James O. D. Hunt
0de5c42276 Merge pull request #2149 from vijaydhanraj/acrn_remove_num_cpu_option
HV: Remove number of guest CPU configuration in ACRN
2019-11-01 09:29:58 +00:00
Peng Tao
254b85aec1 Merge pull request #2092 from lifupan/fixmissingwatchconsole
virtcontainers: fix the issue of missing watchConsole
2019-11-01 09:47:11 +08:00
Eric Ernst
764ba9f83d Merge pull request #2153 from egernst/cgroup-fixups
sandbox/cgroups: don't constrain if using SandboxCgroupsOnly
2019-10-31 12:11:33 -07:00
Eric Ernst
691a6a7ac4 sandbox/cgroups: don't constrain if using SandboxCgroupsOnly
When SandboxCgroupsOnly is set, we are expected to just inherit our parent's
cgroup settings and to move all Kata threads within that sandbox cgroup. The
initial implementation still adjusted the size of this cgroup. This commit
fixes this.

This commit makes a couple of functional changes, small refactors, and
adds clarifying comments for some functions.

Fixes: #2090

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-10-30 19:16:30 -07:00
Jose Carlos Venegas Munoz
1bbc1d58bd virtcontainers: add StatsSandbox to vc API
StatsSandbox is used to gather metrics for the sandbox (host cgroup) as
well as from the individual containers (from the guest cgroups). This is
intended to be used for easily calculating Kata sandbox overheads.

Fixes: #2096

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-10-30 19:07:23 -07:00
Wang Liang
569bd780f1 virtcontainers: change pass by value to pass by reference
container.config does not point to sandbox.config.Containers.ContainerConfig
which caused the ContainerConfig not sync.

Fixes: #2129

Signed-off-by: Wang Liang <wangliangzz@inspur.com>
2019-10-30 19:01:57 -07:00
Vijay Dhanraj
9d50cc1ff9 HV: Remove number of guest CPU configuration in ACRN
ACRN doesn't support configuring number of guest vcpu  option ('-c') anymore.
Number of guest vcpus will be defined in the hypervisor scenario
configuration file instead.

Removed the -c option from the acrn-dm parameters when launching VMs and
also trimmed configuration.toml file accordingly.

fixes #2136
Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-10-29 23:27:15 -07:00
Eric Ernst
da98191940 Merge pull request #2130 from fuxiao511/update_cpu
virtcontainers/sandbox: calculate container's CPU from sandbox.contai…
2019-10-22 21:38:36 -07:00
lifupan
c51d49277e virtcontainers: fix the issue of missing watchConsole
When do the reloading sandbox in shimv2, it's needed to
rewatch the hypervisor's console when debug enabled.

Fixes:#2091

Signed-off-by: lifupan <lifupan@gmail.com>
2019-10-19 00:37:15 +08:00
Peng Tao
7d484dfe4c Merge pull request #2127 from devimc/topic/virtcontainers/rollbackUnmountHostMounts
virtcontainers: unmount host mounts if container can't be created
2019-10-14 10:32:14 +08:00