haproxy: Initial support

Start OSv by:

$ sudo ./scripts/run.py  -nv

On Host:

$ ssh 192.168.122.89
$ links http://192.168.122.89

Note:
By default, traffic to guest(192.168.122.89) port 80(http) and 22(ssh) are
routed to host(192.168.122.1) port 80 and 22. See haproxy.cfg.

Signed-off-by: Asias He <asias@cloudius-systems.com>
Add modules.json, a list of modules contained in this repository.
Can be included from osv's config.json.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Fix prerequisites of memcached build

The memcached "GET" script assumed sasl is available and was discovered
by "configure", and then disables it with a patch. If Sasl was not
available the patch would fail. Change this to use "sed", which deletes
the sasl lines regardless of whether it was found or not.

Also added mention in README that libevent is needed.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Introduce module with netperf server

Based on scripts inside osv.git/tools/netperf

One difference is that the install script does not invoke `sudo make
install`, instead it copies the netperf client to

  upstream/netperf-2.6.0/bin/netperf
add mruby module

Add mruby as an app.
When you want to add extensions(called mrbgems) on mruby, you'll need to specify git URI on build_config.rb, so this patch already includes some external mrbgems which tested on OSv.
Default cmdline argument will executes EShell, which is very simple shell for OSv/mruby environment.

Signed-off-by: Takuya ASADA <syuu@cloudius-systems.com>
Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
apps: drop obsolete netperf patch

Netperf patch became obsolete after interruptable syscalls introduction.

Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
Fix "haproxy" module

I don't know how this module ever worked - its modules.json entry was
broken, and the Makefile didn't have the proper dependencies...

Now it works.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
apps: Added netperf3 module

This is multi-threaded netperf version that currently is capable to run
only TCP_STREAM and TCP_RR tests.

Reviewed-by: Tomasz Grabiec <tgrabiec@gmail.com>
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
Add iperf module

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Add "openjdk8" module

Currently, this module fetches OpenJDK's up-to-date sources, and compiles
them, when you do "cd apps/openjdk8; ./GET". This process is *very slow*,
and requires a bunch of unusual development libraries to be installed
(various X-Windows and sound libraries), so if you plan to try this, plan
to spend a lot of time on this compilation.

Now "make image=openjdk8" creates an image with Java 8.

Note, however, that module dependencies are still not done right - if you
do "make image=openjdk8,mgmt.shell", the mgmt module will not know that
openjdk8 is enough, and will bring *also* the "java" module (openjdk7).
This will be fixed in a later patch.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
openjdk8: provide "java"

Say that openjdk8 provides "java", so that other modules that need java
will be satisfied with the openjdk8 module instead.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
tomcat: set logging properties on app level.

Tomcat classes are not accessible to the whole JVM but only
to the tomcat app.

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
add SQLite

Add SQLite on apps.

Signed-off-by: Takuya ASADA <syuu@cloudius-systems.com>
Added sqlite module to modules.json
tomcat: add missing shebang line to GET script

This was causing the script to fail like this, because `sh` was used
to execute it:

  ./GET: 9: ./GET: pushd: not found
iperf/jenkins integration

Add a script to convert an iperf bandwidth measurement to an xml format
suitable for the jenkins perfpublisher plugin [1].

At the moment, only a single test is supported, but that will be extended
later.

[1] https://wiki.jenkins-ci.org/display/JENKINS/PerfPublisher+Plugin

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
cassandra/jenkins integration

Add a script that converts cassandra-stress output to an XML format that
is parseable by the Jenkins perfpublisher plugin.

The script is mostly a copy-paste of Avi's iperf script.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
tomcat: allow the tomcat user to manage tomcat programatically

Useful for automated tests.

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
tomcat: add jenkins PerfPublisher integration

Parse wrk output files and write them in a format suitable for PerfPublisher.

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
apps: added osv-memcached module

osv-memcached application connects to the FreeBSD PF (packet filtering)
interface and handles inbound memcache UDP requests.

For more info look at https://github.com/cloudius-systems/osv/wiki/osv-memcached

New in V2:
   - Changed the target name: osv-memcached -> osv-memcached.so
   - Makefile: inherit the application directory name from the git URL.
   - Makefile: Use $(notdir) instead of $(shell basename).

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>