Commit Graph

2150 Commits

Author SHA1 Message Date
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
Julio Montes
9e606b3da8 virtcontainers: revert "fix shared dir resource remaining"
This reverts commit 8a6d383715.

Don't remove all directories in the shared directory because
`docker cp` re-mounts all the mount points specified in the
config.json causing serious problems in the host.

fixes #777

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-09-24 12:15:09 -05:00
James O. D. Hunt
eba23b1ae4 scripts: Use syntax highlighting in collect script
Make the output of `kata-collect-data.sh` slightly more attractive and
easier to read by using syntax highlighting where possible. This is
achieved by specifying a language for some of the code blocks,
specifically for the TOML config files and output of `kata-env` and the
YAML osbuilder config file.

See:

- https://help.github.com/articles/creating-and-highlighting-code-blocks/
- https://github.com/github/linguist

Fixes #775.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-09-24 09:22:54 +01:00
Peng Tao
e39a734184
Merge pull request #774 from amshinde/fix-virtio-blk
block: Fix how rootfs is passed to kata-agent using virtio-blk
2018-09-22 13:36:31 +08:00
Archana Shinde
d865515c29
Merge pull request #760 from bergwolf/proxy-cleanup
agent: clean up proxy process if start sandbox failed
2018-09-21 14:50:58 -07:00
Archana Shinde
58cf7fc5d6 block: Fix how rootfs is passed to kata-agent using virtio-blk
Kata agent expects the pci address to be passed and not the
predicted device name.

Fixes #773

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-09-21 14:40:30 -07:00
Sebastien Boeuf
b59ea21e4f
Merge pull request #752 from jcvenegas/memory-slots-config
config: Add Memory slots config
2018-09-21 11:53:04 -07:00
Archana Shinde
38734bd7c6
Merge pull request #761 from caoruidong/add-inf
virtcontainers: support vhost and physical endpoints in AddInterface
2018-09-21 10:54:52 -07:00
Ruidong Cao
ec87dca2d8 virtcontainers: support vhost and physical endpoints in AddInterface
Support to hotplug vhost and physical endpoints by AddInterface API

Fixes #758

Signed-off-by: Ruidong Cao <caoruidong@huawei.com>
2018-09-22 03:10:59 +08:00
Jose Carlos Venegas Munoz
19801bf784 config: Add Memory slots configuration.
Add configuration to decide the amount of slots that will be used in a VM

- This will limit the amount of times that memory can be hotplugged.
- Use memory slots provided by user.
- tests: aling struct

cli: kata-env: Add memory slots info.

- Show the slots to be added to the VM.

```diff
[Hypervisor]
  MachineType = "pc"
  Version = "QEMU ..."
  Path = "/opt/kata/bin/qemu-system-x86_64"
  BlockDeviceDriver = "virtio-scsi"
  Msize9p = 8192
+  MemorySlots = 10
  Debug = false
  UseVSock = false
```

Fixes: #751

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-09-21 10:57:00 -05:00
Peng Tao
bb513a7066 agent: change 9pfs mount option to cache=mmap
It does not give better pjdfstest results but allows us to pass
ubuntu `apt update`, fedora `dnf install`, and also launch `mariadb:latest`.

Fixes: #769

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-21 17:59:55 +08:00
James O. D. Hunt
bd2623bd86
Merge pull request #533 from xindazhao/gpu-support
device: Add GPU device support
2018-09-21 08:56:31 +01:00
James O. D. Hunt
7f65751f62
Merge pull request #757 from lifupan/fixbuiltinproxy
virtcontainers: fix the issue of missing starting builtin proxy
2018-09-21 08:31:14 +01:00
Peng Tao
0ddf99d13c agent: clean up proxy process if start sandbox failed
Otherwise we'll leave kata-proxy process dangling around forever.

Fixes: #759

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-21 14:54:37 +08:00
fupan
561269480c virtcontainers: fix the issue of missing starting builtin proxy
It shouldn't set kataAgent.state.URL in its configure() method
for builtin kata proxy, otherwise the following check of whether
is it nil in startProxy() will return directly and failed to
start builtin proxy which will log the qemu's console.

Fixes: #756

Signed-off-by: fupan <lifupan@gmail.com>
2018-09-21 09:41:38 +08:00
Archana Shinde
35d3c0bf5a
Merge pull request #764 from bergwolf/cleanup-template
Cleanup template properly
2018-09-20 12:22:01 -07:00
Peng Tao
67ffa2fd0c factory: close factory in UT
So that we do not leave artifacts like template mountpoint
behind.

Fixes: #763

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-20 18:13:01 +08:00
Peng Tao
b193f0f3d0 template: clean up template mountpoint on failures
So that we don't leave it behind.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-20 17:30:23 +08:00
Zhao Xinda
37b83c8923 device: Add GPU device support
Enable GPU device support in kata runtime, including GVT-g and GVT-d.
GVT-g: graphic virtualization technology with mediated pass through
GVT-d: graphic virtualization technology with direct pass through

BDF of device eg "0000:00:1c.0" is used to distinguish GPU device in GVT-d,
while sysfsdev of device eg "f79944e4-5a3d-11e8-99ce-479cbab002e4" is used
in GVT-g.

Fixes #542

Signed-off-by: Zhao Xinda <xinda.zhao@intel.com>
2018-09-20 15:27:34 +08:00
Zhao Xinda
2216d528f6 vendor: Update govmm to add vfio mediated device support on root bus
In addition to supporting hotplug for VFIO mediated device on PCI bridge,
this patch adds hotplug functionality on root bus.

When parameter bus and addr are set to be empty, the system will pick up
an empty slot on root bus.

Fixes #542

Signed-off-by: Zhao Xinda <xinda.zhao@intel.com>
2018-09-20 15:19:29 +08:00
Peng Tao
76b0c3c7d3
Merge pull request #747 from devimc/topic/systemdCgroup
cli: add systemd-cgroup option
2018-09-20 11:38:57 +08:00
Julio Montes
d3340f828d
Merge pull request #755 from sboeuf/add_sigs_netmon
netmon: Add signals handler support
2018-09-19 09:07:30 -05:00
zhangwei_cs
611158ac54
Merge pull request #750 from jcvenegas/cd-update
versions: update containerd version
2018-09-19 15:32:42 +08:00
Sebastien Boeuf
048616fb8d netmon: Add signals handler
After the signals package has been created and shared with the CLI,
this commit calls into it in order to properly handle the signals
directed to the network monitor process.

Fixes #718

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-18 23:10:51 -07:00
Sebastien Boeuf
1675410256 pkg: signals: Factorize signals handling through a Go package
In order to reuse the same scheme across several components of the
runtime repository, we need to factorize the code handling signalling
through a common package.

The immediate use case will be to use this package from both the CLI
and the network monitor.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-18 23:09:32 -07:00
Jose Carlos Venegas Munoz
723fbacb00 versions: update containerd version
Update the version that is used to test Kata.

```yaml
  cri-containerd:
    version: "v1.0.5"
    meta:
      containerd-version: "1.1.3"
```

Fixes: #748

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-09-18 17:01:32 -05:00
Julio Montes
00751754a9 cli: add systemd-cgroup option
Add support for cgroup driver systemd.
systemd cgroup is not applied in the VM since in some cases like initrd images
there is no systemd running and nobody can update a systemd cgroup using
systemctl.

fixes #596

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-09-18 15:55:17 -05:00
Eric Ernst
a8284f875b
Merge pull request #740 from jodh-intel/add-throttler-to-collect-script
scripts: Add throttler details to collect script
2018-09-18 07:36:09 -07:00
Frank Cao
7d8ce4ec92
Merge pull request #624 from clarecch/update_memory
virtcontainers: hotplug memory with kata-runtime update command.
2018-09-18 16:28:54 +08:00
James O. D. Hunt
6fc13e9548 scripts: Add throttler details to collect script
Add details of the KSM throttler to the output of the data collection
script. Look for both Kata and Clear Containers KSM throttler details.

Fixes #739.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-09-17 17:27:54 +01:00
Clare Chen
12a0354084 sandbox: get and store guest details.
Get and store guest details after sandbox is completely created.
And get memory block size from sandbox state file when check
hotplug memory valid.

Signed-off-by: Clare Chen <clare.chenhui@huawei.com>
Signed-off-by: Zichang Lin <linzichang@huawei.com>
2018-09-17 07:00:46 -04:00
Clare Chen
13bf7d1bbc virtcontainers: hotplug memory with kata-runtime update command
Add support for using update command to hotplug memory to vm.
Connect kata-runtime update interface with hypervisor memory hotplug
feature.

Fixes #625

Signed-off-by: Clare Chen <clare.chenhui@huawei.com>
2018-09-17 05:02:18 -04:00
Zichang Lin
0928519132 vendor: update agent to support memory update
Fixes #671

agent Shortlog:
    7e8e20b agent: add GetGuestDetails gRPC function
    5936600 grpc: grpc.Code is deprecated
    2d3b9ac release: Kata Containers 1.3.0-rc0
    a6e27d6 client: fix dialer after vendor update
    cd03e0c vendor: update grpc-go dependency
    1d559a7 channel: add serial yamux channel close timeout
    fcf6fa7 agent: update resources list with the right device major-minor number

Signed-off-by: Zichang Lin <linzichang@huawei.com>
2018-09-17 05:02:18 -04:00
Peng Tao
a5e82c1d4d
Merge pull request #684 from bergwolf/vm-proxy
factory: start proxy before assign vm to a sandbox
2018-09-17 16:37:46 +08:00