mirror of
https://github.com/kubernetes/client-go.git
synced 2026-01-16 06:55:47 +00:00
Automatic merge from submit-queue (batch tested with PRs 50087, 39587, 50042, 50241, 49914) plugin/pkg/client/auth: add openstack auth provider This is an implementation of auth provider for OpenStack world, just like python-openstackclient, we read the environment variables of a list `OS_*`, and client will cache a token to interact with each components, we can do the same here, the client side can cache a token locally at the first time, and rotate automatically when it expires. This requires an implementation of token authenticator at server side, refer: 1. [made by me] https://github.com/kubernetes/kubernetes/pull/25536, I can carry this on when it is fine to go. 2. [made by @kfox1111] https://github.com/kubernetes/kubernetes/pull/25391 The reason why I want to add this is due to the `client-side` nature, it will be confusing to implement it downstream, we would like to add this support here, and customers can get `kubectl` like they usually do(`brew install kubernetes-cli`), and it will just work. When this is done, we can deprecate the password keystone authenticator as the following reasons: 1. as mentioned at some other places, the `domain` is another parameters which should be provided. 2. in case the user supplies `apikey` and `secrets`, we might want to fill the `UserInfo` with the real name which is not implemented for now. cc @erictune @liggitt ``` add openstack auth provider ``` Kubernetes-commit: 59b8fa32f129be29f146bfd4888a5d1ab7e71ca5
855 B
855 B
Compute
Floating IPs
github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/floatingipis nowgithub.com/gophercloud/gophercloud/openstack/compute/v2/extensions/floatingipsfloatingips.Associateandfloatingips.Disassociatehave been removed.floatingips.DisassociateOptsis now required to disassociate a Floating IP.
Security Groups
secgroups.AddServerToGroupis nowsecgroups.AddServer.secgroups.RemoveServerFromGroupis nowsecgroups.RemoveServer.
Servers
-
servers.Rebootnow requires aservers.RebootOptsstruct:rebootOpts := &servers.RebootOpts{ Type: servers.SoftReboot, } res := servers.Reboot(client, server.ID, rebootOpts)
Identity
V3
Tokens
Token.ExpiresAtis now of typegophercloud.JSONRFC3339Milliinstead oftime.Time