Commit Graph

4802 Commits

Author SHA1 Message Date
GabyCT
83b89d8773
Merge pull request #355 from crobinso/dracut-conf-priority
dracut: increase base.conf priority from 00 to 05
2019-09-11 09:59:16 -05:00
GabyCT
f558073ccb
Merge pull request #2044 from jschintag/appendImage
s390x: Add appendImage function to qemu_s390x.go
2019-09-11 09:58:17 -05:00
GabyCT
b9053f2e74
Merge pull request #708 from jcvenegas/fix706
kata-deploy: use proper kernel install script
2019-09-11 09:56:24 -05:00
Jan Schintag
2faece3583 s390x: Add appendImage function to qemu_s390x.go
Add appendImage function to struct qemuS390x, so that a call of
appendImage results in a call to the appendBlockDevice function of
qemuS390x instead of qemuArchBase.

Fixes: #2043

Signed-off-by: Jan Schintag <jan.schintag@de.ibm.com>
2019-09-11 14:21:55 +02:00
Archana Shinde
50d8e0c79d
Merge pull request #703 from egernst/experimental-kernel
Experimental kernel support for enabling virtio-fs 0.3
2019-09-10 15:22:50 -07:00
Eric Ernst
571ede536b
Merge pull request #2036 from alicefr/error-ret
virtcontainer: add error return code
2019-09-10 10:19:10 -07:00
Jose Carlos Venegas Munoz
452799e038 kata-deploy: use proper kernel install script
kata deploy script setup a new GOPATH to pull
a fresh environment to install kata. This script
was using the local kernel install script and not the
one in the new environment

Fixes: #706

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-09-10 11:59:10 -05:00
Eric Ernst
9956de822c
Merge pull request #702 from GabyCT/topic/addvirtiofs
qemu: Enable qemu with virtio-fs 3.0
2019-09-10 09:33:09 -07:00
GabyCT
c8e6054843
Merge pull request #357 from crobinso/dracut-drivers-parse
make: use bash to fetch dracut conf 'drivers' list
2019-09-10 09:10:30 -05:00
GabyCT
9bb7ef5069
Merge pull request #695 from nitkon/patch-8
release.md: Fix a typo
2019-09-09 13:39:57 -05:00
GabyCT
90184f19f7
Merge pull request #2034 from alicefr/vsock-func
s390x: add appendVSock with devno
2019-09-09 13:02:40 -05:00
Cole Robinson
dec8013748 make: use bash to fetch dracut conf 'drivers' list
dracut will process conf files with bash, and in fact it's common to
use idioms like += in conf files for string concatenation. The current
grep usage in the Makefile won't catch all possible valid 'drivers'
variable cases.

Instead, use bash to parse and echo the 'drivers' content

Fixes: #356

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2019-09-09 13:17:58 -04:00
Cole Robinson
6daec98aaf make: Move comment about dracut --no-kernel
The current placement is confusing IMO, let's move it close to the
code it's describing

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2019-09-09 13:17:58 -04:00
Cole Robinson
2950b37028 dracut: increase base.conf priority from 00 to 05
The Makefile invokes dracut with a custom confdir. However dracut will
still pull site configuration from /usr/lib/dracut/dracut.conf.d/, which
on Fedora contains a 01-dist.conf that sets among other things
early_microcode="yes".

Because 01-dist.conf is processed after 00-base.conf, kata's
early_microcode="no" is overridden, which isn't intended.

Rename 00-base.conf to 05-base.conf to sidestep this

Fixes: #354

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2019-09-09 12:44:29 -04:00
GabyCT
0cc1a6f6ed
Merge pull request #1975 from darfux/remove_bind_dest_when_umount
vc: Remove bind destination when unmounting
2019-09-09 09:34:12 -05:00
GabyCT
5ff0ef9377
Merge pull request #1971 from renzhengeek/renzhen/virtio-fs-dev
virtio-fs: add virtio_fs_extra_args for virtiofsd
2019-09-09 09:33:28 -05:00
Eric Ernst
282d85899e
Merge pull request #1880 from jcvenegas/pod-cgroup-only
cgroups: Use only pod cgroup
2019-09-09 07:00:54 -07:00
Salvador Fuentes
85846f5acb
Merge pull request #552 from jodh-intel/show-docker-config-default
docs: Emphasise default docker config
2019-09-09 08:19:11 -05:00
James O. D. Hunt
89120e8d8a
Merge pull request #543 from jcvenegas/SandboxCgroupOnly-docs
docs: Add documentation about host cgroup management
2019-09-09 09:25:11 +01:00
Fupan Li
d989667c1e
Merge pull request #2038 from egernst/kernel-bump
kernel: update to 4.19.71
2019-09-09 09:39:30 +08:00
Eric Ernst
f71a1eff62 kernel: update to 4.19.71
Bump to latest stable

Fixes: #1816

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 16:29:44 -07:00
Jose Carlos Venegas Munoz
2255b36a82 docs: Add documentation about host cgroup management
Document how cgroups are done today and what is expected
for the upcoming SandboxCgroupOnly option.

Prior cgroup documentation are no longer accurate. Removing the cgroup
discussion from the cpu sizing discussion. Updating the
cpu-constraints.md file name to reflect this.

Fixes: #542

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-09-06 16:11:37 -07:00
Eric Ernst
8e43d9cac1 config: remove unneeded options, annotate what changes in future
common/DAX:
 - ARCH_ENABLE_MEMORY_HOTPLUG: not needed (auto-selected)
 - ARCH_HAS_ZONE_DEVICE: already automatically selected. This is
also removed in future kernels, so let's go ahead and drop.
 - RADIX_TREE_MULTIORDER: already autoselected, and dropped in future
kernels

common/net:
 - NF_NAT_NEEDED, NF_NAT_PROTO_*: these don't exist in newer kernels, as
they are refactored and unecessary in the upstream kernel. Keep them for
now, but consider dropping if we move to newer LTS. These are part of
whitelist of options we expect to be dropped with newer kernels in our
fragment building.
 - NF_NAT_MASQUERADE_IPV4: this is a select, not a tristate. Also, in
the future much of the ipv4/ipv6 nat code is combined, so this config
will not exist in newer kernels. Dropped.
 - INET6_XFRM_MODE_* are not needed on newer kernels. While I'm not
confident they are needed today for Kata, we will just note them and add
to whitelist for options we expect to be dropped with newer kernels in
our fragment building.
 - MAY_USE_DEVLINK: removed in future kernels, and should not be needed
anyway. Dropped.

x86_64/DAX:
 - ARCH_HAS_HMM: should not be needed, and is dropped in future kernels.
Dropped

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Eric Ernst
aaeadbd526 kernel: drop virtio-fs patches from standard kernel
These will be handled directly from virtio-fs gitlab, which is utilized
when experimental support is requested in kernel build.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Eric Ernst
e828fa953c kernel: add whitelist for config options we expect to fail
Experimental kernel is much newer, and many configuration options have
dropped since 4.19. Let's use a whitelist to itemize what we expect to
be dropped in the final config if experimental kernel us utilized.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Eric Ernst
b00b0d9e7d kernel: if experimental, pull experimental configs
Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Eric Ernst
74adb72b22 config: virtio-fs: add as an experimental kernel config
This isn't available in the baseline kernel, necessarily. Only
add these config options if an experimental kernel is being used.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Eric Ernst
baa2ef1bbf kernel: add support for building virtio-fs kernel
Adding option `-e` to support experimental flag. When selected, the
kernel for virtio-fs is utilized instead of standard kernel.org.

This is a bit more hack-ish than I'd prefer, sorry.

Fixes: #700

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Eric Ernst
2b617ed8c7 kernel: auto-indent build-kernel.sh
Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Julio Montes
42ef119992
Merge pull request #2030 from vijaydhanraj/fix-acrn-macvtap
hypervisor: Fix MacVTap internetworking support in ACRN
2019-09-06 13:50:54 -05:00
Eric Ernst
48540146b6
Merge pull request #351 from katabuilder/1.9.0-alpha1-branch-bump
# Kata Containers 1.9.0-alpha1
2019-09-06 10:55:46 -07:00
Salvador Fuentes
2b785044a2 ci: travis: allow failures on ppc64le
travis ppc64le has been very unstable when running
apt-get commands and are not allowing us to run the
job successfully.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2019-09-06 09:19:12 -05:00
Gabriela Cervantes
f6be9a822a qemu: Enable qemu with virtiofs
This adds support for virtio-fs on QEMU.

Fixes #699

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2019-09-06 04:29:37 -05:00
Fupan Li
e21dc8babe
Merge pull request #2022 from WeiZhang555/limit-usage-of-compatOCISpec
CompatOCISpec: limit usage of CompatOCISpec
2019-09-06 09:23:16 +08:00
Eric Ernst
b62814a6f0 sandbox: combine sandbox cgroup functions
Simplify the tests and the code by combining the create and join
functions into a single function.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-05 13:49:13 -07:00
Alice Frosi
e3f92fe59b virtcontainer: add error return code
Add error return code to append functions.

Fixes: #2035

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2019-09-05 15:28:46 +02:00
Alice Frosi
a0e09df1df s390x: add appendVSock with devno
Reimplementation of appendVSock in order to assign the devno to the
vsock device.

Fixes: #2033

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2019-09-05 12:53:18 +02:00
Alice Frosi
6b2a90a9e5 virtcontainer: rename appendVSockPCI
Rename function appendVSockPCI to appendVSock to be general. The
function could use PCI or CCW devices.
Added return error to appendVSock.

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2019-09-05 12:53:18 +02:00
James O. D. Hunt
44f67f7efc
Merge pull request #539 from vijaydhanraj/kata-acrn-doc
doc: how-to on Kata Containers with ACRN hypervisor
2019-09-05 09:53:37 +01:00
James O. D. Hunt
94c47dcecd
Merge pull request #1965 from jschintag/virtio-blk-ccw
s390x: add virtio-blk-ccw support
2019-09-05 08:46:08 +01:00
Wei Zhang
9507f45a0f CompatOCISpec: limit usage of CompatOCISpec
Fixes: #2023

CompatOCISpec is used to gurantee backward compatbility for old runtime
specs, after we convert CompatOCISpec to standard specs.Spec, we should
use specs.Spec instead of CompatOCISpec, and CompatOCISpec should be
useless from then.

Spread usage of CompatOCISpec can make code structure confusing and making
the runtime spec usage non-standard. Besides, this can be the very first
step of removing CompatOCISpec from config's Annotations field.

Signed-off-by: Wei Zhang <weizhang555.zw@gmail.com>
2019-09-05 11:05:55 +08:00
Vijay Dhanraj
d51215878d hypervisor: Fix MacVTap internetworking support in ACRN
With MacVTap internetworking, Kata fails to launch containers
with ACRN hypervisor. This was due to missing MAC address as
part of virtio-net device when launching VM. This patch fixes
this issue by adding the MAC address.

Fixes: #2029

Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-09-04 14:28:11 -07:00
Vijay Dhanraj
4f0259424e doc: how-to on Kata Containers with ACRN hypervisor
Start-up guide on setting up kata containers
with ACRN hypervisor.

Fixes: #535

Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-09-04 09:27:43 -07:00
Nitesh Konkar
07630b570a virtcontainers: Set sandbox dns in sandbox request
If ociMounts has DNS file /etc/resolv.conf present,
then pass the dns as part of CreateSandboxRequest to
the agent.

Depends-on: github.com/kata-containers/agent#625

Fixes: #1603

Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
2019-09-04 16:43:27 +05:30
James O. D. Hunt
52690de805 docs: Emphasise default docker config
Improved the Docker installation instructions by making it clear *which*
of the multiple ways of configuration Docker for Kata is the default,
and that it is not necessary to do anything further if users select the
automatic installation method.

Fixes: #551.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-09-04 10:49:17 +01:00
Eric Ernst
87eca1fff1
Merge pull request #2025 from katabuilder/1.9.0-alpha1-branch-bump
# Kata Containers 1.9.0-alpha1
2019-09-03 15:57:12 -07:00
katacontainersbot
f128195249 release: Kata Containers 1.9.0-alpha1
- kubernetes: update kubernetes to v1.15.3 for AArch64
- vsock: set VHOST_VSOCK_SET_GUEST_CID for ppc64le
- tests: allow running unit tests using podman
- vc: Delete store when new/create container is failed
- virtcontainers: fix kernel modules annotations
- vendor: update govmm
- kata-check: require kvm modules for amd64
- kata-check: reduce default output verbosity
- v2: Prevent killing all container processes when exec is failed
- api: add a CleanupContainer api for VC
- shim v2: add network stat in metric
- qemu: fix error message miss
- Fix the issue of update resources wrong
- monitor: enlarge watch buffer
- add virtiofsd to sandbox cgroup
- virtcontainers: Fix the issue of watching console for firecracker
- versions: update version of qemu to 4.1.0
- qemu interaction improvements
- add watchconsole for no_proxy type
- qemu: do not try to stop qemu multiple times
- do not hotplug network device when stopping sandbox
- agent: add default timeout for grpc requests
- container: do not pause a StateReady container
- sandbox: remove network before stopping vm
- virtcontainers: fix hotplug block/net devices execeed pciBridgeMaxCap…
- vsock: Propogate error for vsock ioctl
- versions: kernel: update to 4.19.65
- network: Ignore routes with proto as "kernel"
- network: Deprecate bridged networking mode.
- network: fix failed to remove network
- virtcontainers: add support for loading kernel modules
- shim-v2: fix shim leak when hypervisor exit unexpectly
- virtiofs: wait for virtiofsd process to release its resources
- pkg/katautils: Do not set `init` in the kernel command line
- virtiofs: fix virtiofs crash when cache=none
- acrn: Add toml to gitignore
- versions: Upgrade to k8s 1.15
- virtcontainers: support SMP die
- qemu: support vfio pass x-pci-vendor-id and x-pci-device-id pass
- Remove nested vendor dir
- Fix UT failures with non-root
- persist: manage "hypervisor.json" with new store
- improve robustness w.r.t. dead hypervisor
- virtcontainers: convert virtcontainers tests to testify/assert
- ci: Allow travis to use go install script

611a860 kubernetes: update kubernetes for AArch64
ba3d3da vendor: update govmm
c8e5659 virtcontainers: fix kernel modules annotations
a5f1744 vc: Delete store when new/create container is failed
8cf0f06 vsock: set VHOST_VSOCK_SET_GUEST_CID based based on arch
ff8d23d tests: allow running unit tests using podman
c91556a api: add a CleanupContainer api for VC
4cf0703 v2: Prevent killing all container processes when exec is failed
5bfca6e test: add arch required kernel modules
c54f00a kata-check: reduce default output verbosity
24fcd1b test: add a generic function for CLI kata-check command
52e68f5 virtcontainers: cleanup the container config once failed
5b749a5 virtcontainers: remove the redundant sandbox config store
50d4188 qemu: fix error message miss
0926c8d virtcontainers: Fix the issue of watching console for firecracker
0075bf8 hypervisor: allow to return a slice of pids
88e281c monitor: enlarge watch buffer
db50978 kata-check: require kvm/vhost modules for amd64
4deeb05 versions: update version of qemu to 4.1.0
4a28b52 test: add test for network metric
dc38ba7 test: fix cgroup mock test
6534357 shim-v2: add network stat in metric
21698aa vendor: update cgroup
e7457e6 qemu: add logfile when debug is on
aebc496 qemu: fix memory prealloc option handling
6c77d76 qemu: check guest status with qmp query-status
5b50b34 shimv2: cancel monitor before stopping sandbox
49184ee vendor: update govmm
d90eba8 network: always cold unplug network devices
d26ff71 Revert: "sandbox: remove network before stopping vm"
debc7d9 agent: add default timeout for grpc requests
9d4050e container: do not pause a StateReady container
b58ab66 qemu: do not try to stop qemu multiple times
794e08e sandbox: remove network before stopping vm
31ddb4d virtcontainers: add watchconsole for no_proxy type
3fc17e9 vsock: Propogate error for vsock ioctl
565f14f acrn: Change the default network model for ACRN to macvtap
2c99b95 network: Deprecate bridged networking mode.
e467293 virtcontainers: fix hotplug pci devices execeed max capacity bug
604e1ab versions: kernel: update to 4.19.65
df7cf77 network: Ignore routes with proto as "kernel"
355b9c0 virtcontainers: add support for loading kernel modules
979f064 vendor: update kata agent
0832294 pkg/katautils: Do not set `init` in the kernel command line
2058751 shim-v2: fix shim leak when hypervisor exit unexpectly
a9168a3 virtiofs: wait for virtiofsd process to release its resources
263fb64 acrn: Add toml to gitignore
6e1e6a2 virtiofs: fix virtiofs crash when cache=none
50c3e56 network: fix failed to remove network
0d0a84e versions: Upgrade to k8s 1.15
7668aeb virtcontainers: support SMP die
104c04d vendor: update govmm
e41a6b9 vendor: Update vendor directories
95e8a7a dep: Remove nested vendor directories
f3d0978 persist: improve readability
3bfbbd6 persist: merge "network.json"
99cf3f8 persist: merge "agent.json"
7d5e48f persist: manage "hypervisor.json" with new store
d5d7d82 vc: move container mount cleanup to container.go
e02f6dc shimv2: monitor sandbox liveness
262484d monitor: watch hypervisor
67c401c agent: use hypervisor pid as backup proxy pid for non-kata proxy cases
835b6e9 sandbox: do not fail SIGKILL
bc4460e sandbox: support force stop
4130913 agent: mark agent dead when failing to connect
c472a01 container: allow to stop a paused container
f886c0b vc: drop container SetPid API
f2e6a31 ci: Allow travis to use go install script
3063391 ut: skip TestBindUnmountContainerRootfsENOENTNotError for non-root
c4583f4 ut: skip TestStartNetworkMonitor for non-root
f2423e7 virtcontainers: convert virtcontainers tests to testify/assert
50e263d qemu: support vfio pass x-pci-vendor-id and x-pci-device-id pass
2cf4189 vendor: update github.com/intel/govmm

Signed-off-by: katacontainersbot <katacontainersbot@gmail.com>
2019-09-03 17:34:25 +00:00
katacontainersbot
f9cfa172ab release: Kata Containers 1.9.0-alpha1
- image_builder: create /etc/resolv.conf
- Add kmod package
- dracut: improve host distro support
- Allow to override build date with SOURCE_DATE_EPOCH
- image-builder: check /sbin/init when AGENT_INIT=yes
- chrony-service: re-patch PR#265
- image-builder: get mount directory size with Mb format
- osbuilder: add dracut build method
- fedora-rootfs: using fedora 28 on aarch64

862b077 image_builder: create /etc/resolv.conf
ce20d72 dracut: improve host distro support
495a92d rootfs-builder: add kmod package
87af599 rootfs-builder/clearlinux: reduce image size when AGENT_INIT=yes
dacd2d3 scripts/lib: Allow to override build date
9afe931 chrony-service: re-patch PR#265
b1b8ce4 image-builder: check /sbin/init when AGENT_INIT=yes
934422f tests: fix background job failure detection
317bfba travis: use Ubuntu bionic distro version
a5a3343 ci: use .ci/setup.sh from tests repo
1e5746a tests: add dracut initrd and image tests
6d5aef5 osbuilder: Get mount directory size with Mb format
2f55017 osbuilder: add dracut build method
9bfc083 fedora-rootfs: using fedora 28 on aarch64
8ebaac0 rootfs: move code from rootfs.sh to lib.sh
39370c2 rootfs-builder: support provisioning existing rootfs

Signed-off-by: katacontainersbot <katacontainersbot@gmail.com>
2019-09-03 17:34:10 +00:00
GabyCT
d0cf1cd73f
Merge pull request #549 from kata-containers/nitkon-patch-1
architecture.md: Update initrd placeholder
2019-09-03 10:20:09 -05:00
GabyCT
c017e2519d
Merge pull request #541 from marcov/howto-move
how-to: move k8s guide into a dedicate how-to md
2019-09-03 10:19:00 -05:00