Commit Graph

1005 Commits

Author SHA1 Message Date
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
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
Wang Liang
24d7aff60c 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-12 04:24:50 -04:00
Julio Montes
abec17f8f2 virtcontainers/store: make VCStoreUUIDPath rootless
The uuid file shouldn't be created at `/var` if running rootless.
Modify `VMUUIDStoragePath` to get a path accessible for non-root users
if running rootless.

fixes #2133

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-10-11 15:30:23 +00:00
Julio Montes
eca7bd2705 virtcontainers: unmount host mounts if container can't be created
Mount points, like `resolv.conf` and `hostname` are left in the
host when the cgroup creation fails.
Use `unmountHostMounts()` and `bindUnmountContainerRootfs()` in the rollback
function that is called when container's creation fails.

fixes #2108

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-10-11 13:46:56 +00:00
Peng Tao
c7b4c5eab9 Merge pull request #2124 from devimc/topic/virtcontainers/fixAnnotationsPrefix
virtcontainers/annotations: use right domain name for kata annotations
2019-10-10 17:02:27 +08:00
Eric Ernst
4f8cc73e82 Merge pull request #2112 from amshinde/update-cni-plugin-version
Update cni plugin version
2019-10-09 15:51:08 -07:00
Archana Shinde
04489fec2d Merge pull request #2118 from amshinde/load-state-early
Load state early so that hypervisor can store the correct state
2019-10-09 15:46:15 -07:00
Julio Montes
91bd095ee4 virtcontainers/annotations: use right domain name for kata annotations
The domain name should be used as prefix for the annotations, for
kata containers the domain name is katacontainers.io, not kata-containers.io

fixes #2123

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-10-09 15:21:28 +00:00
Archana Shinde
f6a10bcae7 state: Refactor code to move all the state load code
Refactor so that all code to load state, devices, network
takes place at one place. This is in line with the experimental api
for new storage that also loads all the necessary items here all at once.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-10-08 18:42:20 -07:00
Archana Shinde
fa4acad4aa state: Load the state from storage early on
The hypervisor.createSandbox may need to access the state.
For eg, ACRN today needs to access the block index to assign
it to the root image of the VM. Hence load this early on.

Fixes #2026

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-10-08 16:29:07 -07:00