Description of problem: The registry-server command fails to start on any system that does not have a /tmp directory available and writable. This means that any indexes with scratch or binary-only bases are affected. Version-Release number of selected component (if applicable): 4.5.0 How reproducible: Always Steps to Reproduce: 1. Create an index using opm: opm index add --bundles <bundle-img-ref> --tag <index-img-ref> (this should use the binary-only upstream-opm-builder image) 2. Attempt to run the index w/ docker or podman: docker run -it <index-img-ref> Actual results: docker run -it <index-img-ref> ✘ 130 Error: open /tmp/db-085883360: no such file or directory Usage: [flags] Flags: -d, --database string relative path to sqlite db (default "bundles.db") -h, --help help for this command -p, --port string port number to serve on (default "50051") --skip-migrate do not attempt to migrate to the latest db revision when starting -t, --termination-log string path to a container termination log file (default "/dev/termination-log") time="2020-06-03T20:51:33Z" level=panic msg="open /tmp/db-085883360: no such file or directory" panic: (*logrus.Entry) (0x1084020,0xc0001436c0) goroutine 1 [running]: github.com/sirupsen/logrus.Entry.log(0xc0000b8000, 0xc0001854a0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /build/vendor/github.com/sirupsen/logrus/entry.go:239 +0x2db github.com/sirupsen/logrus.(*Entry).Log(0xc000143570, 0xc000000000, 0xc00010ff40, 0x1, 0x1) /build/vendor/github.com/sirupsen/logrus/entry.go:268 +0xeb github.com/sirupsen/logrus.(*Logger).Log(0xc0000b8000, 0x0, 0xc00010ff40, 0x1, 0x1) /build/vendor/github.com/sirupsen/logrus/logger.go:192 +0x7d github.com/sirupsen/logrus.(*Logger).Panic(...) /build/vendor/github.com/sirupsen/logrus/logger.go:233 github.com/sirupsen/logrus.Panic(...) /build/vendor/github.com/sirupsen/logrus/exported.go:129 main.main() /build/cmd/registry-server/main.go:51 +0xbe Expected results: The registry-server starts normally; no panic logs.
1, Build the latest version: opm [root@preserve-olm-env operator-registry]# ./bin/opm version Version: version.Version{OpmVersion:"1.12.3", GitCommit:"b3fdc91", BuildDate:"2020-06-11T08:07:39Z", GoOs:"linux", GoArch:"amd64"} 2, run the `index add` [root@preserve-olm-env operator-registry]# ./bin/opm index add -b quay.io/olmqe/etcd-bundle:0.9.0 -t quay.io/olmqe/etcd-index:1843702 INFO[0000] building the index bundles="[quay.io/olmqe/etcd-bundle:0.9.0]" INFO[0000] resolved name: quay.io/olmqe/etcd-bundle:0.9.0 INFO[0000] fetched digest="sha256:df6e623ed57f46c4ff80fd2fb027859986066570f7e6aae6435cd74908ed3333" INFO[0000] fetched digest="sha256:b107658da605b5721c34b3fc2abf9e6515aba4d0a7020e407131f783d77148f3" INFO[0000] fetched digest="sha256:e2e833ebbda87e017110ab08bd2c03b46540409d9014e4685d2736e206caf0f2" INFO[0000] fetched digest="sha256:78a6cdfac35dc99cea2ae6e012ddd6d556c163ecf55e694767efb1593f1eeb2c" INFO[0001] unpacking layer: {application/vnd.docker.image.rootfs.diff.tar.gzip sha256:78a6cdfac35dc99cea2ae6e012ddd6d556c163ecf55e694767efb1593f1eeb2c 8006 [] map[] <nil>} INFO[0001] unpacking layer: {application/vnd.docker.image.rootfs.diff.tar.gzip sha256:b107658da605b5721c34b3fc2abf9e6515aba4d0a7020e407131f783d77148f3 260 [] map[] <nil>} INFO[0001] Could not find optional dependencies file dir=bundle_tmp972628853 file=bundle_tmp972628853/metadata load=annotations INFO[0001] found csv, loading bundle dir=bundle_tmp972628853 file=bundle_tmp972628853/manifests load=bundle INFO[0001] loading bundle file dir=bundle_tmp972628853/manifests file=etcdbackups.etcd.database.coreos.com.crd.yaml load=bundle INFO[0001] loading bundle file dir=bundle_tmp972628853/manifests file=etcdclusters.etcd.database.coreos.com.crd.yaml load=bundle INFO[0001] loading bundle file dir=bundle_tmp972628853/manifests file=etcdoperator.v0.9.0.clusterserviceversion.yaml load=bundle INFO[0001] loading bundle file dir=bundle_tmp972628853/manifests file=etcdrestores.etcd.database.coreos.com.crd.yaml load=bundle INFO[0001] Generating dockerfile bundles="[quay.io/olmqe/etcd-bundle:0.9.0]" INFO[0001] writing dockerfile: index.Dockerfile188207883 bundles="[quay.io/olmqe/etcd-bundle:0.9.0]" INFO[0001] running podman build bundles="[quay.io/olmqe/etcd-bundle:0.9.0]" INFO[0001] [podman build --format docker -f index.Dockerfile188207883 -t quay.io/olmqe/etcd-index:1843702 .] bundles="[quay.io/olmqe/etcd-bundle:0.9.0]" 3, Run the podman command, it works well, LGTM, verify it. [root@preserve-olm-env operator-registry]# podman run -ti quay.io/olmqe/etcd-index:1843702 time="2020-06-11T08:17:08Z" level=info msg="serving registry" database=/database/index.db port=50051
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