[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [PATCH v3 05/10] automation: Add Arm containers to containerize script
Hi Michal, > -----Original Message----- > From: Michal Orzel <michal.orzel@xxxxxxx> > Sent: Thursday, October 20, 2022 3:52 PM > To: Jiamei Xie <Jiamei.Xie@xxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Doug Goldstein <cardoe@xxxxxxxxxx>; Stefano Stabellini > <sstabellini@xxxxxxxxxx> > Subject: Re: [PATCH v3 05/10] automation: Add Arm containers to > containerize script > > Hi Jiamei, > > On 20/10/2022 09:13, Jiamei Xie wrote: > > > > > > Hi Michal, > > > >> -----Original Message----- > >> From: Michal Orzel <michal.orzel@xxxxxxx> > >> Sent: Thursday, October 20, 2022 2:59 PM > >> To: Jiamei Xie <Jiamei.Xie@xxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx > >> Cc: Doug Goldstein <cardoe@xxxxxxxxxx>; Stefano Stabellini > >> <sstabellini@xxxxxxxxxx> > >> Subject: Re: [PATCH v3 05/10] automation: Add Arm containers to > >> containerize script > >> > >> Hi Jiamei, > >> > >> On 20/10/2022 05:00, Jiamei Xie wrote: > >>> > >>> > >>> Hi Michal, > >>> > >>>> -----Original Message----- > >>>> From: Xen-devel <xen-devel-bounces@xxxxxxxxxxxxxxxxxxxx> On Behalf > Of > >>>> Michal Orzel > >>>> Sent: Tuesday, September 27, 2022 5:47 PM > >>>> To: xen-devel@xxxxxxxxxxxxxxxxxxxx > >>>> Cc: Michal Orzel <michal.orzel@xxxxxxx>; Doug Goldstein > >>>> <cardoe@xxxxxxxxxx>; Stefano Stabellini <sstabellini@xxxxxxxxxx> > >>>> Subject: [PATCH v3 05/10] automation: Add Arm containers to > >> containerize > >>>> script > >>>> > >>>> Script automation/scripts/containerize makes it easy to build Xen > within > >>>> predefined containers from gitlab container registry. This script is > >>>> currently missing the helpers to select Arm containers, so populate the > >>>> necessary entries. > >>>> > >>>> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx> > >>>> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > >>>> --- > >> > >>> > >>> [Jiamei Xie] > >>> I wonder if an default container for arm can be added. For example, if > >>> "CONTAINER=arm64 automation/scripts/containerize bash", > >>> set the default CONTAINER as "registry.gitlab.com/xen- > >> project/xen/alpine:3.12-arm64v8" > >>> > >> > >> It can be added doing the following: > >> > >> diff --git a/automation/scripts/containerize > >> b/automation/scripts/containerize > >> index 0f4645c4cccb..b395bd359ecf 100755 > >> --- a/automation/scripts/containerize > >> +++ b/automation/scripts/containerize > >> @@ -25,7 +25,7 @@ die() { > >> BASE="registry.gitlab.com/xen-project/xen" > >> case "_${CONTAINER}" in > >> _alpine) CONTAINER="${BASE}/alpine:3.12" ;; > >> - _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.12-arm64v8" ;; > >> + _alpine-arm64v8|_arm64) CONTAINER="${BASE}/alpine:3.12- > arm64v8" ;; > >> _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;; > >> _riscv64) CONTAINER="${BASE}/archlinux:riscv64" ;; > >> _centos7) CONTAINER="${BASE}/centos:7" ;; > >> > >> The question is whether it would be beneficial. After all you would still > need > >> to > >> type CONTAINER=arm64, whereas at the moment, you need to type > >> CONTAINER=alpine-arm64v8. > >> TBH I'm not sure it is improving anything (?). > >> > >> ~Michal > > [Jiamei Xie] > > I am not sure about this either. I added something like below f to run it > > on > arm64 machine. But it didn't take "running container for a different > architecture" into consideration. > > > So your question is not about adding default container when selecting > CONTAINER=arm64, but adding > a default one when running on arm64 platform. Right now, the default one > is debian:stretch > (if you don't type CONTAINER= at all). Do I understand it right that you > would like the same > behavior when running on arm64 platform (currently, it would also select > debian:stretch)? > So that when executing: > ./automation/scripts/containerize ... > it would automatically select alpine-arm64v8? > Yes, this is what I mean. > > > --- a/automation/scripts/containerize > > +++ b/automation/scripts/containerize > > @@ -18,6 +18,12 @@ die() { > > exit 1 > > } > > > > +# There are two containers that can run on aarch64, unstable and alpine. > > +# Set the default container to alpine for aarch64 > > +if [[ $(uname -m) = "aarch64" && -z ${CONTAINER} ]]; then > The output from `uname -m` for arm64 can be aarch64 and arm64. > > > + CONTAINER="alpine" > > +fi > > + > > # > > # The caller is expected to override the CONTAINER environment > > # variable with the container they wish to launch. > > @@ -41,6 +47,11 @@ case "_${CONTAINER}" in > > _opensuse-tumbleweed|_tumbleweed) > CONTAINER="${BASE}/suse:opensuse-tumbleweed" ;; > > esac > > > > +# Containers for aarch64 have a sufix "-arm64v8" > > +if [[ $(uname -m) = "aarch64" ]]; then > > + CONTAINER="${CONTAINER}-arm64v8" > > +fi > This is not needed. CONTAINER can be selected on the first check and let > case/esac block > to determine the full path to container. > > > + > > # Use this variable to control whether root should be used > > case "_${CONTAINER_UID0}" in > > _1) userarg= ;; > > > > > > Best wishes > > Jiamei Xie > > > > > > What you are asking for can be done in a simpler way. The following is > enough: > > diff --git a/automation/scripts/containerize > b/automation/scripts/containerize > index 0f4645c4cccb..4e7e8bb48e3a 100755 > --- a/automation/scripts/containerize > +++ b/automation/scripts/containerize > @@ -18,6 +18,11 @@ die() { > exit 1 > } > > +# Select default container when running on arm64 machine. > +if [ -z "${CONTAINER}" ] && uname -m | grep -qE 'aarch64|arm64'; then > + CONTAINER="alpine-arm64v8" > +fi > + > # > # The caller is expected to override the CONTAINER environment > # variable with the container they wish to launch. > > ~Michal Yeah, I agree with this implementation. Best wishes Jiamei Xie
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |