similar to Bug 1710293 - Wrong storage prefix for kubernetes resources in etcd
Service Catalog should specify the storage prefix for all service catalog resources and not use the default of /registry/
It should be set to /servicecatalog.k8s.io/ per Derek. This should be delivered to 4.1 and master.
PR posted https://github.com/openshift/cluster-svcat-apiserver-operator/pull/54
Do you mean we should remove `/registry` and use the `/servicecatalog.k8s.io` as the prefix directly, right?
Current storage path of Service Catalog resources in etcd:
Cluster version is 4.1.0-0.nightly-2019-05-15-151517
sh-4.2# ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 --cacert=/etc/ssl/etcd/ca.crt --cert=/etc/ssl/etcd/system:etcd-peer:etcd-0.baremetal-lab-01.qe.devcluster.openshift.com.crt --key=/etc/ssl/etcd/system:etcd-peer:etcd-0.baremetal-lab-01.qe.devcluster.openshift.com.key get / --prefix --keys-only |grep registry|grep servicecatalog
the /registry/ is the default storage prefix. This issue was created to change that. Derek & master team provided direction and final determination was made to replace /registry/ with /servicecatalog/. The new storage path will look like this:
This issue is fixed by https://github.com/openshift/cluster-svcat-apiserver-operator/pull/55 in 4.1.
The issue is also fixed in master by https://github.com/openshift/cluster-svcat-apiserver-operator/pull/54.
Verified on 4.1.0-0.nightly-2019-05-16-142927
Steps of verification
1) Deployed Service Catalog
2) Created a simple Cluster Service Broker called "example-cluster-service-broker"
3) Checked storage path of Service Catalog:
oc rsh -n openshift-etcd etcd-member-ip-10-0-138-182.sa-east-1.compute.internal
sh-4.2# export ETCDCTL_API=3 ETCDCTL_CACERT=/etc/ssl/etcd/ca.crt ETCDCTL_CERT=`ls /etc/ssl/etcd/*etcd-peer*crt` ETCDCTL_KEY=`ls /etc/ssl/etcd/*etcd-peer*key`
sh-4.2# etcdctl get / --endpoints 127.0.0.1:2379 --prefix --keys-only | grep "^/servicecatalog/"
It has /servicecatalog/servicecatalog.k8s.io/ prefix as expected.
Got it, thank you for the clarification!
Excellent! You know, currently, the Service Catalog operators don't provide the `version` info, so we use commit PR to trace it.
so it would be great if you could provide the source commit id of svcat-apiserver. Like below, the current source commit is `fc35db5b2fe00bc912ae1468fda32ba5d46852fe` in branch 4.1 which above fixed PR merged in.
mac:0517 jianzhang$ oc get pods -n openshift-service-catalog-apiserver-operator -o yaml|grep image
mac:0517 jianzhang$ oc image info quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:a3f943eac706035025b87f11564771a525c97b8d693f47414d39d689a032bb15|grep commit
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, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.