Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
de18fdbd
Commit
de18fdbd
authored
Mar 04, 2016
by
Abhi Shah
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #22528 from kubernetes/revert-22016-discbreak
Revert "Move discovery client to its own package"
parents
57670edc
b25a48d6
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
85 additions
and
91 deletions
+85
-91
integration.go
cmd/integration/integration.go
+1
-1
generator_fake_for_clientset.go
...lient-gen/generators/fake/generator_fake_for_clientset.go
+2
-2
generator_for_clientset.go
...s/go2idl/client-gen/generators/generator_for_clientset.go
+6
-6
clientset.go
...t/clientset_generated/test_internalclientset/clientset.go
+7
-7
helpers.go
pkg/api/unversioned/helpers.go
+0
-10
clientset.go
...client/clientset_generated/internalclientset/clientset.go
+7
-7
clientset_adaption.go
...ientset_generated/internalclientset/clientset_adaption.go
+2
-3
clientset_generated.go
...t_generated/internalclientset/fake/clientset_generated.go
+2
-2
clientset.go
pkg/client/clientset_generated/release_1_2/clientset.go
+7
-7
clientset_adaption.go
...ent/clientset_generated/release_1_2/clientset_adaption.go
+2
-3
clientset_generated.go
...ientset_generated/release_1_2/fake/clientset_generated.go
+2
-2
client.go
pkg/client/unversioned/client.go
+12
-4
client_test.go
pkg/client/unversioned/client_test.go
+15
-15
discovery_client.go
pkg/client/unversioned/discovery_client.go
+3
-12
helper.go
pkg/client/unversioned/helper.go
+12
-3
testclient.go
pkg/client/unversioned/testclient/testclient.go
+1
-2
apiversions.go
pkg/kubectl/cmd/apiversions.go
+2
-2
util.go
test/e2e/util.go
+2
-3
No files found.
cmd/integration/integration.go
View file @
de18fdbd
...
...
@@ -493,7 +493,7 @@ func runAPIVersionsTest(c *client.Client) {
if
err
!=
nil
{
glog
.
Fatalf
(
"Failed to get api versions: %v"
,
err
)
}
versions
:=
unversioned
.
ExtractGroupVersions
(
g
)
versions
:=
client
.
ExtractGroupVersions
(
g
)
// Verify that the server supports the API version used by the client.
for
_
,
version
:=
range
versions
{
...
...
cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_clientset.go
View file @
de18fdbd
...
...
@@ -71,7 +71,7 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) {
imports
=
append
(
imports
,
"k8s.io/kubernetes/pkg/api"
,
"k8s.io/kubernetes/pkg/client/testing/core"
,
"k8s.io/kubernetes/pkg/client/
typed/discovery
"
,
"k8s.io/kubernetes/pkg/client/
unversioned
"
,
"k8s.io/kubernetes/pkg/runtime"
,
"k8s.io/kubernetes/pkg/watch"
,
)
...
...
@@ -132,7 +132,7 @@ type Clientset struct {
core.Fake
}
func (c *Clientset) Discovery()
discovery
.DiscoveryInterface {
func (c *Clientset) Discovery()
unversioned
.DiscoveryInterface {
return &FakeDiscovery{&c.Fake}
}
`
...
...
cmd/libs/go2idl/client-gen/generators/generator_for_clientset.go
View file @
de18fdbd
...
...
@@ -69,7 +69,7 @@ func (g *genClientset) GenerateType(c *generator.Context, t *types.Type, w io.Wr
// TODO: We actually don't need any type information to generate the clientset,
// perhaps we can adapt the go2ild framework to this kind of usage.
sw
:=
generator
.
NewSnippetWriter
(
w
,
c
,
"$"
,
"$"
)
const
pkg
Discovery
=
"k8s.io/kubernetes/pkg/client/typed/discovery
"
const
pkg
Unversioned
=
"k8s.io/kubernetes/pkg/client/unversioned
"
const
pkgRESTClient
=
"k8s.io/kubernetes/pkg/client/restclient"
type
arg
struct
{
...
...
@@ -89,11 +89,11 @@ func (g *genClientset) GenerateType(c *generator.Context, t *types.Type, w io.Wr
"Config"
:
c
.
Universe
.
Type
(
types
.
Name
{
Package
:
pkgRESTClient
,
Name
:
"Config"
}),
"DefaultKubernetesUserAgent"
:
c
.
Universe
.
Function
(
types
.
Name
{
Package
:
pkgRESTClient
,
Name
:
"DefaultKubernetesUserAgent"
}),
"RESTClient"
:
c
.
Universe
.
Type
(
types
.
Name
{
Package
:
pkgRESTClient
,
Name
:
"RESTClient"
}),
"DiscoveryInterface"
:
c
.
Universe
.
Type
(
types
.
Name
{
Package
:
pkg
Discovery
,
Name
:
"DiscoveryInterface"
}),
"DiscoveryClient"
:
c
.
Universe
.
Type
(
types
.
Name
{
Package
:
pkg
Discovery
,
Name
:
"DiscoveryClient"
}),
"NewDiscoveryClientForConfig"
:
c
.
Universe
.
Function
(
types
.
Name
{
Package
:
pkg
Discovery
,
Name
:
"NewDiscoveryClientForConfig"
}),
"NewDiscoveryClientForConfigOrDie"
:
c
.
Universe
.
Function
(
types
.
Name
{
Package
:
pkg
Discovery
,
Name
:
"NewDiscoveryClientForConfigOrDie"
}),
"NewDiscoveryClient"
:
c
.
Universe
.
Function
(
types
.
Name
{
Package
:
pkg
Discovery
,
Name
:
"NewDiscoveryClient"
}),
"DiscoveryInterface"
:
c
.
Universe
.
Type
(
types
.
Name
{
Package
:
pkg
Unversioned
,
Name
:
"DiscoveryInterface"
}),
"DiscoveryClient"
:
c
.
Universe
.
Type
(
types
.
Name
{
Package
:
pkg
Unversioned
,
Name
:
"DiscoveryClient"
}),
"NewDiscoveryClientForConfig"
:
c
.
Universe
.
Function
(
types
.
Name
{
Package
:
pkg
Unversioned
,
Name
:
"NewDiscoveryClientForConfig"
}),
"NewDiscoveryClientForConfigOrDie"
:
c
.
Universe
.
Function
(
types
.
Name
{
Package
:
pkg
Unversioned
,
Name
:
"NewDiscoveryClientForConfigOrDie"
}),
"NewDiscoveryClient"
:
c
.
Universe
.
Function
(
types
.
Name
{
Package
:
pkg
Unversioned
,
Name
:
"NewDiscoveryClient"
}),
}
sw
.
Do
(
clientsetInterfaceTemplate
,
m
)
sw
.
Do
(
clientsetTemplate
,
m
)
...
...
cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/clientset.go
View file @
de18fdbd
...
...
@@ -20,18 +20,18 @@ import (
"github.com/golang/glog"
unversionedtestgroup
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/testgroup/unversioned"
restclient
"k8s.io/kubernetes/pkg/client/restclient"
discovery
"k8s.io/kubernetes/pkg/client/typed/discovery
"
unversioned
"k8s.io/kubernetes/pkg/client/unversioned
"
)
type
Interface
interface
{
Discovery
()
discovery
.
DiscoveryInterface
Discovery
()
unversioned
.
DiscoveryInterface
Testgroup
()
unversionedtestgroup
.
TestgroupInterface
}
// Clientset contains the clients for groups. Each group has exactly one
// version included in a Clientset.
type
Clientset
struct
{
*
discovery
.
DiscoveryClient
*
unversioned
.
DiscoveryClient
*
unversionedtestgroup
.
TestgroupClient
}
...
...
@@ -41,7 +41,7 @@ func (c *Clientset) Testgroup() unversionedtestgroup.TestgroupInterface {
}
// Discovery retrieves the DiscoveryClient
func
(
c
*
Clientset
)
Discovery
()
discovery
.
DiscoveryInterface
{
func
(
c
*
Clientset
)
Discovery
()
unversioned
.
DiscoveryInterface
{
return
c
.
DiscoveryClient
}
...
...
@@ -54,7 +54,7 @@ func NewForConfig(c *restclient.Config) (*Clientset, error) {
return
&
clientset
,
err
}
clientset
.
DiscoveryClient
,
err
=
discovery
.
NewDiscoveryClientForConfig
(
c
)
clientset
.
DiscoveryClient
,
err
=
unversioned
.
NewDiscoveryClientForConfig
(
c
)
if
err
!=
nil
{
glog
.
Errorf
(
"failed to create the DiscoveryClient: %v"
,
err
)
}
...
...
@@ -67,7 +67,7 @@ func NewForConfigOrDie(c *restclient.Config) *Clientset {
var
clientset
Clientset
clientset
.
TestgroupClient
=
unversionedtestgroup
.
NewForConfigOrDie
(
c
)
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClientForConfigOrDie
(
c
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClientForConfigOrDie
(
c
)
return
&
clientset
}
...
...
@@ -76,6 +76,6 @@ func New(c *restclient.RESTClient) *Clientset {
var
clientset
Clientset
clientset
.
TestgroupClient
=
unversionedtestgroup
.
New
(
c
)
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClient
(
c
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClient
(
c
)
return
&
clientset
}
pkg/api/unversioned/helpers.go
View file @
de18fdbd
...
...
@@ -92,13 +92,3 @@ func FormatLabelSelector(labelSelector *LabelSelector) string {
}
return
l
}
func
ExtractGroupVersions
(
l
*
APIGroupList
)
[]
string
{
var
groupVersions
[]
string
for
_
,
g
:=
range
l
.
Groups
{
for
_
,
gv
:=
range
g
.
Versions
{
groupVersions
=
append
(
groupVersions
,
gv
.
GroupVersion
)
}
}
return
groupVersions
}
pkg/client/clientset_generated/internalclientset/clientset.go
View file @
de18fdbd
...
...
@@ -19,13 +19,13 @@ package internalclientset
import
(
"github.com/golang/glog"
restclient
"k8s.io/kubernetes/pkg/client/restclient"
discovery
"k8s.io/kubernetes/pkg/client/typed/discovery"
unversionedcore
"k8s.io/kubernetes/pkg/client/typed/generated/core/unversioned"
unversionedextensions
"k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned"
unversioned
"k8s.io/kubernetes/pkg/client/unversioned"
)
type
Interface
interface
{
Discovery
()
discovery
.
DiscoveryInterface
Discovery
()
unversioned
.
DiscoveryInterface
Core
()
unversionedcore
.
CoreInterface
Extensions
()
unversionedextensions
.
ExtensionsInterface
}
...
...
@@ -33,7 +33,7 @@ type Interface interface {
// Clientset contains the clients for groups. Each group has exactly one
// version included in a Clientset.
type
Clientset
struct
{
*
discovery
.
DiscoveryClient
*
unversioned
.
DiscoveryClient
*
unversionedcore
.
CoreClient
*
unversionedextensions
.
ExtensionsClient
}
...
...
@@ -49,7 +49,7 @@ func (c *Clientset) Extensions() unversionedextensions.ExtensionsInterface {
}
// Discovery retrieves the DiscoveryClient
func
(
c
*
Clientset
)
Discovery
()
discovery
.
DiscoveryInterface
{
func
(
c
*
Clientset
)
Discovery
()
unversioned
.
DiscoveryInterface
{
return
c
.
DiscoveryClient
}
...
...
@@ -66,7 +66,7 @@ func NewForConfig(c *restclient.Config) (*Clientset, error) {
return
&
clientset
,
err
}
clientset
.
DiscoveryClient
,
err
=
discovery
.
NewDiscoveryClientForConfig
(
c
)
clientset
.
DiscoveryClient
,
err
=
unversioned
.
NewDiscoveryClientForConfig
(
c
)
if
err
!=
nil
{
glog
.
Errorf
(
"failed to create the DiscoveryClient: %v"
,
err
)
}
...
...
@@ -80,7 +80,7 @@ func NewForConfigOrDie(c *restclient.Config) *Clientset {
clientset
.
CoreClient
=
unversionedcore
.
NewForConfigOrDie
(
c
)
clientset
.
ExtensionsClient
=
unversionedextensions
.
NewForConfigOrDie
(
c
)
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClientForConfigOrDie
(
c
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClientForConfigOrDie
(
c
)
return
&
clientset
}
...
...
@@ -90,6 +90,6 @@ func New(c *restclient.RESTClient) *Clientset {
clientset
.
CoreClient
=
unversionedcore
.
New
(
c
)
clientset
.
ExtensionsClient
=
unversionedextensions
.
New
(
c
)
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClient
(
c
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClient
(
c
)
return
&
clientset
}
pkg/client/clientset_generated/internalclientset/clientset_adaption.go
View file @
de18fdbd
...
...
@@ -17,7 +17,6 @@ limitations under the License.
package
internalclientset
import
(
"k8s.io/kubernetes/pkg/client/typed/discovery"
unversionedcore
"k8s.io/kubernetes/pkg/client/typed/generated/core/unversioned"
unversionedextensions
"k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned"
"k8s.io/kubernetes/pkg/client/unversioned"
...
...
@@ -40,9 +39,9 @@ func FromUnversionedClient(c *unversioned.Client) *Clientset {
}
if
c
!=
nil
&&
c
.
DiscoveryClient
!=
nil
{
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClient
(
c
.
DiscoveryClient
.
RESTClient
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClient
(
c
.
DiscoveryClient
.
RESTClient
)
}
else
{
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClient
(
nil
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClient
(
nil
)
}
return
&
clientset
...
...
pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go
View file @
de18fdbd
...
...
@@ -20,11 +20,11 @@ import (
"k8s.io/kubernetes/pkg/api"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/client/typed/discovery"
unversionedcore
"k8s.io/kubernetes/pkg/client/typed/generated/core/unversioned"
fakeunversionedcore
"k8s.io/kubernetes/pkg/client/typed/generated/core/unversioned/fake"
unversionedextensions
"k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned"
fakeunversionedextensions
"k8s.io/kubernetes/pkg/client/typed/generated/extensions/unversioned/fake"
"k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/watch"
)
...
...
@@ -53,7 +53,7 @@ type Clientset struct {
core
.
Fake
}
func
(
c
*
Clientset
)
Discovery
()
discovery
.
DiscoveryInterface
{
func
(
c
*
Clientset
)
Discovery
()
unversioned
.
DiscoveryInterface
{
return
&
FakeDiscovery
{
&
c
.
Fake
}
}
...
...
pkg/client/clientset_generated/release_1_2/clientset.go
View file @
de18fdbd
...
...
@@ -19,13 +19,13 @@ package release_1_2
import
(
"github.com/golang/glog"
restclient
"k8s.io/kubernetes/pkg/client/restclient"
discovery
"k8s.io/kubernetes/pkg/client/typed/discovery"
v1core
"k8s.io/kubernetes/pkg/client/typed/generated/core/v1"
v1beta1extensions
"k8s.io/kubernetes/pkg/client/typed/generated/extensions/v1beta1"
unversioned
"k8s.io/kubernetes/pkg/client/unversioned"
)
type
Interface
interface
{
Discovery
()
discovery
.
DiscoveryInterface
Discovery
()
unversioned
.
DiscoveryInterface
Core
()
v1core
.
CoreInterface
Extensions
()
v1beta1extensions
.
ExtensionsInterface
}
...
...
@@ -33,7 +33,7 @@ type Interface interface {
// Clientset contains the clients for groups. Each group has exactly one
// version included in a Clientset.
type
Clientset
struct
{
*
discovery
.
DiscoveryClient
*
unversioned
.
DiscoveryClient
*
v1core
.
CoreClient
*
v1beta1extensions
.
ExtensionsClient
}
...
...
@@ -49,7 +49,7 @@ func (c *Clientset) Extensions() v1beta1extensions.ExtensionsInterface {
}
// Discovery retrieves the DiscoveryClient
func
(
c
*
Clientset
)
Discovery
()
discovery
.
DiscoveryInterface
{
func
(
c
*
Clientset
)
Discovery
()
unversioned
.
DiscoveryInterface
{
return
c
.
DiscoveryClient
}
...
...
@@ -66,7 +66,7 @@ func NewForConfig(c *restclient.Config) (*Clientset, error) {
return
&
clientset
,
err
}
clientset
.
DiscoveryClient
,
err
=
discovery
.
NewDiscoveryClientForConfig
(
c
)
clientset
.
DiscoveryClient
,
err
=
unversioned
.
NewDiscoveryClientForConfig
(
c
)
if
err
!=
nil
{
glog
.
Errorf
(
"failed to create the DiscoveryClient: %v"
,
err
)
}
...
...
@@ -80,7 +80,7 @@ func NewForConfigOrDie(c *restclient.Config) *Clientset {
clientset
.
CoreClient
=
v1core
.
NewForConfigOrDie
(
c
)
clientset
.
ExtensionsClient
=
v1beta1extensions
.
NewForConfigOrDie
(
c
)
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClientForConfigOrDie
(
c
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClientForConfigOrDie
(
c
)
return
&
clientset
}
...
...
@@ -90,6 +90,6 @@ func New(c *restclient.RESTClient) *Clientset {
clientset
.
CoreClient
=
v1core
.
New
(
c
)
clientset
.
ExtensionsClient
=
v1beta1extensions
.
New
(
c
)
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClient
(
c
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClient
(
c
)
return
&
clientset
}
pkg/client/clientset_generated/release_1_2/clientset_adaption.go
View file @
de18fdbd
...
...
@@ -17,7 +17,6 @@ limitations under the License.
package
release_1_2
import
(
"k8s.io/kubernetes/pkg/client/typed/discovery"
v1core
"k8s.io/kubernetes/pkg/client/typed/generated/core/v1"
v1beta1extensions
"k8s.io/kubernetes/pkg/client/typed/generated/extensions/v1beta1"
"k8s.io/kubernetes/pkg/client/unversioned"
...
...
@@ -40,9 +39,9 @@ func FromUnversionedClient(c *unversioned.Client) *Clientset {
}
if
c
!=
nil
&&
c
.
DiscoveryClient
!=
nil
{
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClient
(
c
.
DiscoveryClient
.
RESTClient
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClient
(
c
.
DiscoveryClient
.
RESTClient
)
}
else
{
clientset
.
DiscoveryClient
=
discovery
.
NewDiscoveryClient
(
nil
)
clientset
.
DiscoveryClient
=
unversioned
.
NewDiscoveryClient
(
nil
)
}
return
&
clientset
...
...
pkg/client/clientset_generated/release_1_2/fake/clientset_generated.go
View file @
de18fdbd
...
...
@@ -20,11 +20,11 @@ import (
"k8s.io/kubernetes/pkg/api"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_2"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/client/typed/discovery"
v1core
"k8s.io/kubernetes/pkg/client/typed/generated/core/v1"
fakev1core
"k8s.io/kubernetes/pkg/client/typed/generated/core/v1/fake"
v1beta1extensions
"k8s.io/kubernetes/pkg/client/typed/generated/extensions/v1beta1"
fakev1beta1extensions
"k8s.io/kubernetes/pkg/client/typed/generated/extensions/v1beta1/fake"
"k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/watch"
)
...
...
@@ -53,7 +53,7 @@ type Clientset struct {
core
.
Fake
}
func
(
c
*
Clientset
)
Discovery
()
discovery
.
DiscoveryInterface
{
func
(
c
*
Clientset
)
Discovery
()
unversioned
.
DiscoveryInterface
{
return
&
FakeDiscovery
{
&
c
.
Fake
}
}
...
...
pkg/client/unversioned/client.go
View file @
de18fdbd
...
...
@@ -22,7 +22,6 @@ import (
"strings"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/typed/discovery"
)
// Interface holds the methods for clients of Kubernetes,
...
...
@@ -47,7 +46,7 @@ type Interface interface {
Autoscaling
()
AutoscalingInterface
Batch
()
BatchInterface
Extensions
()
ExtensionsInterface
Discovery
()
discovery
.
DiscoveryInterface
Discovery
()
DiscoveryInterface
}
func
(
c
*
Client
)
ReplicationControllers
(
namespace
string
)
ReplicationControllerInterface
{
...
...
@@ -119,7 +118,16 @@ type Client struct {
*
AutoscalingClient
*
BatchClient
*
ExtensionsClient
*
discovery
.
DiscoveryClient
*
DiscoveryClient
}
func
stringDoesntExistIn
(
str
string
,
slice
[]
string
)
bool
{
for
_
,
s
:=
range
slice
{
if
s
==
str
{
return
false
}
}
return
true
}
// IsTimeout tests if this is a timeout error in the underlying transport.
...
...
@@ -156,6 +164,6 @@ func (c *Client) Extensions() ExtensionsInterface {
return
c
.
ExtensionsClient
}
func
(
c
*
Client
)
Discovery
()
discovery
.
DiscoveryInterface
{
func
(
c
*
Client
)
Discovery
()
DiscoveryInterface
{
return
c
.
DiscoveryClient
}
pkg/client/
typed/discovery
/client_test.go
→
pkg/client/
unversioned
/client_test.go
View file @
de18fdbd
...
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package
discovery
package
unversioned
import
(
"encoding/json"
...
...
@@ -49,9 +49,9 @@ func TestGetServerVersion(t *testing.T) {
}))
// TODO: Uncomment when fix #19254
// defer server.Close()
client
:=
New
DiscoveryClientForConfig
OrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
client
:=
NewOrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
got
,
err
:=
client
.
ServerVersion
()
got
,
err
:=
client
.
Discovery
()
.
ServerVersion
()
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected encoding error: %v"
,
err
)
}
...
...
@@ -85,13 +85,13 @@ func TestGetServerGroupsWithV1Server(t *testing.T) {
}))
// TODO: Uncomment when fix #19254
// defer server.Close()
client
:=
New
DiscoveryClientForConfig
OrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
client
:=
NewOrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
// ServerGroups should not return an error even if server returns error at /api and /apis
apiGroupList
,
err
:=
client
.
ServerGroups
()
apiGroupList
,
err
:=
client
.
Discovery
()
.
ServerGroups
()
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
groupVersions
:=
unversioned
.
ExtractGroupVersions
(
apiGroupList
)
groupVersions
:=
ExtractGroupVersions
(
apiGroupList
)
if
!
reflect
.
DeepEqual
(
groupVersions
,
[]
string
{
"v1"
})
{
t
.
Errorf
(
"expected: %q, got: %q"
,
[]
string
{
"v1"
},
groupVersions
)
}
...
...
@@ -122,9 +122,9 @@ func TestGetServerResourcesWithV1Server(t *testing.T) {
}))
// TODO: Uncomment when fix #19254
// defer server.Close()
client
:=
New
DiscoveryClientForConfig
OrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
client
:=
NewOrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
// ServerResources should not return an error even if server returns error at /api/v1.
resourceMap
,
err
:=
client
.
ServerResources
()
resourceMap
,
err
:=
client
.
Discovery
()
.
ServerResources
()
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
...
...
@@ -215,9 +215,9 @@ func TestGetServerResources(t *testing.T) {
}))
// TODO: Uncomment when fix #19254
// defer server.Close()
client
:=
New
DiscoveryClientForConfig
OrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
client
:=
NewOrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
for
_
,
test
:=
range
tests
{
got
,
err
:=
client
.
ServerResourcesForGroupVersion
(
test
.
request
)
got
,
err
:=
client
.
Discovery
()
.
ServerResourcesForGroupVersion
(
test
.
request
)
if
test
.
expectErr
{
if
err
==
nil
{
t
.
Error
(
"unexpected non-error"
)
...
...
@@ -233,7 +233,7 @@ func TestGetServerResources(t *testing.T) {
}
}
resourceMap
,
err
:=
client
.
ServerResources
()
resourceMap
,
err
:=
client
.
Discovery
()
.
ServerResources
()
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
...
...
@@ -278,8 +278,8 @@ func TestGetSwaggerSchema(t *testing.T) {
// TODO: Uncomment when fix #19254
// defer server.Close()
client
:=
New
DiscoveryClientForConfig
OrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
got
,
err
:=
client
.
SwaggerSchema
(
v1
.
SchemeGroupVersion
)
client
:=
NewOrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
got
,
err
:=
client
.
Discovery
()
.
SwaggerSchema
(
v1
.
SchemeGroupVersion
)
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected encoding error: %v"
,
err
)
}
...
...
@@ -298,8 +298,8 @@ func TestGetSwaggerSchemaFail(t *testing.T) {
// TODO: Uncomment when fix #19254
// defer server.Close()
client
:=
New
DiscoveryClientForConfig
OrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
got
,
err
:=
client
.
SwaggerSchema
(
unversioned
.
GroupVersion
{
Group
:
"api.group"
,
Version
:
"v4"
})
client
:=
NewOrDie
(
&
restclient
.
Config
{
Host
:
server
.
URL
})
got
,
err
:=
client
.
Discovery
()
.
SwaggerSchema
(
unversioned
.
GroupVersion
{
Group
:
"api.group"
,
Version
:
"v4"
})
if
got
!=
nil
{
t
.
Fatalf
(
"unexpected response: %v"
,
got
)
}
...
...
pkg/client/
typed/discovery
/discovery_client.go
→
pkg/client/
unversioned
/discovery_client.go
View file @
de18fdbd
...
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package
discovery
package
unversioned
import
(
"encoding/json"
...
...
@@ -148,7 +148,7 @@ func (d *DiscoveryClient) ServerResources() (map[string]*unversioned.APIResource
if
err
!=
nil
{
return
nil
,
err
}
groupVersions
:=
unversioned
.
ExtractGroupVersions
(
apiGroups
)
groupVersions
:=
ExtractGroupVersions
(
apiGroups
)
result
:=
map
[
string
]
*
unversioned
.
APIResourceList
{}
for
_
,
groupVersion
:=
range
groupVersions
{
resources
,
err
:=
d
.
ServerResourcesForGroupVersion
(
groupVersion
)
...
...
@@ -184,7 +184,7 @@ func (d *DiscoveryClient) SwaggerSchema(version unversioned.GroupVersion) (*swag
if
err
!=
nil
{
return
nil
,
err
}
groupVersions
:=
unversioned
.
ExtractGroupVersions
(
groupList
)
groupVersions
:=
ExtractGroupVersions
(
groupList
)
// This check also takes care the case that kubectl is newer than the running endpoint
if
stringDoesntExistIn
(
version
.
String
(),
groupVersions
)
{
return
nil
,
fmt
.
Errorf
(
"API version: %v is not supported by the server. Use one of: %v"
,
version
,
groupVersions
)
...
...
@@ -241,12 +241,3 @@ func NewDiscoveryClientForConfigOrDie(c *restclient.Config) *DiscoveryClient {
func
NewDiscoveryClient
(
c
*
restclient
.
RESTClient
)
*
DiscoveryClient
{
return
&
DiscoveryClient
{
c
}
}
func
stringDoesntExistIn
(
str
string
,
slice
[]
string
)
bool
{
for
_
,
s
:=
range
slice
{
if
s
==
str
{
return
false
}
}
return
true
}
pkg/client/unversioned/helper.go
View file @
de18fdbd
...
...
@@ -27,7 +27,6 @@ import (
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/apis/extensions"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/typed/discovery"
"k8s.io/kubernetes/pkg/util/sets"
"k8s.io/kubernetes/pkg/version"
)
...
...
@@ -52,7 +51,7 @@ func New(c *restclient.Config) (*Client, error) {
}
discoveryConfig
:=
*
c
discoveryClient
,
err
:=
discovery
.
NewDiscoveryClientForConfig
(
&
discoveryConfig
)
discoveryClient
,
err
:=
NewDiscoveryClientForConfig
(
&
discoveryConfig
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -110,6 +109,16 @@ func MatchesServerVersion(client *Client, c *restclient.Config) error {
return
nil
}
func
ExtractGroupVersions
(
l
*
unversioned
.
APIGroupList
)
[]
string
{
var
groupVersions
[]
string
for
_
,
g
:=
range
l
.
Groups
{
for
_
,
gv
:=
range
g
.
Versions
{
groupVersions
=
append
(
groupVersions
,
gv
.
GroupVersion
)
}
}
return
groupVersions
}
// NegotiateVersion queries the server's supported api versions to find
// a version that both client and server support.
// - If no version is provided, try registered client versions in order of
...
...
@@ -137,7 +146,7 @@ func NegotiateVersion(client *Client, c *restclient.Config, requestedGV *unversi
// not a negotiation specific error.
return
nil
,
err
}
versions
:=
unversioned
.
ExtractGroupVersions
(
groups
)
versions
:=
ExtractGroupVersions
(
groups
)
serverVersions
:=
sets
.
String
{}
for
_
,
v
:=
range
versions
{
serverVersions
.
Insert
(
v
)
...
...
pkg/client/unversioned/testclient/testclient.go
View file @
de18fdbd
...
...
@@ -27,7 +27,6 @@ import (
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/typed/discovery"
client
"k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/version"
...
...
@@ -289,7 +288,7 @@ func (c *Fake) Extensions() client.ExtensionsInterface {
return
&
FakeExperimental
{
c
}
}
func
(
c
*
Fake
)
Discovery
()
discovery
.
DiscoveryInterface
{
func
(
c
*
Fake
)
Discovery
()
client
.
DiscoveryInterface
{
return
&
FakeDiscovery
{
c
}
}
...
...
pkg/kubectl/cmd/apiversions.go
View file @
de18fdbd
...
...
@@ -24,7 +24,7 @@ import (
"github.com/spf13/cobra"
"k8s.io/kubernetes/pkg/api
/unversioned"
unversioned_client
"k8s.io/kubernetes/pkg/client
/unversioned"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
)
...
...
@@ -56,7 +56,7 @@ func RunApiVersions(f *cmdutil.Factory, w io.Writer) error {
if
err
!=
nil
{
return
fmt
.
Errorf
(
"Couldn't get available api versions from server: %v
\n
"
,
err
)
}
apiVersions
:=
unversioned
.
ExtractGroupVersions
(
groupList
)
apiVersions
:=
unversioned
_client
.
ExtractGroupVersions
(
groupList
)
sort
.
Strings
(
apiVersions
)
for
_
,
v
:=
range
apiVersions
{
fmt
.
Fprintln
(
w
,
v
)
...
...
test/e2e/util.go
View file @
de18fdbd
...
...
@@ -43,7 +43,6 @@ import (
"k8s.io/kubernetes/pkg/client/cache"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/typed/discovery"
client
"k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
clientcmdapi
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api"
...
...
@@ -342,7 +341,7 @@ func providerIs(providers ...string) bool {
return
false
}
func
SkipUnlessServerVersionGTE
(
v
semver
.
Version
,
c
discovery
.
ServerVersionInterface
)
{
func
SkipUnlessServerVersionGTE
(
v
semver
.
Version
,
c
client
.
ServerVersionInterface
)
{
gte
,
err
:=
serverVersionGTE
(
v
,
c
)
if
err
!=
nil
{
Failf
(
"Failed to get server version: %v"
,
err
)
...
...
@@ -1142,7 +1141,7 @@ func (r podProxyResponseChecker) checkAllResponses() (done bool, err error) {
// version.
//
// TODO(18726): This should be incorporated into client.VersionInterface.
func
serverVersionGTE
(
v
semver
.
Version
,
c
discovery
.
ServerVersionInterface
)
(
bool
,
error
)
{
func
serverVersionGTE
(
v
semver
.
Version
,
c
client
.
ServerVersionInterface
)
(
bool
,
error
)
{
serverVersion
,
err
:=
c
.
ServerVersion
()
if
err
!=
nil
{
return
false
,
fmt
.
Errorf
(
"Unable to get server version: %v"
,
err
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment