Only the first ThirdPartyResource created in a groupVersion actually installed #25570
Closed
Description
# kubectl version
Client Version: version.Info{Major:"1", Minor:"3+", GitVersion:"v1.3.0-alpha.3.756+64c5809bd57784", GitCommit:"64c5809bd577848ba0fb271e1cbe6b372256fe15", GitTreeState:"clean", BuildDate:"2016-05-12T21:33:55Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"3+", GitVersion:"v1.3.0-alpha.3.756+64c5809bd57784", GitCommit:"64c5809bd577848ba0fb271e1cbe6b372256fe15", GitTreeState:"clean", BuildDate:"2016-05-12T21:33:55Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
I create two TPRs:
# cat catalog.yaml
kind: ThirdPartyResource
apiVersion: extensions/v1beta1
metadata:
name: catalog.alpha.redhat.com
description: "A specification of a catalog of resources"
versions:
- name: v1alpha1
# cat catalog-entry.yaml
kind: ThirdPartyResource
apiVersion: extensions/v1beta1
metadata:
name: catalog-entry.alpha.redhat.com
description: "A specification of a resource in a catalog"
versions:
- name: v1alpha1
Both show up in the ThirdPartyResourceList...
curl http://127.0.0.1:8080/apis/extensions/v1beta1/thirdpartyresources
{
"kind": "ThirdPartyResourceList",
"apiVersion": "extensions/v1beta1",
"metadata": {
"selfLink": "/apis/extensions/v1beta1/thirdpartyresources",
"resourceVersion": "75"
},
"items": [
{
"metadata": {
"name": "catalog-entry.alpha.redhat.com",
"selfLink": "/apis/extensions/v1beta1/thirdpartyresources/catalog-entry.alpha.redhat.com",
"uid": "8c4a60e0-1889-11e6-bfe6-bc5ff47352bf",
"resourceVersion": "25",
"creationTimestamp": "2016-05-12T21:36:12Z"
},
"description": "A specification of a resource in a catalog",
"versions": [
{
"name": "v1alpha1"
}
]
},
{
"metadata": {
"name": "catalog.alpha.redhat.com",
"selfLink": "/apis/extensions/v1beta1/thirdpartyresources/catalog.alpha.redhat.com",
"uid": "89a0a0c8-1889-11e6-bfe6-bc5ff47352bf",
"resourceVersion": "23",
"creationTimestamp": "2016-05-12T21:36:07Z"
},
"description": "A specification of a catalog of resources",
"versions": [
{
"name": "v1alpha1"
}
]
}
]
}
but only the first is actually installed.
curl http://127.0.0.1:8080/apis/alpha.redhat.com/v1alpha1/
{
"kind": "APIResourceList",
"apiVersion": "v1",
"groupVersion": "alpha.redhat.com/v1alpha1",
"resources": [
{
"name": "catalogs",
"namespaced": true,
"kind": "Catalog"
}
]
}
If I reverse the order in which they are created, the first one is always the one that gets installed.