Test Suite - Namespace: Difference between revisions

From Libreswan
Jump to navigation Jump to search
No edit summary
No edit summary
Line 29: Line 29:


== unsupported tests ==
== unsupported tests ==
As of 2019 fall there are several tests that would hard to run in namespaces. Some are possibly impossible to run
As of 2019 fall there are several tests that are hard to run in namespaces. Some can be possibly made to run could be hard and some impossible to run. I would put my initial guess, possibility to run in namespace, inside parenthesis.


* audit based tests : auditd and kenrel messages will all go to one log and hard to trackdown when running test. You don't know which side east or west generated the
* SELINUX testing (possible). It need more attention.


* FIPS tests and non fips tests -- this sounds like a challenge. I am not sure how far it will go
* audit based tests (impossible) : auditd and kenrel messages will all go to one log and hard to trackdown when running test. You don't know which side east or west generated the.
 
* FIPS tests and non fips tests (impossible)
This sounds like a challenge. I am not sure how far it will go. Mixing FIPS and non fips


* "audit", "dnsoe", "fips", "ipseckey", "dnssec", "interop", "klips", "ocsp", "seccomp", "strongswan"
* "audit", "dnsoe", "fips", "ipseckey", "dnssec", "interop", "klips", "ocsp", "seccomp", "strongswan"
The tests witht above won't possibly run in namespace because these tests need extra software, such as strongswan, which when installed as rpm will start with systemd and hard get right inside named.
The tests with above above works in name are igrnoed by narun in  testrun. Some of them can possibly run in namespace. Some of these tests need extra software, such as strongswa -- default install of strongswan rpm will start with systemd. We need tricks make strongswan, unbound, nsd, ocsp etc to work.
 
* testing kernel messages. If there are any tests that cause kernel crash, bug or warn that will break the testrun.
   
* xfrmi (possible) there seems some issues when the devices are not cleaned up. You would need to reboot after a test.
 
* KLIPS (may be with 1M $)


== future ideas ==
== future ideas ==

Revision as of 17:53, 21 September 2019

This is a quick guide to run libreswan tests under namespace. Be aware. the host would get lots of packages, need sudo without password permission

pre requists on the host

sudo without password

to check run "sudo bash -c true" if it does not ask for password you are good!

install testrun dependencies

# pre install check
sudo bash -c true
sudo make install-testing-rpm-dep:
make nsinstall #remember this will install a pluto on your host!!

run a test

#as single test
cd /home/build/libresswan/testing/pluto/basic-pluto-01
../../utils/nsrun --ns

testrun

# run possible tests from testing/pluto/TESTLIST
cd /home/build/libreswan
# another important step generate x509 certifcates
cd /home/build/libreswan/testing/x509/ && ./dist_certs.py && cd /home/build/libreswan/
make nsrun

unsupported tests

As of 2019 fall there are several tests that are hard to run in namespaces. Some can be possibly made to run could be hard and some impossible to run. I would put my initial guess, possibility to run in namespace, inside parenthesis.

  • SELINUX testing (possible). It need more attention.
  • audit based tests (impossible) : auditd and kenrel messages will all go to one log and hard to trackdown when running test. You don't know which side east or west generated the.
  • FIPS tests and non fips tests (impossible)

This sounds like a challenge. I am not sure how far it will go. Mixing FIPS and non fips

  • "audit", "dnsoe", "fips", "ipseckey", "dnssec", "interop", "klips", "ocsp", "seccomp", "strongswan"

The tests with above above works in name are igrnoed by narun in testrun. Some of them can possibly run in namespace. Some of these tests need extra software, such as strongswa -- default install of strongswan rpm will start with systemd. We need tricks make strongswan, unbound, nsd, ocsp etc to work.

  • testing kernel messages. If there are any tests that cause kernel crash, bug or warn that will break the testrun.
  • xfrmi (possible) there seems some issues when the devices are not cleaned up. You would need to reboot after a test.
  • KLIPS (may be with 1M $)

future ideas

  • tracking coredumps.

Currently when there is crash of say pluto, addcon, whack..there will be a coredump. However in namespace these coredumps are mixed up. A bit hard in some case to track core by east or west or another test. One idea is strictly track the pid. When we start whack we have follow the pid and track it.

  • testing with different version. In theory this should be easy however need more work. One idea is bindmount /usr/local/libexec/ipsec

useful alias/fuction

NSENTER ()
{
    ns=$1;
    nsargs="--mount=/run/mountns/${ns} --net=/run/netns/${ns} --uts=/run/utsns/${ns}";
    NSENTER_CMD="/usr/bin/nsenter ${nsargs} ";
    sudo ${NSENTER_CMD} /bin/bash
}
to enter 
NSENTER east-basic-pluto-01

Details of Namespace testing