blob: 6803494eb330599e8a9d52c428fe1acd43685047 [file] [log] [blame]
################################################################################
## ##
## Copyright (c) International Business Machines Corp., 2007 ##
## ##
## This program is free software; you can redistribute it and#or modify ##
## it under the terms of the GNU General Public License as published by ##
## the Free Software Foundation; either version 2 of the License, or ##
## (at your option) any later version. ##
## ##
## This program is distributed in the hope that it will be useful, but ##
## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ##
## for more details. ##
## ##
## You should have received a copy of the GNU General Public License ##
## along with this program; if not, write to the Free Software ##
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ##
## ##
################################################################################
CONTAINER TESTS AUTOMATION SUITE
----------------------------
The tests requires the Kernel to be compiled with the following config's
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_VETH=y
CONFIG_MACVLAN=y(optional)
The container test automation suite helps run the container functionality
(e.g: utsname etc..) tests and report results. Please refer the following
each functionality README file for detail:
sysvipc/*
Contains all the testcases related to IPC NS tests.
posixmq/*
Contains all the testcases related to POSIX MQ NS tests. These
are strictly speaking a part of the ipc namespaces, but can be
enabled in the kernel without SYSV IPC support.
utsname/*
Contains all the testcases related to utsname tests.
libclone/*
Contains the library API for clone() .
netns/*
Contains the testcases related to the network NS tests. This tests uses
the routes method to define the network namespaces.
The tests uses the library libclone/libnetns.a, netns/parentns.sh and
netns/childns.sh scripts to define network namespace.
To run your tests you can execute the runnetnstest.sh .
To run the tests individually :
For Ex: To access a container created
1) You can comment the line in the childns.sh
'cleanup $sshpid $vnet1 '
2) run the script to create your first namespace.
./crtchild
3) Now you can login into the containers using
ssh -p 7890 root@192.168.0.182
Also the same scripts parentns.sh and childns.sh can be used to
create a container and write your testcases to test the namespace.
Note:
This tests would use the following IPaddresses
running sshd on PORT @ 7890 and @ 9876
192.168.0.181
192.168.0.182
192.168.0.183
192.168.0.184