Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

facing problem with testing e2e test case #265

Closed
stepin104796 opened this issue May 30, 2022 · 5 comments
Closed

facing problem with testing e2e test case #265

stepin104796 opened this issue May 30, 2022 · 5 comments

Comments

@stepin104796
Copy link

stepin104796 commented May 30, 2022

Hi,

we are trying to run "make e2e-debug" to test the end-to-end test case but facing the below errors:

**root@vpp-yaqub:/home/ubuntu/upg-vpp-1.2/upg-vpp# make e2e-debug
UPG_BUILDENV_PRIVILEGED=1
E2E_TARGET=debug
hack/buildenv.sh ../hack/e2e.sh

  • Kernel GTP-U support not available, using userspace GTP-U only
    make[1]: Entering directory '/home/ubuntu/upg-vpp-1.2/upg-vpp/vpp'
    make[2]: Entering directory '/home/ubuntu/upg-vpp-1.2/upg-vpp/vpp/build-root'
    @@@@ Arch for platform 'vpp' is native @@@@
    @@@@ Finding source for external @@@@
    @@@@ Makefile fragment found in /home/ubuntu/upg-vpp-1.2/upg-vpp/vpp/build-data/packages/external.mk @@@@
    @@@@ Source found in /home/ubuntu/upg-vpp-1.2/upg-vpp/vpp/build @@@@
    @@@@ Arch for platform 'vpp' is native @@@@
    @@@@ Finding source for vpp @@@@
    @@@@ Makefile fragment found in /home/ubuntu/upg-vpp-1.2/upg-vpp/vpp/build-data/packages/vpp.mk @@@@
    @@@@ Source found in /home/ubuntu/upg-vpp-1.2/upg-vpp/vpp/src @@@@
    @@@@ Configuring external: nothing to do @@@@
    @@@@ Building external: nothing to do @@@@
    @@@@ Installing external: nothing to do @@@@
    @@@@ Configuring vpp: nothing to do @@@@
    @@@@ Building vpp: nothing to do @@@@
    @@@@ Installing vpp: nothing to do @@@@
    make[2]: Leaving directory '/home/ubuntu/upg-vpp-1.2/upg-vpp/vpp/build-root'
    make[1]: Leaving directory '/home/ubuntu/upg-vpp-1.2/upg-vpp/vpp'
    flag provided but not defined: -reportPassed
    Usage of ginkgo:
    -a Force rebuilding of packages that are already up-to-date.
    -afterSuiteHook string
    Run a command when a suite test run completes
    -asmflags string
    Arguments to pass on each go tool asm invocation.
    -blockprofilerate int
    Control the detail provided in goroutine blocking profiles by calling runtime.SetBlockProfileRate with the given value. (default 1)
    -buildmode string
    Build mode to use. See 'go help buildmode' for more.
    -compiler string
    Name of compiler to use, as in runtime.Compiler (gccgo or gc).
    -compilers int
    The number of concurrent compilations to run (0 will autodetect)
    -cover
    Run tests with coverage analysis, will generate coverage profiles with the package name in the current directory.
    -covermode string
    Set the mode for coverage analysis.
    -coverpkg string
    Run tests with coverage on the given external modules.
    -coverprofile string
    Write a coverage profile to the specified file after all tests have passed.
    -cpuprofile string
    Write a CPU profile to the specified file before exiting.
    -dryRun
    If set, ginkgo will walk the test hierarchy without actually running anything. Best paired with -v.
    -failFast
    If set, ginkgo will stop running a test suite after a failure occurs.
    -failOnPending
    If set, ginkgo will mark the test suite as failed if any specs are pending.
    -flakeAttempts int
    Make up to this many attempts to run each spec. Please note that if any of the attempts succeed, the suite will not be failed. But any failures will still be recorded. (default 1)
    -focus string
    If set, ginkgo will only run specs that match this regular expression.
    -gccgoflags string
    Arguments to pass on each gccgo compiler/linker invocation.
    -gcflags string
    Arguments to pass on each go tool compile invocation.
    -installsuffix string
    A suffix to use in the name of the package installation directory.
    -keepGoing
    When true, failures from earlier test suites do not prevent later test suites from running
    -ldflags string
    Arguments to pass on each go tool link invocation.
    -linkshared
    Link against shared libraries previously created with -buildmode=shared.
    -memprofile string
    Write a memory profile to the specified file after all tests have passed.
    -memprofilerate int
    Enable more precise (and expensive) memory profiles by setting runtime.MemProfileRate.
    -msan
    Enable interoperation with memory sanitizer.
    -n go test
    Have go test print the commands but do not run them.
    -noColor
    If set, suppress color output in default reporter.
    -nodes int
    The number of parallel test nodes to run (default 1)
    -noisyPendings
    If set, default reporter will shout about pending tests. (default true)
    -notify
    Send desktop notifications when a test run completes
    -outputdir string
    Place output files from profiling in the specified directory.
    -p Run in parallel with auto-detected number of nodes
    -pkgdir string
    install and load all packages from the given dir instead of the usual locations.
    -progress
    If set, ginkgo will emit progress information as each spec runs to the GinkgoWriter.
    -r Find and run test suites under the current directory recursively.
    -race
    Run tests with race detection enabled.
    -randomizeAllSpecs
    If set, ginkgo will randomize all specs together. By default, ginkgo only randomizes the top level Describe/Context groups.
    -randomizeSuites
    When true, Ginkgo will randomize the order in which test suites run
    -regexScansFilePath
    If set, ginkgo regex matching also will look at the file path (code location).
    -seed int
    The seed used to randomize the spec suite. (default 1653889936)
    -skip string
    If set, ginkgo will only run specs that do not match this regular expression.
    -skipMeasurements
    If set, ginkgo will skip any measurement specs.
    -skipPackage string
    A comma-separated list of package names to be skipped. If any part of the package's path matches, that package is ignored.
    -slowSpecThreshold float
    (in seconds) Specs that take longer to run than this threshold are flagged as slow by the default reporter. (default 5)
    -stream
    stream parallel test output in real time: less coherent, but useful for debugging
    -succinct
    If set, default reporter prints out a very succinct report
    -tags string
    A list of build tags to consider satisfied during the build.
    -toolexec string
    a program to use to invoke toolchain programs like vet and asm.
    -trace
    If set, default reporter prints out the full stack trace when a failure occurs
    -untilItFails
    When true, Ginkgo will keep rerunning tests until a failure occurs
    -v If set, default reporter print out all specs as they begin.
    -work
    Print the name of the temporary work directory and do not delete it when exiting.
    -x go test
    Have go test print the commands.
    make: *** [Makefile:55: e2e-debug] Error 2
    root@vpp-yaqub:/home/ubuntu/upg-vpp-1.2/upg-vpp#**

Can someone help us with running this e2e test case?
May I know whether e2e is performance-based testing or some other?

Regards,
sindhu

@ivan4th
Copy link
Contributor

ivan4th commented May 30, 2022

There appears to be a problem with the version of Go tooling on your side, basically wrong Ginkgo version (we're still using v1). You may want to try the dockerized devenv (needs docker daemon to be running and accessible by the current user):

$ export UPG_DOCKER_BUILDENV=1
$ make e2e

@stepin104796
Copy link
Author

stepin104796 commented May 30, 2022

hi @ivan4th,
We tried using ginkgo version 1.2 and we are using the ubuntu machine without dockerized to try this but we still saw the same error.

@stepin104796
Copy link
Author

stepin104796 commented Jun 2, 2022

Hi,
@ivan4th @sergeymatov

We are trying to test vpp integrated upf for data throughput.
we are using the traveling stable 1.2 version to clone the code and test.

Can we also know any hardware Requirements(prerequisites) to be installed before?

Currently, we are using the ubuntu version VM to create a docker image by following the below command:
"make image-debug".

Once the image is built we are creating the container over Vm, but couldn't see any src file wrt upf/vpp present in that container.
From the Docker file which is used to build the image, we can see the src folder is being added but we couldn't find any src folder in the container.

Below are the files that we see in the container which we created:

root@80aa89ecdf1b:/# ls
bin  boot  debs  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

The following are the Vm details:

RAM: 8GB
VCPUs: 4 VCPU
Disk: 80GB
Kernel version: 5.4.0-1065

We tried to copy the upg-vpp folder from the host to container and tried running make e2e-debug but facing these below error:

root@c8d0f5f0ba84:/src/upg-vpp# ./hack/e2e.sh
* Kernel GTP-U support not available, using userspace GTP-U only
make: Entering directory '/src/upg-vpp/vpp'
make[1]: Entering directory '/src/upg-vpp/vpp/build-root'
@@@@ Arch for platform 'vpp' is native @@@@
@@@@ Finding source for external @@@@
@@@@ Makefile fragment found in /src/upg-vpp/vpp/build-data/packages/external.mk @@@@
@@@@ Source found in /src/upg-vpp/vpp/build @@@@
@@@@ Arch for platform 'vpp' is native @@@@
@@@@ Finding source for vpp @@@@
@@@@ Makefile fragment found in /src/upg-vpp/vpp/build-data/packages/vpp.mk @@@@
@@@@ Source found in /src/upg-vpp/vpp/src @@@@
@@@@ Configuring external: nothing to do @@@@
@@@@ Building external: nothing to do @@@@
@@@@ Installing external: nothing to do @@@@
@@@@ Configuring vpp: nothing to do @@@@
@@@@ Building vpp: nothing to do @@@@
@@@@ Installing vpp: nothing to do @@@@
make[1]: Leaving directory '/src/upg-vpp/vpp/build-root'
make: Leaving directory '/src/upg-vpp/vpp'
flag provided but not defined: -reportPassed
Usage of ginkgo:
  -a    Force rebuilding of packages that are already up-to-date.
  -afterSuiteHook string
        Run a command when a suite test run completes
  -asmflags string
        Arguments to pass on each go tool asm invocation.
  -blockprofilerate int
        Control the detail provided in goroutine blocking profiles by calling runtime.SetBlockProfileRate with the given value. (default 1)
  -buildmode string
        Build mode to use. See 'go help buildmode' for more.
  -compiler string
        Name of compiler to use, as in runtime.Compiler (gccgo or gc).
  -compilers int
        The number of concurrent compilations to run (0 will autodetect)
  -cover
        Run tests with coverage analysis, will generate coverage profiles with the package name in the current directory.
  -covermode string
        Set the mode for coverage analysis.
  -coverpkg string
        Run tests with coverage on the given external modules.
  -coverprofile string
        Write a coverage profile to the specified file after all tests have passed.
  -cpuprofile string
        Write a CPU profile to the specified file before exiting.
  -dryRun
        If set, ginkgo will walk the test hierarchy without actually running anything.  Best paired with -v.
  -failFast
        If set, ginkgo will stop running a test suite after a failure occurs.
  -failOnPending
        If set, ginkgo will mark the test suite as failed if any specs are pending.
  -flakeAttempts int
        Make up to this many attempts to run each spec. Please note that if any of the attempts succeed, the suite will not be failed. But any failures will still be recorded. (default 1)
  -focus string
        If set, ginkgo will only run specs that match this regular expression.
  -gccgoflags string
        Arguments to pass on each gccgo compiler/linker invocation.
  -gcflags string
        Arguments to pass on each go tool compile invocation.
  -installsuffix string
        A suffix to use in the name of the package installation directory.
  -keepGoing
        When true, failures from earlier test suites do not prevent later test suites from running
  -ldflags string
        Arguments to pass on each go tool link invocation.
  -linkshared
        Link against shared libraries previously created with -buildmode=shared.
  -memprofile string
        Write a memory profile to the specified file after all tests have passed.
  -memprofilerate int
        Enable more precise (and expensive) memory profiles by setting runtime.MemProfileRate.
  -msan
        Enable interoperation with memory sanitizer.
  -n go test
        Have go test print the commands but do not run them.
  -noColor
        If set, suppress color output in default reporter.
  -nodes int
        The number of parallel test nodes to run (default 1)
  -noisyPendings
        If set, default reporter will shout about pending tests. (default true)
  -notify
        Send desktop notifications when a test run completes
  -outputdir string
        Place output files from profiling in the specified directory.
  -p    Run in parallel with auto-detected number of nodes
  -pkgdir string
        install and load all packages from the given dir instead of the usual locations.
  -progress
        If set, ginkgo will emit progress information as each spec runs to the GinkgoWriter.
  -r    Find and run test suites under the current directory recursively.
  -race
        Run tests with race detection enabled.
  -randomizeAllSpecs
        If set, ginkgo will randomize all specs together.  By default, ginkgo only randomizes the top level Describe/Context groups.
  -randomizeSuites
        When true, Ginkgo will randomize the order in which test suites run
  -regexScansFilePath
        If set, ginkgo regex matching also will look at the file path (code location).
  -seed int
        The seed used to randomize the spec suite. (default 1654153662)
  -skip string
        If set, ginkgo will only run specs that do not match this regular expression.
  -skipMeasurements
        If set, ginkgo will skip any measurement specs.
  -skipPackage string
        A comma-separated list of package names to be skipped.  If any part of the package's path matches, that package is ignored.
  -slowSpecThreshold float
        (in seconds) Specs that take longer to run than this threshold are flagged as slow by the default reporter. (default 5)
  -stream
        stream parallel test output in real time: less coherent, but useful for debugging
  -succinct
        If set, default reporter prints out a very succinct report
  -tags string
        A list of build tags to consider satisfied during the build.
  -toolexec string
        a program to use to invoke toolchain programs like vet and asm.
  -trace
        If set, default reporter prints out the full stack trace when a failure occurs
  -untilItFails
        When true, Ginkgo will keep rerunning tests until a failure occurs
  -v    If set, default reporter print out all specs as they begin.
  -work
        Print the name of the temporary work directory and do not delete it when exiting.
  -x go test
        Have go test print the commands.
root@c8d0f5f0ba84:/src/upg-vpp#

Can we know the further steps on how to run the e2e test on the dockerized env?

Regards,
sindhu

@sergeymatov
Copy link
Contributor

@stepin104796 Please check my latest comment in the similar issue #268
in case of running VPP inside VM you most likely need to enable KVM acceleration and host model of CPU for capabilities.
Ubuntu VM should be quite fine to run docker container if docker daemon is running correctly. We are recommend to use at least 4GB of memory for the OS.
Please follow my latest comment in separate ticket, it contains precise steps for UPG VPP basic testing

@sergeymatov
Copy link
Contributor

Closing this issue since similar #268 is closed by reporter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants