support arch other than amd64

Bug #1821872 reported by Andrew McLeod
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
MicroStack
Fix Released
Wishlist
Unassigned

Bug Description

arch and cirros version are hard coded, but there are cirros images for multiple architectures avaialble, aswell as a version newer than 0.3.5 (0.4.0)

Revision history for this message
Andrew McLeod (admcleod) wrote :

This is probably not as easy as just changing the cirros image:

Mar 27 09:14:50 node-loudred libvirtd[28634]: internal error: Child process (LC_ALL=C LD_LIBRARY_PATH=/snap/microstack/50/lib:/snap/microstack/50/lib/powerpc64le-linux-gnu:/snap/microstack/50/usr/lib:/snap/microstack/50/usr/lib/powerpc64le-linux-gnu:/snap/microstack/50/usr/lib/powerpc64le-linux-gnu/pulseaudio PATH=/snap/microstack/50/usr/sbin:/snap/microstack/50/usr/bin:/snap/microstack/50/sbin:/snap/microstack/50/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /snap/microstack/50/bin/qemu-system-x86_64 -help) unexpected exit status 127: /snap/microstack/50/bin/qemu-system-x86_64: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
Mar 27 09:14:50 node-loudred libvirtd[28634]: Failed to probe capabilities for /snap/microstack/50/bin/qemu-system-x86_64: internal error: Child process (LC_ALL=C LD_LIBRARY_PATH=/snap/microstack/50/lib:/snap/microstack/50/lib/powerpc64le-linux-gnu:/snap/microstack/50/usr/lib:/snap/microstack/50/usr/lib/powerpc64le-linux-gnu:/snap/microstack/50/usr/lib/powerpc64le-linux-gnu/pulseaudio PATH=/snap/microstack/50/usr/sbin:/snap/microstack/50/usr/bin:/snap/microstack/50/sbin:/snap/microstack/50/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /snap/microstack/50/bin/qemu-system-x86_64 -help) unexpected exit status 127: /snap/microstack/50/bin/qemu-system-x86_64: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

Revision history for this message
Pen Gale (pengale) wrote :

Agreed that we need to fix this. Wishlisted for now -- will bump in priority when/if we expand the intended use case beyond a developer's laptop.

Changed in microstack:
status: New → Confirmed
importance: Undecided → Medium
status: Confirmed → Triaged
importance: Medium → Wishlist
Revision history for this message
Chris Morgan (cmorgan2) wrote :

This isn't just a hypothetical wishlist item for much longer. Ubuntu now supports Raspberry Pi 4 which goes up to 4GB RAM. Add 4GB swap, you have an 8GB Ubuntu machine (stated microstack RAM requirements) for about $130, which will install the correct ARM architecture MicroStack and even let you get into OpenStack Horizon!

After that, it breaks down - it even loads the x86-64 CirrOS image, instead of something that could ever launch a VM on ARM, and I don't think nova is happy either. Nevertheless, without having seen anything saying don't do this, I'd say you're distributing/available and yet broken on ARM (ok with a bit of hand-waving) on a sub-laptop (i.e. commonly available) platform.

If this were fixed we could bring up the newly cluster aware microstack on a pico cluster (https://www.picocluster.com/collections/raspberry-pi4) - awesome for demos!

I'd be happy to test this for you. In fact I'm trying the latest build right now.

Revision history for this message
Chris Morgan (cmorgan2) wrote :
Revision history for this message
Billy Olsen (billy-olsen) wrote :

There's a patch up for arm64/aarch64 support at https://review.opendev.org/c/x/microstack/+/788360

Changed in microstack:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to microstack (master)

Reviewed: https://review.opendev.org/c/x/microstack/+/788360
Committed: https://opendev.org/x/microstack/commit/c74223de0a157688a507d58b1192a8060500b946
Submitter: "Zuul (22348)"
Branch: master

commit c74223de0a157688a507d58b1192a8060500b946
Author: Billy Olsen <email address hidden>
Date: Fri Mar 19 15:45:05 2021 -0700

    Fix aarch64/arm64 support for MicroStack

    Fix the builds for MicroStack on aarch64/arm64. To resolve the build
    issues, the SNAP_ARCH and SNAP_ARCH_TRIPLET variables need to be used
    in appropriate places to reference the underlying platform rather than
    the x86_64 platform.

    Arm64/Aarch64 support requires that EFI support is enabled, which
    involves adding the EFI packages for arm64. These are also included for
    x86_64 for ensuring consistency in EFI support between the
    architectures. The /usr/share/{OVMF,AAVMF} paths need to be bind-mounted
    to the appropriate locations to avoid having to custom build the
    packages within the snap.

    The setup sequence also needs to consider loading the right image into
    glance. This is done by using the platform to determine which cirros
    image to import into glance. A new cirros image was not included in this
    patch for aarch64 platform in order to keep the snap image size lower.
    The setup sequence has fallback code to attempt to download the image if
    it is unavailable in the filesystem.

    Finally, the snapcraft architectures for building microstack are limited
    to the x86_64 and arm64 platforms. There's no need to build on s390x or
    other architectures at this point.

    Closes-Bug: #1821872

    Change-Id: I26625621fb9895027139ecb895e882e60f2e6502

Changed in microstack:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.