kuryr-tempest-plugin/test_container
Yossi Boaron 3ae7eef13e Add support for UDP in kuryr/demo container
Update kuryr/demo container to support UDP server.
After this change, the kuryr/demo image runs both HTTP and UDP
servers.
The listeners ports values could be configured using pod's
environment variables.
And in addition, a simple udp client binary tool was added to
image, to use it, you should run :
udp_client <server's_ip> <server's port>

Change-Id: I9f2f2ad3273f947fecb776c0f56f6829df81aa67
2018-10-18 16:37:04 +03:00
..
Dockerfile test_container: Add non-layered demo test image 2018-02-23 13:43:54 +01:00
Dockerfile.builder Add support for UDP in kuryr/demo container 2018-10-18 16:37:04 +03:00
README.rst test_container: Add non-layered demo test image 2018-02-23 13:43:54 +01:00
curl_builder.sh test_container: Add non-layered demo test image 2018-02-23 13:43:54 +01:00
mkrootfs.sh demo container: Include ssl certificates 2018-03-21 16:00:45 +01:00
rootfs.tar.xz Make Port and http/https configurable for the test container 2018-08-01 12:53:30 +02:00
server.go Add support for UDP in kuryr/demo container 2018-10-18 16:37:04 +03:00
udp_client.go Add support for UDP in kuryr/demo container 2018-10-18 16:37:04 +03:00

README.rst

Kuryr Testing container infrastructure

This directory is the official source for building Docker hub's kuryr/demo images.

The build consists on two parts:

Builder container

The builder container is based on the musl compiled Alpine distribution. In the process of building the image, it downloads and compiles:

  • busybox
  • musl
  • curl and its dependencies

It also includes golang so that we can use it in our test web server:

  • server.go

Everything that is to be included in the kuryr/demo image is put in:

/usr/src/busybox/rootfs

The reason for this is that this build is based on Docker's busybox build system and the rootfs won't have any library, so all you want to add must be statically compiled there.

kuryr/demo container

This is the actual container used in the tests. It includes:

  • Busybox: It gives us a very lightweight userspace that provides things like the ip command, vi, etc.
  • curl: Useful for testing HTTP/HTTPS connectivity to the API and other services.
  • helloserver: An HTTP server that binds to 8080 and prints out a message that includes the hostname, so it can be used to see which pod replies to a service request.

When and how to build

builder container + kuryr/demo

You should only need to build the whole set if you want to change the library app version of something in kuryr/demo or add another tool like bind9 dig.

The way to do this is:

sudo ./mkrootfs.sh

kuryr/demo

Everytime you want to run the tests, you should build the kuryr/demo container locally to avoid pulls from dockerhub to make sure you run the latest authoritative version.

Note that the kuryr-tempest-plugin devstack will build it for you.