Bug 1875557 - No mac and windows builds available for downstream OPM
Summary: No mac and windows builds available for downstream OPM
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: OLM
Version: 4.6
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.6.0
Assignee: Evan Cordell
QA Contact: kuiwang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-03 18:34 UTC by Evan Cordell
Modified: 2020-10-27 16:38 UTC (History)
0 users

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-10-27 16:37:51 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github operator-framework operator-registry pull 430 0 None closed Bug 1875557: add mac and windows binaries to the amd64 build 2020-12-08 17:03:05 UTC
Github operator-framework operator-registry pull 435 0 None closed Bug 1875557: fix(bin): don't overwrite /bin 2020-12-08 17:03:05 UTC
Github operator-framework operator-registry pull 443 0 None closed Bug 1875557: add cross build back 2020-12-08 17:03:05 UTC
Red Hat Product Errata RHBA-2020:4196 0 None None None 2020-10-27 16:38:04 UTC

Description Evan Cordell 2020-09-03 18:34:28 UTC
There are currently no mac and windows builds of `opm` downstream. These should be available so that opm users have a supported build to use on mac and windows.

Comment 3 kuiwang 2020-09-11 02:27:51 UTC
verify it on 4.6. LGTM

--
[root@preserve-olm-env operator-registry]# git branch
* master
[root@preserve-olm-env operator-registry]# git log -n 1
commit cccf27a2efe982269cdeec69a7b4643c2824a614
Merge: e92049a f1a3c75
Author: OpenShift Merge Robot <openshift-merge-robot.github.com>
Date:   Wed Sep 9 20:36:14 2020 -0400

    Merge pull request #437 from ecordell/fix-workdir
    
    Bug 1877603: add workdir permissions back


[root@preserve-olm-env operator-registry]# docker build -t quay.io/kuiwang/operator-registry:v1875557 . 
Sending build context to Docker daemon  103.6MB
Step 1/22 : FROM registry.svc.ci.openshift.org/ocp/builder:rhel-8-golang-openshift-4.6-clang as builder
 ---> acc230bbf2b6
Step 2/22 : ENV GOPATH /go
 ---> Using cache
 ---> e55c661f0e1c
Step 3/22 : ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
 ---> Using cache
 ---> 00e4d004c111
Step 4/22 : WORKDIR /src
 ---> Using cache
 ---> 501412824955
Step 5/22 : COPY vendor vendor
 ---> Using cache
 ---> 5dde04d03e95
Step 6/22 : COPY cmd cmd
 ---> 8e91a97dc095
Step 7/22 : COPY pkg pkg
 ---> e20b6e67cc97
Step 8/22 : COPY Makefile go.mod go.sum ./
 ---> 7a19dd0bf552
Step 9/22 : RUN make build cross
 ---> Running in e16b60b912bd
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/appregistry-server ./cmd/appregistry-server
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/configmap-server ./cmd/configmap-server
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/initializer ./cmd/initializer
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/registry-server ./cmd/registry-server
GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-11T02:07:31Z'"  -tags "json1" -o bin/opm ./cmd/opm
GOOS=darwin CC=o64-clang CXX=o64-clang++ CGO_ENABLED=1 GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-11T02:07:31Z'" -tags "json1" -o "bin/darwin-amd64-opm" --ldflags "-extld=o64-clang" ./cmd/opm
GOOS=windows CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CGO_ENABLED=1 GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-11T02:07:31Z'" -tags "json1"  -o "bin/windows-amd64-opm" --ldflags "-extld=x86_64-w64-mingw32-gcc" ./cmd/opm
Removing intermediate container e16b60b912bd
 ---> e1d7e65234ac
Step 10/22 : RUN CGO_ENABLED=0 go build -mod=vendor -tags netgo -ldflags "-w" ./vendor/github.com/grpc-ecosystem/grpc-health-probe/...
 ---> Running in 31c1155bd445
Removing intermediate container 31c1155bd445
 ---> 50f74a863d72
Step 11/22 : FROM registry.svc.ci.openshift.org/ocp/4.6:base
 ---> bb4c863efb39
Step 12/22 : COPY --from=builder /src/bin/* /tmp/bin/
 ---> 4c1c2a108ad8
Step 13/22 : COPY --from=builder /src/grpc-health-probe /bin/grpc_health_probe
 ---> e75f78d6b02a
Step 14/22 : RUN cp -avr /tmp/bin/. /bin/
 ---> Running in 2043455a657e
'/tmp/bin/./appregistry-server' -> '/bin/./appregistry-server'
'/tmp/bin/./configmap-server' -> '/bin/./configmap-server'
'/tmp/bin/./darwin-amd64-opm' -> '/bin/./darwin-amd64-opm'
'/tmp/bin/./initializer' -> '/bin/./initializer'
'/tmp/bin/./opm' -> '/bin/./opm'
'/tmp/bin/./registry-server' -> '/bin/./registry-server'
'/tmp/bin/./windows-amd64-opm' -> '/bin/./windows-amd64-opm'
Removing intermediate container 2043455a657e
 ---> 43952447f702
Step 15/22 : RUN mkdir /registry
 ---> Running in ef2e513f1f5e
Removing intermediate container ef2e513f1f5e
 ---> bd0d0fef55a8
Step 16/22 : RUN chgrp -R 0 /registry &&     chmod -R g+rwx /registry
 ---> Running in 91bc6e0052ca
Removing intermediate container 91bc6e0052ca
 ---> 097d3b27058c
Step 17/22 : WORKDIR /registry
 ---> Running in 8bf21aa663d5
Removing intermediate container 8bf21aa663d5
 ---> 8ac285ecc80d
Step 18/22 : USER 1001
 ---> Running in 0ecd9a53bced
Removing intermediate container 0ecd9a53bced
 ---> 858a4e2a722c
Step 19/22 : EXPOSE 50051
 ---> Running in 4ccebac10ef5
Removing intermediate container 4ccebac10ef5
 ---> 0ccc5d31a0b1
Step 20/22 : ENTRYPOINT ["/bin/registry-server"]
 ---> Running in aafc8be84129
Removing intermediate container aafc8be84129
 ---> 3d3987502ca1
Step 21/22 : CMD ["--database", "/bundles.db"]
 ---> Running in 35b40ad25e7a
Removing intermediate container 35b40ad25e7a
 ---> aeee5225c24a
Step 22/22 : LABEL io.k8s.display-name="OpenShift Operator Registry"       io.k8s.description="This is a component of OpenShift Operator Lifecycle Manager and is the base for operator catalog API containers."       maintainer="Odin Team <aos-odin>"       summary="Operator Registry runs in a Kubernetes or OpenShift cluster to provide operator catalog data to Operator Lifecycle Manager."
 ---> Running in 9020fd45c022
Removing intermediate container 9020fd45c022
 ---> f83bd04f893d
Successfully built f83bd04f893d
Successfully tagged quay.io/kuiwang/operator-registry:v1875557
--

Comment 4 Evan Cordell 2020-09-14 21:15:19 UTC
Had some issues with the downstream builds, which caused us to remove this and then re-add it back. 

If it's okay, I'm just re-using this BZ - when the linked PR merges and the downstream build happens, we should see mac/windows builds in the downstream images.

Comment 6 kuiwang 2020-09-15 01:59:09 UTC
LGTM

--
[root@preserve-olm-env operator-registry]# git log -n 1
commit 54441b00eb0554dcf2b6117bc42fad675ef913d4
Merge: b54d23b 244ce52
Author: OpenShift Merge Robot <openshift-merge-robot.github.com>
Date:   Mon Sep 14 17:22:58 2020 -0400

    Merge pull request #443 from ecordell/readd-cross
    
    Bug 1875557: add cross build back
[root@preserve-olm-env operator-registry]# docker build -t quay.io/kuiwang/operator-registry:v1875557 .
Sending build context to Docker daemon  103.8MB
Step 1/22 : FROM registry.svc.ci.openshift.org/ocp/builder:rhel-8-golang-openshift-4.6-clang as builder
rhel-8-golang-openshift-4.6-clang: Pulling from ocp/builder
77c58f19bd6e: Pull complete 
47db82df7f3f: Pull complete 
fa172450bf3a: Pull complete 
8e7469d151d3: Pull complete 
Digest: sha256:651519861e108295d76f4791874146e051d08282cc3899cd7d7e148ab5b11198
Status: Downloaded newer image for registry.svc.ci.openshift.org/ocp/builder:rhel-8-golang-openshift-4.6-clang
 ---> acc230bbf2b6
Step 2/22 : ENV GOPATH /go
 ---> Running in 57810acaae43
Removing intermediate container 57810acaae43
 ---> 0e3fd634a909
Step 3/22 : ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
 ---> Running in 4db7d40b8de3
Removing intermediate container 4db7d40b8de3
 ---> af5b85a5e8b3
Step 4/22 : WORKDIR /src
 ---> Running in 5918a8d23de6
Removing intermediate container 5918a8d23de6
 ---> c83462f601d9
Step 5/22 : COPY vendor vendor
 ---> d5dab2297726
Step 6/22 : COPY cmd cmd
 ---> b21b540ffbda
Step 7/22 : COPY pkg pkg
 ---> 499068439d86
Step 8/22 : COPY Makefile go.mod go.sum ./
 ---> ad29b445f21b
Step 9/22 : RUN make build cross
 ---> Running in 0b8a0d6dd58a
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/appregistry-server ./cmd/appregistry-server
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/configmap-server ./cmd/configmap-server
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/initializer ./cmd/initializer
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/registry-server ./cmd/registry-server
GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-15T01:20:17Z'"  -tags "json1" -o bin/opm ./cmd/opm
GOOS=darwin CC=o64-clang CXX=o64-clang++ CGO_ENABLED=1 GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-15T01:20:17Z'" -tags "json1" -o "bin/darwin-amd64-opm" --ldflags "-extld=o64-clang" ./cmd/opm
GOOS=windows CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CGO_ENABLED=1 GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-15T01:20:17Z'" -tags "json1"  -o "bin/windows-amd64-opm" --ldflags "-extld=x86_64-w64-mingw32-gcc" ./cmd/opm
Removing intermediate container 0b8a0d6dd58a
 ---> 72505c3118b8
Step 10/22 : RUN CGO_ENABLED=0 go build -mod=vendor -tags netgo -ldflags "-w" ./vendor/github.com/grpc-ecosystem/grpc-health-probe/...
 ---> Running in 49861bf5624e
Removing intermediate container 49861bf5624e
 ---> 4e4dfd8c80f9
Step 11/22 : FROM registry.svc.ci.openshift.org/ocp/4.6:base
base: Pulling from ocp/4.6
77c58f19bd6e: Already exists 
47db82df7f3f: Already exists 
5bae0134722c: Pull complete 
22cbc6ff4c1f: Pull complete 
6e9dcd2984f6: Pull complete 
Digest: sha256:2a9204ed0ed258ca4ab731839d72bb02e767b9462a3e8ee6c38cfd8c164af48d
Status: Downloaded newer image for registry.svc.ci.openshift.org/ocp/4.6:base
 ---> bb4c863efb39
Step 12/22 : COPY --from=builder /src/bin/* /tmp/bin/
 ---> d3ce75d2aa2a
Step 13/22 : COPY --from=builder /src/grpc-health-probe /bin/grpc_health_probe
 ---> 9569510fb383
Step 14/22 : RUN cp -avr /tmp/bin/. /bin/
 ---> Running in b4e34898f3e0
'/tmp/bin/./appregistry-server' -> '/bin/./appregistry-server'
'/tmp/bin/./configmap-server' -> '/bin/./configmap-server'
'/tmp/bin/./darwin-amd64-opm' -> '/bin/./darwin-amd64-opm'
'/tmp/bin/./initializer' -> '/bin/./initializer'
'/tmp/bin/./opm' -> '/bin/./opm'
'/tmp/bin/./registry-server' -> '/bin/./registry-server'
'/tmp/bin/./windows-amd64-opm' -> '/bin/./windows-amd64-opm'
Removing intermediate container b4e34898f3e0
 ---> 1aacd6862741
Step 15/22 : RUN mkdir /registry
 ---> Running in 75a535b140b4
Removing intermediate container 75a535b140b4
 ---> eab0889bb62a
Step 16/22 : RUN chgrp -R 0 /registry &&     chmod -R g+rwx /registry
 ---> Running in 0f0217283bf8
Removing intermediate container 0f0217283bf8
 ---> 79c0c2acecb9
Step 17/22 : WORKDIR /registry
 ---> Running in 35afa34631bc
Removing intermediate container 35afa34631bc
 ---> a0bebd1ad8ef
Step 18/22 : USER 1001
 ---> Running in 81639a99d011
Removing intermediate container 81639a99d011
 ---> 72e3b4fe514e
Step 19/22 : EXPOSE 50051
 ---> Running in cc850128e0af
Removing intermediate container cc850128e0af
 ---> 90aff6b3adbe
Step 20/22 : ENTRYPOINT ["/bin/registry-server"]
 ---> Running in f59db31149d0
Removing intermediate container f59db31149d0
 ---> bf5aabf110bd
Step 21/22 : CMD ["--database", "/bundles.db"]
 ---> Running in ffeafd8938c9
Removing intermediate container ffeafd8938c9
 ---> e71c90c86e34
Step 22/22 : LABEL io.k8s.display-name="OpenShift Operator Registry"       io.k8s.description="This is a component of OpenShift Operator Lifecycle Manager and is the base for operator catalog API containers."       maintainer="Odin Team <aos-odin>"       summary="Operator Registry runs in a Kubernetes or OpenShift cluster to provide operator catalog data to Operator Lifecycle Manager."
 ---> Running in 330ade5d0ee8
Removing intermediate container 330ade5d0ee8
 ---> 5e9beb8475e4
Successfully built 5e9beb8475e4
Successfully tagged quay.io/kuiwang/operator-registry:v1875557


[root@preserve-olm-env operator-registry]# docker create registry-proxy.engineering.redhat.com/rh-osbs/openshift-ose-operator-registry:v4.6
18db10aff015f49589537bdeb2d5a333c26b49d3e312d1fbfbab2b17a7cb026d

[root@preserve-olm-env operator-registry]# docker cp 18db10aff015f49589537bdeb2d5a333c26b49d3e312d1fbfbab2b17a7cb026d:/bin/ tmp

[root@preserve-olm-env operator-registry]# ls -lrt tmp/bin/*opm*
-rwxr-xr-x. 1 root root 57070160 Sep 14 18:36 tmp/bin/opm
-rwxr-xr-x. 1 root root 66962408 Sep 14 18:37 tmp/bin/darwin-amd64-opm
-rwxr-xr-x. 1 root root 92657305 Sep 14 18:38 tmp/bin/windows-amd64-opm

--

Comment 8 errata-xmlrpc 2020-10-27 16:37:51 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Container Platform 4.6 GA Images), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4196


Note You need to log in before you can comment on or make changes to this bug.