Commit Graph

13214 Commits

Author SHA1 Message Date
Penny Zheng
aee668b51d kernel: update guest kernel to 4.19.8 on aarch64
For supporting nvdimm, we need to update kernel on aarch64 to the
stable version 4.19.8 and backport Suzuki K Poulose's latest
Dynamic IPA and 52bit IPA support patch series
(https://patchwork.kernel.org/cover/10616271/)which has been included
in 4.20-rc3+ to the v4.19.8.

Fixes: #268

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <Wei.Chen@arm.com>
2018-12-17 10:00:59 +08:00
Manohar Castelino
662147ce03
Merge pull request #283 from kata-containers/revert-278-add_config_x86_4_19_8
Revert "kernel: Add 4.19.8 config for x86"
2018-12-14 17:10:28 -08:00
Manohar Castelino
8f513d6c86 Add support for virtio-mmio
Add support for virtio-mmio. Firecracker uses virtio-mmio.

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2018-12-14 17:02:09 -08:00
Manohar Castelino
edc9bcba30
Revert "kernel: Add 4.19.8 config for x86" 2018-12-14 16:34:18 -08:00
Sebastien Boeuf
a1af1cb099 virtcontainers: network: Rely on hypervisor capabilities for multi queues
In order to properly setup the network, hence allocate or not multiple
queues, this commit makes sure that the hypervisor capabilities are
checked for this.

Fixes #1027

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-12-14 15:39:25 -08:00
Manohar Castelino
9d4e6b0742
Merge pull request #278 from sboeuf/add_config_x86_4_19_8
kernel: Add 4.19.8 config for x86
2018-12-14 15:21:22 -08:00
Sebastien Boeuf
a227ab852a virtcontainers: hypervisor: Add capability regarding multiqueue support
Each hypervisor is different and supports different options regarding
the network interface it creates. In particular, the multiqueue option
is not supported by Firecracker and should not be assumed by default.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-12-14 15:11:44 -08:00
Sebastien Boeuf
0bcd221fad virtcontainers: network: Rename numCPUs to queues
The point of knowing the number of CPUs from the network perspective
is to determine the number of queues that can be allocated to the
network interface of the our virtual machine.

Therefore, it's more logical to name it queues from a network.go
perspective.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-12-14 15:08:55 -08:00
Sebastien Boeuf
2cb4bb9db7 virtcontainers: network: Reorganize endpoints interconnection
In order to prevent from future duplication of calls into the
hypervisor interface, the hypervisor is directly passed as part
of the xConnectVMNetwork() function. Because this does not apply
the disconnection case, this commit splits the former function
into two separate ones.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-12-14 14:50:11 -08:00
Marco Vedovati
59ce0b3d4e dev-guide: detect & use existing docker unit file
Only create a new docker unit file if no other existing unit files
are detected. Creating a new docker file when not necessary may mask out
existing docker daemon configurations.

Fixes: #300

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-12-14 18:34:29 +01:00
Salvador Fuentes
4fc6e33ccc
Merge pull request #220 from chavafg/topic/fix-dependencies-fedora
setup: Add make and gcc as dependencies
2018-12-14 10:58:32 -06:00
Sebastien Boeuf
9ec1ca731d kernel: Add 4.19.8 config for x86
We want to make sure Kata runs on latest stable kernels so that it
benefits from the latest features.

For instance, in case of Kata relying on NEMU hypervisor, the recent
kernel patches reworking the way timer calibration is handled are
solving some boot latency issues.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-12-14 07:28:30 -08:00
Salvador Fuentes
be97380a3b setup: Add make and gcc as dependencies
We require make and gcc to run our CI tools.

Fixes: #219.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2018-12-14 08:09:52 -06:00
Julio Montes
121de2ccf3
Merge pull request #216 from marcov/suse-arm-repo-fix
suse: fix port URL detection for aarch64
2018-12-14 07:08:45 -06:00
Julio Montes
695702b61b
Merge pull request #218 from alicefr/master
s390x: set CC for fedora
2018-12-14 07:08:21 -06:00
James O. D. Hunt
bcf995bfe1
Merge pull request #887 from jcvenegas/sandbox-manage-resources
virtcontainers: make sandbox manage VM resources
2018-12-14 09:21:36 +00:00
x00464843
08f1c05144 Module: fix parameter order error in cli/ps.go
Fixes: #1017
reason: when calls vci.ProcessListContainer, fix wrong parameter order

Signed-off-by: x00464843 <xueshaojia@huawei.com>
2018-12-14 09:08:54 +08:00
Jose Carlos Venegas Munoz
d4586d4bcc test: remove TestHotplugRemoveMemory
HotplugRemoveMemory require to do a qmp call, but
unit test does not start a Qemu instance.

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

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-12-13 16:33:35 -06:00
Jose Carlos Venegas Munoz
0d80202573 vc:sandbox: rename newcontainer to fetchcontainer.
The containers is not new but fech from an existing one.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-12-13 16:33:24 -06:00
Jose Carlos Venegas Munoz
618cfbf1db vc: sandbox: Let sandbox manage VM resources.
- Container only is responsable of namespaces and cgroups
inside the VM.

- Sandbox will manage VM resources.

The resouces has to be re-calculated and updated:

- Create new Container: If a new container is created the cpus and memory
may be updated.

- Container update: The update call will change the cgroups of a container.
the sandbox would need to resize the cpus and VM depending the update.

To manage the resources from sandbox the hypervisor interaface adds two methods.

- resizeMemory().

This function will be used by the sandbox to request
increase or decrease the VM memory.

- resizeCPUs()

vcpus are requested to the hypervisor based
on the sum of all the containers in the sandbox.

The CPUs calculations use the container cgroup information all the time.

This should allow do better calculations.

For example.

2 containers in a pod.

container 1 cpus = .5
container 2 cpus = .5

Now:
Sandbox requested vcpus 1

Before:
Sandbox requested vcpus 2

When a update request is done only some atributes have
information. If cpu and quota are nil or 0 we dont update them.

If we would updated them the sandbox calculations would remove already
removed vcpus.

This commit also moves the sandbox resource update call at container.update()
just before the container cgroups information is updated.

Fixes: #833

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-12-13 16:33:14 -06:00
Alice Frosi
de7fe193ab s390x: set CC for fedora
Fixes: #217

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-12-13 14:40:44 +01:00
Hui Zhu
25358444ad make: Add "GOPATH not set"
Most of the projects, they can be built with "make".  After that,
"sudo make install" can install the application.
It is not work for kata-runtime because kata-runtime's make must work
with golang in the environment that default sudo cannot supply it.
But "make install" doesn't need golang.

So add "GOPATH not set" to handle the issue.

Fixes: #1008

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2018-12-13 13:25:43 +08:00
Marco Vedovati
3366a32077 README: add ARM architecture to openSUSE
The openSUSE image can be built for ARM.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-12-12 18:16:32 +01:00
Marco Vedovati
804286f90d suse: fix port URL detection for aarch64
Fix port URL detection for aarch64, and error out if an unknown
architecture is detected.

Fixes: #215

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-12-12 18:15:07 +01:00
fli
97fce623d5
Merge pull request #976 from bergwolf/synctime
factory: set guest time after resuming
2018-12-12 18:25:18 +08:00
Peng Tao
8444a7a99e factory: set guest time after resuming
We might have paused a guest for a long time so we need to sync
its time.

Fixes:#951
Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-12-12 12:54:16 +08:00
Peng Tao
f81370876c vendor: update agent vendor for SetGuestDateTime
Full commit list:

34b7454 grpc: sandbox: add container when is fully created.
df822eb grpc: support rlimits
87ad0a8 release: Kata Containers 1.5.0-rc1
31c6b6e grpc: add SetGuestDateTime API
4eca13b client: do cleanup after UT stop mock server
c25288a Makefile: Decide if agent will be built by seccomp tag
0aae82b release: Kata Containers 1.4.0
7b4c337 vendor: Update vendor/github.com/containerd/console
8dedf30 agent: build as Position-Independent-Executable
dc635d4 test: Add test for ipvlan routes in l3 mode
69ee60f network: Refactor to reduce cyclomatic complexity
4005c33 network: Handle default route where gateway is empty
83138df pkg: types: Add a new field type

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-12-12 12:52:40 +08:00
Peng Tao
971fb677b2
Merge pull request #1004 from lifupan/fixchildreap
shimv2: fix the error of reaping qemu process mistakenly
2018-12-12 12:31:13 +08:00
Julio Montes
976f5b2a6e
Merge pull request #990 from alicefr/s390x
s390x: add support for s390x
2018-12-11 10:57:27 -06:00
Jose Carlos Venegas Munoz
58b8ebb1dc
Merge pull request #281 from alicefr/s390_4.19
kernel: add s390 config for version 4.19.8
2018-12-11 10:30:07 -06:00
Julio Montes
32738ba59c
Merge pull request #998 from teawater/blkconfig
config: Add cache-related options for block devices
2018-12-11 07:40:06 -06:00
James O. D. Hunt
4cd5f2cbb8
Merge pull request #318 from devimc/topic/snap-installation
install: add snap installation guide
2018-12-11 12:04:22 +00:00
Alice Frosi
6f83061139 s390x: add support for s390x
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See #659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: #666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-12-11 12:32:17 +01:00
Alice Frosi
02476450a2 kernel: add s390 config for version 4.19.8
Remove configs s390_kata_kvm_4.14.x

The patch 0003-serial-forbid-8250-on-s390 is no longer necessary as it
has been upstreamed since version 4.16

The kernel configs have been generated as described in https://github.com/kata-containers/packaging/issues/246
plus the vsock options have been manually enabled:
CONFIG_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y

Fixes: #280

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-12-11 11:01:26 +01:00
Xu Wang
349a848714
Merge pull request #271 from teawater/dimm
obs-packaging: Add Eric Auger's latest PCDIMM/NVDIMM patches
2018-12-11 14:09:00 +08:00
Peng Tao
8f22d672db
Merge pull request #996 from lifupan/fixFactory
virtcontainers: share the agent's client between factory's VM and san…
2018-12-11 11:29:33 +08:00
fupan
df8b7db3ae shimv2: fix the issue of reaping child mistakenly
For kata shimv2, the sub-reaper isn't needed, otherwise
it will break the cmd.Run() calling in govmmQemu.LaunchQemu().

Fixes: #939

Signed-off-by: fupan <lifupan@gmail.com>
2018-12-11 03:12:31 +00:00
Fupan Li
e4a3fd5565 vendors: upgrade the containerd vendors
kata shimv2 needs the commit of:
f05672357f,
thus upgrade it to the latest.

Signed-off-by: Fupan Li <lifupan@gmail.com>
2018-12-11 02:50:36 +00:00
Jose Carlos Venegas Munoz
4cc94b6063
Merge pull request #994 from katacontainersbot/1.5.0-rc1-branch-bump
# Kata Containers 1.5.0-rc1
2018-12-10 15:40:17 -06:00
Julio Montes
718b4b95e1
Merge pull request #277 from jcvenegas/modulecleanup
Kernel: Remove modules
2018-12-10 09:10:02 -06:00
Graham Whaley
9b6ac0aa29
Merge pull request #275 from alicefr/enable_vsock
kernel: enable vsock on s390x
2018-12-10 14:35:00 +00:00
fupan
20f2d30ab8 virtcontainers: share the agent's client between factory's VM and sandbox
When agent is configured as longLive, the VM's agent created
by factory will not close it's client once it connected, thus
the sandbox's agent cannot re-connect successfully.

Sharing the agent's client between VM's agent and sandbox
can fix this issue.

Fixes: #995

Signed-off-by: fupan <lifupan@gmail.com>
2018-12-10 18:28:08 +08:00
James O. D. Hunt
3781db2edc
Merge pull request #267 from jcvenegas/f29
obs: enable fedora 29
2018-12-10 09:57:18 +00:00
Alice Frosi
c63de1523a kernel: enable vsock on s390x
The vsock options need to be enabled to build a kernel able to use the
vsock option

Fixes: #274

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-12-10 08:51:34 +01:00
Hui Zhu
6024088ca0 config: Add cache-related options for block devices
Add block_device_cache_set, block_device_cache_direct
and block_device_cache_noflush.

Fixes: #997

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2018-12-09 18:10:39 +08:00
Jose Carlos Venegas Munoz
5117654699 Kernel: Remove modules
Remove modules from default kernel config.

Modules are not used in default kata images.

Lets remove them.

Fixes: #276

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-12-07 16:09:56 -06:00
Jose Carlos Venegas Munoz
c081eda8b3
Merge pull request #266 from devimc/snap/skipGoVersionCheck
snap: skip go version check
2018-12-07 14:45:03 -06:00
Jose Carlos Venegas Munoz
f8f76907eb
Merge pull request #263 from marcov/kernel-multiarch
obs-packaging: multi-arch kernel build support
2018-12-07 14:44:35 -06:00
Archana Shinde
a323a87b59
Merge pull request #975 from teawater/dimm
versions: refactor configuration of qemu in version.yaml
2018-12-07 10:57:21 -08:00
Archana Shinde
063d04f913
Merge pull request #992 from teawater/upv
vendor: Update govmm vendoring
2018-12-07 10:53:12 -08:00