[v2] ci: add vm jobs for aarch64 builds with tests

Message ID 1598615137-16401-1-git-send-email-juraj.linkes@pantheon.tech (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series [v2] ci: add vm jobs for aarch64 builds with tests |

Checks

Context Check Description
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Juraj Linkeš Aug. 28, 2020, 11:45 a.m. UTC
  Tests requiring hugepages do not work outside of VM environment because
of security limitations. Add aarch64 builds which run tests to run in
a VM to avoid these limitations. Leave non-hugepage environments since
the tests may produce different results in hugepage and non-hugepage
environments.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
---
 .travis.yml | 12 ++++++++++++
 1 file changed, 12 insertions(+)
  

Comments

Ruifeng Wang Sept. 1, 2020, 7:15 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Juraj Linke?
> Sent: Friday, August 28, 2020 7:46 PM
> To: thomas@monjalon.net; david.marchand@redhat.com;
> aconole@redhat.com; maicolgabriel@hotmail.com
> Cc: dev@dpdk.org; Juraj Linkeš <juraj.linkes@pantheon.tech>
> Subject: [dpdk-dev] [PATCH v2] ci: add vm jobs for aarch64 builds with tests
> 
> Tests requiring hugepages do not work outside of VM environment because
> of security limitations. Add aarch64 builds which run tests to run in a VM to
> avoid these limitations. Leave non-hugepage environments since the tests
> may produce different results in hugepage and non-hugepage environments.
> 
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> ---
>  .travis.yml | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/.travis.yml b/.travis.yml
> index d6eeab371..5e12db23b 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -90,6 +90,12 @@ jobs:
>    - env: DEF_LIB="shared" RUN_TESTS=1
>      arch: arm64
>      compiler: gcc
> +  - env: DEF_LIB="shared" RUN_TESTS=1
> +    dist: focal
> +    arch: arm64-graviton2
> +    virt: vm
> +    group: edge
> +    compiler: gcc
>    - env: DEF_LIB="shared" BUILD_DOCS=1
>      arch: arm64
>      compiler: gcc
> @@ -105,3 +111,9 @@ jobs:
>    - env: DEF_LIB="shared" RUN_TESTS=1
>      arch: arm64
>      compiler: clang
> +  - env: DEF_LIB="shared" RUN_TESTS=1
> +    dist: focal
> +    arch: arm64-graviton2
> +    virt: vm
> +    group: edge
> +    compiler: clang
> --
> 2.20.1

Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
  
Aaron Conole Sept. 11, 2020, 1:25 p.m. UTC | #2
Juraj Linkeš <juraj.linkes@pantheon.tech> writes:

> Tests requiring hugepages do not work outside of VM environment because
> of security limitations. Add aarch64 builds which run tests to run in
> a VM to avoid these limitations. Leave non-hugepage environments since
> the tests may produce different results in hugepage and non-hugepage
> environments.
>
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> ---

I'm okay with the change, but I wonder - does it make sense to have the
non-vm build around with these?  The builds you're adding cover all the
cases of the container build, and add the additional hugepage tests.

Maybe we should drop the other tests?  It can be a follow up patch, WDYT?

Acked-by: Aaron Conole <aconole@redhat.com>

>  .travis.yml | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/.travis.yml b/.travis.yml
> index d6eeab371..5e12db23b 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -90,6 +90,12 @@ jobs:
>    - env: DEF_LIB="shared" RUN_TESTS=1
>      arch: arm64
>      compiler: gcc
> +  - env: DEF_LIB="shared" RUN_TESTS=1
> +    dist: focal
> +    arch: arm64-graviton2
> +    virt: vm
> +    group: edge
> +    compiler: gcc
>    - env: DEF_LIB="shared" BUILD_DOCS=1
>      arch: arm64
>      compiler: gcc
> @@ -105,3 +111,9 @@ jobs:
>    - env: DEF_LIB="shared" RUN_TESTS=1
>      arch: arm64
>      compiler: clang
> +  - env: DEF_LIB="shared" RUN_TESTS=1
> +    dist: focal
> +    arch: arm64-graviton2
> +    virt: vm
> +    group: edge
> +    compiler: clang
  
Juraj Linkeš Sept. 16, 2020, 8:03 a.m. UTC | #3
> -----Original Message-----
> From: Aaron Conole <aconole@redhat.com>
> Sent: Friday, September 11, 2020 3:25 PM
> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: thomas@monjalon.net; david.marchand@redhat.com;
> maicolgabriel@hotmail.com; dev@dpdk.org
> Subject: Re: [PATCH v2] ci: add vm jobs for aarch64 builds with tests
> 
> Juraj Linkeš <juraj.linkes@pantheon.tech> writes:
> 
> > Tests requiring hugepages do not work outside of VM environment
> > because of security limitations. Add aarch64 builds which run tests to
> > run in a VM to avoid these limitations. Leave non-hugepage
> > environments since the tests may produce different results in hugepage
> > and non-hugepage environments.
> >
> > Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > ---
> 
> I'm okay with the change, but I wonder - does it make sense to have the non-vm
> build around with these?  The builds you're adding cover all the cases of the
> container build, and add the additional hugepage tests.
> 

Well, the commit message explains why I left the non-vm builds. The test cases may be the same, but the environment is not. We were getting different results when running the same tests with and without huge pages.

> Maybe we should drop the other tests?  It can be a follow up patch, WDYT?

We could, but we'd want to add to run all tests with hugepages both enabled and not enabled. That would be a bigger change I think, but it should be possible, right?

> 
> Acked-by: Aaron Conole <aconole@redhat.com>
> 
> >  .travis.yml | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/.travis.yml b/.travis.yml index d6eeab371..5e12db23b
> > 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -90,6 +90,12 @@ jobs:
> >    - env: DEF_LIB="shared" RUN_TESTS=1
> >      arch: arm64
> >      compiler: gcc
> > +  - env: DEF_LIB="shared" RUN_TESTS=1
> > +    dist: focal
> > +    arch: arm64-graviton2
> > +    virt: vm
> > +    group: edge
> > +    compiler: gcc
> >    - env: DEF_LIB="shared" BUILD_DOCS=1
> >      arch: arm64
> >      compiler: gcc
> > @@ -105,3 +111,9 @@ jobs:
> >    - env: DEF_LIB="shared" RUN_TESTS=1
> >      arch: arm64
> >      compiler: clang
> > +  - env: DEF_LIB="shared" RUN_TESTS=1
> > +    dist: focal
> > +    arch: arm64-graviton2
> > +    virt: vm
> > +    group: edge
> > +    compiler: clang
>
  
David Marchand Oct. 1, 2020, 6:49 a.m. UTC | #4
On Fri, Aug 28, 2020 at 1:45 PM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote:
>
> Tests requiring hugepages do not work outside of VM environment because
> of security limitations. Add aarch64 builds which run tests to run in
> a VM to avoid these limitations. Leave non-hugepage environments since
> the tests may produce different results in hugepage and non-hugepage
> environments.
>
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>

Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Aaron Conole <aconole@redhat.com>


Applied, thanks.
  

Patch

diff --git a/.travis.yml b/.travis.yml
index d6eeab371..5e12db23b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -90,6 +90,12 @@  jobs:
   - env: DEF_LIB="shared" RUN_TESTS=1
     arch: arm64
     compiler: gcc
+  - env: DEF_LIB="shared" RUN_TESTS=1
+    dist: focal
+    arch: arm64-graviton2
+    virt: vm
+    group: edge
+    compiler: gcc
   - env: DEF_LIB="shared" BUILD_DOCS=1
     arch: arm64
     compiler: gcc
@@ -105,3 +111,9 @@  jobs:
   - env: DEF_LIB="shared" RUN_TESTS=1
     arch: arm64
     compiler: clang
+  - env: DEF_LIB="shared" RUN_TESTS=1
+    dist: focal
+    arch: arm64-graviton2
+    virt: vm
+    group: edge
+    compiler: clang