Commit Graph

779 Commits

Author SHA1 Message Date
Manohar Castelino
1e9e00a529 firecracker: generated code
```
swagger generate model -f ./firecracker-experimental.yaml --model-package=client/models --client-package=client
swagger generate client -f ./firecracker-experimental.yaml --model-package=client/models --client-package=client
```

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-06-20 09:36:21 -07:00
Manohar Castelino
289df4da13 firecracker: Fix yaml definition
The upstream yaml definition has a formatting issue. Fix the
indentation to ensure that swagger can generate the code.

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-06-18 16:55:53 -07:00
Manohar Castelino
62a715a330 Firecracker: Add upstream swagger file
Add upstream swagger file corresponding to release 0.17.0.

https://github.com/firecracker-microvm/firecracker/blob/v0.17.0/api_server/swagger/firecracker-experimental.yaml

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-06-18 16:41:22 -07:00
Eric Ernst
b2ead99ecc Merge pull request #1793 from jodh-intel/fix-typos-and-formatting
docs: Fix typos and formatting
2019-06-13 11:45:16 -07:00
Eric Ernst
d4c88b2d78 Merge pull request #1791 from nitkon/fixtest
vc: Fix TestQemuPPC64leMemoryTopology after qemu version bump
2019-06-13 11:40:36 -07:00
James O. D. Hunt
1b2b6b8e02 docs: Fix typos and formatting
Correct spelling mistakes and formatting issues.

Fixes: #1792.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-06-12 17:31:37 +01:00
Eric Ernst
99f6625e1a Merge pull request #1757 from gabibeyer/bindUnmountErrHandle
vc: error handling for bindUnmount functionalities
2019-06-12 09:14:45 -07:00
Nitesh Konkar
0fb4396f91 vc: Fix TestQemuPPC64leMemoryTopology after qemu version bump
TestQemuPPC64leMemoryTopology fails on ppc64le
as the corect qemu version is not detected.

Fixes: #1790

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-06-12 21:32:07 +05:30
Eric Ernst
847914ceff Merge pull request #1660 from Pennyzct/rootfs_ro
kernelRootParams: define agnostic commonkernelRootParams
2019-06-12 08:10:25 -07:00
gabrielle beyer
e08f13ea31 vc: error handling for bindUnmount functionalities
Add error handling surrounding the syscall of unmounting the
container rootfs. Include a unit test to check that missing
files are not considered errors when attempting to unmount.

Fixes: #164

Signed-off-by: gabrielle beyer <gabrielle.n.beyer@intel.com>
2019-06-11 19:35:59 +00:00
Eric Ernst
b57d74c31f Merge pull request #1774 from bergwolf/template-vsock
factory: make vm templating work with vsock
2019-06-06 09:14:29 -07:00
Peng Tao
6c03e2a265 factory: make vm templating work with vosck
As virtio v1.1 spec states:
The guest_cid configuration field MUST be fetched to determine the current CID when a VIRTIO_VSOCK_EVENT_TRANSPORT_RESET event is received.
Existing connections MUST be shut down when a VIRTIO_VSOCK_EVENT_TRANSPORT_RESET event is received.
Listen connections MUST remain operational with the current CID when a VIRTIO_VSOCK_EVENT_TRANSPORT_RESET event is received.

We should be able to use vm templating together with vsock easily, as
qemu already sends VIRTIO_VSOCK_EVENT_TRANSPORT_RESET event to guest.

Fixes: #1773
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-06-06 02:19:42 -07:00
Nitesh Konkar
726720dde1 vc: Add some defaultQemuMachineOptions for qemu 4.0
We need to add a few extra defaultQemuMachineOptions
for ppc64le for kata to work with  qemu 4.0 version.

Fixes: #1771

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-06-06 10:39:14 +05:30
Julio Montes
b780c160da virtcontainers: support vm factory in QEMU 4
Turn off VMX if vm-factory is enabled since it's not migratable yet.
see https://bugzilla.redhat.com/show_bug.cgi?id=1689216

fixes #1747

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-06-03 08:46:09 -05:00
James O. D. Hunt
3d8803bb86 Merge pull request #1735 from jodh-intel/doc-fixes
docs: Fix spelling and formatting
2019-05-29 09:31:41 +01:00
Penny Zheng
7e6fcddefa kernelRootParams: define agnostic commonkernelRootParams
Let's define agnostic commonkernelRootParams for all hypervisors,
including qemu, firecracker, etc. for now, it has two scenarios,
one for NVDIMM, one for virtio-blk.

Fixes: #1642

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-05-29 15:12:56 +08:00
Julio Montes
919615fef7 Merge pull request #1657 from ganeshmaharaj/filebackend
runtime: Enable file based backend
2019-05-28 12:43:09 -05:00
James O. D. Hunt
1af68aae10 docs: Fix spelling and formatting
Correct typos and formatting issues.

Fixes: #1734.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-05-24 17:17:47 +01:00
Julio Montes
7fdda280cb Merge pull request #1727 from teawater/vmcache_ctrlc
Fix the issue that ctrl-c stop vmcache server will stop all     containers that its VM is created by it
2019-05-24 07:47:42 -05:00
Ganesh Maharaj Mahalingam
a41894da18 runtime: Enable file based backend
A file based memory backend mapped to the host, fot eg: '/dev/shm' will
be used by virtio-fs for performance reasons. This change is a generic
implementation of that for kata. This will be enabled default for
virtio-fs negating the need to enable hugepages in that scenario. This
option can be used without virtio-fs by setting 'file_mem_backend' to
the location in the configuration file. Default value is an empty
string.

Fixes: #1656
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-05-23 20:47:42 -07:00
Julio Montes
890a3d5960 Merge pull request #1637 from marcov/kill-hyp
virtcontainers: kill hypervisor if startSandbox fails
2019-05-23 15:11:54 -05:00
Hui Zhu
7bf6c6754d cache: Call vm.Disconnect() when close vm
After previous commit, found that kata-proxy is not quit
when vmcache server is stopped by ctrl-c.
The cause is current kata-proxy is setsid when it exec.  It will
not get the signal ctrl-c.

Call vm.Disconnect() when close vm in cache factory to handle
this issue.

Fixes: #1726

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2019-05-23 12:29:55 +08:00
Hui Zhu
19115ef5f1 kata_proxy: Set Setsid to true when exec kata-proxy
There is an issue that ctrl-c stop vmcache server will stop all
containers that its VM is created by it.
The cause is kata-proxy and vmcache server use same tty, for example:
ps -e | grep kata
3617 pts/5    00:00:00 kata-runtime
3636 pts/5    00:00:00 kata-proxy
Ctrl-c will send signal to both kata-proxy and vmcache server.
Then the containers that its VM is created by this vmcache server will
quit with it.

Set Setsid to true when exec kata-proxy to handle this issue.

Fixes: #1726

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2019-05-23 11:47:53 +08:00
Graham Whaley
f4da3f585a Merge pull request #1309 from nitkon/unitTestFail
virtcontainers: Set test qemu version for unit test
2019-05-21 09:45:22 +01:00
Fupan Li
100db8abdc Merge pull request #1670 from xs3c/fix-vfio-hang
shim v2: Close vhostfd after vm get vhostfd
2019-05-21 14:53:26 +08:00
Nitesh Konkar
f7cc028891 vc:Execute TestQemuPPC64leMemoryTopology depending on qemu version
Set qemu major/minor version when
running unit test TestQemuPPC64leMemoryTopology
on ppc64le & execute the unit test accordingly.

Fixes: #1308

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-05-20 22:37:30 +05:30
James O. D. Hunt
0fce78ccf6 Merge pull request #1682 from jodh-intel/add-missing-docs
Add missing docs
2019-05-20 17:50:48 +01:00
Xu Wang
3d4729d6b2 Merge pull request #1701 from bergwolf/debug-console
agent: fix agent debug console
2019-05-20 18:21:28 +08:00
Peng Tao
7381cd5b3f agent: fix agent debug console
We should not let shim or proxy read guest console socket if
agent debug console is set. Otherwise when we connect to it with
socat, it reads nothing since all output is read by the shim.

Fixes: #1700
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-05-17 19:59:18 -07:00
Archana Shinde
2744c94eb3 Merge pull request #1703 from nitkon/fixunittest
virtcontainers: Set correct Shmsize for ppc64le
2019-05-17 17:32:20 -07:00
James O. D. Hunt
47d255a350 Merge pull request #1691 from bergwolf/virtiofsd
Add virtiofsd log and fix qemu hang due to virtiofsd vq setup failure
2019-05-17 16:26:52 +01:00
Nitesh Konkar
1789b65c93 virtcontainers: Set correct Shmsize for ppc64le
Fix the test case TestGetShmSizeBindMounted by
setting the right ShmSize for ppc64le.

Fixes: #1702

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-05-17 18:54:28 +05:30
Peng Tao
95d433c70b Merge pull request #1679 from teawater/vmcache_defunct_proxy
kata_proxy: Open a special goroutine do cmd.Wait
2019-05-17 17:55:08 +08:00
Peng Tao
89e0dfae11 qemu: stop qemu process when virtiofsd quits
If virtiofsd fails to initialize and stops unexpected,
qemu might hang forever. We just stop the qemu process.
Resource cleanup will be done by others.

Fixes: #1690
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-05-16 20:29:58 -07:00
Peng Tao
d0aae80f55 qemu: print virtiofsd logs when debug is on
To help trace virtiofsd issues.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-05-16 20:29:58 -07:00
Archana Shinde
90539ac31b Merge pull request #1676 from zhabinecho/fix-veth-arp-bug
network: delete IP addrs on bridge model to prevent ARP conflict
2019-05-16 15:14:24 -07:00
Marco Vedovati
f89834a276 virtcontainers: avoid unnecessary error checking in startVM
Remove redundant error checking in startVM.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-05-16 12:31:51 +02:00
Marco Vedovati
a27a3e7049 virtcontainers: kill hypervisor if startSandbox fails
Make sure the hypervisor is stopped if startSandbox does not succeed, by
calling stopSandbox.

Fixes: #1636

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-05-16 12:31:51 +02:00
Peng Tao
17079532bf Merge pull request #1668 from WeiZhang555/use-newstore
persist: merge more files with `persist.json`
2019-05-16 17:38:30 +08:00
Yang, Wei
071030b784 shimv2: Close vhostfd after vm get vhostfd
If kata containers is using vfio and vhost net,the unbinding
of vfio would be hang. In the scenario, vhost net kernel thread
takes a reference to the qemu's mm, and the reference also includes
the mmap regions on the vfio device file. so vhost kernel thread
would be not released when qemu is killed as the vhost file
descriptor still is opened by shim v2 process, and the vfio device
is not released because there's still a reference to the mmap.

Fixes: #1669

Signed-off-by: Yang, Wei <w90p710@gmail.com>
Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-05-16 13:31:11 +08:00
James O. D. Hunt
da2749c44d docs: Add missing docs
Add a few minimal documents to allow all the documentation in this
repository to be navigated from the top-level README.

Fixes #1681.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-05-15 16:28:29 +01:00
Zha Bin
bdb1047a67 network: delete IP addrs on bridge model to prevent ARP conflict
Fixes: #1673

Signed-off-by: Zha Bin <zhabin@linux.alibaba.com>
2019-05-15 22:48:23 +08:00
Hui Zhu
00d03c1022 kata_proxy: Open a special goroutine do cmd.Wait
Got a defunct kata-proxy after kata quit when VMCache is enabled.
The reason is vmcache server opens kata-proxy but doesn't wait it.

If VMCache is disabled, kata-runtime will quit before kata-proxy.
So it will not meet the issue.

Open a special goroutine do cmd.Wait in kataProxy.start to handle
the isssue.

Fixes: #1678

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2019-05-15 21:36:26 +08:00
James O. D. Hunt
86d51f59d4 Merge pull request #1665 from mcastelino/topic/bug_fix_1664
Networking: Ensure that network namespace is propagated
2019-05-15 09:25:44 +01:00
James O. D. Hunt
576b8a510c Merge pull request #1513 from Pennyzct/vsock
support-vsock: load vhost_vsock module if it isn't built-in
2019-05-14 11:08:48 +01:00
Penny Zheng
bce0d604e1 unit-test: refine unit test
We should refine unit test which involves func SupportsVsocks and newly
reconstructed struct kernelModule.

Fixes: #1512

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-05-14 13:31:25 +08:00
Penny Zheng
f21d5a37fe Support_vsock: only need to check whether device 'vhost_vsock' exists
QEMU opens /dev/vhost-vsock and this causes vhost_vsock.ko to be
automatically loaded.
So, checking the existence of /dev/vhost-vsock is enough.

Fixes: #1512

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-05-14 13:30:56 +08:00
Wei Zhang
a6b3368469 persist: merge more files with persist.json
Fixes #803

Merge more container storage files with `persist.json` including:
* devices.json
* mounts.json
* process.json

Signed-off-by: Wei Zhang <zhangwei555@huawei.com>
2019-05-13 17:00:33 +08:00
Manohar Castelino
66b93c7ca0 Networking: Ensure that network namespace is propagated
Network namespace needs to be propagated if available at
createSandbox()

Fixes: #1664

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-05-10 18:00:30 -07:00
Hui Zhu
5ba09817d8 Merge pull request #1575 from WeiZhang555/simplify-persist-api
newstore:  removing deprecated files when use new store driver
2019-05-10 15:33:22 +08:00