Commit Graph

2492 Commits

Author SHA1 Message Date
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
GabyCT
35f54fdb8a
Merge pull request #2194 from egernst/fixup-vhost-fc
fc: config: vhost-net not supported
2019-11-14 14:22:09 -06:00
Eric Ernst
f2bbcf4eb6
Merge pull request #2197 from egernst/disable-vhost-comment
qemu-configs: update disable_vhost_net description
2019-11-13 16:51:49 -08:00
Yang Bo
60d713e84d
Merge pull request #82 from ericho/namespace-uts
agent: Add unit tests for `namespace.rs`
2019-11-14 07:39:56 +08:00
Eric Ernst
0c482b2557 qemu-configs: update disable_vhost_net description
Updated to better clarify this configuration option. Currently in QEMU
pre 1.9 release of Kata, vhost-net is used for the virtio-net backend.
This results in efficient network I/O performance, but does rely on the
backend running in ring0 (host kernel). Update comment to clarify this
trade-off for end-users.

Fixes: #2198

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-11-13 14:52:29 -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
Eric Ernst
519eff7236 fc: config: vhost-net not supported
vhost-net backend is not supported by the Firecracker VMM. It doesn't
make sense to have this in the configuration, and we should explicitly
disable it.

Fixes: #2192

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-11-13 14:10:18 -08:00
Eric Ernst
7be308befe
Merge pull request #81 from jodh-intel/add-version-option
Add version option
2019-11-13 08:13:03 -08:00
Erich Cordoba
8aa2c78dd2 agent: Add unit tests for namespace.rs
This patch adds a unit test for `namespace.rs`. The baseline for this
test comes from the Go agent tests in which the namespace is mounted in
a temporary folder.

In order to enable testing in the temporary folder the code was refactored
allow configuration for the specified namespace, thus the changes done
are described below:

- The `setup_persistent_ns` method was moved inside the `Namespace` type.
- A builder pattern was implemented for the `Namespace` type. This allows
  the caller to set the type of the desired namespace as well as the root
  folder which will help the testing.
- A new `NamespaceType` enum was introduced to represent the namespace type.
- The user of the `Namespace` type (sandbox.rs) was updated accordingly.

Fixes: #50

Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
2019-11-13 10:04:41 -06: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
Xu Wang
9112257c23
Merge pull request #86 from lifupan/fix_initrd_panic
agent: init agent as init before parsing cmd line
2019-11-13 01:03:48 +08:00
lifupan
d011b39e96 agent: init agent as init before parsing cmd line
When kata-agent run as init process in initrd, do the
init in which will do some base mount such as mount
/proc; thus the following config.parse_cmdline can access
/proc/cmdline to parse the parameters such as agent.log etc.

Fixes: #85

Signed-off-by: lifupan <lifupan@gmail.com>
2019-11-13 01:01:29 +08:00
Julio Montes
af73bb364e
Merge pull request #2184 from devimc/topic/virtcontainers/fixFC019
support firecracker 0.19.0
2019-11-12 10:25:42 -06:00
Julio Montes
615421081a versions: bump firecracker version
update to firecracker 0.19.0

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-11-11 22:28:01 +00: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
Archana Shinde
744ccd4ed2 network: Set the default config to tcfilter
If the configuration for networking is missing, tcfilter
will be chosen.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-11-11 09:15:29 -08:00
Archana Shinde
27433d9178 config: Get rid of bridged model docs in the configuration
Since we have dropped support for bridged model, remove it from
the configuration as well.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-11-11 09:15:28 -08: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
Eric Ernst
8c7a83b936
Merge pull request #2178 from amshinde/fix-rootless-cgroups
rootless: Fix cgroup creation logic for rootless
2019-11-11 08:43:25 -08:00
James O. D. Hunt
3fe04a2ddc main: Add --version CLI option
Support `--version` which dumps the announce message and exits.

Fixes: #80.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-11-11 13:50:45 +00:00
Fupan Li
cb1849cd2c
Merge pull request #84 from ericho/ci-and-rustfmt
agent: Fix CI and rustfmt issues
2019-11-11 11:01:51 +08:00
Fupan Li
60609cacd0
Merge pull request #74 from yyyeerbo/wip
netlink: Fix invalid route crashes agent
2019-11-11 10:59:59 +08:00
Peng Tao
31b5f96f64
Merge pull request #2171 from amshinde/support-fips-mode
FIPS: Add support for starting VM in FIPS mode.
2019-11-11 10:58:12 +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
Erich Cordoba
8834e3a759 agent: Fix CI and rustfmt issues
The CI was failing due to two problems.

1. The `ci/static-checks.sh` was run from an incorrect place.
2. `rustfmt` was failing as some code wasn't correctly formatted.

This patch address all the changed requested by rustfmt and the
`static-checks.sh` script was updated

Fixes: #83

Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
2019-11-08 15:58:59 -06: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
Jose Carlos Venegas Munoz
94b3cf2968
Merge pull request #2100 from amshinde/update-containerd-version
version: Update containerd version to 1.3.0
2019-11-08 15:00:41 -06:00
Jose Carlos Venegas Munoz
bcb38548f9
Merge pull request #2174 from darfux/fix-rootless-ids
rootless: Fix rangeUID parsing
2019-11-08 14:59:25 -06:00
Archana Shinde
0bd41b9dbe FIPS: Add support for starting VM in FIPS mode.
FIPS are a set of security standards for encryption algorithms
in user and kernel space among others.
Have Kata support this by starting the VM for a container
in FIPS mode on detecting that the host is running in FIPS mode.

Depends-on: github.com/kata-containers/packaging#788

Fixes #2170

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-11-08 08:45:53 -08:00
Li Yuxuan
3f1a39c442 rootless: Fix rangeUID parsing
`rangeUID` should be parsed as ids[2] rather than ids[1]

Fixes: #2173
Signed-off-by: Li Yuxuan <liyuxuan04@baidu.com>
2019-11-08 20:33:42 +08:00
Yang Bo
9dce527793
Merge pull request #77 from awprice/issue-62
config: add hotplug timeout option
2019-11-08 15:05:55 +08:00
Yang Bo
089f3b4651
Merge pull request #72 from ericho/master
agent: Move test macros to a separate module to be commonly used.
2019-11-08 15:02:56 +08:00
GabyCT
3e3e923aa2
Merge pull request #2167 from chavafg/topic/k8s-1.16
versions: Update kubernetes and cri-o to 1.16
2019-11-07 14:48:21 -06:00
Salvador Fuentes
69ab09273d versions: Add cri-tools and conmon to the versions.yaml
cri-tools version was managed in the tests repository, but as
we define here cri-o, containerd and kubernetes versions, it
make sense to have the cri-tools version defined in this repo.

conmon has now to be installed/built separately. So add it
to the list.

Depends-on: github.com/kata-containers/tests#2057

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2019-11-07 10:38:58 -06:00
Alex Price
e06a230c30 config: add hotplug timeout option
This adds an option to the agent to control the hotplug timeout of block devices.
Retains the previous behaviour of defaulting to 3 seconds if not specified.
Can be increased when block device hot plugging is taking longer than expected.

fixes #62

Signed-off-by: Alex Price <aprice@atlassian.com>
2019-11-06 21:12:27 +11: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
Yang Bo
777cee5436
Merge pull request #71 from jodh-intel/allow-gnu-target-build
build: Allow building with gnu target
2019-11-06 10:27:25 +08:00
Salvador Fuentes
0e70b38d06 versions: Update kubernetes and cri-o to 1.16
Update k8s supported version from 1.15.3 to 1.16.2
and cri-o from 1.15.0 to 1.16.0

Fixes: #2166.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2019-11-05 13:57:02 -06:00
Erich Cordoba
b14f5a1f89 agent: Move test macros to a separate module to be commonly used.
The `skip_*` macros will be useful across the different tests so having
them in a separate module can help with code duplication. This change
creates a new module and exports the macros at crate level.

Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
2019-11-05 10:01:43 -06:00
Yang Bo
d33c2f84a8 netlink: Fix invalid route crashes agent
Invalid routes in update_routes request crash agent, fix it

Fixes: #73

Signed-off-by: Yang Bo <bo@hyper.sh>
2019-11-05 10:45:35 +08:00
James O. D. Hunt
f55667df38 build: Allow building with gnu target
Fixes to allow the rust agent to be built using a gnu target.
Specifically, remove assumptions about musl-specific types.

Fixes: #70.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-11-01 14:05:34 +00:00
Salvador Fuentes
2082a9f2a2
Merge pull request #2163 from yyyeerbo/wip
versions: move cmake and musl version into versions.yaml
2019-11-01 07:25:36 -06:00
Salvador Fuentes
764c26063e
Merge pull request #2159 from egernst/1.10.0-alpha0-branch-bump
# Kata Containers 1.10.0-alpha0
2019-11-01 07:21:57 -06:00
Yang Bo
d045169476
Merge pull request #68 from yyyeerbo/wip
rust-agent: Set BUILDTYPE to debug.
2019-11-01 19:16:42 +08:00
Yang Bo
783cb13f8d
Merge pull request #66 from ericho/master
agent: Remove `get_key_value` to enable building in stable rust.
2019-11-01 18:59:31 +08:00
Fupan Li
ae211e5bba
Merge pull request #65 from jodh-intel/create-config-module
main: Split config code into separate module
2019-11-01 18:10:35 +08:00