Commit Graph

5350 Commits

Author SHA1 Message Date
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
katacontainers bot
d4104bf5ab release: Kata Containers 1.5.0-rc1
- Block: Add cache-related options for block devices
- versions: Add nemu
- Update cid vsock
- shim: Add trace config option
- vendor: Update govmm vendoring
- git: Add containerd-shim-kata-v2 to .gitignore
- virtcontainers: change uint32 to uint64 for ioctl
- virtcontainers: Return the appropriate container status
- config: Check factory config
- Implement containerd shim v2 API for Kata Containers
- ppc64le: kata-env fails due to missing vendor field
- kata-check: do not require nested vt
- kata-env: Show runtime trace setting

deb6f16 virtcontainers: update context id of vsock to uint64
f651147 block: Add cache-related options for block devices
018c8c1 vendor: Update govmm vendoring
ea74b98 shim: Add trace config option
2af240b versions: Add nemu
7093eec git: Add containerd-shim-kata-v2 to .gitignore
96ed6c5 git: Sort .gitignore entries
04ce4c0 virtcontainers: change uint32 to uint64 for ioctl
0bf29c8 config: Check factory config
fe784c1 config: Create function to check config options
70e4dc5 config: Move check code to end of LoadConfiguration
fa9b15d virtcontainers: Return the appropriate container status
02f8b29 containerd-shim-kata-v2: add building of shimv2 into Makefile
8199d10 containerd-shim-kata: add unit test cases
7951041 containerd-shim-kata-v2: add the service Stats support
5cc016c containerd-shim-kata-v2: add the service Kill support
9ee53be containerd-shim-kata-v2: add the service Resume support
8df33d3 containerd-shim-kata-v2: add the service Pause support
cd321a3 containerd-shim-kata-v2: add the service ResizePty support
47326f5 containerd-shim-kata-v2: add the service Update support
642231b containerd-shim-kata-v2: add the service Shutdown support
87f591a containerd-shim-kata-v2: add the service Connect support
ec4f27b containerd-shim-kata-v2: add the service CloseIO support
8c95b75 containerd-shim-kata-v2: add the service Pids support
709bc9a containerd-shim-kata-v2: add the service Cleanup support
a0e6456 containerd-shim-kata-v2: add the service Delete support
fd18b22 containerd-shim-kata-v2: add the service State support
fbaefc9 containerd-shim-kata-v2: add the service wait support
269c940 containerd-shim-kata-v2: add the exec service support
4c5b296 containerd-shim-kata-v2: add the start service support
72fd6e0 containerd-shim-kata-v2: add the create service support
ca58bb4 ppc64le: kata-env fails due to missing vendor field
d6c4ca5 container-shim-kata-v2: The init containerd shim v2 support
5e6cd00 containerd-shim-v2: add the shim v2 required vendors
f0cb0c7 cli: refactor to align with katautils package
9984636 kata-env: Show runtime trace setting
8cfb06f kata-check: optionally require kvm-intel unrestricted_guest
acbcde3 kata-check: do not require nested vt
ea9ecd7 kata-check: modprobe missing kernel modules

Signed-off-by: katacontainers bot <katacontainersbot@katacontainers.io>
2018-12-07 16:06:23 +00:00
Hui Zhu
617e5e4e25 vendor: Update govmm vendoring
Shortlog:

97fc343 contributors: add my name
c891f5f qmp: Add nvdimm support

Fixes #991

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2018-12-07 19:10:29 +08:00
Xu Wang
408428edf4
Merge pull request #957 from teawater/cache
Block: Add cache-related options for block devices
2018-12-07 11:01:40 +08:00
Julio Montes
4d1a92adea
Merge pull request #971 from chavafg/topic/nemu
versions: Add nemu
2018-12-06 16:26:09 -06:00
Sebastien Boeuf
31b0db0892
Merge pull request #960 from alicefr/update_cid_vsock
Update cid vsock
2018-12-06 22:11:31 +00:00
James O. D. Hunt
ed6f7eb56a
Merge pull request #938 from jodh-intel/trace-shim
shim: Add trace config option
2018-12-06 11:03:44 +00:00
Alice Frosi
deb6f16d82 virtcontainers: update context id of vsock to uint64
The CID of VSock needs to be change to uint64. Otherwise that leads to
an endianess issue. For more details see
https://github.com/kata-containers/runtime/issues/947

Remove the uint64 introduced by #984

Fixes: #958

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-12-06 10:13:30 +00:00
Hui Zhu
f6511471d4 block: Add cache-related options for block devices
Add block_device_cache_set, block_device_cache_direct and
block_device_cache_noflush.
They are cache-related options for block devices that are described in
https://github.com/qemu/qemu/blob/master/qapi/block-core.json.
block_device_cache_direct denotes whether use of O_DIRECT (bypass the host
page cache) is enabled.  block_device_cache_noflush denotes whether flush
requests for the device are ignored.
The json said they are supported since 2.9.
So add block_device_cache_set to control the cache options set to block
devices or not.  It will help to support the old version qemu.

Fixes: #956

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2018-12-06 18:07:44 +08:00
James O. D. Hunt
9dee04a314
Merge pull request #984 from sboeuf/vendor_govmm
vendor: Update govmm vendoring
2018-12-06 09:55:25 +00:00
Sebastien Boeuf
018c8c1468 vendor: Update govmm vendoring
Shortlog:

f9b31c0 qemu: Allow disable-modern option from QMP
d617307 Run tests for the s390x build
b36b5a8 Contributors: Add Clare Chen to CONTRIBUTORS.md
b41939c Contributors: Add my name
dab4cf1 qmp: Add tests
5ea6da1 Verify govmm builds on s390x
ee75813 contributors: add my name
c80fc3b qemu: Add s390x support
ca477a1 Update source file headers
e68e005 Update the CONTRIBUTING.md
2b7db54 Add the CONTRIBUTORS.md file
b3b765c qemu: test Valid for Vsock for Context ID
3becff5 qemu: change of ContextID from uint32 to uint64
f30fd13 qmp: Output error detail when execute QMP command failed
7da6a4c qmp: fix mem-path properties for hotplug memory.
e4892e3 qemu/qmp: preparation for s390x support
110d2fa qemu/qmp: add new function ExecuteBlockdevAddWithCache
a0b0c86 qmp_test: Change QMP version from 2.6 to 2.9
10c36a1 qemu: add support for pidfile option

Fixes #983

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-12-06 00:13:15 -08:00
Julio Montes
d3bdfa306d install: add snap installation to installing table
Add snap installation to "Installing on a Linux System" table

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-12-05 09:45:00 -06:00
Julio Montes
3440caeda5 install: add snap installation guide
Add snap installation guide

fixes #274

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-12-05 09:45:00 -06:00
James O. D. Hunt
ea74b981d9 shim: Add trace config option
Add a new `enable_tracing` option to `configuration.toml` to enable
shim tracing.

Fixes #934.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-12-05 15:20:13 +00:00
Hui Zhu
7d0be360bd versions: refactor configuration of qemu in version.yaml
Include info such as commit number,tag number, etc for building
nvdimm-supported qemu on aarch64 from source code.

Fixes: #974

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2018-12-05 10:27:43 +08:00
Julio Montes
1270003af9 snap: skip go version check
Right golang version is installed before building kata-containers, skip go
version check to avoid including extra build dependencies.

fixes #265

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-12-04 09:02:25 -06:00
Julio Montes
0c06e0356e snap: remove QEMU_ARCH variable
QEMU_ARCH variable is not needed

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-12-04 09:02:25 -06:00
Hui Zhu
81a077fd9b obs-packaging: Add Eric Auger's latest PCDIMM/NVDIMM patches
Add Eric Auger's latest PCDIMM/NVDIMM patches for supporting nvdimm
on aarch64.

Fixes: #270

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2018-12-04 18:42:07 +08:00
Jose Carlos Venegas Munoz
1b0b6a1169 obs: Enable fedora 29
Enable F29 repository.

Fixes: #261

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-12-03 12:19:12 -06:00
Jose Carlos Venegas Munoz
dc3dcdc424 pkgs: Fix qemu build on fedora 29
Add python as build require.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-12-03 12:11:54 -06:00
Salvador Fuentes
2af240bd18 versions: Add nemu
Since Kata Containers work with NEMU, add an entry
of the supported nemu version and its OVMF firmware.

Fixes: #970.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2018-12-03 11:13:12 -06:00
Salvador Fuentes
72c5f6a223
Merge pull request #207 from jcvenegas/install
Add 'install' target to makefile
2018-12-03 11:04:45 -06:00
Graham Whaley
0a7a4379dc
Merge pull request #967 from jodh-intel/add-containerd-shim-to-git-ignore
git: Add containerd-shim-kata-v2 to .gitignore
2018-12-03 09:28:48 +00:00
James O. D. Hunt
7093eec9c4 git: Add containerd-shim-kata-v2 to .gitignore
Hide the `containerd-shim-kata-v2` binary from `git status`.

Fixes: #966.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-12-03 08:57:46 +00:00
James O. D. Hunt
96ed6c59ee git: Sort .gitignore entries
Sort the contents of `.gitignore` into two groups: globs and actual
paths. This is more intuitive than a purely sorted list.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-12-03 08:56:21 +00:00
Jose Carlos Venegas Munoz
434fff890a rootfs_builder: Dont fail if GOPATH not defined.
Define GOPATH if is not set.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-11-30 10:45:19 -06:00
Jose Carlos Venegas Munoz
1bbf1e4106 rootfs: Allow use host repositories.
Instead of create a dnf repository allow the config from the host.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-11-30 10:44:26 -06:00
Jose Carlos Venegas Munoz
08d52c53a4
Merge pull request #209 from marcov/golang-bump
rootfs: Bump golang version to 1.11.1
2018-11-30 10:16:07 -06:00
Marco Vedovati
e2fb50411f obs-packaging: multi-arch kernel build support
Update the kernel package to allow building for multiple architectures with
a single set of sources.
Changes:
- Add kernel configs for all architectures
- Detect at runtime the correct target architecture and kernel
compressed image location. This is done  with the script kata-multiarch.sh

Note that debian control files still need to be updated to handle Multi-Arch,
so that they are not tied to the architecture on which
`linux-container/update.sh` is run.

Fixes: #262

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-11-30 12:02:16 +01:00
Frank Cao
6edb3618f6
Merge pull request #952 from alicefr/utils_linux_fix
virtcontainers: change uint32 to uint64 for ioctl
2018-11-30 09:56:39 +08:00
Jose Carlos Venegas Munoz
645728dc71
Merge pull request #256 from marcov/fix-versions
Update versions.txt content and detect versions misalignment
2018-11-29 15:21:50 -06:00
James O. D. Hunt
58575231bd
Merge pull request #950 from sboeuf/sboeuf/fix_docker_18_09
virtcontainers: Return the appropriate container status
2018-11-29 17:11:36 +00:00
Alice Frosi
04ce4c05df virtcontainers: change uint32 to uint64 for ioctl
The PR changes the parameter args from uint32 to uint64 for ioctl function.
That leads to an endianess bug.

Fixes: #947

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-11-29 14:51:06 +00:00
James O. D. Hunt
fa19fd0c15
Merge pull request #949 from jodh-intel/check-factory-config
config: Check factory config
2018-11-29 10:46:51 +00:00
James O. D. Hunt
9654a403b0
Merge pull request #258 from bergwolf/fix-deploy-static
release: fix kata-deploy-binaries.sh install command
2018-11-29 09:34:46 +00:00
James O. D. Hunt
0bf29c8207 config: Check factory config
If VM factory templating is enabled (`enable_template=true`), error if
the configured image is not an `initrd=` one.

Also add a note to the config file explaining that a normal image cannot
be used - only initrd images are supported.

Fixes #948.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-11-29 08:33:15 +00:00
James O. D. Hunt
fe784c1e36 config: Create function to check config options
Moved the checking routines in `LoadConfiguration()` to a new
`checkConfig()` function for clarity.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-11-29 08:28:14 +00:00
James O. D. Hunt
70e4dc550a config: Move check code to end of LoadConfiguration
Move the VSOCK handling code higher up so that all the checking code is
gathered together at the end of `LoadConfiguration()`.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-11-29 08:19:33 +00:00
Sebastien Boeuf
fa9b15dafe virtcontainers: Return the appropriate container status
When our runtime is asked for the container status, we also handle
the scenario where the container is stopped if the shim process for
that container on the host has terminated.

In the current implementation, we retrieve the container status
before stopping the container, causing a wrong status to be returned.
The wait for the original go-routine's completion was done in a defer
within the caller of statusContainers(), resulting in the
statusContainer()'s values to return the pre-stopped value.

This bug is first observed when updating to docker v18.09/containerd
v1.2.0. With the current implementation, containerd-shim receives the
TaskExit when it detects kata-shim is terminating. When checking the
container state, however, it does not get the expected "stopped" value.

The following commit resolves the described issue by simplifying the
locking used around the status container calls. Originally
StatusContainer would request a read lock. If we needed to update the
container status in statusContainer, we'd start a go-routine which
would request a read-write lock, waiting for the original read lock to
be released.  Can't imagine a bug could linger in this logic. We now
just request a read-write lock in the caller (StatusContainer),
skipping the need for a separate go-routine and defer. This greatly
simplifies the logic, and removes the original bug.

Fixes #926

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-11-28 20:10:34 -08:00