Commit Graph

3088 Commits

Author SHA1 Message Date
Cole Robinson
134175bb9b tests: Document the changed KATA_DEV_MODE behavior
Document the KATA_DEV_MODE changes explained in the previous commits

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 18:56:11 -05:00
Cole Robinson
0f4eac434b tests: Skip initrd/image launch if KATA_DEV_MODE
The script points kata-runtime at the generated initrd/image by
editing the host config file, which we aren't doing when
KATA_DEV_MODE=1 is set, so this won't work.

Fixes: #415

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 18:09:57 -05:00
Cole Robinson
762ec28a6b tests: Drop kata-runtime env validation if KATA_DEV_MODE is set
If KATA_DEV_MODE is set, test_images.sh attempts to validate that
docker has kata-runtime as a configured --runtime value. This gives
a nicer and earlier error, but it also complicates using
/usr/bin/docker as provided by podman, which has a different 'info'
topology.

Let's drop the check and let the tests fail naturally if the host
isn't configured properly

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 18:09:57 -05:00
Cole Robinson
6f17b9cb48 tests: Skip set_runtime if KATA_DEV_MODE is set
set_runtime attempts to overwrite the host docker configuration to
default to DOCKER_RUNTIME instead of kata-runtime, which does not
work for 'docker build'.

Since this is a host altering step, skip it if KATA_DEV_MODE is set.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 18:09:57 -05:00
Cole Robinson
17a8fb13a1 tests: Skip all kata-manager usage if KATA_DEV_MODE is set
kata-manager.sh makes host config changes. KATA_DEV_MODE is meant to
avoid such changes.

Add a helper run_mgr function which stubs out kata-manager.sh usage
if KATA_DEV_MODE is set.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 18:09:57 -05:00
Cole Robinson
e787bb0da5 tests: Define KATA_DEV_MODE
Define KATA_DEV_MODE at the top of the file, so code doesn't need
to conditionally compare against it

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 18:09:57 -05:00
Cole Robinson
cef25917a4 tests: Rework dracut docker bind mounts
The current setup leaves images/ and rootfs-osbuilder/ dirs stranded
in the $project_dir when run locally. This simplifies things by only
passing through the project_dir and the tmp_dir that all our output
is relative to

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 18:09:57 -05:00
Cole Robinson
f3ab6d2666 tests: Don't run commands with chronic if DEBUG is set
Don't suppress output with `chronic` when the user sets DEBUG

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 18:09:36 -05:00
Cole Robinson
7a8e816ded tests: Specify DRACUT_OVERLAY_DIR
Otherwise it defaults to using the $project_dir/dracut_overlay, which
leaves junk hanging around when running the tests locally

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
Cole Robinson
7dd99c022b tests: Add project_dir helper variable
Rather than use ${script_dir}/.. in multiple places

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
Cole Robinson
1ae392285e tests: Have DEBUG=1 set bash xtrace
This is similarly used in image_builder.sh and can be handy to
determine what is happening. Unfold the 'set' short options while
we are at it

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
Cole Robinson
555ddf331a tests: Remove unused USE_DOCKER export
We now explicitly pass this to every make target we invoke, so
this is redundant

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
Cole Robinson
0e6a12ce3c tests: Pass DOCKER_RUNTIME to osbuilder scripts
The rootfs and image builder scripts are wired up to handle the
DOCKER_RUNTIME, so pass our value down to those scripts

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
Cole Robinson
e8624d89d9 tests: Rename docker_build_runtime -> DOCKER_RUNTIME
DOCKER_RUNTIME is the naming used in the actual osbuilder scripts
for this value. Change the test code to match

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
Cole Robinson
cd46d09e0c tests: Remove hardcoded 'runc' reference
Replace it with docker_build_runtime which serves a similar purpose

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
Cole Robinson
c574ec0528 tests: Remove dead unset images_dir check
This value is set globally, so this condition will never trigger.
`mkdir -p` would error anyways if it was unspecified

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
Cole Robinson
44f29318dd tests: Remove unused test_func_prefix
This has been unused since 562be909

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-03-02 14:55:53 -05:00
GabyCT
a1dcaac9ed
Merge pull request #2492 from jongwu/env
cli: add virtioFsDaemon to kata-env
2020-03-02 09:39:30 -06:00
Jianyong Wu
376c42523a cli: add virtioFsDaemon to kata-env.
virtiofsd should be added in kata-env as virtiofs enabled kata then
it will be easy to get the info of virtiofsd from kata-env.

Fixes: #2491
Change-Id: I37ff58ed4315344d1e2b87f3abcd04311661e910
Jira: ENTOS-1579
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
2020-03-02 11:37:41 +08:00
Fupan Li
6bed2a724d
Merge pull request #2477 from bergwolf/ro
qemu: pass rootfs image in readonly mode
2020-02-26 19:22:13 +08:00
Fupan Li
fde6447c16
Merge pull request #2461 from Jimmy-Xu/support-lazy-attach-device
Fix rescan PCI conflicts with shpchp / pciehp
2020-02-26 17:49:35 +08:00
Peng Tao
171eb70564 qemu: use govmm vhost user device types directly
For one thing, we should not make kata's internal device type
exactly as govmm string by string.

For another thing, latest govmm changes the device driver strings
and it breaks kata in such a way but the fault is on kata side IMHO.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-02-26 00:33:55 -08:00
Jimmy Xu
c6cc8b93f9 virtcontainers: support lazy attach devices
- support attach large bar space vfio devices after create container

fixes #2460

Signed-off-by: Jimmy Xu <junming.xjm@antfin.com>
2020-02-26 11:56:07 +08:00
Peng Tao
46392945c6 qemu: pass guest image file readonly
So that we fobid guest from making changes to it.

Fixes: #2476
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-02-25 18:46:26 -08:00
Peng Tao
63fdf5328f vendor: update govmm dependency
To include block readonly capability. Included commits:

3700c55 qemu: add block device readonly support
88a25a2 Refactor code to support multiple virtio transports at runtime
2ee53b0 qemu: Don't set ".cache-size=" when CacheSize is 0

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-02-25 18:46:26 -08:00
Jose Carlos Venegas Munoz
7427fea864 dnm: vendor: update agent client
changes:
367b5296e protocols: client: Add timeout for hybrid vsock handshake

Fixes: #2453

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-02-25 21:16:32 +00:00
GabyCT
18b21eb6ca
Merge pull request #2490 from jcvenegas/fix-2489
clh: Fix version check
2020-02-25 14:53:58 -06:00
James O. D. Hunt
7965445adf
Merge pull request #138 from lifupan/master
grpc: fix the issue of crash agent when didn't find the process
2020-02-25 10:53:00 +00:00
GabyCT
d9d4820684
Merge pull request #2441 from devimc/topic/virtcontainers/cgroupsV2
Implement cgroup manager
2020-02-21 15:01:39 -06:00
Xu Wang
e66dce1bc7
Merge pull request #2475 from bergwolf/umount
vc: do not follow symlink when umounting contanier host path
2020-02-21 18:09:32 +08:00
Julio Montes
ea82922a54 virtcontainers/pkg/cgroups: implement cgroup manager
cgroup manager is in charge to create and setup cgroups for
virtual containers, for example it adds /dev/kvm and
/dev/vhost-net to the list of cgroup devices in order to have
virtual containers working.

fixes #2438
fixes #2419

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-02-21 02:54:34 +00:00
Julio Montes
03cdf6c4a9 virtcontainers: add new package for cgroups
virtcontainers/pkg/cgroups contains functions and structures needed to deal
with cgroups and virtual containers

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-02-21 02:28:02 +00:00
Jose Carlos Venegas Munoz
d54723a5c4
Merge pull request #2487 from likebreath/update-clh-openapi-yaml
clh: update CLH to stable/v0.5.x
2020-02-20 15:19:28 -06:00
Jose Carlos Venegas Munoz
33459779c4 clh: update minimal supported version to check.
Kata now uses v0.5.0 and is not compatible with old versions.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-02-20 20:45:42 +00:00
Jose Carlos Venegas Munoz
20332298ab clh: Fix version check
Add support for new version format from clh.

Fixes: #2489

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-02-20 20:10:38 +00:00
Bo Chen
12d10eb2dc clh: Update clh driver to use the latest openAPI knobs
We leverage the new openAPI knobs from CLH to set readonly for disk image
and we also pass kernel cmd to set guest root filesystem readonly.

Signed-off-by: Bo Chen <chen.bo@intel.com>
2020-02-20 11:44:41 -08:00
Bo Chen
de8fe25dd5 clh: Update CLH to stable/v0.5.x
Use CLH branch stable/v0.5.x, and also re-generate the openAPI client
code with the new 'cloud-hypervisor.yaml'.

Fixes: #2488

Signed-off-by: Bo Chen <chen.bo@intel.com>
2020-02-20 11:44:33 -08:00
Julio Montes
feac6648fa
Merge pull request #2482 from jcvenegas/fix-2481
clh: Do not find vsock context ID
2020-02-20 08:20:39 -06:00
Penny Zheng
0da101055e version-update: version update for cri-o and k8s
cri-o v1.16.x has network namespace mount point leaking problem, and
the latest v1.17.x has fixed this problem.
since cri-o and k8s follow the same release cycle and deprecation policy,
I will also update k8s to the latest release v1.17.3-00 as well.

Fixes: #2457

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-02-20 21:40:20 +08:00
Peng Tao
5f9a77cccc vc: validate container path when cleaning up
A malicious can trick us with a crafted container
rootfs symlink and make runtime umount other mountpoints.
Make sure we do not walk through symlinks when umounting.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-02-19 19:14:06 -08:00
Archana Shinde
23625681d4
Merge pull request #2472 from amshinde/1.11.0-alpha0-branch-bump
# Kata Containers 1.11.0-alpha0
2020-02-19 18:37:17 -08:00
Archana Shinde
8a9aa41247
Merge pull request #410 from amshinde/1.11.0-alpha0-branch-bump
# Kata Containers 1.11.0-alpha0
2020-02-19 17:46:28 -08:00
Salvador Fuentes
9d7bbdc5a6
Merge pull request #143 from amshinde/1.11.0-alpha0-branch-bump
# Kata Containers 1.11.0-alpha0
2020-02-19 17:24:45 -06:00
Jose Carlos Venegas Munoz
32196ff750 clh: Do not find vsock context ID
cloud-hypervisor uses `hybrid vsocks`, it is not needed to find a
context ID.

Fixes: #2481

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-02-19 22:32:40 +00:00
Archana Shinde
9f240b241a
Merge pull request #2480 from jcvenegas/fix-ldflags
makefile: Fix missing LDFLAGS references
2020-02-19 13:20:59 -08:00
Jose Carlos Venegas Munoz
db5cfebd09 makefile: Fix missing LDFLAGS references
KATA_LDFLAGS should be applied to all golang calls.

Fixes: #2478

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-02-19 19:53:59 +00:00
Salvador Fuentes
2c0e8ff499
Merge pull request #2479 from jcvenegas/fix-2478
makefile: do not use LDFLAGS for extra kata flags.
2020-02-19 12:15:53 -06:00
Jose Carlos Venegas Munoz
b74cda0243 makefile: do not use LDFLAGS for extra kata flags.
Some flags defined by the host may not be compatible with golang,
not use LDFLAGS but use our own variable.

Fixes: #2478

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-02-19 16:49:40 +00:00
Peng Tao
5bf3231213 vc: do not follow symlink when umounting contanier host path
So that if a guest changes it, we do not end up
propergating the error.

Fixes: #2474
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-02-19 05:37:41 -08:00
Archana Shinde
44b09670b2
Merge pull request #2376 from Pennyzct/version_compatibility
kata-check: Add version consistency check
2020-02-18 19:32:31 -08:00