mirror of
https://github.com/kubernetes/client-go.git
synced 2025-07-02 01:42:19 +00:00
Merge pull request #52835 from FengyunPan/Versionless-Endpoint
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.. Update gophercloud to Handle New Identity Endpoints Currently openstack cloud provider just support keystone v2.0 and v3 The latest Identity Service is publishing an ID of v3.8, we should update gophercloud to recognize v3.8 as a valid version id. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #52830 **Release note**: ```release-note NONE ``` Kubernetes-commit: 4f2d7b93da2464a3147e0a7e71d896dd2bade9ad
This commit is contained in:
commit
fab36f2095
112
Godeps/Godeps.json
generated
112
Godeps/Godeps.json
generated
@ -176,31 +176,31 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gophercloud/gophercloud",
|
"ImportPath": "github.com/gophercloud/gophercloud",
|
||||||
"Rev": "2bf16b94fdd9b01557c4d076e567fe5cbbe5a961"
|
"Rev": "b4c2377fa77951a0e08163f52dc9b3e206355194"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gophercloud/gophercloud/openstack",
|
"ImportPath": "github.com/gophercloud/gophercloud/openstack",
|
||||||
"Rev": "2bf16b94fdd9b01557c4d076e567fe5cbbe5a961"
|
"Rev": "b4c2377fa77951a0e08163f52dc9b3e206355194"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v2/tenants",
|
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v2/tenants",
|
||||||
"Rev": "2bf16b94fdd9b01557c4d076e567fe5cbbe5a961"
|
"Rev": "b4c2377fa77951a0e08163f52dc9b3e206355194"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens",
|
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens",
|
||||||
"Rev": "2bf16b94fdd9b01557c4d076e567fe5cbbe5a961"
|
"Rev": "b4c2377fa77951a0e08163f52dc9b3e206355194"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v3/tokens",
|
"ImportPath": "github.com/gophercloud/gophercloud/openstack/identity/v3/tokens",
|
||||||
"Rev": "2bf16b94fdd9b01557c4d076e567fe5cbbe5a961"
|
"Rev": "b4c2377fa77951a0e08163f52dc9b3e206355194"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gophercloud/gophercloud/openstack/utils",
|
"ImportPath": "github.com/gophercloud/gophercloud/openstack/utils",
|
||||||
"Rev": "2bf16b94fdd9b01557c4d076e567fe5cbbe5a961"
|
"Rev": "b4c2377fa77951a0e08163f52dc9b3e206355194"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gophercloud/gophercloud/pagination",
|
"ImportPath": "github.com/gophercloud/gophercloud/pagination",
|
||||||
"Rev": "2bf16b94fdd9b01557c4d076e567fe5cbbe5a961"
|
"Rev": "b4c2377fa77951a0e08163f52dc9b3e206355194"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gregjones/httpcache",
|
"ImportPath": "github.com/gregjones/httpcache",
|
||||||
@ -476,199 +476,199 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery",
|
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered",
|
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1alpha1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1alpha1",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion/unstructured",
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion/unstructured",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||||
"Rev": "9496c30d9f9382f60f820cb392433abcabd2f47a"
|
"Rev": "90cdcb76c44bf1fcf0aa82aeea7f614c034cbd4b"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
||||||
|
49
vendor/github.com/gophercloud/gophercloud/openstack/client.go
generated
vendored
49
vendor/github.com/gophercloud/gophercloud/openstack/client.go
generated
vendored
@ -4,6 +4,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/gophercloud/gophercloud"
|
"github.com/gophercloud/gophercloud"
|
||||||
tokens2 "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens"
|
tokens2 "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens"
|
||||||
@ -12,8 +14,13 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
v20 = "v2.0"
|
// v2 represents Keystone v2.
|
||||||
v30 = "v3.0"
|
// It should never increase beyond 2.0.
|
||||||
|
v2 = "v2.0"
|
||||||
|
|
||||||
|
// v3 represents Keystone v3.
|
||||||
|
// The version can be anything from v3 to v3.x.
|
||||||
|
v3 = "v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -35,24 +42,25 @@ func NewClient(endpoint string) (*gophercloud.ProviderClient, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
hadPath := u.Path != ""
|
|
||||||
u.Path, u.RawQuery, u.Fragment = "", "", ""
|
u.RawQuery, u.Fragment = "", ""
|
||||||
base := u.String()
|
|
||||||
|
var base string
|
||||||
|
versionRe := regexp.MustCompile("v[0-9.]+/?")
|
||||||
|
if version := versionRe.FindString(u.Path); version != "" {
|
||||||
|
base = strings.Replace(u.String(), version, "", -1)
|
||||||
|
} else {
|
||||||
|
base = u.String()
|
||||||
|
}
|
||||||
|
|
||||||
endpoint = gophercloud.NormalizeURL(endpoint)
|
endpoint = gophercloud.NormalizeURL(endpoint)
|
||||||
base = gophercloud.NormalizeURL(base)
|
base = gophercloud.NormalizeURL(base)
|
||||||
|
|
||||||
if hadPath {
|
|
||||||
return &gophercloud.ProviderClient{
|
|
||||||
IdentityBase: base,
|
|
||||||
IdentityEndpoint: endpoint,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return &gophercloud.ProviderClient{
|
return &gophercloud.ProviderClient{
|
||||||
IdentityBase: base,
|
IdentityBase: base,
|
||||||
IdentityEndpoint: "",
|
IdentityEndpoint: endpoint,
|
||||||
}, nil
|
}, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -92,8 +100,8 @@ func AuthenticatedClient(options gophercloud.AuthOptions) (*gophercloud.Provider
|
|||||||
// supported at the provided endpoint.
|
// supported at the provided endpoint.
|
||||||
func Authenticate(client *gophercloud.ProviderClient, options gophercloud.AuthOptions) error {
|
func Authenticate(client *gophercloud.ProviderClient, options gophercloud.AuthOptions) error {
|
||||||
versions := []*utils.Version{
|
versions := []*utils.Version{
|
||||||
{ID: v20, Priority: 20, Suffix: "/v2.0/"},
|
{ID: v2, Priority: 20, Suffix: "/v2.0/"},
|
||||||
{ID: v30, Priority: 30, Suffix: "/v3/"},
|
{ID: v3, Priority: 30, Suffix: "/v3/"},
|
||||||
}
|
}
|
||||||
|
|
||||||
chosen, endpoint, err := utils.ChooseVersion(client, versions)
|
chosen, endpoint, err := utils.ChooseVersion(client, versions)
|
||||||
@ -102,9 +110,9 @@ func Authenticate(client *gophercloud.ProviderClient, options gophercloud.AuthOp
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch chosen.ID {
|
switch chosen.ID {
|
||||||
case v20:
|
case v2:
|
||||||
return v2auth(client, endpoint, options, gophercloud.EndpointOpts{})
|
return v2auth(client, endpoint, options, gophercloud.EndpointOpts{})
|
||||||
case v30:
|
case v3:
|
||||||
return v3auth(client, endpoint, &options, gophercloud.EndpointOpts{})
|
return v3auth(client, endpoint, &options, gophercloud.EndpointOpts{})
|
||||||
default:
|
default:
|
||||||
// The switch statement must be out of date from the versions list.
|
// The switch statement must be out of date from the versions list.
|
||||||
@ -241,6 +249,13 @@ func NewIdentityV3(client *gophercloud.ProviderClient, eo gophercloud.EndpointOp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ensure endpoint still has a suffix of v3.
|
||||||
|
// This is because EndpointLocator might have found a versionless
|
||||||
|
// endpoint and requests will fail unless targeted at /v3.
|
||||||
|
if !strings.HasSuffix(endpoint, "v3/") {
|
||||||
|
endpoint = endpoint + "v3/"
|
||||||
|
}
|
||||||
|
|
||||||
return &gophercloud.ServiceClient{
|
return &gophercloud.ServiceClient{
|
||||||
ProviderClient: client,
|
ProviderClient: client,
|
||||||
Endpoint: endpoint,
|
Endpoint: endpoint,
|
||||||
|
31
vendor/github.com/gophercloud/gophercloud/openstack/utils/choose_version.go
generated
vendored
31
vendor/github.com/gophercloud/gophercloud/openstack/utils/choose_version.go
generated
vendored
@ -68,11 +68,6 @@ func ChooseVersion(client *gophercloud.ProviderClient, recognized []*Version) (*
|
|||||||
return nil, "", err
|
return nil, "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
byID := make(map[string]*Version)
|
|
||||||
for _, version := range recognized {
|
|
||||||
byID[version.ID] = version
|
|
||||||
}
|
|
||||||
|
|
||||||
var highest *Version
|
var highest *Version
|
||||||
var endpoint string
|
var endpoint string
|
||||||
|
|
||||||
@ -84,20 +79,22 @@ func ChooseVersion(client *gophercloud.ProviderClient, recognized []*Version) (*
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if matching, ok := byID[value.ID]; ok {
|
for _, version := range recognized {
|
||||||
// Prefer a version that exactly matches the provided endpoint.
|
if strings.Contains(value.ID, version.ID) {
|
||||||
if href == identityEndpoint {
|
// Prefer a version that exactly matches the provided endpoint.
|
||||||
if href == "" {
|
if href == identityEndpoint {
|
||||||
return nil, "", fmt.Errorf("Endpoint missing in version %s response from %s", value.ID, client.IdentityBase)
|
if href == "" {
|
||||||
|
return nil, "", fmt.Errorf("Endpoint missing in version %s response from %s", value.ID, client.IdentityBase)
|
||||||
|
}
|
||||||
|
return version, href, nil
|
||||||
}
|
}
|
||||||
return matching, href, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Otherwise, find the highest-priority version with a whitelisted status.
|
// Otherwise, find the highest-priority version with a whitelisted status.
|
||||||
if goodStatus[strings.ToLower(value.Status)] {
|
if goodStatus[strings.ToLower(value.Status)] {
|
||||||
if highest == nil || matching.Priority > highest.Priority {
|
if highest == nil || version.Priority > highest.Priority {
|
||||||
highest = matching
|
highest = version
|
||||||
endpoint = href
|
endpoint = href
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user