Skip to content

Only the first ThirdPartyResource created in a groupVersion actually installed #25570

Closed
@sjenning

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.

Metadata

Assignees

No one assigned

    Labels

    sig/api-machineryCategorizes an issue or PR as relevant to SIG API Machinery.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions