Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI for package testing #10

Closed
jodh-intel opened this issue Mar 21, 2018 · 3 comments
Closed

CI for package testing #10

jodh-intel opened this issue Mar 21, 2018 · 3 comments
Labels
high-priority Very urgent issue (resolve quickly)

Comments

@jodh-intel
Copy link
Contributor

jodh-intel commented Mar 21, 2018

We need to create a basic CI test to run for packaged components.

Coverage

We need to run the CI for:

  • All distro versions.
  • All architectures.

Basic tests

Packages

  • All files are owned by root:root.
  • All file perms as as strict as possible:
    • No files are group- or world-writable.
    • No suid binaries, etc.
  • No files are empty.
  • No directories are empty.

Operational

Some basic tests to run:

  • Package upgrade.

  • Package install (delete all packages after upgrade and install "afresh").

  • Ensure a basic container can be created:

    $ docker run --runtime kata-runtime -ti busybox true`
    
  • Ensure the ksm-throttler service can be started/stopped.

  • Ensure runtime shows two different config paths and that one is below "/etc/" (see runtime: Fix generating wrong config paths clearcontainers/packaging#291):

    $ kata-runtime --kata-show-default-config-paths
    
  • Ensure a config file in /etc/ takes priority over the default in /usr/share/default/kata-containers/.

  • Enable full debug, create a container and ensure all logs are parseable with the log-parser tool.

  • Run the data collection script and ensure it runs without error and produces output.

  • Ensure that the following all result in a full stack trace to the system journal:

    for component in kata-runtime kata-shim kata-proxy
    do
        for signal in SIGABRT SIGBUS SIGILL SIGQUIT SIGSEGV SIGSTKFLT SIGSYS SIGTRAP
        do
            sudo kill -${signal} ${component}
        done
    done
    

    It'll be tricky to do this for the runtime as it has a transitory lifetime so we'll have to get creative ;)

  • Ensure that if any system components are killed with SIGTERM (including qemu) that a message is logged to the system journal with level=error with details of what happened.

  • Verify debug console is available.

    This assumes Discuss introducing a debug console facility agent#169 becomes a reality.

  • Ensure vsock works (see use_vsock=true gives context deadline exceeded error with ubuntu bionic kernel runtime#1203).

@jodh-intel
Copy link
Contributor Author

/cc @mnaser, @cboylan.

@jodh-intel
Copy link
Contributor Author

Related: #101.

GabyCT pushed a commit to GabyCT/ci that referenced this issue Feb 12, 2019
Run a specified set of gometalinter checks as part of the static checks.

Fixes kata-containers#10.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
@devimc
Copy link

devimc commented Jul 17, 2019

@jcvenegas fixed this in the packaging repository, he implemented a CI using azure pipelines

@devimc devimc closed this as completed Jul 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high-priority Very urgent issue (resolve quickly)
Projects
None yet
Development

No branches or pull requests

2 participants