Commit Graph

10701 Commits

Author SHA1 Message Date
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
James O. D. Hunt
13aed3a3bc
Merge pull request #238 from egernst/stable-documentation
stable: initial stable-branching documentation
2018-09-18 15:31:40 +01:00
Eric Ernst
2594c907a8 stable: initial stable-branching documentation
It is expected that this document will change over time. This
represents an initial starting point as we create and release
our stable branches.

Fixes: #237

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2018-09-18 07:25:10 -07:00
Graham Whaley
4d545625ba
Merge pull request #182 from jcvenegas/kata-1.3-rc0
Kata 1.3 rc0
2018-09-18 11:55:11 +01:00
Graham Whaley
f099e2997f
Merge pull request #164 from marcov/clean-testimage
osbuilder: Remove redundant argument to test_image.sh
2018-09-18 10:43:34 +01: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
Mark Ryan
9905ae92c5
Merge pull request #47 from xindazhao/gpu-vfio-mdev
qemu/qmp: add vfio mediated device support on root bus
2018-09-18 10:00:32 +02:00
Zhao Xinda
de5d278889 qemu/qmp: 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.

Signed-off-by: Zhao Xinda <xinda.zhao@intel.com>
2018-09-18 15:54:53 +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
Archana Shinde
40bf14989d
Merge pull request #534 from sboeuf/monitor_network_golang
virtcontainers: netmon: Monitor network changes
2018-09-14 15:21:45 -07:00
Jose Carlos Venegas Munoz
4b8f97c1ca
Merge pull request #184 from devimc/topic/fixSnap130
snap: fix snapcraft.yaml for kata-container 1.3.0
2018-09-14 14:23:05 -05:00
Julio Montes
e63f8a08de snap: fix snapcraft.yaml for kata-container 1.3.0
fix proxy installation path
fix initrd creation

fixes #183

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-09-14 14:05:42 -05:00
Sebastien Boeuf
e620470fe1
Merge pull request #643 from jodh-intel/golang-1.8.3-to-1.9.7
versions: Bump golang from 1.8.3 to 1.9.7
2018-09-14 11:02:00 -07:00
Sebastien Boeuf
0ffe81cb71 cli: config: Make netmon configurable
In order to choose if the network monitor should be used or not, this
patch makes it configurable from the configuration.toml file.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:53 -07:00
Sebastien Boeuf
1406d99aba virtcontainers: Start network monitor from virtcontainers
This patch enables the code responsible for starting and stopping
the network monitor.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:53 -07:00
Sebastien Boeuf
29e2fa0fed virtcontainers: Avoid conflict with network monitor
Because the network monitor will be listening to every event received
through the netlink socket, it will be notified everytime a new link
will be added/updated/modified in the network namespace it's running
into. The goal being to detect new interface added by Docker such as
a veth pair.

The problem is that kata-runtime will add other internal interfaces
when the network monitor will ask for the addition of the new veth
pair. And we need a way to ignore those new interfaces being created
as they relate to the veth pair that is being added. That's why, in
order to prevent from running into an infinite loop, virtcontainers
needs to tag the internal interfaces with the "kata" suffix so that
the network monitor will be able to ignore them.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:53 -07:00
Sebastien Boeuf
f6ce46541e vendor: Update agent vendoring
8abc400 agent: add test to WaitProcess()
f746ed8 agent: allow multiple waitProcess()
157f1c1 travis: Add variable needed to run static checks
ed54087 travis: bump golang version
ba0c7fc client: wait for session to be fully closed
0865c98 agent: wait session to be fully shutdown
55f1480 vendor: update yamux dependency
5e36bfc network: Wait for network device in UpdateInterface
218ce89 device: Rename getBlockDeviceNodeName to getPCIDeviceName
c9a4e2e uevent: Store the interface field as device name for network interfaces
74a5364 build: fix make proto error
b1c2ad8 agent: add support for online memory and cpu separately.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:53 -07:00
Sebastien Boeuf
55af1083ec netmon: Add unit testing
This commit adds some unit testing in order to validate some of the
new code that have been introduced with the new network monitor.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:53 -07:00
Sebastien Boeuf
f1315908c7 netmon: Build netmon from the master Makefile
This commit modifies the Makefile at the root of this repository
so that the binary kata-netmon can be built from there.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:53 -07:00
Sebastien Boeuf
fca74356da netmon: Add logrus support
Instead of dumping logs through the standard output with fmt.Printf()
function, this commit improves the logging by relying on logrus.
Also, it relies on the syslog hook so that all the logs get redirected
to the journal.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:51 -07:00
Sebastien Boeuf
bbf2a47866 netmon: Don't rely on agent protocol
In order to reduce the overhead due to the import of the whole
agent protocol, only the needed structures are duplicated. This
is a temporary solution, and those structures should be defined
into their own package to prevent from such overhead.

Note: the overhead of the binray size went down from 15MiB to
3MiB when this commit removed the dependency on the agent protocol.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:12 -07:00
Sebastien Boeuf
b708a4a05c netmon: Monitor network changes
This commit introduces a new watcher dedicated to the monitoring
of a specific network namespace in order to detect any change that
could happen to the network.

As a result of such a detection, the watcher should call into the
appropriate runtime path with the correct arguments to modify the
pod network accordingly.

Fixes #170

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-09-14 09:15:10 -07:00
Jose Carlos Venegas Munoz
d109f99ac8 release: 1.3.0-rc1.
- Update versions file.
- Fix proxy installation in static tarball.
- Fix ksm-throttler spec path.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-09-13 21:20:21 -05:00
Peng Tao
d6e4a98387
Merge pull request #706 from caoruidong/vhost
cli: add configuration option to enable/disable vhost_net
2018-09-14 10:17:00 +08:00
Jose Carlos Venegas Munoz
886bef2e3d
Merge pull request #163 from jodh-intel/tests-show-image-sizes
tests: Show summary of image sizes
2018-09-13 20:47:18 -05:00
Peng Tao
d75841ef23 ut: add more UTs
Let's make codecov happier;)

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-14 08:54:55 +08:00
Peng Tao
07c1f18e51 factory: start proxy after create new VM
The PR moves ahead the start of proxy process for vm factory so that
it waits for both vm and proxy to be up at the same time. This saves
about 300ms for new container creation in my local test machine.

Fixes: #683

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-14 08:54:55 +08:00
Peng Tao
4738d4e87a agent: add setProxy/getAgentURL interface
Callers can use setProxy to ask agent to use an existing proxy.
agent is modified to rely on its state.URL to tell if an
its proxy is a valid one. And startProxy will skip a valid
proxy since it is already started.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-14 08:54:55 +08:00
Peng Tao
8f77c33d68 proxy: decouple from sandbox
A proxy is mostly associated with an agent. Decouple it from sandbox
so that we can start it before linking vm with an actual sandbox.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-14 08:54:55 +08:00
Peng Tao
f39fa5d489 proxy: remove newProxyConfig
The proxy config does not depend on proxy type. Let's not misture them.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-14 08:54:55 +08:00
Peng Tao
c41c9de839 proxy: do not decode proxy config
It is a well defined structure that needs no decoding.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-09-14 08:54:55 +08:00
Eric Ernst
209433c799
Merge pull request #245 from gnawux/readme-organize
README.md: update the README of the documentation repo
2018-09-13 15:17:45 -04:00
Frank Cao
22aedc4fb6
Merge pull request #588 from nitkon/master
cli: Error out if initrd/rootfs not define in config file
2018-09-14 00:20:18 +08:00
Ruidong
225e10cfc4 cli: add configuration option to enable/disable vhost_net
Add `disable_vhost_net` option to enable or disable the use of
vhost_net. Vhost_net can improve network performance.

Signed-off-by: Ruidong Cao <caoruidong@huawei.com>
2018-09-14 00:14:03 +08:00
Ruidong
5ebb7cf6f5 vendor: Update govmm to disable vhost when host doesn't support vhost-net
If the length of vhostfds is zero, it means host doesn't support vhost. So
do not pass vhost="on" in QMP.
Full list:
    1a1fee7 qemu/qmp: nic can works without vhost

Fixes #169

Signed-off-by: Ruidong Cao <caoruidong@huawei.com>
2018-09-14 00:03:22 +08:00
Sebastien Boeuf
516b6ff1d0
Merge pull request #725 from jodh-intel/fix-kata-env-debug-output
kata-env: Fix display of debug options
2018-09-13 08:26:37 -07:00
Nitesh Konkar
bce6859af0 cli: Error out if initrd/rootfs not define in config file
If neither initrd nor rootfs path is mentioned in
the configuration.toml file, then error out stating
the same

Fixes: #587

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2018-09-13 20:14:05 +05:30
Peng Tao
5404aaba6f
Merge pull request #719 from amshinde/net-queue-size
Set the queue size for Multiqueue virtio-net as the number of vCPUs on the guest.
2018-09-13 22:40:06 +08:00
Mark Ryan
66bfe83589
Merge pull request #50 from markdryan/fix-perms
qemu/image: Reduce permissions of .iso creation dir
2018-09-13 11:59:19 +01:00
James O. D. Hunt
23a35c84c9 kata-env: Fix display of debug options
The runtime and hypervisor `Debug` options were always showing as
`false` (although all debug options in `configuration.toml` were
correctly honoured).

Note: Also moved location of `FactoryConfig` in `RuntimeConfig` as the
`malign` linter was complaining:

```
virtcontainers/pkg/oci/utils.go:102:20⚠️ struct of size 408 could be 400 (maligned)
```

Fixes #724.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-09-13 11:15:43 +01:00
Mark Ryan
de00d7a681 qemu/image: Reduce permissions of .iso creation dir
The contents of .iso used to bootstrap VMs with cloudinit are
initialised using a precreated, short-lived  directory.  The
permissions on this directory were too lenient.  This commit
restricts access to this directory to the user and his/her group.

Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>
2018-09-13 09:18:47 +02:00
Archana Shinde
63785caf04 network: Use the number of CPUS to set the multiqueue size
Instead of using a default queue size of 8 for macvtap fds,
use the number of CPUs on the guest as the queue size.
This is the recommended approach. This also shown better
performance results.

Fixes #680

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-09-12 12:18:48 -07:00
Archana Shinde
2f552fbf43 hypervisor: Add hypervisor interface to return config
This api will allow the config to be accessed by other subsystems
such as network.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-09-12 12:02:15 -07:00
Sebastien Boeuf
a5f05bf3e1
Merge pull request #715 from eguzman3/vfio-ids
devices: add per-device VFIO ids
2018-09-12 09:56:17 -07:00
Eric Ernst
92037abbf3
Merge pull request #716 from jcvenegas/1.3.0-rc1-branch-bump
# Kata Containers 1.3.0-rc1
2018-09-12 12:51:19 -04:00
Eric Ernst
830b1a90c8
Merge pull request #167 from jcvenegas/1.3.0-rc1-branch-bump
# Kata Containers 1.3.0-rc1
2018-09-12 12:50:52 -04:00