Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Loading multiple specs for an imagestream #789

Closed
rthallisey opened this issue Feb 23, 2018 · 2 comments
Closed

Loading multiple specs for an imagestream #789

rthallisey opened this issue Feb 23, 2018 · 2 comments
Assignees
Labels
3.9 | release-1.1 Kubernetes 1.9 | Openshift 3.9 | Broker release-1.1 3.10 | release-1.2 Kubernetes 1.10 | Openshift 3.10 | Broker release-1.2

Comments

@rthallisey
Copy link
Contributor

Bug:

The broker reads specs from the openshift registry using the image resource. But, openshift identifies containers (container_name:tag) with the imagestream resource.

[rhallisey@rhev-i16c-04 ansible-service-broker]$ oc get imagestream -n openshift
NAME             DOCKER REPO                                TAGS                           UPDATED
postgresql-apb   172.30.1.1:5000/openshift/postgresql-apb   latest                         45 hours ago

The problem is there can be multiple images per imagestream, but only one of those images is the 'latest'.

[rhallisey@rhev-i16c-04 ansible-service-broker]$ oc get images | grep postgresql-apb
sha256:024d6c20ba2adc34644fd9d26b154ade0bac991addcea85540cf25d07418599d   172.30.1.1:5000/openshift/postgresql-apb@sha256:024d6c20ba2adc34644fd9d26b154ade0bac991addcea85540cf25d07418599d
sha256:6ea3e60c088cf5d217ad43e75ae01786553a9d0e21c39c522a6b19679acebc32   172.30.1.1:5000/openshift/postgresql-apb@sha256:6ea3e60c088cf5d217ad43e75ae01786553a9d0e21c39c522a6b19679acebc32

This causes the broker to read every image available, instead of only the 'latest', and process each spec. So it's not guaranteed the 'latest' spec is passed on to the service-catalog.

Logs:

IMAGE: {172.30.1.1:5000/openshift/postgresql-apb@sha256:6ea3e60c088cf5d217ad43e75ae01786553a9d0e21c39c522a6b19679acebc32 {{{IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI
yMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTaGFyZWQgUGFyYW1ldGVycwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpfcDogJl9wCiAg
LSBuYW1lOiBwb3N0Z3Jlc3FsX2RhdGFiYXNlCiAgICBkZWZhdWx0OiBhZG1pbgogICAgdHlwZTogc3RyaW5nCiAgICB0aXRsZTogUG9zdGdyZVNRTCBEYXRhYmFzZSBOYW1lCiAgICBwYXR0ZXJuOiAiXlthLXpBLVpfXVthLXpBLVowLTlfXSokIgogICAgcmVxdWlyZWQ6IHRydWU
KICAtIG5hbWU6IHBvc3RncmVzcWxfdXNlcgogICAgZGVmYXVsdDogYWRtaW4KICAgIHRpdGxlOiBQb3N0Z3JlU1FMIFVzZXIKICAgIHR5cGU6IHN0cmluZwogICAgbWF4bGVuZ3RoOiA2MwogICAgcGF0dGVybjogIl5bYS16QS1aX11bYS16QS1aMC05X10qJCIKICAgIHJlcXVpcm
VkOiB0cnVlCiAgLSBuYW1lOiBwb3N0Z3Jlc3FsX3Bhc3N3b3JkCiAgICB0eXBlOiBzdHJpbmcKICAgIHRpdGxlOiBQb3N0Z3JlU1FMIFBhc3N3b3JkCiAgICBkaXNwbGF5X3R5cGU6IHBhc3N3b3JkCiAgICBwYXR0ZXJuOiAiXlthLXpBLVowLTlffiFAIyQlXiYqKCktPTw+LC4/O
zp8XSskIgogICAgcmVxdWlyZWQ6IHRydWUKICAtIG5hbWU6IHBvc3RncmVzcWxfdmVyc2lvbgogICAgZGVmYXVsdDogJzkuNicKICAgIGVudW06IFsnOS42JywgJzkuNScsICc5LjQnXQogICAgdHlwZTogZW51bQogICAgdGl0bGU6IFBvc3RncmVTUUwgVmVyc2lvbgogICAgcmVx
dWlyZWQ6IHRydWUKICAgIHVwZGF0YWJsZTogdHJ1ZQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwp2ZXJzaW9uOiAxLjAKbmFtZTogcG9zdGdyZXNxbC1hcGIKZGVzY3JpcHRpb24
6IFNDTCBQb3N0Z3JlU1FMIGFwYiBpbXBsZW1lbnRhdGlvbgpiaW5kYWJsZTogdHJ1ZQphc3luYzogb3B0aW9uYWwKdGFnczoKICAtIGRhdGFiYXNlCiAgLSBwb3N0Z3Jlc3FsCm1ldGFkYXRhOgogIGRvY3VtZW50YXRpb25Vcmw6IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL2
RvY3MvCiAgbG9uZ0Rlc2NyaXB0aW9uOiBBbiBhcGIgdGhhdCBkZXBsb3lzIHBvc3RncmVzcWwgOS40LCA5LjUsIG9yIDkuNi4KICBkZXBlbmRlbmNpZXM6CiAgICAtICdyZWdpc3RyeS5hY2Nlc3MucmVkaGF0LmNvbS9yaHNjbC9wb3N0Z3Jlc3FsLTk0LXJoZWw3JwogICAgLSAnc
mVnaXN0cnkuYWNjZXNzLnJlZGhhdC5jb20vcmhzY2wvcG9zdGdyZXNxbC05NS1yaGVsNycKICAgIC0gJ3JlZ2lzdHJ5LmFjY2Vzcy5yZWRoYXQuY29tL3Joc2NsL3Bvc3RncmVzcWwtOTYtcmhlbDcnCiAgZGlzcGxheU5hbWU6IFBvc3RncmVTUUwgKEFQQikKICBjb25zb2xlLm9w
ZW5zaGlmdC5pby9pY29uQ2xhc3M6IGljb24tcG9zdGdyZXNxbAogIHByb3ZpZGVyRGlzcGxheU5hbWU6ICJSZWQgSGF0LCBJbmMuIgpwbGFuczoKICAtIG5hbWU6IGRldgogICAgZGVzY3JpcHRpb246IEEgc2luZ2xlIERCIHNlcnZlciB3aXRoIG5vIHN0b3JhZ2UKICAgIGZyZWU
6IHRydWUKICAgIG1ldGFkYXRhOgogICAgICBkaXNwbGF5TmFtZTogRGV2ZWxvcG1lbnQKICAgICAgbG9uZ0Rlc2NyaXB0aW9uOiBUaGlzIHBsYW4gcHJvdmlkZXMgYSBzaW5nbGUgbm9uLUhBIFBvc3RncmVTUUwgc2VydmVyIHdpdGhvdXQgcGVyc2lzdGVudCBzdG9yYWdlCiAgIC
AgIGNvc3Q6ICQwLjAwCiAgICBwYXJhbWV0ZXJzOiAqX3AKICAgIHVwZGF0ZXNfdG86CiAgICAgIC0gcHJvZAogIC0gbmFtZTogcHJvZAogICAgZGVzY3JpcHRpb246IEEgc2luZ2xlIERCIHNlcnZlciB3aXRoIHBlcnNpc3RlbnQgc3RvcmFnZQogICAgZnJlZTogdHJ1ZQogICAgb
WV0YWRhdGE6CiAgICAgIGRpc3BsYXlOYW1lOiBQcm9kdWN0aW9uCiAgICAgIGxvbmdEZXNjcmlwdGlvbjogVGhpcyBwbGFuIHByb3ZpZGVzIGEgc2luZ2xlIG5vbi1IQSBQb3N0Z3JlU1FMIHNlcnZlciB3aXRoIHBlcnNpc3RlbnQgc3RvcmFnZQogICAgICBjb3N0OiAkMC4wMAog
ICAgcGFyYW1ldGVyczogKl9wCiAgICB1cGRhdGVzX3RvOgogICAgICAtIGRldgo= 2}}}}

IMAGE: {172.30.1.1:5000/openshift/postgresql-apb@sha256:d816000fbfc534a8a5d0f591a7a98422929e6664f8b8b0010dffaaa42450526a {{{dmVyc2lvbjogMS4wCm5hbWU6IHBvc3RncmVzcWwtYXBiC
mRlc2NyaXB0aW9uOiBTQ0wgUG9zdGdyZVNRTCBhcGIgaW1wbGVtZW50YXRpb24KYmluZGFibGU6IHRydWUKYXN5bmM6IG9wdGlvbmFsCnRhZ3M6CiAgLSBkYXRhYmFzZQogIC0gcG9zdGdyZXNxbAptZXRhZGF0YToKICBkb2N1bWVudGF0aW9uVXJsOiBodHRwczovL3d3dy5wb3N0
Z3Jlc3FsLm9yZy9kb2NzLwogIGxvbmdEZXNjcmlwdGlvbjogQW4gYXBiIHRoYXQgZGVwbG95cyBwb3N0Z3Jlc3FsIDkuNCwgOS41LCBvciA5LjYuCiAgZGVwZW5kZW5jaWVzOgogICAgLSAncmVnaXN0cnkuYWNjZXNzLnJlZGhhdC5jb20vcmhzY2wvcG9zdGdyZXNxbC05NC1yaGV
sNycKICAgIC0gJ3JlZ2lzdHJ5LmFjY2Vzcy5yZWRoYXQuY29tL3Joc2NsL3Bvc3RncmVzcWwtOTUtcmhlbDcnCiAgICAtICdyZWdpc3RyeS5hY2Nlc3MucmVkaGF0LmNvbS9yaHNjbC9wb3N0Z3Jlc3FsLTk2LXJoZWw3JwogIGRpc3BsYXlOYW1lOiBQb3N0Z3JlU1FMIChBUEIpCi
AgY29uc29sZS5vcGVuc2hpZnQuaW8vaWNvbkNsYXNzOiBpY29uLXBvc3RncmVzcWwKICBwcm92aWRlckRpc3BsYXlOYW1lOiAiUmVkIEhhdCwgSW5jLiIKcGxhbnM6CiAgLSBuYW1lOiBkZXYKICAgIGRlc2NyaXB0aW9uOiBBIHNpbmdsZSBEQiBzZXJ2ZXIgd2l0aCBubyBzdG9yY
WdlCiAgICBmcmVlOiB0cnVlCiAgICBtZXRhZGF0YToKICAgICAgZGlzcGxheU5hbWU6IERldmVsb3BtZW50CiAgICAgIGxvbmdEZXNjcmlwdGlvbjogVGhpcyBwbGFuIHByb3ZpZGVzIGEgc2luZ2xlIG5vbi1IQSBQb3N0Z3JlU1FMIHNlcnZlciB3aXRob3V0IHBlcnNpc3RlbnQg
c3RvcmFnZQogICAgICBjb3N0OiAkMC4wMAogICAgcGFyYW1ldGVyczoKICAgICAgLSBuYW1lOiBwb3N0Z3Jlc3FsX2RhdGFiYXNlCiAgICAgICAgZGVmYXVsdDogYWRtaW4KICAgICAgICB0eXBlOiBzdHJpbmcKICAgICAgICB0aXRsZTogUG9zdGdyZVNRTCBEYXRhYmFzZSBOYW1
lCiAgICAgICAgcGF0dGVybjogIl5bYS16QS1aX11bYS16QS1aMC05X10qJCIKICAgICAgICByZXF1aXJlZDogdHJ1ZQo= 2}}}}
@rthallisey rthallisey added 3.9 | release-1.1 Kubernetes 1.9 | Openshift 3.9 | Broker release-1.1 3.10 | release-1.2 Kubernetes 1.10 | Openshift 3.10 | Broker release-1.2 bug labels Feb 23, 2018
@shawn-hurley shawn-hurley self-assigned this Mar 6, 2018
@rthallisey
Copy link
Contributor Author

Went and looked back at my WIP patch and it's not functional. I got to the point where I needed to decide how we're going to only load correct image in the imagestream.

My approach was to make two calls in ConvertRegistryImagesToSpecs. First, find that latest image in the imagestream. Second, load the spec for that image.

@shawn-hurley
Copy link
Contributor

openshift/origin@55d81cc#diff-1220e9cc9035279fce5d41ca3f4fec96

Closing due to commit in openshift origin that fixes the bug I think.

Please re-open if you have the commit and still see the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.9 | release-1.1 Kubernetes 1.9 | Openshift 3.9 | Broker release-1.1 3.10 | release-1.2 Kubernetes 1.10 | Openshift 3.10 | Broker release-1.2
Projects
None yet
Development

No branches or pull requests

2 participants