Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

What's the recommended installation approach for aarch64 server? #352

Closed
rayx opened this issue Jan 23, 2019 · 19 comments
Closed

What's the recommended installation approach for aarch64 server? #352

rayx opened this issue Jan 23, 2019 · 19 comments
Labels
architecture-specific Affects subset of architectures

Comments

@rayx
Copy link

rayx commented Jan 23, 2019

I followed the manual installation steps for CentOS:

https://github.com/kata-containers/documentation/blob/master/install/centos-installation-guide.md

But there is only a x86_64 directory at http://download.opensuse.org/repositories/home:/katacontainers:/releases:/.

I checked Ubuntu instructions also. Its document points to the same URL.

Does that mean I need to build from source?

@jodh-intel
Copy link
Contributor

jodh-intel commented Jan 23, 2019

Hi @rayx - thanks for raising! This is in fact a duplicate of #254. I think your best bet at this stage is to install Kata for arm64 using a snap:


But this is a good reminder that we need to start creating standard packages for other architectures as documented on:

Ping @marcov (OBS), @jcvenegas (packaging), @Pennyzct (ARM), @nitkon (ppc64le), @alicefr (s390x) - we don't have an open issue for zSeries packages afaik?

@rayx
Copy link
Author

rayx commented Jan 23, 2019

@jodh-intel Thanks. Will give the snap package a try.

@Pennyzct
Copy link
Contributor

Hi~ @rayx @jodh-intel sorry, I have still waited for legal approval to working on OBS packaging. maybe we should add extra arch-dependent info here, in case similar issue has been brought up again.

@jodh-intel
Copy link
Contributor

Hi @Pennyzct - I agree that would be helpful and logical. But since the install docs are actually executed and need to be as simple as possible, it may be better to put an architecture matrix in:

That way, the install docs remain as simple (and similar) as possible.

I think we were all hoping we'd have OBS packages up and running for all architectures imminently (so we didn't include such a matrix initially). Do you have a feel for how close we are to getting the required legal approval?

@marcov
Copy link
Contributor

marcov commented Jan 23, 2019

thanks for the ping @jodh-intel.

FYI recently I worked on packaging Kata Containers in a way that suits openSUSE requirements and to have packages for x86, ARM, powerpc and s390.

You can have a look at these packages on OBS, and, if you are on openSUSE or Fedora 29, you can even try them. I tested them on openSUSE x86 and ARM so far.

There are some difference compared to the official kata packages in the way the various components are built and distributed. You can find more info here.

I will soon resume the work of making these packages the official ones for openSUSE, so one day it will be possible to install Kata on openSUSE with just <PKG_MANAGER> install katacontainers

@alicefr
Copy link
Member

alicefr commented Jan 24, 2019

@jodh-intel @marcov should I create an issue for s390x?

@jodh-intel
Copy link
Contributor

Hi @alicefr - I think that would be useful for tracking purposes.

@dtischler
Copy link

dtischler commented Apr 16, 2019

Is Snap still the recommended method for installing on Aarch64 (Ubuntu preferred), or are other options now available? Happy to test if there are newer ways to go about this. Thanks!

@grahamwhaley
Copy link
Contributor

@Pennyzct @marcov - any update on aarch64 kata packaging for @dtischler and @rayx ? thx!

@marcov
Copy link
Contributor

marcov commented Apr 23, 2019

@grahamwhaley from my side there aren't plans to have aarch64 builds of the official Kata packages. This is because in my opinion the way the official Kata packages are structured now does not scale well with supporting multiple architectures. That's why I started from "scratch" for openSUSE.

Maybe the best thing to do is to discuss this in one of our weekly meetings and see what others think about it.

@jodh-intel
Copy link
Contributor

@marcov - Agreed. I suggest adding an agenda item to https://etherpad.openstack.org/p/katacontainers-2019-architecture-committee-mtgs.

@Pennyzct
Copy link
Contributor

Hi~ @jodh-intel @marcov @grahamwhaley sooooooo sorry for the delayed response, I have confirmed with colleagues who are working on OBS, he was telling me that he finally got the legal approval of this OBS and will online the OBS very soon. ;)

@stevecapperarm
Copy link

Hello. I have been looking at porting over the OBS master recipes to AArch64:
https://build.opensuse.org/project/show/home:stevecapper:branches:home:katacontainers:releases:x86_64:master

Do the changes look reasonable?

The biggest stumbling block I have come across is with the filesystem image. IIUC this is a manually uploaded tar ball (from the osbuilder repo?) to the kata-containers-image package. I can't upload binaries manually so need some way to auto generate them.

With OBS I would suspect Kiwi should be used?

@jodh-intel
Copy link
Contributor

Thanks @stevecapperarm - @marcov, @jcvenegas - could you tal please? ^^

@marcov
Copy link
Contributor

marcov commented Apr 26, 2019

@stevecapperarm the packaging repo has all it needs to generate a binary image and upload it on OBS.
Alternatively, you can manually build your image with osbuilder and upload it using osc:

$ osc add file.bin
$ osc ci

A quick and dirty way to get a multiarch package for kata-containers-image is to:

  • specify as many Source: <arch>.tar.gz lines as the architectures you plan to support,
  • untar them all in dedicated folders,
  • in the %install section, do a %ifarch to pick the correct binary to include in the rpm.

@stevecapperarm
Copy link

Thanks @marcov :-), the issue with uploading a binary is not a technical one (sorry I should have made that clearer). For security reasons we generally avoid uploading pre-compiled binaries and instead contribute source code/build logic. (I can run through osbuilder fine on a test system, and produce an initrd and img with Alpine rootfs and kata-agent).

@marcov
Copy link
Contributor

marcov commented Apr 26, 2019

...oh now it's clear 😳

I agree with your concerns.

For the "soon to be" SUSE packages, I am using kiwi as you correctly proposed (TAL here). It requires some tricks to correctly generate an rpm, but it's perfectly doable.

@egernst
Copy link
Member

egernst commented Apr 3, 2020

@stevecapperarm @Pennyzct anything we can do to push this forward?

@egernst egernst added the architecture-specific Affects subset of architectures label Apr 3, 2020
@stevecapperarm
Copy link

Hi,
I have a recent work in progress fork at: https://build.opensuse.org/project/show/home:stevecapper:branches:home:katacontainers:releases:x86_64:stable-1.10

The kata-containers-image package is blank for AArch64 currently though. We can't upload binary tarballs.

To move this forward I had a couple of ideas:

  1. We could package osbuilder and create the initrd + rootfs as a post-install step?
  2. We could kiwi up a rootfs + initrd, if so, would the openSUSE Tumbleweed one (just an initrd with some distro .ko's included?) be ok?

What should the kata-containers-image package look like ideally?

(I am refreshing my understanding of kiwi in the meantime and tinkering)

@jodh-intel jodh-intel added this to To do in Issue backlog Aug 10, 2020
Issue backlog automation moved this from To do to Done Apr 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
architecture-specific Affects subset of architectures
Projects
Issue backlog
  
Done
Development

No branches or pull requests

9 participants