Commit Graph

1233 Commits

Author SHA1 Message Date
James O. D. Hunt
b81131f4c0
Merge pull request #823 from jodh-intel/fix-default-bundle-path
create/run: Make bundle path default to cwd
2018-10-18 09:57:00 +01:00
Frank Cao
633f4567f3
Merge pull request #825 from jodh-intel/add-trace-to-remaining-api-funcs
virtcontainers: Add missing API trace calls
2018-10-18 16:53:30 +08:00
Graham Whaley
0a652a1ab8
Merge pull request #786 from linzichang/master
sandbox/virtcontainers: memory resource hotplug when create container.
2018-10-18 09:43:24 +01:00
Peng Tao
708007e42c
Merge pull request #830 from caoruidong/add-release
virtcontainers: Add missing API release calls
2018-10-18 15:24:26 +08:00
Zichang Lin
36306e283c sandbox/virtcontainers: modify tests relate to memory hotplug.
Signed-off-by: Clare Chen <clare.chenhui@huawei.com>
Signed-off-by: Zichang Lin <linzichang@huawei.com>
2018-10-17 23:01:13 -04:00
Ruidong Cao
3f39d6e807 virtcontainers: Add missing API release calls
Add missing release sandbox calls to network related functions in
virtcontainers API.

Fixes #732.

Signed-off-by: Ruidong Cao <caoruidong@huawei.com>
2018-10-18 06:58:04 +08:00
Julio Montes
daf52dec57
Merge pull request #813 from sboeuf/romfile
qemu: Disable the default romfile used by virtio-pci
2018-10-17 15:12:57 -05:00
fupan
b72a3cdcce device: fix the issue of passing wrong device address using virtio-blk
Kata agent expects the pci address to be passed and not the
virtPath in guest.

Fixes: #831

Signed-off-by: fupan <lifupan@gmail.com>
2018-10-17 20:15:34 +08:00
James O. D. Hunt
ee9275fedb virtcontainers: Add missing API trace calls
Add missing trace calls to remaining public virtcontainers API
functions.

Fixes #824.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-10-17 11:34:43 +01:00
James O. D. Hunt
8831245e30 create/run: Make bundle path default to cwd
The bundle path was documented as defaulting to the current directory
but was not being set to that value if not explicitly specified.

Also moved factory creation code to a new `handleFactory()` function to
avoid cyclomatic complexity issues.

Fixes #821.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-10-17 11:34:16 +01:00
Sebastien Boeuf
0ae5b142a6 qemu: Disable the default romfile used by virtio-pci
As we try to make sure we don't pull unneeded dependency when using
QEMU or NEMU as the hypervisor, and because SeaBIOS and OVMF firmware
already handle what's done by the default efi-virtio.rom binary, this
commit gets rid of this dependency by providing a default empty one.

Fixes #812

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-10-16 18:29:49 -07:00
Sebastien Boeuf
6f0873a2c3 vendor: Update govmm vendoring
Shortlog:

9c819db qemu: Fix virtio-net-pci QMP command
7fdfc6a qemu: Add support for romfile option
e74de3c Update guidelines on security issue reporting
ec83abe qemu: Add virtio-balloon device suppport.
4697078 qemu: Show full path to qemu binary at launch time

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-10-16 18:29:40 -07:00
Peng Tao
8cfb06f1a9 kata-check: optionally require kvm-intel unrestricted_guest
We have optionally handled it in kernel parameter in
genericArchKernelParamHandler but kata-check still forcely require it to
be present. Let's only require it when running on baremetal.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-10-16 16:57:01 +08:00
Peng Tao
acbcde3fee kata-check: do not require nested vt
We do not really require nested VT to run kata containers. Let's not
depend on it being there.

Fixes: #820

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-10-16 15:31:43 +08:00
Peng Tao
ea9ecd7386 kata-check: modprobe missing kernel modules
So that we can possibly verify its parameter later on.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-10-16 11:43:59 +08:00
Archana Shinde
d00742f43f
Merge pull request #811 from amshinde/network_refactor
Refactor network.go
2018-10-15 09:07:16 -07:00
Clare Chen
14f480af8f sandbox/virtcontainers: combine addResources and updateResources
addResources is just a special case of updateResources. Combine the shared codes
so that we do not maintain the two pieces of identical code.

Signed-off-by: Clare Chen <clare.chenhui@huawei.com>
2018-10-15 10:39:08 +08:00
Zichang Lin
8e2ee686bd sandbox/virtcontainers: memory resource hotplug when create container.
When create sandbox, we setup a sandbox of 2048M base memory, and
then hotplug memory that is needed for every new container. And
we change the unit of c.config.Resources.Mem from MiB to Byte in
order to prevent the 4095B < memory < 1MiB from being lost.

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

Fixes #400

Signed-off-by: Clare Chen <clare.chenhui@huawei.com>
Signed-off-by: Zichang Lin <linzichang@huawei.com>
2018-10-15 10:37:29 +08:00
Archana Shinde
b04691e229 network: Collapse log calls for endpoint Attach and Detach
Log Attach, Detach, HotAttach and HotDetach at a single
location.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-11 14:45:57 -07:00
Archana Shinde
ab15498bdf network: Explicitly check for veth type
Explicitly check for "veth" intergace type while creating a
veth endpoint. Error out for unsupported network interfaces.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-11 14:45:57 -07:00
Archana Shinde
3c590b0e2c network: Rename VirtualEndpoint to VethEndpoint
As this really represents a veth pair rather than a generic
virtual interface, rename VirtualEndpoint to VethEndpoint.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-11 14:45:57 -07:00
Archana Shinde
df8f21d9fe network: Refactor network tests.
Split network_test.go into separate test files.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-11 14:45:57 -07:00
Archana Shinde
adcd9106f9 network: Refactor network.go
Split endpoint implementations into their own file.

Fixes #799

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-11 14:45:55 -07:00
Archana Shinde
7fb2706667
Merge pull request #814 from amshinde/fix-endpoint-indexing
network: Sort endpoints by name
2018-10-11 14:38:32 -07:00
Archana Shinde
8f1b28da34 network: Sort endpoints by name
Sort endpoints by name to control the order in which
they are passed to the VM as the interface name inside
the VM depends on the order in which it is passed.

Long term we should come up with a more robust approach.

Fixes #785

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-11 09:23:49 -07:00
Peng Tao
eb77a41535 qemu: make saveSandbox wait for migration completion
Then we can remove the arbitrary sleep waiting for migration
completion when creating a tempalte vm.

Fixes: #728

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-10-09 09:52:25 +08:00
Manohar Castelino
c3cfe8204a
Merge pull request #805 from sboeuf/fix_virt
virtcontainers: qemu: Add proper support for virt machine type
2018-10-03 17:19:07 -07:00
Archana Shinde
a0968ce1ce
Merge pull request #506 from amshinde/macvlan-support
network: Add support for macvlan and macvtap driver
2018-10-03 14:19:14 -07:00
Sebastien Boeuf
dffb4f96ae virtcontainers: qemu: Add proper support for virt machine type
The virt machine type provided by the NEMU project needs to be
supported the same way we support pc and q35 machine types.

First, this patch takes care of adding the hotpluggable block device
capability to this machine type, this way when using devicemapper, we
prevent the code from falling back on using 9pfs instead of SCSI.

It also add one or several bridges to this machine type, as the code
is tightly coupled to the fact that a bridge is required for PCI
hotplug.

At last, it changes the name of the PCI host bridge (main bus), to
use "pcie.0". The default set up from pc machine type "pci.0" is not
suitable for this machine type.

Fixes #804

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-10-03 10:04:02 -07:00
Archana Shinde
3c7cf589ad tests: Add additional network tests to verifu link creation functions
Add tests to verify bridge, tap and macvtap link creation.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-03 09:46:16 -07:00
Archana Shinde
378191a52c tests: Add tests for macvlan and macvtap endpoints
Add unit tests in network_test.go and qemu_arch_base_test.go
for macvlan and macvtap network endpoints.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-03 09:46:16 -07:00
Archana Shinde
def070d651 golint: Refactor to reduce cyclomatic complexity
Introduce function  getLinkForEndpoint to reduce cyclomatic
complexity.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-02 17:39:48 -07:00
Archana Shinde
417c1f07f9 macvtap: Add support for macvtap
Plugin may provide a macvtap interface. Add support for
directly attaching this to the VM.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-02 17:39:48 -07:00
Sebastien Boeuf
0de7572f7b vendor: Update govmm vendoring
Shortlog:

ef72505 qemu: Fix the support of PCIe bridge
56f645e qmp: add ExecuteQueryMigration
a429677 govmm: fix memory prealloc
1130aab qmp: add "query-cpus" support

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-10-02 17:15:14 -07:00
Archana Shinde
581ff17857 macvlan: Assign random MAC address
Macvtap interfaces require mac addresses to be unique even
though they may be in a separate namespace. Hence use a randomly
generate MAC address.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-02 16:23:50 -07:00
Archana Shinde
8847af8343 network: Add support for macvlan driver
Add support for macvlan driver by bridging it with a macvtap or
tap+bridge and moving the mac and ip address from the
macvlan to the bridged interface.

Fixes #162

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-02 16:23:50 -07:00
Sebastien Boeuf
c061fe1ff5
Merge pull request #802 from jcvenegas/fix-memory-update
memory: update: Update state using the memory removed
2018-10-02 15:23:11 -07:00
Jose Carlos Venegas Munoz
1f5792ecbb test: fix unit test nil pointer.
Add filesystem to qemu object.
Fix mock_hypervisor

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-10-02 15:58:08 -05:00
Jose Carlos Venegas Munoz
4697cf3c79 memory: update: Update state using the memory removed.
If the memory is reduced , its cgroup in the VM was updated properly. But the
runtime assumed that the memory was also removed from the VM.

Then when it is added more memory again, more is added (but not needed).

Fixes: #801

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-10-02 14:38:21 -05:00
Archana Shinde
532e0bbf75
Merge pull request #772 from amshinde/block-support-q35
block: Advertise block support for q35
2018-10-02 10:03:56 -07:00
Archana Shinde
0cab1924c2 block: Advertise block support for q35
Add block device capability for q35 as this machine type supports it.
This was never added with the introduction of q35 support.

Fixes #771

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-01 11:21:21 -07:00
Frank Cao
9bc582857b
Merge pull request #798 from devimc/topic/depEnsure
vendor: fix govmm package
2018-09-29 18:48:56 +08:00
Julio Montes
f4cf2137be vendor: fix govmm package
Last time govmm was updated it was not vendored correctly

Fixes #797

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-09-28 10:36:13 -05:00
Eric Ernst
a786643d0b
Merge pull request #789 from bergwolf/1.3.0-branch-bump
# Kata Containers 1.3.0
2018-09-26 17:34:08 -07:00
Julio Montes
0d99a4f49f
Merge pull request #776 from jodh-intel/bling-collect-script
scripts: Use syntax highlighting in collect script
2018-09-26 08:47:15 -05:00
Peng Tao
7078d3b530 release: Kata Containers 1.3.0
- agent: change 9pfs mount option to cache=mmap
- vc: qemu: Add config option to choose entropy source.
- virtcontainers: revert "fix shared dir resource remaining"
- block: Fix how rootfs is passed to kata-agent using virtio-blk
- agent: clean up proxy process if start sandbox failed
- config: Add Memory slots config
- virtcontainers: support vhost and physical endpoints in AddInterface
- device: Add GPU device support
- virtcontainers: fix the issue of missing starting builtin proxy
- Cleanup template properly
- cli: add systemd-cgroup option
- netmon: Add signals handler support
- versions: update containerd version
- scripts: Add throttler details to collect script
- virtcontainers: hotplug memory with kata-runtime update command.
- factory: start proxy before assign vm to a sandbox
- virtcontainers: netmon: Monitor network changes
- versions: Bump golang from 1.8.3 to 1.9.7
- cli: add configuration option to enable/disable vhost_net

41619e4 vc: qemu:  Add option to change entropy source
9e606b3 virtcontainers: revert "fix shared dir resource remaining"
58cf7fc block: Fix how rootfs is passed to kata-agent using virtio-blk
ec87dca virtcontainers: support vhost and physical endpoints in AddInterface
19801bf config: Add Memory slots configuration.
bb513a7 agent: change 9pfs mount option to cache=mmap
0ddf99d agent: clean up proxy process if start sandbox failed
5612694 virtcontainers: fix the issue of missing starting builtin proxy
67ffa2f factory: close factory in UT
b193f0f template: clean up template mountpoint on failures
37b83c8 device: Add GPU device support
2216d52 vendor: Update govmm to add vfio mediated device support on root bus
048616f netmon: Add signals handler
1675410 pkg: signals: Factorize signals handling through a Go package
723fbac versions: update containerd version
0075175 cli: add systemd-cgroup option
6fc13e9 scripts: Add throttler details to collect script
12a0354 sandbox: get and store guest details.
13bf7d1 virtcontainers: hotplug memory with kata-runtime update command
0928519 vendor: update agent to support memory update
0ffe81c cli: config: Make netmon configurable
1406d99 virtcontainers: Start network monitor from virtcontainers
29e2fa0 virtcontainers: Avoid conflict with network monitor
f6ce465 vendor: Update agent vendoring
55af108 netmon: Add unit testing
f131590 netmon: Build netmon from the master Makefile
fca7435 netmon: Add logrus support
bbf2a47 netmon: Don't rely on agent protocol
b708a4a netmon: Monitor network changes
d75841e ut: add more UTs
07c1f18 factory: start proxy after create new VM
4738d4e agent: add setProxy/getAgentURL interface
8f77c33 proxy: decouple from sandbox
f39fa5d proxy: remove newProxyConfig
c41c9de proxy: do not decode proxy config
225e10c cli: add configuration option to enable/disable vhost_net
5ebb7cf vendor: Update govmm to disable vhost when host doesn't support vhost-net
d814bc5 versions: Bump golang from 1.8.3 to 1.9.7

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-26 17:34:18 +08:00
James O. D. Hunt
504e5836f0
Merge pull request #770 from bergwolf/9p-mmap
agent: change 9pfs mount option to cache=mmap
2018-09-26 10:19:54 +01:00
Peng Tao
304ec7e231
Merge pull request #781 from jcvenegas/urandom-source
vc: qemu: Add config option to choose entropy source.
2018-09-26 09:43:28 +08:00
Jose Carlos Venegas Munoz
41619e4f83 vc: qemu: Add option to change entropy source
This adds a config option to choose the VM entropy
source.

Fixes: #702

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-09-25 17:54:32 -05:00
James O. D. Hunt
e50915017e
Merge pull request #778 from devimc/topic/revert-292
virtcontainers: revert "fix shared dir resource remaining"
2018-09-25 11:18:39 +01:00