ci: enable vm env for aarch64 builds
Checks
Commit Message
Tests requiring hugepages do not work outside of VM environment because
of security limitations. Enable aarch64 builds which run tests to run in
a VM to avoid these limitations.
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
---
.travis.yml | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
Comments
Juraj Linkeš <juraj.linkes@pantheon.tech> writes:
> Tests requiring hugepages do not work outside of VM environment because
> of security limitations. Enable aarch64 builds which run tests to run in
> a VM to avoid these limitations.
>
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> ---
Cool!
Globally we have dist: set to 'bionic'. Does it make sense to upgrade all
the distributions to 'focal' ? What is the rationale for not using
'bionic'?
> .travis.yml | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index d6eeab371..d73d3e4c5 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -88,7 +88,10 @@ jobs:
> arch: arm64
> compiler: gcc
> - env: DEF_LIB="shared" RUN_TESTS=1
> - arch: arm64
> + dist: focal
> + arch: arm64-graviton2
> + virt: vm
> + group: edge
> compiler: gcc
> - env: DEF_LIB="shared" BUILD_DOCS=1
> arch: arm64
> @@ -103,5 +106,8 @@ jobs:
> arch: arm64
> compiler: clang
> - env: DEF_LIB="shared" RUN_TESTS=1
> - arch: arm64
> + dist: focal
> + arch: arm64-graviton2
> + virt: vm
> + group: edge
> compiler: clang
> -----Original Message-----
> From: Aaron Conole <aconole@redhat.com>
> Sent: Tuesday, August 25, 2020 4:18 PM
> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: thomas@monjalon.net; david.marchand@redhat.com;
> maicolgabriel@hotmail.com; dev@dpdk.org; Kevin Laatz
> <kevin.laatz@intel.com>
> Subject: Re: [PATCH] ci: enable vm env for aarch64 builds
>
> Juraj Linkeš <juraj.linkes@pantheon.tech> writes:
>
> > Tests requiring hugepages do not work outside of VM environment
> > because of security limitations. Enable aarch64 builds which run tests
> > to run in a VM to avoid these limitations.
> >
> > Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > ---
>
> Cool!
>
> Globally we have dist: set to 'bionic'. Does it make sense to upgrade all the
> distributions to 'focal' ? What is the rationale for not using 'bionic'?
>
I tried bionic, but it ran with focal anyway, so the rationale is 'not supported for arm vm environments'. This was released for early adopters, so they may expand the support to bionic later.
> > .travis.yml | 10 ++++++++--
> > 1 file changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/.travis.yml b/.travis.yml index d6eeab371..d73d3e4c5
> > 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -88,7 +88,10 @@ jobs:
> > arch: arm64
> > compiler: gcc
> > - env: DEF_LIB="shared" RUN_TESTS=1
> > - arch: arm64
> > + dist: focal
> > + arch: arm64-graviton2
> > + virt: vm
> > + group: edge
> > compiler: gcc
> > - env: DEF_LIB="shared" BUILD_DOCS=1
> > arch: arm64
> > @@ -103,5 +106,8 @@ jobs:
> > arch: arm64
> > compiler: clang
> > - env: DEF_LIB="shared" RUN_TESTS=1
> > - arch: arm64
> > + dist: focal
> > + arch: arm64-graviton2
> > + virt: vm
> > + group: edge
> > compiler: clang
>
> -----Original Message-----
> From: Juraj Linkeš
> Sent: Wednesday, August 26, 2020 8:14 AM
> To: 'Aaron Conole' <aconole@redhat.com>
> Cc: thomas@monjalon.net; david.marchand@redhat.com;
> maicolgabriel@hotmail.com; dev@dpdk.org; Kevin Laatz
> <kevin.laatz@intel.com>
> Subject: RE: [PATCH] ci: enable vm env for aarch64 builds
>
>
>
> > -----Original Message-----
> > From: Aaron Conole <aconole@redhat.com>
> > Sent: Tuesday, August 25, 2020 4:18 PM
> > To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > Cc: thomas@monjalon.net; david.marchand@redhat.com;
> > maicolgabriel@hotmail.com; dev@dpdk.org; Kevin Laatz
> > <kevin.laatz@intel.com>
> > Subject: Re: [PATCH] ci: enable vm env for aarch64 builds
> >
> > Juraj Linkeš <juraj.linkes@pantheon.tech> writes:
> >
> > > Tests requiring hugepages do not work outside of VM environment
> > > because of security limitations. Enable aarch64 builds which run
> > > tests to run in a VM to avoid these limitations.
> > >
> > > Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > > ---
> >
> > Cool!
> >
> > Globally we have dist: set to 'bionic'. Does it make sense to upgrade
> > all the distributions to 'focal' ? What is the rationale for not using 'bionic'?
> >
>
> I tried bionic, but it ran with focal anyway, so the rationale is 'not supported for
> arm vm environments'. This was released for early adopters, so they may
> expand the support to bionic later.
>
Couple more things. Since this new VM environment runs only on Focal, we want to leave the old jobs and add these new jobs, so we'll have bionic without hugepages and focal with hugepages. The reason is that the same test behave differently when run on a hungepage and non-hugepage environments. Does that make sense? Maybe having a non-hugepage job for just one compiler would be enough?
The other thing is switching to focal for all jobs. The difference would be in different lib and compiler versions but I don't know whether we want to dig deep into that or we just want to go with the latest or what's the most important thing to consider. How did you decide in the past?
> > > .travis.yml | 10 ++++++++--
> > > 1 file changed, 8 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/.travis.yml b/.travis.yml index d6eeab371..d73d3e4c5
> > > 100644
> > > --- a/.travis.yml
> > > +++ b/.travis.yml
> > > @@ -88,7 +88,10 @@ jobs:
> > > arch: arm64
> > > compiler: gcc
> > > - env: DEF_LIB="shared" RUN_TESTS=1
> > > - arch: arm64
> > > + dist: focal
> > > + arch: arm64-graviton2
> > > + virt: vm
> > > + group: edge
> > > compiler: gcc
> > > - env: DEF_LIB="shared" BUILD_DOCS=1
> > > arch: arm64
> > > @@ -103,5 +106,8 @@ jobs:
> > > arch: arm64
> > > compiler: clang
> > > - env: DEF_LIB="shared" RUN_TESTS=1
> > > - arch: arm64
> > > + dist: focal
> > > + arch: arm64-graviton2
> > > + virt: vm
> > > + group: edge
> > > compiler: clang
> >
@@ -88,7 +88,10 @@ jobs:
arch: arm64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=1
- arch: arm64
+ dist: focal
+ arch: arm64-graviton2
+ virt: vm
+ group: edge
compiler: gcc
- env: DEF_LIB="shared" BUILD_DOCS=1
arch: arm64
@@ -103,5 +106,8 @@ jobs:
arch: arm64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=1
- arch: arm64
+ dist: focal
+ arch: arm64-graviton2
+ virt: vm
+ group: edge
compiler: clang