umoci icon indicating copy to clipboard operation
umoci copied to clipboard

no variant is set on arm.

Open adrianschroeter opened this issue 4 years ago • 5 comments

arm platform should have a govariant beside goarch and goos. Without that we "overwrite" armv6 and armv7 architecture containers in our registry, because goarch is always "arm".

adrianschroeter avatar Feb 06 '20 15:02 adrianschroeter

kiwi from @schaefi is calling umoci this way to create a base container ... is there an option missing?

[  285s] [ DEBUG   ]: 15:06:35 | EXEC: [umoci repack --history.comment=openSUSE Tumbleweed 20200205 Base Container --history.created_by=KIWI 9.19.10 --history.author=Fabian Vogt <[email protected]> --history.created 2020-02-06T15:06:30+00:00 --image /tmp/kiwi_oci_dir.emheujo9/oci_layout:base_layer /tmp/kiwi_oci_root_dir.1mwlli35]
[  293s] [ DEBUG   ]: 15:06:43 | EXEC: [umoci config --author=Fabian Vogt <[email protected]> --config.cmd=/bin/bash --config.label=org.openbuildservice.disturl=obs://build.opensuse.org/home:adrianSuSE:branches:openSUSE:Factory:ARM/images/828d5d0c2443ca8e4074531064c09ce1-opensuse-tumbleweed-image:docker --config.label=org.opencontainers.image.created=2020-02-06T15:05:06.900947580Z --config.label=org.opencontainers.image.description=Image containing a minimal environment for containers based on openSUSE Tumbleweed. --config.label=org.opencontainers.image.title=openSUSE Tumbleweed Base Container --config.label=org.opencontainers.image.url=https://www.opensuse.org/ --config.label=org.opencontainers.image.vendor=openSUSE Project --config.label=org.opencontainers.image.version=20200205.10.2 --config.label=org.opensuse.base.created=2020-02-06T15:05:06.900947580Z --config.label=org.opensuse.base.description=Image containing a minimal environment for containers based on openSUSE Tumbleweed. --config.label=org.opensuse.base.disturl=obs://build.opensuse.org/home:adrianSuSE:branches:openSUSE:Factory:ARM/images/828d5d0c2443ca8e4074531064c09ce1-opensuse-tumbleweed-image:docker --config.label=org.opensuse.base.reference=registry.opensuse.org/opensuse/tumbleweed:20200205.10.2 --config.label=org.opensuse.base.title=openSUSE Tumbleweed Base Container --config.label=org.opensuse.base.url=https://www.opensuse.org/ --config.label=org.opensuse.base.vendor=openSUSE Project --config.label=org.opensuse.base.version=20200205.10.2 --config.label=org.opensuse.reference=registry.opensuse.org/opensuse/tumbleweed:20200205.10.2 --no-history --image /tmp/kiwi_oci_dir.emheujo9/oci_layout:base_layer --tag latest --created 2020-02-06T15:06:30+00:00]

adrianschroeter avatar Feb 06 '20 15:02 adrianschroeter

Hi,

please keep David in the loop. A lot of the container coding was done by him

Thanks

On Thu, Feb 06, Adrian Schröter wrote:

kiwi from [1]@schaefi is calling umoci this way to create a base container ... is there an option missing?

[ 285s] [ DEBUG ]: 15:06:35 | EXEC: [umoci repack --history.comment=openSUSE Tumbleweed 20200205 Base Container --history.created_by=KIWI 9.19.10 --history.author=Fabian Vogt [2][email protected] --history.created 2020-02-06T15:06:30+00:00 --image /tmp/kiwi_oci_dir.emheujo9/oci_layout:base_layer /tmp/kiwi_oci_root_dir.1mwlli35] [ 293s] [ DEBUG ]: 15:06:43 | EXEC: [umoci config --author=Fabian Vogt [3][email protected] --config.cmd=/bin/bash --config.label=org.openbuildservice.disturl=obs://build.opensuse.org/ho me:adrianSuSE:branches:openSUSE:Factory:ARM/images/828d5d0c2443ca8e4074 531064c09ce1-opensuse-tumbleweed-image:docker --config.label=org.opencontainers.image.created=2020-02-06T15:05:06.900 947580Z --config.label=org.opencontainers.image.description=Image containing a minimal environment for containers based on openSUSE Tumbleweed. --config.label=org.opencontainers.image.title=openSUSE Tumbleweed Base Container --config.label=org.opencontainers.image.url=https://www.opensuse.org/ --config.label=org.opencontainers.image.vendor=openSUSE Project --config.label=org.opencontainers.image.version=20200205.10.2 --config.label=org.opensuse.base.created=2020-02-06T15:05:06.900947580Z --config.label=org.opensuse.base.description=Image containing a minimal environment for containers based on openSUSE Tumbleweed. --config.label=org.opensuse.base.disturl=obs://build.opensuse.org/home: adrianSuSE:branches:openSUSE:Factory:ARM/images/828d5d0c2443ca8e4074531 064c09ce1-opensuse-tumbleweed-image:docker --config.label=org.opensuse.base.reference=registry.opensuse.org/opensu se/tumbleweed:20200205.10.2 --config.label=org.opensuse.base.title=openSUSE Tumbleweed Base Container --config.label=org.opensuse.base.url=https://www.opensuse.org/ --config.label=org.opensuse.base.vendor=openSUSE Project --config.label=org.opensuse.base.version=20200205.10.2 --config.label=org.opensuse.reference=registry.opensuse.org/opensuse/tu mbleweed:20200205.10.2 --no-history --image /tmp/kiwi_oci_dir.emheujo9/oci_layout:base_layer --tag latest --created 2020-02-06T15:06:30+00:00]

— You are receiving this because you were mentioned. Reply to this email directly, [4]view it on GitHub, or [5]unsubscribe.

References

  1. https://github.com/schaefi
  2. mailto:[email protected]
  3. mailto:[email protected]
  4. https://github.com/openSUSE/umoci/issues/313?email_source=notifications&email_token=AAG6W2WV5YMSBRIYM7HQCDLRBQWORA5CNFSM4KQ7G2JKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK7WLSY#issuecomment-582968779
  5. https://github.com/notifications/unsubscribe-auth/AAG6W2VYCVUOQPOWTFM7GADRBQWORANCNFSM4KQ7G2JA

-- Public Key available via: https://keybase.io/marcus_schaefer/key.asc keybase search marcus_schaefer

Marcus Schäfer (Res. & Dev.) SUSE Software Solutions Germany GmbH Tel: 0911-740 53 0 Maxfeldstrasse 5 FAX: 0911-740 53 479 D-90409 Nürnberg HRB: 21284 (AG Nürnberg) Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton http://www.suse.de

schaefi avatar Feb 07 '20 08:02 schaefi

umoci has very ... limited ... support for architecture specification because the entire design of architecture handling in OCI was being redesigned when I first started working on umoci.

Taking a quick look, the main annoyance is that Go doesn't expose the ARM variant at runtime like it does runtime.GOARCH. We could inject the variant at build-time (runtime.GOARCH is also effectively a build-time value) because there's a GOARM environment variable defined during build (which we can get with go env GOARM), but I'm not sure if that's the right thing to do for ARM variants.

cyphar avatar Feb 08 '20 18:02 cyphar

Please note we would need to set v8 variant for aarch64/arm64. See: https://bugzilla.opensuse.org/show_bug.cgi?id=1170063 Skopeo now has --override-variant option https://github.com/containers/skopeo/pull/793

ggardet avatar Apr 22 '20 09:04 ggardet

While I'm not a huge fan of endless command-line options to specify things that should be done automatically, having a way to configure some of these things could be useful for solving some of the other open issues in umoci (such as not being able to add annotations to arbitrary descriptors...).

cyphar avatar Apr 23 '20 10:04 cyphar