tests icon indicating copy to clipboard operation
tests copied to clipboard

runk: Check runk by oci-runtime tools

Open ManaSugi opened this issue 2 years ago • 3 comments

runk should be verified in CI by OCI runtime-tools to check if runk is compliant with OCI runtime spec. This test will be helpful for verifying Kata agent because runk leverages the rustjail inside the agent.

Currently, runk cannot pass some tests as follows, but, some of them doesn't work even runc, so we can ignore them. I'll investigate other failed tests.

$ git clone [email protected]:opencontainers/runtime-tools.git
$ cd runtime-tools
$ make runtimetest validation-executables
$ sudo -E make RUNTIME=/usr/local/bin/runk localvalidation
RUNTIME=/usr/local/bin/runk tap ./validation/linux_process_apparmor_profile/linux_process_apparmor_profile.t ./validation/hooks_std
in/hooks_stdin.t ./validation/mounts/mounts.t ./validation/linux_devices/linux_devices.t ./validation/linux_cgroups_network/linux_c
groups_network.t ./validation/hooks/hooks.t ./validation/linux_cgroups_cpus/linux_cgroups_cpus.t ./validation/kill/kill.t ./validat
ion/linux_readonly_paths/linux_readonly_paths.t ./validation/prestart_fail/prestart_fail.t ./validation/linux_cgroups_relative_pids
/linux_cgroups_relative_pids.t ./validation/delete/delete.t ./validation/pidfile/pidfile.t ./validation/poststop_fail/poststop_fail
.t ./validation/linux_uid_mappings/linux_uid_mappings.t ./validation/killsig/killsig.t ./validation/linux_cgroups_pids/linux_cgroup
s_pids.t ./validation/linux_ns_nopath/linux_ns_nopath.t ./validation/process_capabilities_fail/process_capabilities_fail.t ./valida
tion/linux_cgroups_blkio/linux_cgroups_blkio.t ./validation/poststart/poststart.t ./validation/linux_ns_path/linux_ns_path.t ./vali
dation/misc_props/misc_props.t ./validation/linux_cgroups_memory/linux_cgroups_memory.t ./validation/config_updates_without_affect/
config_updates_without_affect.t ./validation/linux_cgroups_relative_hugetlb/linux_cgroups_relative_hugetlb.t ./validation/process_r
limits_fail/process_rlimits_fail.t ./validation/poststart_fail/poststart_fail.t ./validation/linux_cgroups_relative_devices/linux_c
groups_relative_devices.t ./validation/linux_rootfs_propagation/linux_rootfs_propagation.t ./validation/process/process.t ./validat
ion/linux_sysctl/linux_sysctl.t ./validation/create/create.t ./validation/process_user/process_user.t ./validation/linux_seccomp/li
nux_seccomp.t ./validation/process_capabilities/process_capabilities.t ./validation/linux_cgroups_relative_blkio/linux_cgroups_rela
tive_blkio.t ./validation/process_oom_score_adj/process_oom_score_adj.t ./validation/poststop/poststop.t ./validation/state/state.t
 ./validation/kill_no_effect/kill_no_effect.t ./validation/linux_masked_paths/linux_masked_paths.t ./validation/linux_cgroups_devic
es/linux_cgroups_devices.t ./validation/linux_ns_path_type/linux_ns_path_type.t ./validation/linux_ns_itype/linux_ns_itype.t ./vali
dation/root_readonly_true/root_readonly_true.t ./validation/prestart/prestart.t ./validation/hostname/hostname.t ./validation/linux
_cgroups_relative_network/linux_cgroups_relative_network.t ./validation/process_rlimits/process_rlimits.t ./validation/linux_mount_
label/linux_mount_label.t ./validation/linux_cgroups_relative_cpus/linux_cgroups_relative_cpus.t ./validation/linux_cgroups_hugetlb
/linux_cgroups_hugetlb.t ./validation/delete_resources/delete_resources.t ./validation/start/start.t ./validation/default/default.t
 ./validation/linux_cgroups_relative_memory/linux_cgroups_relative_memory.t ./validation/delete_only_create_resources/delete_only_c
reate_resources.t
TAP version 13
# Subtest: ./validation/linux_process_apparmor_profile/linux_process_apparmor_profile.t
    ok 1 - has expected hostname
      ---
      {
        "actual": "mrsdalloway",
        "expected": "mrsdalloway"
      }
....
....
1..58
# failed 16 of 58 tests
# skip: 8
# time=54777.476ms
make: *** [Makefile:46: localvalidation] Error 1

ManaSugi avatar Aug 15 '22 15:08 ManaSugi

@ManaSugi FYI: youki has already ignored some cases for some reasons. This script may help you. https://github.com/containers/youki/blob/main/scripts/oci_integration_tests.sh

utam0k avatar Jan 10 '23 23:01 utam0k

@utam0k Thanks for sharing the great tool! I'll try to use it for runk.

ManaSugi avatar Jan 13 '23 06:01 ManaSugi

Unfortunately, the maintenance of oci runtime tools is not active. You can probably take into consideration using this one youki is using. cc: @YJDoc2 https://github.com/containers/youki/tree/main/tests/rust-integration-tests

@YJDoc2 is an expert on it. If you have trouble using runtime tools, we can help you. I'd be glad if we can collaborate with the kata/runk team. But I don't mean to force you to do so, I just want to be helpful.

utam0k avatar Jan 14 '23 08:01 utam0k