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

Convenient local test harness for quick smoke test #58

Merged
merged 4 commits into from
Feb 7, 2018

Conversation

ijc
Copy link
Contributor

@ijc ijc commented Feb 7, 2018

Per #19 it seems unlikely we will be getting any infrastructure to do automated boot testing soon. In the meantime add a quick rtf based test suite which does a smoke test of the supported runtime/network configurations so I can at least do a quick manual check when needed.

This boots each of the four currently supported configurations, initialises the cluster and deploys a simple web app (nginx) which is then checked for network connectivity from the host (via port forward) and for infra-pod traffic (via an alpine pod) since that is something which has been broken in the past.

Case in point, last results before posting are:

[PASS    ] kubernetes.smoke.cri-bridge 210.79s
[FAIL    ] kubernetes.smoke.cri-weave 437.98s
[PASS    ] kubernetes.smoke.docker-bridge 245.62s
[PASS    ] kubernetes.smoke.docker-weave 249.67s

(error seems to be due to CNI paths being readonly, which is also a known fragile area, #57 touched this recently and might be the culprit, I'll investigate separately)

Ian Campbell added 4 commits February 7, 2018 13:09
{docker,cri} × {bridge,weave}

Needs a top-level Makefile hook to control the output directory.

Signed-off-by: Ian Campbell <[email protected]>
Needs a top-level Makefile hook to add a new yml to the image.

Signed-off-by: Ian Campbell <[email protected]>
Add an alpine pod and use it to fetch from the nginx, which ensures that
network traffic as well as DNS and such are working.

Signed-off-by: Ian Campbell <[email protected]>
Copy link
Member

@rn rn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My expect fu is very weak, but otherwise LGTM

@ijc
Copy link
Contributor Author

ijc commented Feb 7, 2018

To be fair what you need is really tcl fu, but thanks ;-)

@ijc ijc merged commit c723c00 into linuxkit:master Feb 7, 2018
@ijc ijc deleted the add-rtf-boot-tests branch February 7, 2018 16:11
ijc pushed a commit to ijc/linuxkit-kubernetes that referenced this pull request Feb 12, 2018
This reverts commit 81e8953.

These mounts are apparently not as redundant as they first seemed. The
`runtimes.mounts` paths are all wrt the host mount namespace, so these are in
fact binding the (writeable) `/var/lib/cni` paths over the (readonly) canonical
host CNI paths. The `binds` will then bind those host paths into the kubelet
container.

Fixes linuxkit#59, I also saw this during development of linuxkit#58.

Signed-off-by: Ian Campbell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants