Commit Graph

5116 Commits

Author SHA1 Message Date
Julio Montes
e6aac8390e virtcontainers: remove all the code related to HasCRIContainerType
All the code related to HasCRIContainerType is useless and no longer needed
since the CRIContainerType annotation is not considered for constraining or
not the sandbox

Signed-off-by: Julio Montes <julio.montes@intel.com>
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-26 00:50:23 -07:00
Julio Montes
8f5a69373b virtcontainers: apply constraints to the sandbox cgroup
Kata relies on the cgroup parent created and configured by the container
engine, but sometimes the sandbox cgroup is not configured and the container
may have access to all the resources, hence the runtime must constrain the
sandbox and update the list of devices with the devices hotplugged in the
hypervisor.

Fixes: kata-containers/runtime#2605
Signed-off-by: Julio Montes <julio.montes@intel.com>
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-26 00:50:23 -07:00
Julio Montes
9cdc899c76 pkg/cgroups: update the list of devices for the hypervisor
The hypervisor needs access to `/dev/vfio/vfio` to use VFIO devices.
Remove all devicemapper devices from the allowed list, the device cgroup
must be updated when before hotpluggin any device.

Signed-off-by: Julio Montes <julio.montes@intel.com>
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-26 00:50:23 -07:00
Julio Montes
44ed777c0f pkg/cgroups: add methods to add and remove device from the cgroup
add `AddDevice` and `RemoveDevice` to cgroup manager to allow adding
and removing devices from the device cgroup

Signed-off-by: Julio Montes <julio.montes@intel.com>
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-26 00:50:23 -07:00
Julio Montes
045c7ae9a3 pkg/cgroups: implement functions to get information from a host device
Add functions to convert a host device to a cgroup device or linux device,
the first one is used to update the device cgroup and the second one to
update the resources in the OCI spec.

Signed-off-by: Julio Montes <julio.montes@intel.com>
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-26 00:50:23 -07:00
Julio Montes
387d3d34dc device: add GetHostPath() to generic device
`GetHostPath()` method returns the device path in the host, this way the
runtime can get the device information for updating the sandbox's device
cgroup.

Signed-off-by: Julio Montes <julio.montes@intel.com>
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-26 00:50:23 -07:00
Fupan Li
83f116b483
Merge pull request #228 from bergwolf/makefile
fix build with go 1.14
2020-05-26 15:45:36 +08:00
Peng Tao
97909ea2b9 gitignore: do not ignore Cargo.lock
We already include it in the repo.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-26 00:24:45 -07:00
Peng Tao
f53901ad43 makefile: add more build targets
To make it easy to build and test.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-25 23:30:42 -07:00
Peng Tao
4fdb4cffd5 runtime: update vendor/modules.txt
go 1.14 requires it to match go.mod and exposes a backtrace with
slightly difference.

Fixes: #227
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-25 23:30:42 -07:00
Peng Tao
6bc69760c0 vendor: move ttrpc proto code out of vendor
We do not really depend on the go agent generated grpc code any more.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-25 23:30:42 -07:00
Peng Tao
f7b941b6bf
Merge pull request #231 from lifupan/fix_ttrpc
Fix ttrpc changes caused building issues
2020-05-26 14:29:56 +08:00
fupan.lfp
555f620653 agent: hardcode the Cargo.lock file
Hardcode the Cargo.lock file to prevent dependencies
change which would cause some compatible issues.

Fixes: #230

Signed-off-by: fupan.lfp <fupan.lfp@antfin.com>
2020-05-26 11:39:07 +08:00
fupan.lfp
08e3d259ca agent: fix the issue of building error with latest ttrpc
Since the ttrpc upgraded with async supported, which isn't
compatible with current agent, thus it's better to change
the dependency to a stable branch.

Fixes: #229

Signed-off-by: fupan.lfp <fupan.lfp@antfin.com>
2020-05-26 11:14:39 +08:00
Jose Carlos Venegas Munoz
448efe512d sock: Add mising fix to experimental kernel
Cloud hypervisor uses vsock, without this patch CI
for cloud hypervisor is not stable.

Patch information:
```
There was a race condition between bind() and listen() that was hit very
rarely when using Kata Containers and Cloud-Hypervisor. It's been
identified the problem is really coming from the virtio-vsock driver,
which is fixed by those new kernel patches uploaded for each version of
the kernels used by Kata Containers.
```

Update:
Fixed to make it build with kernel 5.6

Fixes #932

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-05-25 22:58:30 +00:00
Dave Syer
e2d08dcf43 kata-deploy: detect v1 schema and use correct long form of cri
CRI has a v2 schema that seems to be the default in a lot of
containerd installations. It uses a "long" form for the plugin
id in the TOML config file.

Fixes #881

Signed-off-by: Dave Syer <dsyer@pivotal.io>
2020-05-22 07:28:50 +01:00
Julio Montes
3d53c5d231
Merge pull request #1049 from GabyCT/topic/addcentos8
obs: Add CentOS 8
2020-05-20 13:22:18 -05:00
Gabriela Cervantes
34136ac396 obs: Add CentOS 8
Build packages for CentOS 8.

Fixes #1048

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2020-05-19 12:43:24 -05:00
GabyCT
e9dc1c90be
Merge pull request #1053 from jcvenegas/fix-1052
pkgs: Remove debian 10
2020-05-19 07:23:15 -05:00
Jose Carlos Venegas Munoz
4c375f850a pkgs: Remove debian 10
Debian 10 has been broken for a while but CI started
to detected recently.

Remove package until find a way to build it.

Fixes: #1052

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-05-18 22:39:17 +00:00
Graham Whaley
4b130fb180
Merge pull request #994 from alicefr/kernel-config-5.4
s390x: update kernel config
2020-05-15 13:14:05 +01:00
James O. D. Hunt
478dfa4b52
Merge pull request #216 from lifupan/ttrpc_runtime
switch to Ttrpc for runtime
2020-05-11 09:26:11 +01:00
fupan.lfp
1d6e7ac405 change the protocols from grpc to ttrpc
Switch protocols from grpc to ttrpc

Fixes: #148

Signed-off-by: fupan.lfp <fupan.lfp@antfin.com>
2020-05-09 17:39:34 +08:00
fupan.lfp
010b7a9fba vendor: add the ttrpc protos
add the ttrpc protocol files

Signed-off-by: fupan.lfp <fupan.lfp@antfin.com>
2020-05-09 15:36:43 +08:00
fupan.lfp
663c7e7921 vendor: update the required vendors
update the required vendors

Signed-off-by: fupan.lfp <fupan.lfp@antfin.com>
2020-05-08 20:38:12 +08:00
Jia He
0b43941fdc qemu/configs: Add the tuned config for aarch64-softmmu
This remains the original aarch64-softmmu *explicit* default config. And
borrows the tuned configuration from i386-softmmu except the board specific
ones.

Fixes: #1044
Signed-off-by: Jia He <justin.he@arm.com>
2020-05-08 13:50:21 +08:00
Jia He
d8d7f96b69 scripts: Disable capstone for reducing qemu binary size
Capstone is a disassembly framework which is not required for Kata.

Disabling it in configure can reduce ~6M bytes on arm64.

-rwxr-xr-x  71977368 May  8 09:32 qemu-system-aarch64.with.capstone*
-rwxr-xr-x  65676640 May  8 09:39 qemu-system-aarch64.without.capstone*

Fixes: #1044
Signed-off-by: Jia He <justin.he@arm.com>
2020-05-08 13:50:07 +08:00
Yang Bo
84e389d9d1
Merge pull request #210 from bergwolf/travis
travis: enable linux-ppc64le
2020-05-07 16:35:49 +08:00
Peng Tao
6d129546e3 travis: enable linux-ppc64le
Use build jobs to enable it.

Fixes: #209
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-06 03:03:07 -07:00
Jose Carlos Venegas Munoz
47d34f5810
Merge pull request #1035 from jcvenegas/fix-1034
Release: Fix path to releasea pipeline
2020-05-05 23:17:44 -05:00
Peng Tao
cb6b0e1370
Merge pull request #204 from chavafg/topic/merge-osbuilder
Merge osbuilder/1.11.0-rc0 into kata-containers 2.0-dev branch
2020-05-06 11:02:06 +08:00
Salvador Fuentes
f75e1c2ce0
Merge pull request #1037 from GabyCT/topic/adddocu
release: Add documentation repository
2020-05-05 20:27:23 -05:00
Gabriela Cervantes
b257df53d6 release: Add documentation repository
This PR adds the documentation repository for the update-repository-version
verification.

Fixes #1027

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2020-05-05 15:57:04 -05:00
Jose Carlos Venegas Munoz
79fd667d40 Release: Fix path to releasea pipeline
Rename directory name from release_pieline to release_pipeline

Fixes: #1034

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-05-05 19:54:57 +00:00
Alice Frosi
f15557dde4 s390x: update kernel config
Update kernel configs for s390x for version 5.4.x

Fixes: #993

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2020-05-05 13:08:54 +02:00
Archana Shinde
c14b7b5b33
Merge pull request #1030 from devimc/topic/kernel/qemu5vmlinux
qemu5-x86: boot uncompressed kernels to reduce memory footprint ~15%
2020-05-01 08:55:47 -07:00
Graham Whaley
997312e574 CI: enable Travis for static checks
Enable the Travis CI configuration to perform static CI checks
on PRs to this repo.

Fixes: #1031

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2020-04-30 14:45:59 +01:00
Salvador Fuentes
629cc0ae8d rootfs-builder: remove EulerOS
EulerOS does not work with rust agent.

further info:
https://github.com/kata-containers/osbuilder/issues/387

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-30 08:27:25 -05:00
Salvador Fuentes
586d26480c rootfs-builder: Add license header to rootfs_lib_template.sh
Add license header to `tools/osbuilder/rootfs-builder/template/rootfs_lib_template.sh`

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-30 08:20:46 -05:00
Graham Whaley
cdc8aaad6a kata-pkgsync: Fix spelling mistake
Whilst enabling the static CI checks for this repo, it picked up
a spelling mistake. We'll need to fix that before we can enable
the CI.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2020-04-30 13:28:38 +01:00
Julio Montes
14a01d8eb5
Merge pull request #205 from bergwolf/travis
runtime: import new path
2020-04-30 07:23:10 -05:00
Peng Tao
e90c5d45b3 runtime: build with vendor
So that we don't have to download dependencies.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 19:25:40 -07:00
Peng Tao
cd9e309f63 travis: enable runtime root required UTs
We check both root and non-root cases.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 18:39:03 -07:00
Peng Tao
06b3f313a2 shimv2: do not reset service config
Only load runtime config when it is not set.
We do not expect a service's runtime config to change while
it is running.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 18:39:03 -07:00
Peng Tao
6de95bf36c gomod: update runtime import path
To use the kata-containers repo path.

Most of the change is generated by script:
find . -type f -name "*.go" |xargs sed -i -e \
's|github.com/kata-containers/runtime|github.com/kata-containers/kata-containers/src/runtime|g'

Fixes: #201
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 18:39:03 -07:00
Salvador Fuentes
11c3d81f68 docs: fix markdown check issues
- Removes `CODE_OF_CONDUCT.md` and `CONTRIBUTING.md` from osbuilder
directory.
- Fixes a reference from `image-builder/README.md` to
`rootfs-builder/README.md`
- Updates the main `README.md` making a reference to the local
`tools/osbuilder/README.md`

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-29 17:51:44 -05:00
Salvador Fuentes
21c830c7da repo: Merge osbuilder/1.11.0-rc0 into kata-containers/2.0-dev
Merge osbuilder into kata-containers for 2.0 development cycle.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-29 16:49:13 -05:00
Salvador Fuentes
715d342519 osbuilder: move code into tools directory
move all osbuilder files into `tools` directory to be able
to merge this into kata-containers repo.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-29 16:45:00 -05:00
Julio Montes
fb6765973f kernel: boot directly into the uncompressed kernel
QEMU >= 4.0 is able to boot into the uncompressed kernel using the PVH
entry point, but to get this `CONFIG_PVH` must be enabled in the guest
kernel and `pvh.bin` installed in the host.

Booting uncompressed kernels in QEMU 5.0 can reduce the memory footprint,
~17% for KSM and ~15% nonKSM.

fixes #1029

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-04-29 16:24:19 +00:00
Jose Carlos Venegas Munoz
66fe1d2a69
Merge pull request #199 from bergwolf/runtime-1.11.0-rc0
merge Runtime 1.11.0 rc0
2020-04-29 08:24:20 -05:00