Hi All,
I had a hard-requirement of using this image here - https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml for power(ppc64le) architecture. However i have noticed that images available here - https://quay.io/repository/dexidp/dex?tab=tags have support for "amd64" only as seen below
$ Using image available currently at quay.io
# docker inspect quay.io/dexidp/dex:v2.14.0 | grep Arch
"Architecture": "amd64",
Was able to build this image locally on a power machine as seen below
# arch
ppc64le
# /gopath/src/github.com/dexidp/dex# git branch
* (HEAD detached at v2.14.0)
master
# docker images | grep dex
quay.io/dexidp/dex v2.14.0 e98acf514934 2 minutes ago 29.3MB
# docker inspect quay.io/dexidp/dex:v2.14.0 | grep Arch
"Architecture": "ppc64le",
# docker run quay.io/dexidp/dex:v2.14.0
dex Version: v2.14.0
Go Version: go1.11.3
Go OS/ARCH: linux ppc64le
Can anyone let me know how can we add power support as well to make this image a multi-arch one at "quay.io" ?
Can anyone let me know how can we add power support as well to make this image a multi-arch one at "quay.io" ?
I have no idea how to do that. If there's a switch somewhere, I'm happy to toggle it 馃槃 @ghatwala do you know what to do? Could you find out? We might have to change our Dockerfile...? 馃
@srenatus -
We might have to change our Dockerfile...?
- Firstly i didnt have to do any changes to your dockerfile present here - https://github.com/dexidp/dex/blob/master/Dockerfile . It just worked out of box for me on "ppc64le".
do you know what to do? Could you find out?
- Guess its to done by creating a "manifest list" for the image , using the sample steps given here - https://docs.docker.com/engine/reference/commandline/manifest/. Since the dex docker image is owned by "dexidp' namespace in quay.io the manifest list needs to be created by owners only.
This is an example of an multi-arch image - https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/hello-world/
Other images use a suffix for their images https://quay.io/repository/coreos/flannel?tab=tags
Happy to see changes to the Makefile to support building different architectures. However, if we're going to publish images for other architectures under "quay.io/dexidp" I'd like a builder to ensure we're actually testing those code paths.
I'd like a builder to ensure we're actually testing those code paths.
馃挴 -- I guess we're looking for a co-maintainer focusing on the _power_ arch then... I don't have access (or time to get access) to that.
@srenatus and @ericchiang - i did make an attempt to add your travis builds on power by using below
`os:
https://travis-ci.org/ghatwala/dex/builds/483752059. however this fails with below curl command
until curl --fail http://localhost:5000/v3; do as present in your .travis.yml.
The issue found is due to the docker images mentioned in that *.yml mainly - openio/openstack-keystone:pike and gcr.io/etcd-development/etcd:v3.2.9 to be intel arch based only.
Also noted that there's power tag available for etcd image atleast and that works.
# docker run -d --net=host gcr.io/etcd-development/etcd:v3.2.26-ppc64le
c43dddb08c2e474d1b4e0660cad612d486baae13cc192c8bb9feca89d0a5c25f
# docker ps -a | grep etcd
c43dddb08c2e gcr.io/etcd-development/etcd:v3.2.26-ppc64le "/usr/local/bin/etcd" 3 seconds ago Up 2 seconds practical_pike
@ghatwala I suppose you could try expanding .travis.yml to use a build matrix, as outlined here:
matrix:
include:
- os: linux
env: ETCD_TAG=v3.2.26
- os: linux-ppc64le
env: ETCD_TAG=v3.2.26-ppc64le
# ...
So, there's _no keystone image_, am I understanding that correctly? 馃
@srenatus - yeah also as seen there are no ppc64le tags here - https://hub.docker.com/r/openio/openstack-keystone/tags . Also as in the github repo for this image - https://github.com/open-io/dockerfiles/tree/master/openstack-keystone .
I checked for centos:7 base image , on a power machine .
$ yum search centos-release-openstack
centos-release-openstack-ocata.noarch : OpenStack from the CentOS Cloud SIG repo configs
centos-release-openstack-queens.noarch : OpenStack from the CentOS Cloud SIG repo configs
centos-release-openstack-rocky.noarch : OpenStack from the CentOS Cloud SIG repo configs
So in short guess ocata/queens/rocky version would be present for openstack/ppc64le for centos base image. I am able to create power images for queens - https://github.com/open-io/dockerfiles/blob/master/openstack-keystone/queens/Dockerfile.
Looks like we could either
@ghatwala does that sound accurate? Or did I misunderstand the situation? Also, what would you propose? 馃槂
@srenatus - this looks best to me -
not test keystone (on travis) with ppc64le
- as don't want to keep a dependency with keystone community . as regards to creating images which again be time consuming , so this will be the quickest/easiest solution.
Now coming to my original query - with travis support added for ppc64le in this repo using above , can we then think of making "dex" docker image a multi-arch one at quay.io ? :)
Now coming to my original query - with travis support added for ppc64le in this repo using above , can we then think of making "dex" docker image a multi-arch one at quay.io ? :)
You're going to use this, right? So, can I ask for your help in testing the docker image before we do a release? 馃槂
Sure , i can do the validation of the image
@srenatus - any updates on above , please ?
@ghatwala Can you open a PR setting the stage for including ppc64le in our travis tests, please? I'll look into getting quay to work then...
@srenatus - PR raised - https://github.com/dexidp/dex/pull/1413.
Most helpful comment
You're going to use this, right? So, can I ask for your help in testing the docker image before we do a release? 馃槂