+1, simple is key here I think that we simply should remove that tap test as it falls under device driver tests which we don't test in make test framework.
PS I really don't like direction where test framework is going, originally it was very simple to write tests even without having python knowledge, it was simple copy/paste learn ty example exercise. Today you need to have advanced python skills even to understand what tests does. As i don't have any intention to grow my python skills, I can only declare myself as not capable to write any test case... -- Damjan > On 29 Dec 2019, at 20:09, Dave Barach via Lists.Fd.Io > <dbarach=cisco....@lists.fd.io> wrote: > > I would just as soon keep the story as simple as possible. “sudo make > test[-debug]” => run both test-runner and vpp privileged. “make test[-debug]” > means run neither one privileged. > > FWIW... Dave > > From: Paul Vinciguerra <pvi...@vinciconsulting.com > <mailto:pvi...@vinciconsulting.com>> > Sent: Saturday, December 28, 2019 12:22 PM > To: Dave Barach (dbarach) <dbar...@cisco.com <mailto:dbar...@cisco.com>> > Cc: Andrew Yourtchenko <ayour...@gmail.com <mailto:ayour...@gmail.com>>; > vpp-dev <vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>> > Subject: Re: [vpp-dev] Discrepancies between CI jobs and s5ci > > Hi Dave. > > If you don't mind, would you clarify your statement further? Is it your > desire that 'make test[-debug]' be launched without privileges, or > is it that since VPP is a userspace application, you want to verify > functionality without any further dependencies on the kernel creeping in? > > The reason I'm asking is that because since you are aware of how the > framework tightly couples the permissions of the test runner and > the forked VPP process, you know that launching the test runner without > privileges is the current way we ensure that VPP runs without privileges. > We could have the runner run privileged and drop the capabilities of the > forked VPP process by default. > Today, 'make run' runs vpp under sudo. > > My thought is that a test needing additional capabilities could set a class > attribute of say capabilities = ['cap_net_admin'] and > we could add that capability for the single test suite and report > accordingly. Something like: > > ======================================================================================== > TAP Test Case > ======================================================================================== > [W173] Create TAP interface fails with insufficient permissions > 0.00 OK > [W173] Connect to existing TAP interface > 0.00 OK > ======================================================================================== > TAP Test Case > capabilities = ['cap_net_admin'] > ======================================================================================== > [W176] Create TAP interface > 0.22 OK > ======================================================================================== > > > If the runner is running unprivileged, we would skip: > > ======================================================================================== > TAP Test Case > capabilities = ['cap_net_admin'] > ======================================================================================== > [W176] Create TAP interface > 0.00 SKIP [ runner can't grant necessary capabilities. ] > ======================================================================================== > > On Sat, Dec 28, 2019 at 7:44 AM Dave Barach (dbarach) <dbar...@cisco.com > <mailto:dbar...@cisco.com>> wrote: > My $0.02: I would like “make test[-debug]” to work without privileges. > > Thanks... Dave > > From: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io > <mailto:vpp-dev@lists.fd.io>> On Behalf Of Andrew Yourtchenko > Sent: Friday, December 27, 2019 7:21 PM > To: Paul Vinciguerra <pvi...@vinciconsulting.com > <mailto:pvi...@vinciconsulting.com>> > Cc: vpp-dev <vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>> > Subject: Re: [vpp-dev] Discrepancies between CI jobs and s5ci > > > > > On 27 Dec 2019, at 22:48, Paul Vinciguerra <pvi...@vinciconsulting.com > <mailto:pvi...@vinciconsulting.com>> wrote: > > > Hi Andrew. > That was the test that caught my attention. I am of the opinion that s5ci > provides the behavior we expect. > > I personally has requested the tap test in its time to be moved to extended > tests, because of this. > > I presume the parties who made it appear in the standard tests will either > chime into this discussion with their reasoning or will make it disappear :-) > > > > I have a changeset that skips the test on s5ci instead of failing [0], but I > actually think that the proper test for the CI is a test where the test > fails, reporting insufficient permissions, since that is what an unprivileged > use would see. > > [0] https://gerrit.fd.io/r/c/vpp/+/24132 > <https://gerrit.fd.io/r/c/vpp/+/24132> > > One can not decide if the lack of privileges is due to misconfiguration or > due to intent, so there is no place for adaptivity and automagicness in this > context. > > If we all agree that “make test” is supposed to succeed in the unprivileged > environment then it should, end of story. With the exact same tests as in > privileged environment. > > And then for the more demanding tests there should be some sort of > “PRIVILEGED=yes make test” alternative that will invoke the tests that > require additional privileges and fail if it doesn’t get them. With > potentially more granular set of valued for “yes”. > > Testing is about determinism. > > —a > > > > On Fri, Dec 27, 2019 at 4:27 PM Andrew 👽 Yourtchenko <ayour...@gmail.com > <mailto:ayour...@gmail.com>> wrote: > I was under impression the “make test” was supposed to be passing when run > under the regular user. That means that the recently added tap tests will > make it fail: http://s5ci.myvpp.net/jobs/vpp-periodic-make-verify/ > <http://s5ci.myvpp.net/jobs/vpp-periodic-make-verify/> is only failures as of > 12:25 UTC 24th December. > > So, what is the direction the community wants to go ? > > --a > > > On 27 Dec 2019, at 17:22, Paul Vinciguerra <pvi...@vinciconsulting.com > <mailto:pvi...@vinciconsulting.com>> wrote: > > > I have been trying to figure out why I've been seeing different results > between the CI jobs and s5ci jobs. What I've discovered is that the CI jobs > are running as the root user in a fully privileged container, where s5ci runs > unprivileged. > I am aware that there has been a long-standing desire for tests to run as an > unprivileged user. Do we need to implement that constraint on the CI tests? > From my tests in the CI [0]: > Sanity test case passed. > Running as root(0):root(0) > Capabilities: ['cap_chown', 'cap_dac_override', 'cap_dac_read_search', > 'cap_fowner', 'cap_fsetid', 'cap_kill', 'cap_setgid', 'cap_setuid', > 'cap_setpcap', 'cap_linux_immutable', 'cap_net_bind_service', > 'cap_net_broadcast', 'cap_net_admin', 'cap_net_raw', 'cap_ipc_lock', > 'cap_ipc_owner', 'cap_sys_module', 'cap_sys_rawio', 'cap_sys_chroot', > 'cap_sys_ptrace', 'cap_sys_pacct', 'cap_sys_admin', 'cap_sys_boot', > 'cap_sys_nice', 'cap_sys_resource', 'cap_sys_time', 'cap_sys_tty_config', > 'cap_mknod', 'cap_lease', 'cap_audit_write', 'cap_audit_control', > 'cap_setfcap', 'cap_mac_override', 'cap_mac_admin', 'cap_syslog', > 'cap_wake_alarm', 'cap_block_suspend', 'cap_audit_read+eip'] > OS reports 72 available cpu(s). Free shm: 1,023.9921875MB > Found enough resources to run tests with 4 cores > [0] > https://logs.fd.io/production/vex-yul-rot-jenkins-1/vpp-verify-master-ubuntu1804/1331/console.log.gz > > <https://logs.fd.io/production/vex-yul-rot-jenkins-1/vpp-verify-master-ubuntu1804/1331/console.log.gz> > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > > View/Reply Online (#14981): https://lists.fd.io/g/vpp-dev/message/14981 > <https://lists.fd.io/g/vpp-dev/message/14981> > Mute This Topic: https://lists.fd.io/mt/69288694/675608 > <https://lists.fd.io/mt/69288694/675608> > Group Owner: vpp-dev+ow...@lists.fd.io <mailto:vpp-dev%2bow...@lists.fd.io> > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub > <https://lists.fd.io/g/vpp-dev/unsub> [ayour...@gmail.com > <mailto:ayour...@gmail.com>] > -=-=-=-=-=-=-=-=-=-=-=- > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > > View/Reply Online (#14990): https://lists.fd.io/g/vpp-dev/message/14990 > <https://lists.fd.io/g/vpp-dev/message/14990> > Mute This Topic: https://lists.fd.io/mt/69288694/675642 > <https://lists.fd.io/mt/69288694/675642> > Group Owner: vpp-dev+ow...@lists.fd.io <mailto:vpp-dev+ow...@lists.fd.io> > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub > <https://lists.fd.io/g/vpp-dev/unsub> [dmar...@me.com > <mailto:dmar...@me.com>] > -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14991): https://lists.fd.io/g/vpp-dev/message/14991 Mute This Topic: https://lists.fd.io/mt/69288694/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-