Commit Graph

45 Commits

Author SHA1 Message Date
Marco Vedovati
9c0773a399 test: avoid errors in exit_handler
Avoid generating errors in the exit_handler, as those could be
misinterpreted as red herrings for the actual error being trapped.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-11-21 09:47:03 +01:00
Marco Vedovati
eb92306c48 tests: skip docker,kata install with KATA_DEV_MODE
Skip installation of docker and kata packages when the environment
variable KATA_DEV_MODE is not empty, as a dev system may be using
a non standard setup.

Fixes: #195

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-11-20 19:02:09 +01:00
Marco Vedovati
97f38c7706 tests: allow euleros rootfs build to fail
Update test config for euleros to allow build failures.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-11-06 09:56:52 +01:00
Marco Vedovati
ee7f2e1175 tests: allow build to fail for specific distros
When running test_images.sh, allow specific rootfs builds to
fail without impacting the overall tests results.
The distros allowed to fail are the ones specifying
BUILD_CAN_FAIL in their config.sh.

Fixes: #190

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-11-06 09:56:52 +01:00
Marco Vedovati
962b7ee3d2 tests: get config from distro-specific config.sh
Move the test configuration in the distro-specific config.sh
file, for better control of what to include/exclude from
testing based on the test environment.
test_config.sh is still used to exclude specific distros from
being tested, when running tests in bulk.

Fixes: #182

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-10-18 11:40:44 +02:00
James O. D. Hunt
37d182463a Merge pull request #161 from marcov/suse-rootfs
Add support for suse rootfs
2018-10-09 09:39:18 +01:00
Archana Shinde
647e535c5b Merge pull request #181 from marcov/set-runtime
tests: handle docker set runtime for systemd / sysconfig
2018-10-08 15:50:52 -07:00
Marco Vedovati
3b3f044463 tests: handle docker set runtime for systemd / sysconfig
Detect when dockerd config is sourced from a sysconfig file instead of
being hardcoded in the systemd unit file, and improve re matching for the
two cases.

Fixes: #180

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-10-08 13:25:45 +02:00
James O. D. Hunt
fc4c23fdbb tests: Sort size summary by image size and rootfs size
Sort the table of image sizes by rootfs size after having sorted by
image size so that the smaller rootfs images appear before larger ones
when the image size is the same.

Fixes #178.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-10-05 15:52:33 +01:00
Marco Vedovati
83d883826b osbuilder: Add support for openSUSE rootfs image
Add support for building a rootfs image based on openSUSE Leap.

Fixes: #33

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-10-03 20:23:35 +02:00
Marco Vedovati
562be90907 tests: support parallel building of artifacts
Rework test_images.sh and Makefile to allow building artifacts in
parallel for faster tests execution.
Add new targets to Makefile ({rootfs,image,initrd}-<distro name>).

Fixes: #168

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-10-02 12:58:55 +02:00
Marco Vedovati
dd687223e3 osbuilder: Add support for debian rootfs
Fixes: #160

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-09-20 17:52:06 +02:00
Jose Carlos Venegas Munoz
c3230c2561 Merge pull request #165 from marcov/reformat-usage
Reformat usage output in test_image.sh
2018-09-18 09:49:06 -05:00
Graham Whaley
f099e2997f Merge pull request #164 from marcov/clean-testimage
osbuilder: Remove redundant argument to test_image.sh
2018-09-18 10:43:34 +01:00
Marco Vedovati
2b187c30d0 tests: Reformat usage output in test_image.sh
Reformat the usage output displayed with `help` command or `-h` option.
Trap exit codes only after options parsing, as that is used to
generate a test report.

Fixes: #169

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-09-12 16:55:12 +02:00
Marco Vedovati
6a307ed322 osbuilder: Remove redundant argument to test_image.sh
Remove the redundant `--distro` argument; when needed, the distro can be
specified using a positional argument.

Fixes: #158

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-09-10 16:15:55 +02:00
James O. D. Hunt
9f2461061f tests: Show summary of image sizes
At the end of the tests, show a summary of the size of all the rootfs's,
images and initrd's.

Fixes #162.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-09-10 14:44:02 +01:00
Yash Jain
3075de446f OSbuilder : Add support for Ubuntu rootfs
Fixes #32 #141

Signed-off-by: Yash Jain <ydjainopensource@gmail.com>
2018-08-30 21:06:06 +05:30
James O. D. Hunt
c5e2c0fe88 tests: Add more messages
Add a few more informational messages to help with debugging.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-07-30 15:36:18 +01:00
James O. D. Hunt
9f2da28bb9 docs: Updated for new test options
Created a new README for the tests and updated the top-level README
with brief details on how to run tests.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-07-30 15:36:18 +01:00
James O. D. Hunt
0ea8ef76f0 tests: Rename test script
Renamed the test script to provide a more meaningful one.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-07-30 15:36:18 +01:00
James O. D. Hunt
c679cae92c tests: Add ability to restrict which tests run
Added options to the test script to allow:

- all tests for a specific distro (`--distro $distro`).
- all image tests (`--test-images-only`).
- all initrd tests (`--test-initrds-only`).

Any combination of the above is also permitted. By default, all tests
will be run.

Fixes #142.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-07-30 15:36:18 +01:00
James O. D. Hunt
80e1997721 tests: Create new function to launch tests
Move the calls to the individual distro tests into a separate
function called from `main()`.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-07-30 15:36:18 +01:00
James O. D. Hunt
f077e6efdc tests: Rename distro test functions
Give the distro test function names a better prefix.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-07-30 15:36:17 +01:00
Nitesh Konkar
22f04db80d travis: Enable travis ci for ppc64le
Fixes: #122

Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
2018-06-29 21:15:43 +05:30
James O. D. Hunt
43a2ea4155 tests: Run EulerOS tests last
The EulerOS repository servers can be a little slower to respond than
others. This can lead to timeout issues so move the EulerOS tests to
the end to give the other tests a chance to run.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-06-25 15:06:52 +01:00
James O. D. Hunt
7b581c25d8 tests: Convert bats test to shell script
The tests perform a lot of configuration and call other commands. Since
the tests are running under BATS, any "stdout pollution" results in the
test failing. This is too rigid for current purposes so convert the
BATS test into a `set -e` test. This will still fail if any command
fails, but does not impose the output pollution restriction. It also
makes debugging easier.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-06-25 15:06:49 +01:00
James O. D. Hunt
5b9b69a4b7 tests: Update kata-manager command
The `kata-manger.sh` utility is changing its behaviour so that
`install-packages` *only* installs packages (no container manager).
Update the command to both install Docker and the packages.

Fixes #113.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-06-25 14:03:56 +01:00
James O. D. Hunt
4ae6d31d3e tests: Test generated images and initrd's
After building the images, perform a very basic test by configuring
the runtime to use them and creating a container.

Fixes #97.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-06-04 10:04:30 +01:00
James O. D. Hunt
340d7b2ad5 tests: Rename function for brevity
Renamed the `build_rootfs_image_initrd` function to `create_images`.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-05-30 16:29:10 +01:00
James O. D. Hunt
3a8da5f108 tests: Pass parameters to functions
Try to minimise the use of globals by passing parameters to the
remaining functions.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-05-30 16:29:09 +01:00
James O. D. Hunt
c8e7f4253e tests: Remove stale rootfs tree
Remove the rootfs tree before attempting to generate one to avoid
picking up any stale information if the function is run multiple times.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-05-30 16:29:09 +01:00
James O. D. Hunt
1c251bdf05 tests: Move osbuilder metadata var to top
Moved the variable specifying the path to the osbuilder metadata file
to the top of the script and made it readonly.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-05-30 16:29:09 +01:00
James O. D. Hunt
c69eb00f9b tests: Make all globals readonly
Some of the globals were set as read-only variables whilst others
weren't. However, they can all be read-only.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-05-30 16:29:09 +01:00
James O. D. Hunt
aeb59479cb tests: Don't pass size option to image builder
As the comment in the code showed, now that
https://github.com/kata-containers/osbuilder/issues/25 is fixed, it is
no longer necessary to specify an image size to the image builder as it
will auto-calculate it.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-05-30 16:29:09 +01:00
James O. D. Hunt
60e1e7bc31 tests: cleanup bats tests
Removed redundant `function` keyword and extraneous blank lines.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-05-30 16:29:08 +01:00
James O. D. Hunt
aca45c5820 image: Require systemd
Building an image requires systemd to be installed in the rootfs as the
init daemon, so assert that systemd is available.

Updated tests so that alpine is only tested as an initrd (it cannot be
an image as it doesn't use systemd).

Added warning note about alpine to the docs.

Fixes #98.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-05-18 13:01:08 +01:00
James O. D. Hunt
f90f65247e rootfs: Create a summary file inside the image
Create a YAML metadata file inside the rootfs image
containing information about the environment:

```
/var/lib/osbuilder/osbuilder.yaml
```

Example contents:

```
---
osbuilder:
  url: "https://github.com/kata-containers/osbuilder"
  version: "unknown"
rootfs-creation-time: "2018-04-19T16:19:30.254610305+0000Z"
description: "osbuilder rootfs"
file-format-version: "0.0.1"
architecture: "x86_64"
base-distro:
  name: "Centos"
  version: "7"
  packages:
    - "iptables"
    - "systemd"
agent:
  url: "https://github.com/kata-containers/agent"
  name: "kata-agent"
  version: "0.0.1-2ec0b9593845b9a5e0eab5a85b20d74c35a2ca52-dirty"
  agent-is-init-daemon: "no"
```

This change adds a new `-o` option to `rootfs.sh` for
specifying the version of osbuilder to the rootfs builder.

Fixes #35.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-04-20 11:46:55 +01:00
Liang Chenye
55f0324878 skip euleros build due to timeout reason
Fixes #46.

Signed-off-by: Liang Chenye <liangchenye@huawei.com>
2018-02-22 10:02:44 +08:00
Peng Tao
58d8f0b2b5 tests: add alpine image build tests
Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-02-05 17:18:52 +08:00
Peng Tao
85a9a4a7be CI: enable agent as init process and kata initrd tests
1. let travis build w/ and w/o agent as init process
2. test building kata initrd images

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-02-01 23:27:40 +08:00
Jose Carlos Venegas Munoz
45d4e5fb62 travis: Wait more than 10 min
Use travis configuration to wait more than 10 min

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-01-26 11:04:57 -06:00
Jose Carlos Venegas Munoz
612754fd20 rootfs: Add support to create dockerfiles based on templates
To simplify maintaince, create dockerfiles based on templates.

This way when golang version is updated it will be done in one place
versions.txt.

This also allow to allways intall the same version of golang in any
dockerfile.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-01-25 09:02:51 -06:00
Jose Carlos Venegas Munoz
b946770c74 test: Fix tests - run test for all distros
Not all the distros were executed due to typo

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-01-22 14:56:54 -06:00
Jose Carlos Venegas Munoz
be3266fb00 ci: Add travis basic testing
Add basic a few tests to be run by travis.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-01-19 12:51:07 -06:00