kclient -> restclient
kclient -> discovery
fake client set -> package rename
NonDefaultGroupVersionKinds -> SubresourceGroupVersionKind
Extended test compile fixes
Unit test compile fixes
Switch to registered.RestMapper()
Install kapi v1 to get defaulting functions
Convert image etcd tests to use etcd client
Adjust create command examples
Stop setting selector in Job
Move config cmd into wrappers
| ... | ... |
@@ -14,7 +14,7 @@ import ( |
| 14 | 14 |
|
| 15 | 15 |
func TestRESTRootScope(t *testing.T) {
|
| 16 | 16 |
for _, v := range [][]string{{"v1beta3"}, {"v1"}} {
|
| 17 |
- mapping, err := kapi.RESTMapper.RESTMapping(kapi.Kind("Node"), v...)
|
|
| 17 |
+ mapping, err := registered.RESTMapper().RESTMapping(kapi.Kind("Node"), v...)
|
|
| 18 | 18 |
if err != nil {
|
| 19 | 19 |
t.Fatal(err) |
| 20 | 20 |
} |
| ... | ... |
@@ -27,7 +27,7 @@ func TestRESTRootScope(t *testing.T) {
|
| 27 | 27 |
func TestResourceToKind(t *testing.T) {
|
| 28 | 28 |
// Ensure we resolve to latest.Version |
| 29 | 29 |
expectedGVK := Version.WithKind("User")
|
| 30 |
- gvk, err := kapi.RESTMapper.KindFor(userapi.SchemeGroupVersion.WithResource("User"))
|
|
| 30 |
+ gvk, err := registered.RESTMapper().KindFor(userapi.SchemeGroupVersion.WithResource("User"))
|
|
| 31 | 31 |
if err != nil {
|
| 32 | 32 |
t.Fatalf("Unexpected error: %v", err)
|
| 33 | 33 |
} |
| ... | ... |
@@ -40,7 +40,7 @@ func TestUpstreamResourceToKind(t *testing.T) {
|
| 40 | 40 |
// Ensure we resolve to klatest.ExternalVersions[0] |
| 41 | 41 |
meta, _ := registered.Group("")
|
| 42 | 42 |
expectedGVK := meta.GroupVersion.WithKind("Pod")
|
| 43 |
- gvk, err := registered.GroupOrDie(kapi.SchemeGroupVersion.Group).RESTMapper.KindFor(kapi.SchemeGroupVersion.WithResource("Pod"))
|
|
| 43 |
+ gvk, err := registered.RESTMapper().KindFor(kapi.SchemeGroupVersion.WithResource("Pod"))
|
|
| 44 | 44 |
if err != nil {
|
| 45 | 45 |
t.Fatalf("Unexpected error: %v", err)
|
| 46 | 46 |
} |
| ... | ... |
@@ -7421,7 +7421,7 @@ func autoConvert_api_Volume_To_v1_Volume(in *api.Volume, out *apiv1.Volume, s co |
| 7421 | 7421 |
defaulting.(func(*api.Volume))(in) |
| 7422 | 7422 |
} |
| 7423 | 7423 |
out.Name = in.Name |
| 7424 |
- if err := v1beta1.Convert_api_VolumeSource_To_v1beta1_VolumeSource(&in.VolumeSource, &out.VolumeSource, s); err != nil {
|
|
| 7424 |
+ if err := apiv1.Convert_api_VolumeSource_To_v1_VolumeSource(&in.VolumeSource, &out.VolumeSource, s); err != nil {
|
|
| 7425 | 7425 |
return err |
| 7426 | 7426 |
} |
| 7427 | 7427 |
return nil |
| ... | ... |
@@ -8670,7 +8670,7 @@ func autoConvert_v1_Volume_To_api_Volume(in *apiv1.Volume, out *api.Volume, s co |
| 8670 | 8670 |
defaulting.(func(*apiv1.Volume))(in) |
| 8671 | 8671 |
} |
| 8672 | 8672 |
out.Name = in.Name |
| 8673 |
- if err := v1beta1.Convert_v1beta1_VolumeSource_To_api_VolumeSource(&in.VolumeSource, &out.VolumeSource, s); err != nil {
|
|
| 8673 |
+ if err := apiv1.Convert_v1_VolumeSource_To_api_VolumeSource(&in.VolumeSource, &out.VolumeSource, s); err != nil {
|
|
| 8674 | 8674 |
return err |
| 8675 | 8675 |
} |
| 8676 | 8676 |
return nil |
| ... | ... |
@@ -6,7 +6,7 @@ import ( |
| 6 | 6 |
"github.com/openshift/origin/pkg/client" |
| 7 | 7 |
oclient "github.com/openshift/origin/pkg/oauth/client" |
| 8 | 8 |
"k8s.io/kubernetes/pkg/auth/user" |
| 9 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 9 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 10 | 10 |
) |
| 11 | 11 |
|
| 12 | 12 |
type OAuthAccessTokenSource interface {
|
| ... | ... |
@@ -34,7 +34,7 @@ func (a *Authenticator) AuthenticatePassword(username, password string) (user.In |
| 34 | 34 |
|
| 35 | 35 |
auth := oclient.OAuthWrapper{a.rt, token}
|
| 36 | 36 |
|
| 37 |
- client, err := client.New(&kclient.Config{Transport: auth, Host: a.host})
|
|
| 37 |
+ client, err := client.New(&restclient.Config{Transport: auth, Host: a.host})
|
|
| 38 | 38 |
if err != nil {
|
| 39 | 39 |
return nil, false, err |
| 40 | 40 |
} |
| ... | ... |
@@ -2,18 +2,18 @@ package remotemaster |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 | 4 |
"k8s.io/kubernetes/pkg/auth/user" |
| 5 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 5 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 6 | 6 |
|
| 7 | 7 |
"github.com/openshift/origin/pkg/client" |
| 8 | 8 |
"github.com/openshift/origin/pkg/cmd/util/clientcmd" |
| 9 | 9 |
) |
| 10 | 10 |
|
| 11 | 11 |
type Authenticator struct {
|
| 12 |
- anonymousConfig kclient.Config |
|
| 12 |
+ anonymousConfig restclient.Config |
|
| 13 | 13 |
} |
| 14 | 14 |
|
| 15 | 15 |
// NewAuthenticator authenticates by fetching users/~ using the provided token as a bearer token |
| 16 |
-func NewAuthenticator(anonymousConfig kclient.Config) (*Authenticator, error) {
|
|
| 16 |
+func NewAuthenticator(anonymousConfig restclient.Config) (*Authenticator, error) {
|
|
| 17 | 17 |
// Ensure credentials are removed from the anonymous config |
| 18 | 18 |
anonymousConfig = clientcmd.AnonymousClientConfig(&anonymousConfig) |
| 19 | 19 |
|
| ... | ... |
@@ -11,7 +11,7 @@ import ( |
| 11 | 11 |
"github.com/golang/glog" |
| 12 | 12 |
|
| 13 | 13 |
kapi "k8s.io/kubernetes/pkg/api" |
| 14 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 14 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 15 | 15 |
"k8s.io/kubernetes/pkg/runtime" |
| 16 | 16 |
|
| 17 | 17 |
s2iapi "github.com/openshift/source-to-image/pkg/api" |
| ... | ... |
@@ -68,7 +68,7 @@ func newBuilderConfigFromEnvironment() (*builderConfig, error) {
|
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 | 70 |
// buildsClient (KUBERNETES_SERVICE_HOST, KUBERNETES_SERVICE_PORT) |
| 71 |
- clientConfig, err := kclient.InClusterConfig() |
|
| 71 |
+ clientConfig, err := restclient.InClusterConfig() |
|
| 72 | 72 |
if err != nil {
|
| 73 | 73 |
return nil, fmt.Errorf("failed to get client config: %v", err)
|
| 74 | 74 |
} |
| ... | ... |
@@ -2,7 +2,7 @@ package client |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 | 4 |
kapi "k8s.io/kubernetes/pkg/api" |
| 5 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 5 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 6 | 6 |
|
| 7 | 7 |
api "github.com/openshift/origin/pkg/build/api" |
| 8 | 8 |
) |
| ... | ... |
@@ -14,7 +14,7 @@ type BuildLogsNamespacer interface {
|
| 14 | 14 |
|
| 15 | 15 |
// BuildLogsInterface exposes methods on BuildLogs resources. |
| 16 | 16 |
type BuildLogsInterface interface {
|
| 17 |
- Get(name string, opts api.BuildLogOptions) *kclient.Request |
|
| 17 |
+ Get(name string, opts api.BuildLogOptions) *restclient.Request |
|
| 18 | 18 |
} |
| 19 | 19 |
|
| 20 | 20 |
// buildLogs implements BuildLogsNamespacer interface |
| ... | ... |
@@ -32,6 +32,6 @@ func newBuildLogs(c *Client, namespace string) *buildLogs {
|
| 32 | 32 |
} |
| 33 | 33 |
|
| 34 | 34 |
// Get builds and returns a buildLog request |
| 35 |
-func (c *buildLogs) Get(name string, opts api.BuildLogOptions) *kclient.Request {
|
|
| 35 |
+func (c *buildLogs) Get(name string, opts api.BuildLogOptions) *restclient.Request {
|
|
| 36 | 36 |
return c.r.Get().Namespace(c.ns).Resource("builds").Name(name).SubResource("log").VersionedParams(&opts, kapi.ParameterCodec)
|
| 37 | 37 |
} |
| ... | ... |
@@ -9,7 +9,7 @@ import ( |
| 9 | 9 |
|
| 10 | 10 |
kapi "k8s.io/kubernetes/pkg/api" |
| 11 | 11 |
"k8s.io/kubernetes/pkg/api/errors" |
| 12 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 12 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 13 | 13 |
|
| 14 | 14 |
"github.com/openshift/origin/pkg/api/latest" |
| 15 | 15 |
"github.com/openshift/origin/pkg/version" |
| ... | ... |
@@ -245,18 +245,18 @@ func (c *Client) ClusterRoleBindings() ClusterRoleBindingInterface {
|
| 245 | 245 |
|
| 246 | 246 |
// Client is an OpenShift client object |
| 247 | 247 |
type Client struct {
|
| 248 |
- *kclient.RESTClient |
|
| 248 |
+ *restclient.RESTClient |
|
| 249 | 249 |
} |
| 250 | 250 |
|
| 251 | 251 |
// New creates an OpenShift client for the given config. This client works with builds, deployments, |
| 252 | 252 |
// templates, routes, and images. It allows operations such as list, get, update and delete on these |
| 253 | 253 |
// objects. An error is returned if the provided configuration is not valid. |
| 254 |
-func New(c *kclient.Config) (*Client, error) {
|
|
| 254 |
+func New(c *restclient.Config) (*Client, error) {
|
|
| 255 | 255 |
config := *c |
| 256 | 256 |
if err := SetOpenShiftDefaults(&config); err != nil {
|
| 257 | 257 |
return nil, err |
| 258 | 258 |
} |
| 259 |
- client, err := kclient.RESTClientFor(&config) |
|
| 259 |
+ client, err := restclient.RESTClientFor(&config) |
|
| 260 | 260 |
if err != nil {
|
| 261 | 261 |
return nil, err |
| 262 | 262 |
} |
| ... | ... |
@@ -266,7 +266,7 @@ func New(c *kclient.Config) (*Client, error) {
|
| 266 | 266 |
|
| 267 | 267 |
// SetOpenShiftDefaults sets the default settings on the passed |
| 268 | 268 |
// client configuration |
| 269 |
-func SetOpenShiftDefaults(config *kclient.Config) error {
|
|
| 269 |
+func SetOpenShiftDefaults(config *restclient.Config) error {
|
|
| 270 | 270 |
if len(config.UserAgent) == 0 {
|
| 271 | 271 |
config.UserAgent = DefaultOpenShiftUserAgent() |
| 272 | 272 |
} |
| ... | ... |
@@ -292,7 +292,7 @@ func SetOpenShiftDefaults(config *kclient.Config) error {
|
| 292 | 292 |
} |
| 293 | 293 |
|
| 294 | 294 |
// NewOrDie creates an OpenShift client and panics if the provided API version is not recognized. |
| 295 |
-func NewOrDie(c *kclient.Config) *Client {
|
|
| 295 |
+func NewOrDie(c *restclient.Config) *Client {
|
|
| 296 | 296 |
client, err := New(c) |
| 297 | 297 |
if err != nil {
|
| 298 | 298 |
panic(err) |
| ... | ... |
@@ -6,7 +6,7 @@ import ( |
| 6 | 6 |
"strings" |
| 7 | 7 |
"testing" |
| 8 | 8 |
|
| 9 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 9 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 10 | 10 |
) |
| 11 | 11 |
|
| 12 | 12 |
func TestUserAgent(t *testing.T) {
|
| ... | ... |
@@ -17,7 +17,7 @@ func TestUserAgent(t *testing.T) {
|
| 17 | 17 |
})) |
| 18 | 18 |
defer server.Close() |
| 19 | 19 |
|
| 20 |
- c, _ := New(&kclient.Config{
|
|
| 20 |
+ c, _ := New(&restclient.Config{
|
|
| 21 | 21 |
Host: server.URL, |
| 22 | 22 |
}) |
| 23 | 23 |
c.DeploymentConfigs("test").Get("other")
|
| ... | ... |
@@ -2,7 +2,7 @@ package client |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 | 4 |
kapi "k8s.io/kubernetes/pkg/api" |
| 5 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 5 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 6 | 6 |
|
| 7 | 7 |
"github.com/openshift/origin/pkg/deploy/api" |
| 8 | 8 |
) |
| ... | ... |
@@ -14,7 +14,7 @@ type DeploymentLogsNamespacer interface {
|
| 14 | 14 |
|
| 15 | 15 |
// DeploymentLogInterface exposes methods on DeploymentLogs resources. |
| 16 | 16 |
type DeploymentLogInterface interface {
|
| 17 |
- Get(name string, opts api.DeploymentLogOptions) *kclient.Request |
|
| 17 |
+ Get(name string, opts api.DeploymentLogOptions) *restclient.Request |
|
| 18 | 18 |
} |
| 19 | 19 |
|
| 20 | 20 |
// deploymentLogs implements DeploymentLogsNamespacer interface |
| ... | ... |
@@ -32,6 +32,6 @@ func newDeploymentLogs(c *Client, namespace string) *deploymentLogs {
|
| 32 | 32 |
} |
| 33 | 33 |
|
| 34 | 34 |
// Get gets the deploymentlogs and return a deploymentLog request |
| 35 |
-func (c *deploymentLogs) Get(name string, opts api.DeploymentLogOptions) *kclient.Request {
|
|
| 35 |
+func (c *deploymentLogs) Get(name string, opts api.DeploymentLogOptions) *restclient.Request {
|
|
| 36 | 36 |
return c.r.Get().Namespace(c.ns).Resource("deploymentConfigs").Name(name).SubResource("log").VersionedParams(&opts, kapi.ParameterCodec)
|
| 37 | 37 |
} |
| ... | ... |
@@ -5,13 +5,14 @@ import ( |
| 5 | 5 |
|
| 6 | 6 |
"k8s.io/kubernetes/pkg/api/errors" |
| 7 | 7 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 8 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 8 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 9 |
+ "k8s.io/kubernetes/pkg/client/typed/discovery" |
|
| 9 | 10 |
) |
| 10 | 11 |
|
| 11 | 12 |
// DiscoveryClient implements the functions that dicovery server-supported API groups, |
| 12 | 13 |
// versions and resources. |
| 13 | 14 |
type DiscoveryClient struct {
|
| 14 |
- *kclient.DiscoveryClient |
|
| 15 |
+ *discovery.DiscoveryClient |
|
| 15 | 16 |
} |
| 16 | 17 |
|
| 17 | 18 |
// ServerResourcesForGroupVersion returns the supported resources for a group and version. |
| ... | ... |
@@ -55,7 +56,7 @@ func (d *DiscoveryClient) ServerResources() (map[string]*unversioned.APIResource |
| 55 | 55 |
if err != nil {
|
| 56 | 56 |
return nil, err |
| 57 | 57 |
} |
| 58 |
- groupVersions := kclient.ExtractGroupVersions(apiGroups) |
|
| 58 |
+ groupVersions := unversioned.ExtractGroupVersions(apiGroups) |
|
| 59 | 59 |
result := map[string]*unversioned.APIResourceList{}
|
| 60 | 60 |
for _, groupVersion := range groupVersions {
|
| 61 | 61 |
resources, err := d.ServerResourcesForGroupVersion(groupVersion) |
| ... | ... |
@@ -68,6 +69,6 @@ func (d *DiscoveryClient) ServerResources() (map[string]*unversioned.APIResource |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 | 70 |
// New creates a new DiscoveryClient for the given RESTClient. |
| 71 |
-func NewDiscoveryClient(c *kclient.RESTClient) *DiscoveryClient {
|
|
| 72 |
- return &DiscoveryClient{kclient.NewDiscoveryClient(c)}
|
|
| 71 |
+func NewDiscoveryClient(c *restclient.RESTClient) *DiscoveryClient {
|
|
| 72 |
+ return &DiscoveryClient{discovery.NewDiscoveryClient(c)}
|
|
| 73 | 73 |
} |
| ... | ... |
@@ -9,7 +9,7 @@ import ( |
| 9 | 9 |
kapi "k8s.io/kubernetes/pkg/api" |
| 10 | 10 |
"k8s.io/kubernetes/pkg/api/errors" |
| 11 | 11 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 12 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 12 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 13 | 13 |
"k8s.io/kubernetes/pkg/runtime" |
| 14 | 14 |
|
| 15 | 15 |
"github.com/openshift/origin/pkg/image/api" |
| ... | ... |
@@ -45,7 +45,7 @@ func TestImageStreamImportUnsupported(t *testing.T) {
|
| 45 | 45 |
}, |
| 46 | 46 |
} |
| 47 | 47 |
for i, test := range testCases {
|
| 48 |
- c, err := New(&kclient.Config{
|
|
| 48 |
+ c, err := New(&restclient.Config{
|
|
| 49 | 49 |
Transport: roundTripFunc(func(req *http.Request) (*http.Response, error) {
|
| 50 | 50 |
buf := bytes.NewBuffer([]byte(runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(api.SchemeGroupVersion), &test.status))) |
| 51 | 51 |
return &http.Response{StatusCode: http.StatusNotFound, Body: ioutil.NopCloser(buf)}, nil
|
| ... | ... |
@@ -5,7 +5,7 @@ import ( |
| 5 | 5 |
"fmt" |
| 6 | 6 |
|
| 7 | 7 |
kapierrors "k8s.io/kubernetes/pkg/api/errors" |
| 8 |
- client "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 8 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 9 | 9 |
|
| 10 | 10 |
authorizationapi "github.com/openshift/origin/pkg/authorization/api" |
| 11 | 11 |
) |
| ... | ... |
@@ -88,7 +88,7 @@ func (c *subjectAccessReviews) Create(sar *authorizationapi.SubjectAccessReview) |
| 88 | 88 |
} |
| 89 | 89 |
|
| 90 | 90 |
// overrideAuth specifies the token to authenticate the request with. token == "" is not allowed |
| 91 |
-func overrideAuth(token *string, req *client.Request) (*client.Request, error) {
|
|
| 91 |
+func overrideAuth(token *string, req *restclient.Request) (*restclient.Request, error) {
|
|
| 92 | 92 |
if token != nil {
|
| 93 | 93 |
if len(*token) == 0 {
|
| 94 | 94 |
return nil, errors.New("impersonating token may not be empty")
|
| ... | ... |
@@ -5,6 +5,7 @@ import ( |
| 5 | 5 |
"sync" |
| 6 | 6 |
|
| 7 | 7 |
kapi "k8s.io/kubernetes/pkg/api" |
| 8 |
+ "k8s.io/kubernetes/pkg/apimachinery/registered" |
|
| 8 | 9 |
ktestclient "k8s.io/kubernetes/pkg/client/unversioned/testclient" |
| 9 | 10 |
"k8s.io/kubernetes/pkg/runtime" |
| 10 | 11 |
"k8s.io/kubernetes/pkg/watch" |
| ... | ... |
@@ -35,7 +36,7 @@ func NewSimpleFake(objects ...runtime.Object) *Fake {
|
| 35 | 35 |
} |
| 36 | 36 |
|
| 37 | 37 |
fakeClient := &Fake{}
|
| 38 |
- fakeClient.AddReactor("*", "*", ktestclient.ObjectReaction(o, kapi.RESTMapper))
|
|
| 38 |
+ fakeClient.AddReactor("*", "*", ktestclient.ObjectReaction(o, registered.RESTMapper()))
|
|
| 39 | 39 |
|
| 40 | 40 |
return fakeClient |
| 41 | 41 |
} |
| ... | ... |
@@ -1,8 +1,7 @@ |
| 1 | 1 |
package testclient |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 5 |
- |
|
| 4 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 6 | 5 |
ktestclient "k8s.io/kubernetes/pkg/client/unversioned/testclient" |
| 7 | 6 |
|
| 8 | 7 |
buildapi "github.com/openshift/origin/pkg/build/api" |
| ... | ... |
@@ -15,7 +14,7 @@ type FakeBuildLogs struct {
|
| 15 | 15 |
Namespace string |
| 16 | 16 |
} |
| 17 | 17 |
|
| 18 |
-func (c *FakeBuildLogs) Get(name string, opt buildapi.BuildLogOptions) *kclient.Request {
|
|
| 18 |
+func (c *FakeBuildLogs) Get(name string, opt buildapi.BuildLogOptions) *restclient.Request {
|
|
| 19 | 19 |
action := ktestclient.GenericActionImpl{}
|
| 20 | 20 |
action.Verb = "get" |
| 21 | 21 |
action.Namespace = c.Namespace |
| ... | ... |
@@ -24,5 +23,5 @@ func (c *FakeBuildLogs) Get(name string, opt buildapi.BuildLogOptions) *kclient. |
| 24 | 24 |
action.Value = opt |
| 25 | 25 |
|
| 26 | 26 |
_, _ = c.Fake.Invokes(action, &buildapi.BuildConfig{})
|
| 27 |
- return &kclient.Request{}
|
|
| 27 |
+ return &restclient.Request{}
|
|
| 28 | 28 |
} |
| ... | ... |
@@ -1,7 +1,7 @@ |
| 1 | 1 |
package testclient |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 4 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 5 | 5 |
ktestclient "k8s.io/kubernetes/pkg/client/unversioned/testclient" |
| 6 | 6 |
|
| 7 | 7 |
"github.com/openshift/origin/pkg/deploy/api" |
| ... | ... |
@@ -15,7 +15,7 @@ type FakeDeploymentLogs struct {
|
| 15 | 15 |
} |
| 16 | 16 |
|
| 17 | 17 |
// Get builds and returns a buildLog request |
| 18 |
-func (c *FakeDeploymentLogs) Get(name string, opt api.DeploymentLogOptions) *kclient.Request {
|
|
| 18 |
+func (c *FakeDeploymentLogs) Get(name string, opt api.DeploymentLogOptions) *restclient.Request {
|
|
| 19 | 19 |
action := ktestclient.GenericActionImpl{}
|
| 20 | 20 |
action.Verb = "get" |
| 21 | 21 |
action.Namespace = c.Namespace |
| ... | ... |
@@ -24,5 +24,5 @@ func (c *FakeDeploymentLogs) Get(name string, opt api.DeploymentLogOptions) *kcl |
| 24 | 24 |
action.Value = opt |
| 25 | 25 |
|
| 26 | 26 |
_, _ = c.Fake.Invokes(action, &api.DeploymentConfig{})
|
| 27 |
- return &kclient.Request{}
|
|
| 27 |
+ return &restclient.Request{}
|
|
| 28 | 28 |
} |
| ... | ... |
@@ -1,7 +1,7 @@ |
| 1 | 1 |
package testclient |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
- kapi "k8s.io/kubernetes/pkg/api" |
|
| 4 |
+ "k8s.io/kubernetes/pkg/apimachinery/registered" |
|
| 5 | 5 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 6 | 6 |
"k8s.io/kubernetes/pkg/client/unversioned/testclient" |
| 7 | 7 |
|
| ... | ... |
@@ -11,10 +11,10 @@ import ( |
| 11 | 11 |
// NewFixtureClients returns mocks of the OpenShift and Kubernetes clients |
| 12 | 12 |
func NewFixtureClients(o testclient.ObjectRetriever) (osclient.Interface, kclient.Interface) {
|
| 13 | 13 |
oc := &Fake{}
|
| 14 |
- oc.AddReactor("*", "*", testclient.ObjectReaction(o, kapi.RESTMapper))
|
|
| 14 |
+ oc.AddReactor("*", "*", testclient.ObjectReaction(o, registered.RESTMapper()))
|
|
| 15 | 15 |
|
| 16 | 16 |
kc := &testclient.Fake{}
|
| 17 |
- kc.AddReactor("*", "*", testclient.ObjectReaction(o, kapi.RESTMapper))
|
|
| 17 |
+ kc.AddReactor("*", "*", testclient.ObjectReaction(o, registered.RESTMapper()))
|
|
| 18 | 18 |
|
| 19 | 19 |
return oc, kc |
| 20 | 20 |
} |
| ... | ... |
@@ -14,6 +14,7 @@ import ( |
| 14 | 14 |
|
| 15 | 15 |
"github.com/spf13/cobra" |
| 16 | 16 |
kapi "k8s.io/kubernetes/pkg/api" |
| 17 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 17 | 18 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 18 | 19 |
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" |
| 19 | 20 |
knet "k8s.io/kubernetes/pkg/util/net" |
| ... | ... |
@@ -411,7 +412,7 @@ func getClients(f *clientcmd.Factory, caBundle string) (*client.Client, *kclient |
| 411 | 411 |
// set the "password" to be the token |
| 412 | 412 |
registryClientConfig.Password = token |
| 413 | 413 |
|
| 414 |
- tlsConfig, err := kclient.TLSConfigFor(®istryClientConfig) |
|
| 414 |
+ tlsConfig, err := restclient.TLSConfigFor(®istryClientConfig) |
|
| 415 | 415 |
if err != nil {
|
| 416 | 416 |
return nil, nil, nil, err |
| 417 | 417 |
} |
| ... | ... |
@@ -435,7 +436,7 @@ func getClients(f *clientcmd.Factory, caBundle string) (*client.Client, *kclient |
| 435 | 435 |
TLSClientConfig: tlsConfig, |
| 436 | 436 |
}) |
| 437 | 437 |
|
| 438 |
- wrappedTransport, err := kclient.HTTPWrappersForConfig(®istryClientConfig, transport) |
|
| 438 |
+ wrappedTransport, err := restclient.HTTPWrappersForConfig(®istryClientConfig, transport) |
|
| 439 | 439 |
if err != nil {
|
| 440 | 440 |
return nil, nil, nil, err |
| 441 | 441 |
} |
| ... | ... |
@@ -14,7 +14,7 @@ import ( |
| 14 | 14 |
"github.com/spf13/cobra" |
| 15 | 15 |
kapi "k8s.io/kubernetes/pkg/api" |
| 16 | 16 |
"k8s.io/kubernetes/pkg/api/errors" |
| 17 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 17 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 18 | 18 |
kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 19 | 19 |
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" |
| 20 | 20 |
"k8s.io/kubernetes/pkg/runtime" |
| ... | ... |
@@ -254,7 +254,7 @@ func RunCmdRegistry(f *clientcmd.Factory, cmd *cobra.Command, out io.Writer, cfg |
| 254 | 254 |
if err != nil {
|
| 255 | 255 |
return fmt.Errorf("registry does not exist; the provided credentials %q could not be used: %v", cfg.Credentials, err)
|
| 256 | 256 |
} |
| 257 |
- if err := kclient.LoadTLSFiles(config); err != nil {
|
|
| 257 |
+ if err := restclient.LoadTLSFiles(config); err != nil {
|
|
| 258 | 258 |
return fmt.Errorf("registry does not exist; the provided credentials %q could not load certificate info: %v", cfg.Credentials, err)
|
| 259 | 259 |
} |
| 260 | 260 |
insecure := "false" |
| ... | ... |
@@ -14,6 +14,7 @@ import ( |
| 14 | 14 |
|
| 15 | 15 |
kapi "k8s.io/kubernetes/pkg/api" |
| 16 | 16 |
"k8s.io/kubernetes/pkg/api/errors" |
| 17 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 17 | 18 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 18 | 19 |
kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 19 | 20 |
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" |
| ... | ... |
@@ -554,7 +555,7 @@ func RunCmdRouter(f *clientcmd.Factory, cmd *cobra.Command, out io.Writer, cfg * |
| 554 | 554 |
if err != nil {
|
| 555 | 555 |
return fmt.Errorf("router could not be created; the provided credentials %q could not be used: %v", cfg.Credentials, err)
|
| 556 | 556 |
} |
| 557 |
- if err := kclient.LoadTLSFiles(config); err != nil {
|
|
| 557 |
+ if err := restclient.LoadTLSFiles(config); err != nil {
|
|
| 558 | 558 |
return fmt.Errorf("router could not be created; the provided credentials %q could not load certificate info: %v", cfg.Credentials, err)
|
| 559 | 559 |
} |
| 560 | 560 |
insecure := "false" |
| 561 | 561 |
deleted file mode 100644 |
| ... | ... |
@@ -1,65 +0,0 @@ |
| 1 |
-package cmd |
|
| 2 |
- |
|
| 3 |
-import ( |
|
| 4 |
- "bufio" |
|
| 5 |
- "fmt" |
|
| 6 |
- "os" |
|
| 7 |
- "strings" |
|
| 8 |
- |
|
| 9 |
- "github.com/spf13/cobra" |
|
| 10 |
- |
|
| 11 |
- "k8s.io/kubernetes/pkg/kubectl/cmd/config" |
|
| 12 |
- |
|
| 13 |
- cmdconfig "github.com/openshift/origin/pkg/cmd/cli/config" |
|
| 14 |
-) |
|
| 15 |
- |
|
| 16 |
-const ( |
|
| 17 |
- configLong = ` |
|
| 18 |
-Manage the client config files |
|
| 19 |
- |
|
| 20 |
-The client stores configuration in the current user's home directory (under the .kube directory as |
|
| 21 |
-config). When you login the first time, a new config file is created, and subsequent project changes with the |
|
| 22 |
-'project' command will set the current context. These subcommands allow you to manage the config directly. |
|
| 23 |
- |
|
| 24 |
-Reference: https://github.com/kubernetes/kubernetes/blob/master/docs/user-guide/kubeconfig-file.md` |
|
| 25 |
- |
|
| 26 |
- configExample = ` # Change the config context to use |
|
| 27 |
- %[1]s %[2]s use-context my-context |
|
| 28 |
- |
|
| 29 |
- # Set the value of a config preference |
|
| 30 |
- %[1]s %[2]s set preferences.some true` |
|
| 31 |
-) |
|
| 32 |
- |
|
| 33 |
-func NewCmdConfig(parentName, name string) *cobra.Command {
|
|
| 34 |
- pathOptions := &config.PathOptions{
|
|
| 35 |
- GlobalFile: cmdconfig.RecommendedHomeFile, |
|
| 36 |
- EnvVar: cmdconfig.OpenShiftConfigPathEnvVar, |
|
| 37 |
- ExplicitFileFlag: cmdconfig.OpenShiftConfigFlagName, |
|
| 38 |
- |
|
| 39 |
- GlobalFileSubpath: cmdconfig.OpenShiftConfigHomeDirFileName, |
|
| 40 |
- |
|
| 41 |
- LoadingRules: cmdconfig.NewOpenShiftClientConfigLoadingRules(), |
|
| 42 |
- } |
|
| 43 |
- pathOptions.LoadingRules.DoNotResolvePaths = true |
|
| 44 |
- |
|
| 45 |
- cmd := config.NewCmdConfig(pathOptions, os.Stdout) |
|
| 46 |
- cmd.Short = "Change configuration files for the client" |
|
| 47 |
- cmd.Long = configLong |
|
| 48 |
- cmd.Example = fmt.Sprintf(configExample, parentName, name) |
|
| 49 |
- adjustCmdExamples(cmd, parentName, name) |
|
| 50 |
- return cmd |
|
| 51 |
-} |
|
| 52 |
- |
|
| 53 |
-func adjustCmdExamples(cmd *cobra.Command, parentName string, name string) {
|
|
| 54 |
- for _, subCmd := range cmd.Commands() {
|
|
| 55 |
- adjustCmdExamples(subCmd, parentName, cmd.Name()) |
|
| 56 |
- } |
|
| 57 |
- cmd.Example = strings.Replace(cmd.Example, "$ kubectl", "$ "+parentName, -1) |
|
| 58 |
- tabbing := " " |
|
| 59 |
- examples := []string{}
|
|
| 60 |
- scanner := bufio.NewScanner(strings.NewReader(cmd.Example)) |
|
| 61 |
- for scanner.Scan() {
|
|
| 62 |
- examples = append(examples, tabbing+strings.TrimSpace(scanner.Text())) |
|
| 63 |
- } |
|
| 64 |
- cmd.Example = strings.Join(examples, "\n") |
|
| 65 |
-} |
| ... | ... |
@@ -13,7 +13,7 @@ import ( |
| 13 | 13 |
kapi "k8s.io/kubernetes/pkg/api" |
| 14 | 14 |
kapierrors "k8s.io/kubernetes/pkg/api/errors" |
| 15 | 15 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 16 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 16 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 17 | 17 |
"k8s.io/kubernetes/pkg/fields" |
| 18 | 18 |
kcmd "k8s.io/kubernetes/pkg/kubectl/cmd" |
| 19 | 19 |
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" |
| ... | ... |
@@ -33,7 +33,7 @@ type DebugOptions struct {
|
| 33 | 33 |
Attach kcmd.AttachOptions |
| 34 | 34 |
|
| 35 | 35 |
Print func(pod *kapi.Pod, w io.Writer) error |
| 36 |
- LogsForObject func(object, options runtime.Object) (*kclient.Request, error) |
|
| 36 |
+ LogsForObject func(object, options runtime.Object) (*restclient.Request, error) |
|
| 37 | 37 |
|
| 38 | 38 |
NoStdin bool |
| 39 | 39 |
ForceTTY bool |
| ... | ... |
@@ -10,7 +10,7 @@ import ( |
| 10 | 10 |
kapi "k8s.io/kubernetes/pkg/api" |
| 11 | 11 |
kerrors "k8s.io/kubernetes/pkg/api/errors" |
| 12 | 12 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 13 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 13 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 14 | 14 |
kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 15 | 15 |
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| 16 | 16 |
kclientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| ... | ... |
@@ -49,7 +49,7 @@ type LoginOptions struct {
|
| 49 | 49 |
// infra |
| 50 | 50 |
StartingKubeConfig *kclientcmdapi.Config |
| 51 | 51 |
DefaultNamespace string |
| 52 |
- Config *kclient.Config |
|
| 52 |
+ Config *restclient.Config |
|
| 53 | 53 |
Reader io.Reader |
| 54 | 54 |
Out io.Writer |
| 55 | 55 |
|
| ... | ... |
@@ -75,12 +75,12 @@ func (o *LoginOptions) GatherInfo() error {
|
| 75 | 75 |
|
| 76 | 76 |
// getClientConfig returns back the current clientConfig as we know it. If there is no clientConfig, it builds one with enough information |
| 77 | 77 |
// to talk to a server. This may involve user prompts. This method is not threadsafe. |
| 78 |
-func (o *LoginOptions) getClientConfig() (*kclient.Config, error) {
|
|
| 78 |
+func (o *LoginOptions) getClientConfig() (*restclient.Config, error) {
|
|
| 79 | 79 |
if o.Config != nil {
|
| 80 | 80 |
return o.Config, nil |
| 81 | 81 |
} |
| 82 | 82 |
|
| 83 |
- clientConfig := &kclient.Config{}
|
|
| 83 |
+ clientConfig := &restclient.Config{}
|
|
| 84 | 84 |
|
| 85 | 85 |
if len(o.Server) == 0 {
|
| 86 | 86 |
// we need to have a server to talk to |
| ... | ... |
@@ -176,7 +176,7 @@ func (o *LoginOptions) getClientConfig() (*kclient.Config, error) {
|
| 176 | 176 |
} |
| 177 | 177 |
|
| 178 | 178 |
// getMatchingClusters examines the kubeconfig for all clusters that point to the same server |
| 179 |
-func getMatchingClusters(clientConfig kclient.Config, kubeconfig clientcmdapi.Config) sets.String {
|
|
| 179 |
+func getMatchingClusters(clientConfig restclient.Config, kubeconfig clientcmdapi.Config) sets.String {
|
|
| 180 | 180 |
ret := sets.String{}
|
| 181 | 181 |
|
| 182 | 182 |
for key, cluster := range kubeconfig.Clusters {
|
| ... | ... |
@@ -7,7 +7,7 @@ import ( |
| 7 | 7 |
|
| 8 | 8 |
"github.com/spf13/cobra" |
| 9 | 9 |
|
| 10 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 10 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 11 | 11 |
kclientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| 12 | 12 |
kcmdconfig "k8s.io/kubernetes/pkg/kubectl/cmd/config" |
| 13 | 13 |
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" |
| ... | ... |
@@ -19,7 +19,7 @@ import ( |
| 19 | 19 |
|
| 20 | 20 |
type LogoutOptions struct {
|
| 21 | 21 |
StartingKubeConfig *kclientcmdapi.Config |
| 22 |
- Config *kclient.Config |
|
| 22 |
+ Config *restclient.Config |
|
| 23 | 23 |
Out io.Writer |
| 24 | 24 |
|
| 25 | 25 |
PathOptions *kcmdconfig.PathOptions |
| ... | ... |
@@ -17,6 +17,7 @@ import ( |
| 17 | 17 |
|
| 18 | 18 |
kapi "k8s.io/kubernetes/pkg/api" |
| 19 | 19 |
kapierrors "k8s.io/kubernetes/pkg/api/errors" |
| 20 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 20 | 21 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 21 | 22 |
ctl "k8s.io/kubernetes/pkg/kubectl" |
| 22 | 23 |
kcmd "k8s.io/kubernetes/pkg/kubectl/cmd" |
| ... | ... |
@@ -810,10 +811,10 @@ func printHumanReadableQueryResult(r *newcmd.QueryResult, out io.Writer, fullNam |
| 810 | 810 |
} |
| 811 | 811 |
|
| 812 | 812 |
type configSecretRetriever struct {
|
| 813 |
- config *kclient.Config |
|
| 813 |
+ config *restclient.Config |
|
| 814 | 814 |
} |
| 815 | 815 |
|
| 816 |
-func newConfigSecretRetriever(config *kclient.Config) newapp.SecretAccessor {
|
|
| 816 |
+func newConfigSecretRetriever(config *restclient.Config) newapp.SecretAccessor {
|
|
| 817 | 817 |
return &configSecretRetriever{config}
|
| 818 | 818 |
} |
| 819 | 819 |
|
| ... | ... |
@@ -8,7 +8,7 @@ import ( |
| 8 | 8 |
|
| 9 | 9 |
kapi "k8s.io/kubernetes/pkg/api" |
| 10 | 10 |
kapierrors "k8s.io/kubernetes/pkg/api/errors" |
| 11 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 11 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 12 | 12 |
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| 13 | 13 |
kubecmdconfig "k8s.io/kubernetes/pkg/kubectl/cmd/config" |
| 14 | 14 |
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" |
| ... | ... |
@@ -24,7 +24,7 @@ import ( |
| 24 | 24 |
type ProjectOptions struct {
|
| 25 | 25 |
Config clientcmdapi.Config |
| 26 | 26 |
Client *client.Client |
| 27 |
- ClientConfig *kclient.Config |
|
| 27 |
+ ClientConfig *restclient.Config |
|
| 28 | 28 |
Out io.Writer |
| 29 | 29 |
PathOptions *kubecmdconfig.PathOptions |
| 30 | 30 |
|
| ... | ... |
@@ -271,7 +271,7 @@ func getProjects(oClient *client.Client) ([]api.Project, error) {
|
| 271 | 271 |
return projects.Items, nil |
| 272 | 272 |
} |
| 273 | 273 |
|
| 274 |
-func clusterAndAuthEquality(clientCfg *kclient.Config, cluster clientcmdapi.Cluster, authInfo clientcmdapi.AuthInfo) bool {
|
|
| 274 |
+func clusterAndAuthEquality(clientCfg *restclient.Config, cluster clientcmdapi.Cluster, authInfo clientcmdapi.AuthInfo) bool {
|
|
| 275 | 275 |
return cluster.Server == clientCfg.Host && |
| 276 | 276 |
cluster.InsecureSkipTLSVerify == clientCfg.Insecure && |
| 277 | 277 |
cluster.CertificateAuthority == clientCfg.CAFile && |
| ... | ... |
@@ -5,6 +5,7 @@ import ( |
| 5 | 5 |
"strings" |
| 6 | 6 |
|
| 7 | 7 |
"github.com/golang/glog" |
| 8 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 8 | 9 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 9 | 10 |
kubecmd "k8s.io/kubernetes/pkg/kubectl/cmd" |
| 10 | 11 |
|
| ... | ... |
@@ -17,7 +18,7 @@ type remoteExecutor struct {
|
| 17 | 17 |
PodName string |
| 18 | 18 |
ContainerName string |
| 19 | 19 |
Client *kclient.Client |
| 20 |
- Config *kclient.Config |
|
| 20 |
+ Config *restclient.Config |
|
| 21 | 21 |
} |
| 22 | 22 |
|
| 23 | 23 |
// Ensure it implements the executor interface |
| ... | ... |
@@ -1,6 +1,7 @@ |
| 1 | 1 |
package rsync |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 4 | 5 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 5 | 6 |
"k8s.io/kubernetes/pkg/client/unversioned/portforward" |
| 6 | 7 |
"k8s.io/kubernetes/pkg/client/unversioned/remotecommand" |
| ... | ... |
@@ -13,7 +14,7 @@ type portForwarder struct {
|
| 13 | 13 |
Namespace string |
| 14 | 14 |
PodName string |
| 15 | 15 |
Client *kclient.Client |
| 16 |
- Config *kclient.Config |
|
| 16 |
+ Config *restclient.Config |
|
| 17 | 17 |
} |
| 18 | 18 |
|
| 19 | 19 |
// ensure that portForwarder implements the forwarder interface |
| ... | ... |
@@ -20,7 +20,7 @@ import ( |
| 20 | 20 |
|
| 21 | 21 |
kapi "k8s.io/kubernetes/pkg/api" |
| 22 | 22 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 23 |
- client "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 23 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 24 | 24 |
"k8s.io/kubernetes/pkg/fields" |
| 25 | 25 |
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" |
| 26 | 26 |
"k8s.io/kubernetes/pkg/util" |
| ... | ... |
@@ -540,9 +540,9 @@ func RunStartBuildWebHook(f *clientcmd.Factory, out io.Writer, webhook string, p |
| 540 | 540 |
if hook.Scheme == "https" {
|
| 541 | 541 |
config, err := f.OpenShiftClientConfig.ClientConfig() |
| 542 | 542 |
if err == nil {
|
| 543 |
- if url, _, err := client.DefaultServerURL(config.Host, "", unversioned.GroupVersion{}, true); err == nil {
|
|
| 543 |
+ if url, _, err := restclient.DefaultServerURL(config.Host, "", unversioned.GroupVersion{}, true); err == nil {
|
|
| 544 | 544 |
if url.Host == hook.Host && url.Scheme == hook.Scheme {
|
| 545 |
- if rt, err := client.TransportFor(config); err == nil {
|
|
| 545 |
+ if rt, err := restclient.TransportFor(config); err == nil {
|
|
| 546 | 546 |
httpClient = &http.Client{Transport: rt}
|
| 547 | 547 |
} |
| 548 | 548 |
} |
| ... | ... |
@@ -12,7 +12,7 @@ import ( |
| 12 | 12 |
"strings" |
| 13 | 13 |
"testing" |
| 14 | 14 |
|
| 15 |
- client "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 15 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 16 | 16 |
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| 17 | 17 |
|
| 18 | 18 |
buildapi "github.com/openshift/origin/pkg/build/api" |
| ... | ... |
@@ -21,7 +21,7 @@ import ( |
| 21 | 21 |
|
| 22 | 22 |
type FakeClientConfig struct {
|
| 23 | 23 |
Raw clientcmdapi.Config |
| 24 |
- Client *client.Config |
|
| 24 |
+ Client *restclient.Config |
|
| 25 | 25 |
NS string |
| 26 | 26 |
Explicit bool |
| 27 | 27 |
Err error |
| ... | ... |
@@ -33,7 +33,7 @@ func (c *FakeClientConfig) RawConfig() (clientcmdapi.Config, error) {
|
| 33 | 33 |
} |
| 34 | 34 |
|
| 35 | 35 |
// ClientConfig returns a complete client config |
| 36 |
-func (c *FakeClientConfig) ClientConfig() (*client.Config, error) {
|
|
| 36 |
+func (c *FakeClientConfig) ClientConfig() (*restclient.Config, error) {
|
|
| 37 | 37 |
return c.Client, c.Err |
| 38 | 38 |
} |
| 39 | 39 |
|
| ... | ... |
@@ -4,12 +4,15 @@ import ( |
| 4 | 4 |
"bufio" |
| 5 | 5 |
"fmt" |
| 6 | 6 |
"io" |
| 7 |
+ "os" |
|
| 7 | 8 |
"strings" |
| 8 | 9 |
|
| 9 | 10 |
"github.com/spf13/cobra" |
| 10 | 11 |
kcmd "k8s.io/kubernetes/pkg/kubectl/cmd" |
| 12 |
+ "k8s.io/kubernetes/pkg/kubectl/cmd/config" |
|
| 11 | 13 |
kvalidation "k8s.io/kubernetes/pkg/util/validation" |
| 12 | 14 |
|
| 15 |
+ cmdconfig "github.com/openshift/origin/pkg/cmd/cli/config" |
|
| 13 | 16 |
"github.com/openshift/origin/pkg/cmd/cli/describe" |
| 14 | 17 |
"github.com/openshift/origin/pkg/cmd/util/clientcmd" |
| 15 | 18 |
) |
| ... | ... |
@@ -146,13 +149,16 @@ JSON and YAML formats are accepted.` |
| 146 | 146 |
) |
| 147 | 147 |
|
| 148 | 148 |
// NewCmdCreate is a wrapper for the Kubernetes cli create command |
| 149 |
-func NewCmdCreate(fullName string, f *clientcmd.Factory, out io.Writer) *cobra.Command {
|
|
| 149 |
+func NewCmdCreate(parentName string, f *clientcmd.Factory, out io.Writer) *cobra.Command {
|
|
| 150 | 150 |
cmd := kcmd.NewCmdCreate(f.Factory, out) |
| 151 | 151 |
cmd.Long = createLong |
| 152 |
- cmd.Example = fmt.Sprintf(createExample, fullName) |
|
| 152 |
+ cmd.Example = fmt.Sprintf(createExample, parentName) |
|
| 153 | 153 |
|
| 154 | 154 |
// create subcommands |
| 155 |
- cmd.AddCommand(NewCmdCreateRoute(fullName, f, out)) |
|
| 155 |
+ cmd.AddCommand(NewCmdCreateRoute(parentName, f, out)) |
|
| 156 |
+ |
|
| 157 |
+ adjustCmdExamples(cmd, parentName, "create") |
|
| 158 |
+ |
|
| 156 | 159 |
return cmd |
| 157 | 160 |
} |
| 158 | 161 |
|
| ... | ... |
@@ -552,3 +558,54 @@ func NewCmdEdit(fullName string, f *clientcmd.Factory, out io.Writer) *cobra.Com |
| 552 | 552 |
cmd.Example = fmt.Sprintf(editExample, fullName) |
| 553 | 553 |
return cmd |
| 554 | 554 |
} |
| 555 |
+ |
|
| 556 |
+const ( |
|
| 557 |
+ configLong = ` |
|
| 558 |
+Manage the client config files |
|
| 559 |
+ |
|
| 560 |
+The client stores configuration in the current user's home directory (under the .kube directory as |
|
| 561 |
+config). When you login the first time, a new config file is created, and subsequent project changes with the |
|
| 562 |
+'project' command will set the current context. These subcommands allow you to manage the config directly. |
|
| 563 |
+ |
|
| 564 |
+Reference: https://github.com/kubernetes/kubernetes/blob/master/docs/user-guide/kubeconfig-file.md` |
|
| 565 |
+ |
|
| 566 |
+ configExample = ` # Change the config context to use |
|
| 567 |
+ %[1]s %[2]s use-context my-context |
|
| 568 |
+ |
|
| 569 |
+ # Set the value of a config preference |
|
| 570 |
+ %[1]s %[2]s set preferences.some true` |
|
| 571 |
+) |
|
| 572 |
+ |
|
| 573 |
+func NewCmdConfig(parentName, name string) *cobra.Command {
|
|
| 574 |
+ pathOptions := &config.PathOptions{
|
|
| 575 |
+ GlobalFile: cmdconfig.RecommendedHomeFile, |
|
| 576 |
+ EnvVar: cmdconfig.OpenShiftConfigPathEnvVar, |
|
| 577 |
+ ExplicitFileFlag: cmdconfig.OpenShiftConfigFlagName, |
|
| 578 |
+ |
|
| 579 |
+ GlobalFileSubpath: cmdconfig.OpenShiftConfigHomeDirFileName, |
|
| 580 |
+ |
|
| 581 |
+ LoadingRules: cmdconfig.NewOpenShiftClientConfigLoadingRules(), |
|
| 582 |
+ } |
|
| 583 |
+ pathOptions.LoadingRules.DoNotResolvePaths = true |
|
| 584 |
+ |
|
| 585 |
+ cmd := config.NewCmdConfig(pathOptions, os.Stdout) |
|
| 586 |
+ cmd.Short = "Change configuration files for the client" |
|
| 587 |
+ cmd.Long = configLong |
|
| 588 |
+ cmd.Example = fmt.Sprintf(configExample, parentName, name) |
|
| 589 |
+ adjustCmdExamples(cmd, parentName, name) |
|
| 590 |
+ return cmd |
|
| 591 |
+} |
|
| 592 |
+ |
|
| 593 |
+func adjustCmdExamples(cmd *cobra.Command, parentName string, name string) {
|
|
| 594 |
+ for _, subCmd := range cmd.Commands() {
|
|
| 595 |
+ adjustCmdExamples(subCmd, parentName, cmd.Name()) |
|
| 596 |
+ } |
|
| 597 |
+ cmd.Example = strings.Replace(cmd.Example, "kubectl", parentName, -1) |
|
| 598 |
+ tabbing := " " |
|
| 599 |
+ examples := []string{}
|
|
| 600 |
+ scanner := bufio.NewScanner(strings.NewReader(cmd.Example)) |
|
| 601 |
+ for scanner.Scan() {
|
|
| 602 |
+ examples = append(examples, tabbing+strings.TrimSpace(scanner.Text())) |
|
| 603 |
+ } |
|
| 604 |
+ cmd.Example = strings.Join(examples, "\n") |
|
| 605 |
+} |
| ... | ... |
@@ -6,7 +6,7 @@ import ( |
| 6 | 6 |
"reflect" |
| 7 | 7 |
"strings" |
| 8 | 8 |
|
| 9 |
- client "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 9 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 10 | 10 |
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| 11 | 11 |
"k8s.io/kubernetes/third_party/golang/netutil" |
| 12 | 12 |
|
| ... | ... |
@@ -15,7 +15,7 @@ import ( |
| 15 | 15 |
) |
| 16 | 16 |
|
| 17 | 17 |
// GetClusterNicknameFromConfig returns host:port of the clientConfig.Host, with .'s replaced by -'s |
| 18 |
-func GetClusterNicknameFromConfig(clientCfg *client.Config) (string, error) {
|
|
| 18 |
+func GetClusterNicknameFromConfig(clientCfg *restclient.Config) (string, error) {
|
|
| 19 | 19 |
return GetClusterNicknameFromURL(clientCfg.Host) |
| 20 | 20 |
} |
| 21 | 21 |
|
| ... | ... |
@@ -33,7 +33,7 @@ func GetClusterNicknameFromURL(apiServerLocation string) (string, error) {
|
| 33 | 33 |
|
| 34 | 34 |
// GetUserNicknameFromConfig returns "username(as known by the server)/GetClusterNicknameFromConfig". This allows tab completion for switching users to |
| 35 | 35 |
// work easily and obviously. |
| 36 |
-func GetUserNicknameFromConfig(clientCfg *client.Config) (string, error) {
|
|
| 36 |
+func GetUserNicknameFromConfig(clientCfg *restclient.Config) (string, error) {
|
|
| 37 | 37 |
client, err := osclient.New(clientCfg) |
| 38 | 38 |
if err != nil {
|
| 39 | 39 |
return "", err |
| ... | ... |
@@ -63,7 +63,7 @@ func GetUserNicknameFromCert(clusterNick string, chain ...*x509.Certificate) (st |
| 63 | 63 |
// GetContextNicknameFromConfig returns "namespace/GetClusterNicknameFromConfig/username(as known by the server)". This allows tab completion for switching projects/context |
| 64 | 64 |
// to work easily. First tab is the most selective on project. Second stanza in the next most selective on cluster name. The chances of a user trying having |
| 65 | 65 |
// one projects on a single server that they want to operate against with two identities is low, so username is last. |
| 66 |
-func GetContextNicknameFromConfig(namespace string, clientCfg *client.Config) (string, error) {
|
|
| 66 |
+func GetContextNicknameFromConfig(namespace string, clientCfg *restclient.Config) (string, error) {
|
|
| 67 | 67 |
client, err := osclient.New(clientCfg) |
| 68 | 68 |
if err != nil {
|
| 69 | 69 |
return "", err |
| ... | ... |
@@ -87,7 +87,7 @@ func GetContextNickname(namespace, clusterNick, userNick string) string {
|
| 87 | 87 |
} |
| 88 | 88 |
|
| 89 | 89 |
// CreateConfig takes a clientCfg and builds a config (kubeconfig style) from it. |
| 90 |
-func CreateConfig(namespace string, clientCfg *client.Config) (*clientcmdapi.Config, error) {
|
|
| 90 |
+func CreateConfig(namespace string, clientCfg *restclient.Config) (*clientcmdapi.Config, error) {
|
|
| 91 | 91 |
clusterNick, err := GetClusterNicknameFromConfig(clientCfg) |
| 92 | 92 |
if err != nil {
|
| 93 | 93 |
return nil, err |
| ... | ... |
@@ -9,6 +9,7 @@ import ( |
| 9 | 9 |
"github.com/spf13/cobra" |
| 10 | 10 |
|
| 11 | 11 |
kapi "k8s.io/kubernetes/pkg/api" |
| 12 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 12 | 13 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 13 | 14 |
"k8s.io/kubernetes/pkg/kubectl" |
| 14 | 15 |
|
| ... | ... |
@@ -51,7 +52,7 @@ func NewCommandDeployer(name string) *cobra.Command {
|
| 51 | 51 |
glog.Fatal("namespace is required")
|
| 52 | 52 |
} |
| 53 | 53 |
|
| 54 |
- kcfg, err := kclient.InClusterConfig() |
|
| 54 |
+ kcfg, err := restclient.InClusterConfig() |
|
| 55 | 55 |
if err != nil {
|
| 56 | 56 |
glog.Fatal(err) |
| 57 | 57 |
} |
| ... | ... |
@@ -10,6 +10,7 @@ import ( |
| 10 | 10 |
"time" |
| 11 | 11 |
|
| 12 | 12 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 13 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 13 | 14 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 14 | 15 |
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 15 | 16 |
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" |
| ... | ... |
@@ -285,7 +286,7 @@ func GetNodeFileReferences(config *NodeConfig) []*string {
|
| 285 | 285 |
|
| 286 | 286 |
// TODO: clients should be copied and instantiated from a common client config, tweaked, then |
| 287 | 287 |
// given to individual controllers and other infrastructure components. |
| 288 |
-func GetKubeClient(kubeConfigFile string) (*kclient.Client, *kclient.Config, error) {
|
|
| 288 |
+func GetKubeClient(kubeConfigFile string) (*kclient.Client, *restclient.Config, error) {
|
|
| 289 | 289 |
loadingRules := &clientcmd.ClientConfigLoadingRules{}
|
| 290 | 290 |
loadingRules.ExplicitPath = kubeConfigFile |
| 291 | 291 |
loader := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(loadingRules, &clientcmd.ConfigOverrides{})
|
| ... | ... |
@@ -311,7 +312,7 @@ func GetKubeClient(kubeConfigFile string) (*kclient.Client, *kclient.Config, err |
| 311 | 311 |
|
| 312 | 312 |
// TODO: clients should be copied and instantiated from a common client config, tweaked, then |
| 313 | 313 |
// given to individual controllers and other infrastructure components. |
| 314 |
-func GetOpenShiftClient(kubeConfigFile string) (*client.Client, *kclient.Config, error) {
|
|
| 314 |
+func GetOpenShiftClient(kubeConfigFile string) (*client.Client, *restclient.Config, error) {
|
|
| 315 | 315 |
loadingRules := &clientcmd.ClientConfigLoadingRules{}
|
| 316 | 316 |
loadingRules.ExplicitPath = kubeConfigFile |
| 317 | 317 |
loader := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(loadingRules, &clientcmd.ConfigOverrides{})
|
| ... | ... |
@@ -12,7 +12,7 @@ import ( |
| 12 | 12 |
"github.com/golang/glog" |
| 13 | 13 |
"golang.org/x/net/context" |
| 14 | 14 |
|
| 15 |
- client "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 15 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 16 | 16 |
etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util" |
| 17 | 17 |
knet "k8s.io/kubernetes/pkg/util/net" |
| 18 | 18 |
|
| ... | ... |
@@ -36,8 +36,8 @@ func GetAndTestEtcdClient(etcdClientInfo configapi.EtcdConnectionInfo) (*etcdcli |
| 36 | 36 |
|
| 37 | 37 |
// EtcdClient creates an etcd client based on the provided config. |
| 38 | 38 |
func EtcdClient(etcdClientInfo configapi.EtcdConnectionInfo) (*etcdclient.Client, error) {
|
| 39 |
- tlsConfig, err := client.TLSConfigFor(&client.Config{
|
|
| 40 |
- TLSClientConfig: client.TLSClientConfig{
|
|
| 39 |
+ tlsConfig, err := restclient.TLSConfigFor(&restclient.Config{
|
|
| 40 |
+ TLSClientConfig: restclient.TLSClientConfig{
|
|
| 41 | 41 |
CertFile: etcdClientInfo.ClientCert.CertFile, |
| 42 | 42 |
KeyFile: etcdClientInfo.ClientCert.KeyFile, |
| 43 | 43 |
CAFile: etcdClientInfo.CA, |
| ... | ... |
@@ -67,8 +67,8 @@ func EtcdClient(etcdClientInfo configapi.EtcdConnectionInfo) (*etcdclient.Client |
| 67 | 67 |
|
| 68 | 68 |
// MakeNewEtcdClient creates an etcd client based on the provided config. |
| 69 | 69 |
func MakeNewEtcdClient(etcdClientInfo configapi.EtcdConnectionInfo) (newetcdclient.Client, error) {
|
| 70 |
- tlsConfig, err := client.TLSConfigFor(&client.Config{
|
|
| 71 |
- TLSClientConfig: client.TLSClientConfig{
|
|
| 70 |
+ tlsConfig, err := restclient.TLSConfigFor(&restclient.Config{
|
|
| 71 |
+ TLSClientConfig: restclient.TLSClientConfig{
|
|
| 72 | 72 |
CertFile: etcdClientInfo.ClientCert.CertFile, |
| 73 | 73 |
KeyFile: etcdClientInfo.ClientCert.KeyFile, |
| 74 | 74 |
CAFile: etcdClientInfo.CA, |
| ... | ... |
@@ -11,7 +11,7 @@ import ( |
| 11 | 11 |
"k8s.io/kubernetes/pkg/auth/authenticator" |
| 12 | 12 |
kauthorizer "k8s.io/kubernetes/pkg/auth/authorizer" |
| 13 | 13 |
"k8s.io/kubernetes/pkg/auth/user" |
| 14 |
- client "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 14 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 15 | 15 |
|
| 16 | 16 |
oauthenticator "github.com/openshift/origin/pkg/auth/authenticator" |
| 17 | 17 |
"github.com/openshift/origin/pkg/auth/authenticator/anonymous" |
| ... | ... |
@@ -30,7 +30,7 @@ import ( |
| 30 | 30 |
"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy" |
| 31 | 31 |
) |
| 32 | 32 |
|
| 33 |
-func newAuthenticator(clientCAs *x509.CertPool, anonymousConfig client.Config, cacheTTL time.Duration, cacheSize int) (authenticator.Request, error) {
|
|
| 33 |
+func newAuthenticator(clientCAs *x509.CertPool, anonymousConfig restclient.Config, cacheTTL time.Duration, cacheSize int) (authenticator.Request, error) {
|
|
| 34 | 34 |
authenticators := []oauthenticator.Request{}
|
| 35 | 35 |
|
| 36 | 36 |
// API token auth |
| ... | ... |
@@ -4,14 +4,15 @@ import ( |
| 4 | 4 |
"fmt" |
| 5 | 5 |
"net/url" |
| 6 | 6 |
|
| 7 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 8 |
+ |
|
| 7 | 9 |
restful "github.com/emicklei/go-restful" |
| 8 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 9 | 10 |
|
| 10 | 11 |
"github.com/openshift/origin/pkg/util/httpproxy" |
| 11 | 12 |
) |
| 12 | 13 |
|
| 13 | 14 |
type ProxyConfig struct {
|
| 14 |
- ClientConfig *kclient.Config |
|
| 15 |
+ ClientConfig *restclient.Config |
|
| 15 | 16 |
} |
| 16 | 17 |
|
| 17 | 18 |
func (c *ProxyConfig) InstallAPI(container *restful.Container) ([]string, error) {
|
| ... | ... |
@@ -22,6 +22,7 @@ import ( |
| 22 | 22 |
"k8s.io/kubernetes/pkg/apimachinery/registered" |
| 23 | 23 |
v1beta1extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" |
| 24 | 24 |
"k8s.io/kubernetes/pkg/apiserver" |
| 25 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 25 | 26 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 26 | 27 |
"k8s.io/kubernetes/pkg/genericapiserver" |
| 27 | 28 |
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" |
| ... | ... |
@@ -355,11 +356,11 @@ func (c *MasterConfig) GetRestStorage() map[string]rest.Storage {
|
| 355 | 355 |
} |
| 356 | 356 |
|
| 357 | 357 |
// TODO: allow the system CAs and the local CAs to be joined together. |
| 358 |
- importTransport, err := kclient.TransportFor(&kclient.Config{})
|
|
| 358 |
+ importTransport, err := restclient.TransportFor(&restclient.Config{})
|
|
| 359 | 359 |
if err != nil {
|
| 360 | 360 |
glog.Fatalf("Unable to configure a default transport for importing: %v", err)
|
| 361 | 361 |
} |
| 362 |
- insecureImportTransport, err := kclient.TransportFor(&kclient.Config{Insecure: true})
|
|
| 362 |
+ insecureImportTransport, err := restclient.TransportFor(&restclient.Config{Insecure: true})
|
|
| 363 | 363 |
if err != nil {
|
| 364 | 364 |
glog.Fatalf("Unable to configure a default transport for importing: %v", err)
|
| 365 | 365 |
} |
| ... | ... |
@@ -634,7 +635,7 @@ func (c *MasterConfig) defaultAPIGroupVersion() *apiserver.APIGroupVersion {
|
| 634 | 634 |
|
| 635 | 635 |
Admit: c.AdmissionControl, |
| 636 | 636 |
Context: c.getRequestContextMapper(), |
| 637 |
- NonDefaultGroupVersionKinds: map[string]unversioned.GroupVersionKind{},
|
|
| 637 |
+ SubresourceGroupVersionKind: map[string]unversioned.GroupVersionKind{},
|
|
| 638 | 638 |
} |
| 639 | 639 |
} |
| 640 | 640 |
|
| ... | ... |
@@ -653,7 +654,7 @@ func (c *MasterConfig) api_v1beta3(all map[string]rest.Storage) *apiserver.APIGr |
| 653 | 653 |
version.GroupVersion = v1beta3.SchemeGroupVersion |
| 654 | 654 |
version.Serializer = kapi.Codecs |
| 655 | 655 |
version.ParameterCodec = runtime.NewParameterCodec(kapi.Scheme) |
| 656 |
- version.NonDefaultGroupVersionKinds["deploymentconfigs/scale"] = v1beta1extensions.SchemeGroupVersion.WithKind("Scale")
|
|
| 656 |
+ version.SubresourceGroupVersionKind["deploymentconfigs/scale"] = v1beta1extensions.SchemeGroupVersion.WithKind("Scale")
|
|
| 657 | 657 |
return version |
| 658 | 658 |
} |
| 659 | 659 |
|
| ... | ... |
@@ -671,7 +672,7 @@ func (c *MasterConfig) api_v1(all map[string]rest.Storage) *apiserver.APIGroupVe |
| 671 | 671 |
version.GroupVersion = v1.SchemeGroupVersion |
| 672 | 672 |
version.Serializer = kapi.Codecs |
| 673 | 673 |
version.ParameterCodec = runtime.NewParameterCodec(kapi.Scheme) |
| 674 |
- version.NonDefaultGroupVersionKinds["deploymentconfigs/scale"] = v1beta1extensions.SchemeGroupVersion.WithKind("Scale")
|
|
| 674 |
+ version.SubresourceGroupVersionKind["deploymentconfigs/scale"] = v1beta1extensions.SchemeGroupVersion.WithKind("Scale")
|
|
| 675 | 675 |
return version |
| 676 | 676 |
} |
| 677 | 677 |
|
| ... | ... |
@@ -15,6 +15,7 @@ import ( |
| 15 | 15 |
kapi "k8s.io/kubernetes/pkg/api" |
| 16 | 16 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 17 | 17 |
"k8s.io/kubernetes/pkg/apiserver" |
| 18 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 18 | 19 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 19 | 20 |
sacontroller "k8s.io/kubernetes/pkg/controller/serviceaccount" |
| 20 | 21 |
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" |
| ... | ... |
@@ -112,7 +113,7 @@ type MasterConfig struct {
|
| 112 | 112 |
|
| 113 | 113 |
// PrivilegedLoopbackClientConfig is the client configuration used to call OpenShift APIs from system components |
| 114 | 114 |
// To apply different access control to a system component, create a client config specifically for that component. |
| 115 |
- PrivilegedLoopbackClientConfig kclient.Config |
|
| 115 |
+ PrivilegedLoopbackClientConfig restclient.Config |
|
| 116 | 116 |
|
| 117 | 117 |
// PrivilegedLoopbackKubernetesClient is the client used to call Kubernetes APIs from system components, |
| 118 | 118 |
// built from KubeClientConfig. It should only be accessed via the *Client() helper methods. To apply |
| ... | ... |
@@ -6,7 +6,7 @@ import ( |
| 6 | 6 |
|
| 7 | 7 |
"github.com/spf13/pflag" |
| 8 | 8 |
|
| 9 |
- client "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 9 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 10 | 10 |
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 11 | 11 |
|
| 12 | 12 |
"github.com/openshift/origin/pkg/cmd/flagtypes" |
| ... | ... |
@@ -50,7 +50,7 @@ func (args KubeConnectionArgs) Validate() error {
|
| 50 | 50 |
return nil |
| 51 | 51 |
} |
| 52 | 52 |
|
| 53 |
-func (args KubeConnectionArgs) GetExternalKubernetesClientConfig() (*client.Config, bool, error) {
|
|
| 53 |
+func (args KubeConnectionArgs) GetExternalKubernetesClientConfig() (*restclient.Config, bool, error) {
|
|
| 54 | 54 |
if len(args.ClientConfigLoadingRules.ExplicitPath) == 0 || args.ClientConfig == nil {
|
| 55 | 55 |
return nil, false, nil |
| 56 | 56 |
} |
| ... | ... |
@@ -11,14 +11,14 @@ import ( |
| 11 | 11 |
|
| 12 | 12 |
kapi "k8s.io/kubernetes/pkg/api" |
| 13 | 13 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 14 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 14 |
+ "k8s.io/kubernetes/pkg/client/typed/discovery" |
|
| 15 | 15 |
"k8s.io/kubernetes/pkg/runtime" |
| 16 | 16 |
) |
| 17 | 17 |
|
| 18 | 18 |
// CachedDiscoveryClient implements the functions that dicovery server-supported API groups, |
| 19 | 19 |
// versions and resources. |
| 20 | 20 |
type CachedDiscoveryClient struct {
|
| 21 |
- kclient.DiscoveryInterface |
|
| 21 |
+ discovery.DiscoveryInterface |
|
| 22 | 22 |
|
| 23 | 23 |
// cacheDirectory is the directory where discovery docs are held. It must be unique per host:port combination to work well. |
| 24 | 24 |
cacheDirectory string |
| ... | ... |
@@ -58,7 +58,7 @@ func (d *CachedDiscoveryClient) ServerResources() (map[string]*unversioned.APIRe |
| 58 | 58 |
if err != nil {
|
| 59 | 59 |
return nil, err |
| 60 | 60 |
} |
| 61 |
- groupVersions := kclient.ExtractGroupVersions(apiGroups) |
|
| 61 |
+ groupVersions := unversioned.ExtractGroupVersions(apiGroups) |
|
| 62 | 62 |
result := map[string]*unversioned.APIResourceList{}
|
| 63 | 63 |
for _, groupVersion := range groupVersions {
|
| 64 | 64 |
resources, err := d.ServerResourcesForGroupVersion(groupVersion) |
| ... | ... |
@@ -131,6 +131,6 @@ func (d *CachedDiscoveryClient) writeCachedFile(filename string, obj runtime.Obj |
| 131 | 131 |
} |
| 132 | 132 |
|
| 133 | 133 |
// NewCachedDiscoveryClient creates a new DiscoveryClient. cacheDirectory is the directory where discovery docs are held. It must be unique per host:port combination to work well. |
| 134 |
-func NewCachedDiscoveryClient(delegate kclient.DiscoveryInterface, cacheDirectory string, ttl time.Duration) *CachedDiscoveryClient {
|
|
| 134 |
+func NewCachedDiscoveryClient(delegate discovery.DiscoveryInterface, cacheDirectory string, ttl time.Duration) *CachedDiscoveryClient {
|
|
| 135 | 135 |
return &CachedDiscoveryClient{DiscoveryInterface: delegate, cacheDirectory: cacheDirectory, ttl: ttl}
|
| 136 | 136 |
} |
| ... | ... |
@@ -8,6 +8,7 @@ import ( |
| 8 | 8 |
"github.com/golang/glog" |
| 9 | 9 |
"github.com/spf13/pflag" |
| 10 | 10 |
"k8s.io/kubernetes/pkg/api" |
| 11 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 11 | 12 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 12 | 13 |
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 13 | 14 |
|
| ... | ... |
@@ -26,7 +27,7 @@ type Config struct {
|
| 26 | 26 |
// If omitted defaults to the master. |
| 27 | 27 |
KubernetesAddr flagtypes.Addr |
| 28 | 28 |
// CommonConfig is the shared base config for both the OpenShift config and Kubernetes config |
| 29 |
- CommonConfig kclient.Config |
|
| 29 |
+ CommonConfig restclient.Config |
|
| 30 | 30 |
// Namespace is the namespace to act in |
| 31 | 31 |
Namespace string |
| 32 | 32 |
|
| ... | ... |
@@ -42,20 +43,20 @@ func NewConfig() *Config {
|
| 42 | 42 |
return &Config{
|
| 43 | 43 |
MasterAddr: flagtypes.Addr{Value: "localhost:8080", DefaultScheme: "http", DefaultPort: 8080, AllowPrefix: true}.Default(),
|
| 44 | 44 |
KubernetesAddr: flagtypes.Addr{Value: "localhost:8080", DefaultScheme: "http", DefaultPort: 8080}.Default(),
|
| 45 |
- CommonConfig: kclient.Config{},
|
|
| 45 |
+ CommonConfig: restclient.Config{},
|
|
| 46 | 46 |
} |
| 47 | 47 |
} |
| 48 | 48 |
|
| 49 | 49 |
// AnonymousClientConfig returns a copy of the given config with all user credentials (cert/key, bearer token, and username/password) removed |
| 50 |
-func AnonymousClientConfig(config *kclient.Config) kclient.Config {
|
|
| 50 |
+func AnonymousClientConfig(config *restclient.Config) restclient.Config {
|
|
| 51 | 51 |
// copy only known safe fields |
| 52 | 52 |
// TODO: expose a copy method on the config that is "auth free" |
| 53 |
- return kclient.Config{
|
|
| 53 |
+ return restclient.Config{
|
|
| 54 | 54 |
Host: config.Host, |
| 55 | 55 |
APIPath: config.APIPath, |
| 56 | 56 |
Prefix: config.Prefix, |
| 57 | 57 |
ContentConfig: config.ContentConfig, |
| 58 |
- TLSClientConfig: kclient.TLSClientConfig{
|
|
| 58 |
+ TLSClientConfig: restclient.TLSClientConfig{
|
|
| 59 | 59 |
CAFile: config.TLSClientConfig.CAFile, |
| 60 | 60 |
CAData: config.TLSClientConfig.CAData, |
| 61 | 61 |
}, |
| ... | ... |
@@ -69,7 +70,7 @@ func AnonymousClientConfig(config *kclient.Config) kclient.Config {
|
| 69 | 69 |
} |
| 70 | 70 |
|
| 71 | 71 |
// BindClientConfigSecurityFlags adds flags for the supplied client config |
| 72 |
-func BindClientConfigSecurityFlags(config *kclient.Config, flags *pflag.FlagSet) {
|
|
| 72 |
+func BindClientConfigSecurityFlags(config *restclient.Config, flags *pflag.FlagSet) {
|
|
| 73 | 73 |
flags.BoolVar(&config.Insecure, "insecure-skip-tls-verify", config.Insecure, "If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure.") |
| 74 | 74 |
flags.StringVar(&config.CertFile, "client-certificate", config.CertFile, "Path to a client certificate file for TLS.") |
| 75 | 75 |
flags.StringVar(&config.KeyFile, "client-key", config.KeyFile, "Path to a client key file for TLS.") |
| ... | ... |
@@ -195,7 +196,7 @@ func (cfg *Config) bindEnv() error {
|
| 195 | 195 |
} |
| 196 | 196 |
|
| 197 | 197 |
// KubeConfig returns the Kubernetes configuration |
| 198 |
-func (cfg *Config) KubeConfig() *kclient.Config {
|
|
| 198 |
+func (cfg *Config) KubeConfig() *restclient.Config {
|
|
| 199 | 199 |
err := cfg.bindEnv() |
| 200 | 200 |
if err != nil {
|
| 201 | 201 |
glog.Error(err) |
| ... | ... |
@@ -213,7 +214,7 @@ func (cfg *Config) KubeConfig() *kclient.Config {
|
| 213 | 213 |
} |
| 214 | 214 |
|
| 215 | 215 |
// OpenShiftConfig returns the OpenShift configuration |
| 216 |
-func (cfg *Config) OpenShiftConfig() *kclient.Config {
|
|
| 216 |
+func (cfg *Config) OpenShiftConfig() *restclient.Config {
|
|
| 217 | 217 |
err := cfg.bindEnv() |
| 218 | 218 |
if err != nil {
|
| 219 | 219 |
glog.Error(err) |
| ... | ... |
@@ -7,7 +7,7 @@ import ( |
| 7 | 7 |
|
| 8 | 8 |
fuzz "github.com/google/gofuzz" |
| 9 | 9 |
|
| 10 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 10 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 11 | 11 |
"k8s.io/kubernetes/pkg/runtime" |
| 12 | 12 |
"k8s.io/kubernetes/pkg/util" |
| 13 | 13 |
) |
| ... | ... |
@@ -20,13 +20,13 @@ func TestAnonymousConfig(t *testing.T) {
|
| 20 | 20 |
func(fn *func(http.RoundTripper) http.RoundTripper, f fuzz.Continue) {},
|
| 21 | 21 |
) |
| 22 | 22 |
for i := 0; i < 20; i++ {
|
| 23 |
- original := &kclient.Config{}
|
|
| 23 |
+ original := &restclient.Config{}
|
|
| 24 | 24 |
f.Fuzz(original) |
| 25 | 25 |
actual := AnonymousClientConfig(original) |
| 26 | 26 |
expected := *original |
| 27 | 27 |
|
| 28 | 28 |
// this is the list of known security related fields, add to this list if a new field |
| 29 |
- // is added to client.Config, update AnonymousClientConfig to preserve the field otherwise. |
|
| 29 |
+ // is added to restclient.Config, update AnonymousClientConfig to preserve the field otherwise. |
|
| 30 | 30 |
expected.BearerToken = "" |
| 31 | 31 |
expected.Username = "" |
| 32 | 32 |
expected.Password = "" |
| ... | ... |
@@ -22,6 +22,7 @@ import ( |
| 22 | 22 |
"k8s.io/kubernetes/pkg/api/meta" |
| 23 | 23 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 24 | 24 |
"k8s.io/kubernetes/pkg/apimachinery/registered" |
| 25 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 25 | 26 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 26 | 27 |
kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 27 | 28 |
kclientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| ... | ... |
@@ -109,7 +110,7 @@ func (c defaultingClientConfig) Namespace() (string, bool, error) {
|
| 109 | 109 |
} |
| 110 | 110 |
|
| 111 | 111 |
// ClientConfig returns a complete client config |
| 112 |
-func (c defaultingClientConfig) ClientConfig() (*kclient.Config, error) {
|
|
| 112 |
+func (c defaultingClientConfig) ClientConfig() (*restclient.Config, error) {
|
|
| 113 | 113 |
cfg, err := c.nested.ClientConfig() |
| 114 | 114 |
if err == nil {
|
| 115 | 115 |
return cfg, nil |
| ... | ... |
@@ -120,7 +121,7 @@ func (c defaultingClientConfig) ClientConfig() (*kclient.Config, error) {
|
| 120 | 120 |
} |
| 121 | 121 |
|
| 122 | 122 |
// TODO: need to expose inClusterConfig upstream and use that |
| 123 |
- if icc, err := kclient.InClusterConfig(); err == nil {
|
|
| 123 |
+ if icc, err := restclient.InClusterConfig(); err == nil {
|
|
| 124 | 124 |
glog.V(4).Infof("Using in-cluster configuration")
|
| 125 | 125 |
return icc, nil |
| 126 | 126 |
} |
| ... | ... |
@@ -173,7 +174,7 @@ func NewFactory(clientConfig kclientcmd.ClientConfig) *Factory {
|
| 173 | 173 |
|
| 174 | 174 |
clients := &clientCache{
|
| 175 | 175 |
clients: make(map[string]*client.Client), |
| 176 |
- configs: make(map[string]*kclient.Config), |
|
| 176 |
+ configs: make(map[string]*restclient.Config), |
|
| 177 | 177 |
loader: clientConfig, |
| 178 | 178 |
} |
| 179 | 179 |
|
| ... | ... |
@@ -339,7 +340,7 @@ func NewFactory(clientConfig kclientcmd.ClientConfig) *Factory {
|
| 339 | 339 |
} |
| 340 | 340 |
} |
| 341 | 341 |
kLogsForObjectFunc := w.Factory.LogsForObject |
| 342 |
- w.LogsForObject = func(object, options runtime.Object) (*kclient.Request, error) {
|
|
| 342 |
+ w.LogsForObject = func(object, options runtime.Object) (*restclient.Request, error) {
|
|
| 343 | 343 |
oc, _, err := w.Clients() |
| 344 | 344 |
if err != nil {
|
| 345 | 345 |
return nil, err |
| ... | ... |
@@ -596,7 +597,7 @@ func (f *Factory) Clients() (*client.Client, *kclient.Client, error) {
|
| 596 | 596 |
} |
| 597 | 597 |
|
| 598 | 598 |
// OriginSwaggerSchema returns a swagger API doc for an Origin schema under the /oapi prefix. |
| 599 |
-func (f *Factory) OriginSwaggerSchema(client *kclient.RESTClient, version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) {
|
|
| 599 |
+func (f *Factory) OriginSwaggerSchema(client *restclient.RESTClient, version unversioned.GroupVersion) (*swagger.ApiDeclaration, error) {
|
|
| 600 | 600 |
if version.IsEmpty() {
|
| 601 | 601 |
return nil, fmt.Errorf("groupVersion cannot be empty")
|
| 602 | 602 |
} |
| ... | ... |
@@ -618,14 +619,14 @@ func (f *Factory) OriginSwaggerSchema(client *kclient.RESTClient, version unvers |
| 618 | 618 |
type clientCache struct {
|
| 619 | 619 |
loader kclientcmd.ClientConfig |
| 620 | 620 |
clients map[string]*client.Client |
| 621 |
- configs map[string]*kclient.Config |
|
| 622 |
- defaultConfig *kclient.Config |
|
| 621 |
+ configs map[string]*restclient.Config |
|
| 622 |
+ defaultConfig *restclient.Config |
|
| 623 | 623 |
// negotiatingClient is used only for negotiating versions with the server. |
| 624 | 624 |
negotiatingClient *kclient.Client |
| 625 | 625 |
} |
| 626 | 626 |
|
| 627 | 627 |
// ClientConfigForVersion returns the correct config for a server |
| 628 |
-func (c *clientCache) ClientConfigForVersion(version *unversioned.GroupVersion) (*kclient.Config, error) {
|
|
| 628 |
+func (c *clientCache) ClientConfigForVersion(version *unversioned.GroupVersion) (*restclient.Config, error) {
|
|
| 629 | 629 |
if c.defaultConfig == nil {
|
| 630 | 630 |
config, err := c.loader.ClientConfig() |
| 631 | 631 |
if err != nil {
|
| ... | ... |
@@ -5,7 +5,7 @@ import ( |
| 5 | 5 |
"net/http/httptest" |
| 6 | 6 |
"testing" |
| 7 | 7 |
|
| 8 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 8 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 9 | 9 |
|
| 10 | 10 |
"github.com/openshift/origin/pkg/api/v1" |
| 11 | 11 |
"github.com/openshift/origin/pkg/api/v1beta3" |
| ... | ... |
@@ -24,12 +24,12 @@ func TestClientConfigForVersion(t *testing.T) {
|
| 24 | 24 |
})) |
| 25 | 25 |
defer server.Close() |
| 26 | 26 |
|
| 27 |
- defaultConfig := &kclient.Config{Host: server.URL}
|
|
| 27 |
+ defaultConfig := &restclient.Config{Host: server.URL}
|
|
| 28 | 28 |
client.SetOpenShiftDefaults(defaultConfig) |
| 29 | 29 |
|
| 30 | 30 |
clients := &clientCache{
|
| 31 | 31 |
clients: make(map[string]*client.Client), |
| 32 |
- configs: make(map[string]*kclient.Config), |
|
| 32 |
+ configs: make(map[string]*restclient.Config), |
|
| 33 | 33 |
defaultConfig: defaultConfig, |
| 34 | 34 |
} |
| 35 | 35 |
|
| ... | ... |
@@ -5,6 +5,7 @@ import ( |
| 5 | 5 |
"fmt" |
| 6 | 6 |
|
| 7 | 7 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 8 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 8 | 9 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 9 | 10 |
) |
| 10 | 11 |
|
| ... | ... |
@@ -14,7 +15,7 @@ import ( |
| 14 | 14 |
// commandline flag), and is unsupported by the server, print a warning to |
| 15 | 15 |
// stderr and try client's registered versions in order of preference. |
| 16 | 16 |
// - If version is config default, and the server does not support it, return an error. |
| 17 |
-func negotiateVersion(client *kclient.Client, config *kclient.Config, requestedGV *unversioned.GroupVersion, clientGVs []unversioned.GroupVersion) (*unversioned.GroupVersion, error) {
|
|
| 17 |
+func negotiateVersion(client *kclient.Client, config *restclient.Config, requestedGV *unversioned.GroupVersion, clientGVs []unversioned.GroupVersion) (*unversioned.GroupVersion, error) {
|
|
| 18 | 18 |
// Ensure we have a client |
| 19 | 19 |
var err error |
| 20 | 20 |
if client == nil {
|
| ... | ... |
@@ -3,7 +3,7 @@ package clientcmd |
| 3 | 3 |
import ( |
| 4 | 4 |
"k8s.io/kubernetes/pkg/api/meta" |
| 5 | 5 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 6 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 6 |
+ "k8s.io/kubernetes/pkg/client/typed/discovery" |
|
| 7 | 7 |
) |
| 8 | 8 |
|
| 9 | 9 |
// ShortcutExpander is a RESTMapper that can be used for OpenShift resources. It expands the resource first, then invokes the wrapped |
| ... | ... |
@@ -15,7 +15,7 @@ type ShortcutExpander struct {
|
| 15 | 15 |
|
| 16 | 16 |
var _ meta.RESTMapper = &ShortcutExpander{}
|
| 17 | 17 |
|
| 18 |
-func NewShortcutExpander(discoveryClient kclient.DiscoveryInterface, delegate meta.RESTMapper) ShortcutExpander {
|
|
| 18 |
+func NewShortcutExpander(discoveryClient discovery.DiscoveryInterface, delegate meta.RESTMapper) ShortcutExpander {
|
|
| 19 | 19 |
defaultMapper := ShortcutExpander{RESTMapper: delegate}
|
| 20 | 20 |
|
| 21 | 21 |
// this assumes that legacy kube versions and legacy origin versions are the same, probably fair |
| ... | ... |
@@ -65,10 +65,6 @@ func (e ShortcutExpander) ResourceFor(resource unversioned.GroupVersionResource) |
| 65 | 65 |
return e.RESTMapper.ResourceFor(expandResourceShortcut(resource)) |
| 66 | 66 |
} |
| 67 | 67 |
|
| 68 |
-func (e ShortcutExpander) ResourceIsValid(resource unversioned.GroupVersionResource) bool {
|
|
| 69 |
- return e.RESTMapper.ResourceIsValid(expandResourceShortcut(resource)) |
|
| 70 |
-} |
|
| 71 |
- |
|
| 72 | 68 |
func (e ShortcutExpander) ResourceSingularizer(resource string) (string, error) {
|
| 73 | 69 |
return e.RESTMapper.ResourceSingularizer(expandResourceShortcut(unversioned.GroupVersionResource{Resource: resource}).Resource)
|
| 74 | 70 |
} |
| ... | ... |
@@ -3,7 +3,7 @@ package util_test |
| 3 | 3 |
import ( |
| 4 | 4 |
"testing" |
| 5 | 5 |
|
| 6 |
- kapi "k8s.io/kubernetes/pkg/api" |
|
| 6 |
+ "k8s.io/kubernetes/pkg/apimachinery/registered" |
|
| 7 | 7 |
"k8s.io/kubernetes/pkg/kubectl" |
| 8 | 8 |
|
| 9 | 9 |
_ "github.com/openshift/origin/pkg/api/install" |
| ... | ... |
@@ -12,7 +12,7 @@ import ( |
| 12 | 12 |
) |
| 13 | 13 |
|
| 14 | 14 |
func TestResolveResource(t *testing.T) {
|
| 15 |
- mapper := clientcmd.ShortcutExpander{RESTMapper: kubectl.ShortcutExpander{RESTMapper: kapi.RESTMapper}}
|
|
| 15 |
+ mapper := clientcmd.ShortcutExpander{RESTMapper: kubectl.ShortcutExpander{RESTMapper: registered.RESTMapper()}}
|
|
| 16 | 16 |
|
| 17 | 17 |
tests := []struct {
|
| 18 | 18 |
name string |
| ... | ... |
@@ -11,7 +11,7 @@ import ( |
| 11 | 11 |
|
| 12 | 12 |
apierrs "k8s.io/kubernetes/pkg/api/errors" |
| 13 | 13 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 14 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 14 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 15 | 15 |
"k8s.io/kubernetes/pkg/util/sets" |
| 16 | 16 |
) |
| 17 | 17 |
|
| ... | ... |
@@ -21,7 +21,7 @@ const CSRFTokenHeader = "X-CSRF-Token" |
| 21 | 21 |
|
| 22 | 22 |
// RequestToken uses the cmd arguments to locate an openshift oauth server and attempts to authenticate |
| 23 | 23 |
// it returns the access token if it gets one. An error if it does not |
| 24 |
-func RequestToken(clientCfg *kclient.Config, reader io.Reader, defaultUsername string, defaultPassword string) (string, error) {
|
|
| 24 |
+func RequestToken(clientCfg *restclient.Config, reader io.Reader, defaultUsername string, defaultPassword string) (string, error) {
|
|
| 25 | 25 |
challengeHandler := &BasicChallengeHandler{
|
| 26 | 26 |
Host: clientCfg.Host, |
| 27 | 27 |
Reader: reader, |
| ... | ... |
@@ -29,7 +29,7 @@ func RequestToken(clientCfg *kclient.Config, reader io.Reader, defaultUsername s |
| 29 | 29 |
Password: defaultPassword, |
| 30 | 30 |
} |
| 31 | 31 |
|
| 32 |
- rt, err := kclient.TransportFor(clientCfg) |
|
| 32 |
+ rt, err := restclient.TransportFor(clientCfg) |
|
| 33 | 33 |
if err != nil {
|
| 34 | 34 |
return "", err |
| 35 | 35 |
} |
| ... | ... |
@@ -5,6 +5,8 @@ import ( |
| 5 | 5 |
"testing" |
| 6 | 6 |
|
| 7 | 7 |
kapi "k8s.io/kubernetes/pkg/api" |
| 8 |
+ // required to register defaulting functions for containers |
|
| 9 |
+ _ "k8s.io/kubernetes/pkg/api/install" |
|
| 8 | 10 |
kapiv1 "k8s.io/kubernetes/pkg/api/v1" |
| 9 | 11 |
"k8s.io/kubernetes/pkg/runtime" |
| 10 | 12 |
"k8s.io/kubernetes/pkg/util" |
| ... | ... |
@@ -15,7 +15,7 @@ import ( |
| 15 | 15 |
"github.com/openshift/origin/pkg/cmd/util/clientcmd" |
| 16 | 16 |
"github.com/openshift/origin/pkg/diagnostics/types" |
| 17 | 17 |
|
| 18 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 18 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 19 | 19 |
) |
| 20 | 20 |
|
| 21 | 21 |
const ( |
| ... | ... |
@@ -63,8 +63,8 @@ func (d PodCheckAuth) authenticateToMaster(token string, r types.DiagnosticResul |
| 63 | 63 |
clientConfig := &clientcmd.Config{
|
| 64 | 64 |
MasterAddr: flagtypes.Addr{Value: d.MasterUrl}.Default(),
|
| 65 | 65 |
KubernetesAddr: flagtypes.Addr{Value: d.MasterUrl}.Default(),
|
| 66 |
- CommonConfig: kclient.Config{
|
|
| 67 |
- TLSClientConfig: kclient.TLSClientConfig{CAFile: d.MasterCaPath},
|
|
| 66 |
+ CommonConfig: restclient.Config{
|
|
| 67 |
+ TLSClientConfig: restclient.TLSClientConfig{CAFile: d.MasterCaPath},
|
|
| 68 | 68 |
BearerToken: token, |
| 69 | 69 |
}, |
| 70 | 70 |
} |
| ... | ... |
@@ -7,6 +7,7 @@ import ( |
| 7 | 7 |
"k8s.io/kubernetes/pkg/api" |
| 8 | 8 |
"k8s.io/kubernetes/pkg/api/errors" |
| 9 | 9 |
"k8s.io/kubernetes/pkg/client/cache" |
| 10 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 10 | 11 |
client "k8s.io/kubernetes/pkg/client/unversioned" |
| 11 | 12 |
"k8s.io/kubernetes/pkg/fields" |
| 12 | 13 |
"k8s.io/kubernetes/pkg/watch" |
| ... | ... |
@@ -124,6 +125,6 @@ func (a cachedServiceNamespacer) Delete(name string) error {
|
| 124 | 124 |
func (a cachedServiceNamespacer) Watch(options api.ListOptions) (watch.Interface, error) {
|
| 125 | 125 |
return nil, fmt.Errorf("not implemented")
|
| 126 | 126 |
} |
| 127 |
-func (a cachedServiceNamespacer) ProxyGet(scheme, name, port, path string, params map[string]string) client.ResponseWrapper {
|
|
| 127 |
+func (a cachedServiceNamespacer) ProxyGet(scheme, name, port, path string, params map[string]string) restclient.ResponseWrapper {
|
|
| 128 | 128 |
return nil |
| 129 | 129 |
} |
| ... | ... |
@@ -12,6 +12,7 @@ import ( |
| 12 | 12 |
registryauth "github.com/docker/distribution/registry/auth" |
| 13 | 13 |
|
| 14 | 14 |
kerrors "k8s.io/kubernetes/pkg/api/errors" |
| 15 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 15 | 16 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 16 | 17 |
|
| 17 | 18 |
authorizationapi "github.com/openshift/origin/pkg/authorization/api" |
| ... | ... |
@@ -39,7 +40,7 @@ func (r *RegistryClient) Clients() (client.Interface, kclient.Interface, error) |
| 39 | 39 |
} |
| 40 | 40 |
|
| 41 | 41 |
// SafeClientConfig returns a client config without authentication info. |
| 42 |
-func (r *RegistryClient) SafeClientConfig() kclient.Config {
|
|
| 42 |
+func (r *RegistryClient) SafeClientConfig() restclient.Config {
|
|
| 43 | 43 |
return clientcmd.AnonymousClientConfig(r.config.OpenShiftConfig()) |
| 44 | 44 |
} |
| 45 | 45 |
|
| ... | ... |
@@ -62,7 +63,7 @@ func UserClientFrom(ctx context.Context) (client.Interface, bool) {
|
| 62 | 62 |
|
| 63 | 63 |
type AccessController struct {
|
| 64 | 64 |
realm string |
| 65 |
- config kclient.Config |
|
| 65 |
+ config restclient.Config |
|
| 66 | 66 |
} |
| 67 | 67 |
|
| 68 | 68 |
var _ registryauth.AccessController = &AccessController{}
|
| ... | ... |
@@ -12,7 +12,7 @@ import ( |
| 12 | 12 |
|
| 13 | 13 |
kapi "k8s.io/kubernetes/pkg/api" |
| 14 | 14 |
"k8s.io/kubernetes/pkg/apimachinery/registered" |
| 15 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 15 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 16 | 16 |
"k8s.io/kubernetes/pkg/runtime" |
| 17 | 17 |
|
| 18 | 18 |
"github.com/docker/distribution/context" |
| ... | ... |
@@ -66,7 +66,7 @@ func TestVerifyImageStreamAccess(t *testing.T) {
|
| 66 | 66 |
for _, test := range tests {
|
| 67 | 67 |
ctx := context.Background() |
| 68 | 68 |
server, _ := simulateOpenShiftMaster([]response{test.openshiftResponse})
|
| 69 |
- client, err := client.New(&kclient.Config{BearerToken: "magic bearer token", Host: server.URL})
|
|
| 69 |
+ client, err := client.New(&restclient.Config{BearerToken: "magic bearer token", Host: server.URL})
|
|
| 70 | 70 |
if err != nil {
|
| 71 | 71 |
t.Fatal(err) |
| 72 | 72 |
} |
| ... | ... |
@@ -278,7 +278,7 @@ func TestAccessController(t *testing.T) {
|
| 278 | 278 |
|
| 279 | 279 |
server, actions := simulateOpenShiftMaster(test.openshiftResponses) |
| 280 | 280 |
DefaultRegistryClient = NewRegistryClient(&clientcmd.Config{
|
| 281 |
- CommonConfig: kclient.Config{
|
|
| 281 |
+ CommonConfig: restclient.Config{
|
|
| 282 | 282 |
Host: server.URL, |
| 283 | 283 |
Insecure: true, |
| 284 | 284 |
}, |
| ... | ... |
@@ -17,6 +17,7 @@ import ( |
| 17 | 17 |
|
| 18 | 18 |
kapi "k8s.io/kubernetes/pkg/api" |
| 19 | 19 |
kerrors "k8s.io/kubernetes/pkg/api/errors" |
| 20 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 20 | 21 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 21 | 22 |
"k8s.io/kubernetes/pkg/util/sets" |
| 22 | 23 |
|
| ... | ... |
@@ -57,7 +58,7 @@ func init() {
|
| 57 | 57 |
) |
| 58 | 58 |
|
| 59 | 59 |
secureTransport = http.DefaultTransport |
| 60 |
- insecureTransport, err = kclient.TransportFor(&kclient.Config{Insecure: true})
|
|
| 60 |
+ insecureTransport, err = restclient.TransportFor(&restclient.Config{Insecure: true})
|
|
| 61 | 61 |
if err != nil {
|
| 62 | 62 |
panic(fmt.Sprintf("Unable to configure a default transport for importing insecure images: %v", err))
|
| 63 | 63 |
} |
| ... | ... |
@@ -8,7 +8,7 @@ import ( |
| 8 | 8 |
"path/filepath" |
| 9 | 9 |
|
| 10 | 10 |
kapi "k8s.io/kubernetes/pkg/api" |
| 11 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 11 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 12 | 12 |
kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 13 | 13 |
"k8s.io/kubernetes/pkg/util/errors" |
| 14 | 14 |
|
| ... | ... |
@@ -72,9 +72,9 @@ func NewAutoLinkBuildsFromEnvironment() (*AutoLinkBuilds, error) {
|
| 72 | 72 |
return config, nil |
| 73 | 73 |
} |
| 74 | 74 |
|
| 75 |
-func clientFromConfig(path string) (*kclient.Config, string, error) {
|
|
| 75 |
+func clientFromConfig(path string) (*restclient.Config, string, error) {
|
|
| 76 | 76 |
if path == "-" {
|
| 77 |
- cfg, err := kclient.InClusterConfig() |
|
| 77 |
+ cfg, err := restclient.InClusterConfig() |
|
| 78 | 78 |
if err != nil {
|
| 79 | 79 |
return nil, "", fmt.Errorf("cluster config not available: %v", err)
|
| 80 | 80 |
} |
| ... | ... |
@@ -3,7 +3,9 @@ package imagestreamimage |
| 3 | 3 |
import ( |
| 4 | 4 |
"testing" |
| 5 | 5 |
|
| 6 |
- goetcd "github.com/coreos/go-etcd/etcd" |
|
| 6 |
+ "golang.org/x/net/context" |
|
| 7 |
+ |
|
| 8 |
+ etcd "github.com/coreos/etcd/client" |
|
| 7 | 9 |
|
| 8 | 10 |
kapi "k8s.io/kubernetes/pkg/api" |
| 9 | 11 |
"k8s.io/kubernetes/pkg/api/v1" |
| ... | ... |
@@ -34,10 +36,10 @@ func (f *fakeSubjectAccessReviewRegistry) CreateSubjectAccessReview(ctx kapi.Con |
| 34 | 34 |
return nil, nil |
| 35 | 35 |
} |
| 36 | 36 |
|
| 37 |
-func setup(t *testing.T) (*goetcd.Client, *etcdtesting.EtcdTestServer, *REST) {
|
|
| 37 |
+func setup(t *testing.T) (etcd.KeysAPI, *etcdtesting.EtcdTestServer, *REST) {
|
|
| 38 | 38 |
|
| 39 | 39 |
etcdStorage, server := registrytest.NewEtcdStorage(t, "") |
| 40 |
- etcdClient := goetcd.NewClient(server.ClientURLs.StringSlice()) |
|
| 40 |
+ etcdClient := etcd.NewKeysAPI(server.Client) |
|
| 41 | 41 |
|
| 42 | 42 |
imageStorage := imageetcd.NewREST(etcdStorage) |
| 43 | 43 |
imageStreamStorage, imageStreamStatus, internalStorage := imagestreametcd.NewREST(etcdStorage, testDefaultRegistry, &fakeSubjectAccessReviewRegistry{})
|
| ... | ... |
@@ -248,14 +250,22 @@ func TestGet(t *testing.T) {
|
| 248 | 248 |
ctx := kapi.NewDefaultContext() |
| 249 | 249 |
if test.repo != nil {
|
| 250 | 250 |
ctx = kapi.WithNamespace(kapi.NewContext(), test.repo.Namespace) |
| 251 |
- _, err := client.Create(etcdtest.AddPrefix("/imagestreams/"+test.repo.Namespace+"/"+test.repo.Name), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), test.repo), 0)
|
|
| 251 |
+ _, err := client.Create( |
|
| 252 |
+ context.TODO(), |
|
| 253 |
+ etcdtest.AddPrefix("/imagestreams/"+test.repo.Namespace+"/"+test.repo.Name),
|
|
| 254 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), test.repo), |
|
| 255 |
+ ) |
|
| 252 | 256 |
if err != nil {
|
| 253 | 257 |
t.Errorf("Unexpected error: %v", err)
|
| 254 | 258 |
continue |
| 255 | 259 |
} |
| 256 | 260 |
} |
| 257 | 261 |
if test.image != nil {
|
| 258 |
- _, err := client.Create(etcdtest.AddPrefix("/images/"+test.image.Name), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), test.image), 0)
|
|
| 262 |
+ _, err := client.Create( |
|
| 263 |
+ context.TODO(), |
|
| 264 |
+ etcdtest.AddPrefix("/images/"+test.image.Name),
|
|
| 265 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), test.image), |
|
| 266 |
+ ) |
|
| 259 | 267 |
if err != nil {
|
| 260 | 268 |
t.Errorf("Unexpected error: %v", err)
|
| 261 | 269 |
continue |
| ... | ... |
@@ -7,7 +7,9 @@ import ( |
| 7 | 7 |
"strings" |
| 8 | 8 |
"testing" |
| 9 | 9 |
|
| 10 |
- "github.com/coreos/go-etcd/etcd" |
|
| 10 |
+ "golang.org/x/net/context" |
|
| 11 |
+ |
|
| 12 |
+ etcd "github.com/coreos/etcd/client" |
|
| 11 | 13 |
|
| 12 | 14 |
kapi "k8s.io/kubernetes/pkg/api" |
| 13 | 15 |
"k8s.io/kubernetes/pkg/api/errors" |
| ... | ... |
@@ -41,10 +43,10 @@ func (f *fakeSubjectAccessReviewRegistry) CreateSubjectAccessReview(ctx kapi.Con |
| 41 | 41 |
return nil, nil |
| 42 | 42 |
} |
| 43 | 43 |
|
| 44 |
-func setup(t *testing.T) (*etcd.Client, *etcdtesting.EtcdTestServer, *REST) {
|
|
| 44 |
+func setup(t *testing.T) (etcd.KeysAPI, *etcdtesting.EtcdTestServer, *REST) {
|
|
| 45 | 45 |
|
| 46 | 46 |
etcdStorage, server := registrytest.NewEtcdStorage(t, "") |
| 47 |
- etcdClient := etcd.NewClient(server.ClientURLs.StringSlice()) |
|
| 47 |
+ etcdClient := etcd.NewKeysAPI(server.Client) |
|
| 48 | 48 |
|
| 49 | 49 |
imageStorage := imageetcd.NewREST(etcdStorage) |
| 50 | 50 |
imageStreamStorage, imageStreamStatus, internalStorage := imagestreametcd.NewREST(etcdStorage, testDefaultRegistry, &fakeSubjectAccessReviewRegistry{})
|
| ... | ... |
@@ -145,7 +147,11 @@ func TestCreateSuccessWithName(t *testing.T) {
|
| 145 | 145 |
ObjectMeta: kapi.ObjectMeta{Namespace: "default", Name: "somerepo"},
|
| 146 | 146 |
} |
| 147 | 147 |
|
| 148 |
- _, err := client.Create(etcdtest.AddPrefix("/imagestreams/default/somerepo"), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), initialRepo), 0)
|
|
| 148 |
+ _, err := client.Create( |
|
| 149 |
+ context.TODO(), |
|
| 150 |
+ etcdtest.AddPrefix("/imagestreams/default/somerepo"),
|
|
| 151 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), initialRepo), |
|
| 152 |
+ ) |
|
| 149 | 153 |
if err != nil {
|
| 150 | 154 |
t.Fatalf("Unexpected error: %v", err)
|
| 151 | 155 |
} |
| ... | ... |
@@ -223,12 +229,19 @@ func TestAddExistingImageWithNewTag(t *testing.T) {
|
| 223 | 223 |
client, server, storage := setup(t) |
| 224 | 224 |
defer server.Terminate(t) |
| 225 | 225 |
|
| 226 |
- _, err := client.Create(etcdtest.AddPrefix("/imagestreams/default/somerepo"), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), existingRepo), 0)
|
|
| 226 |
+ _, err := client.Create( |
|
| 227 |
+ context.TODO(), |
|
| 228 |
+ etcdtest.AddPrefix("/imagestreams/default/somerepo"),
|
|
| 229 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), existingRepo), |
|
| 230 |
+ ) |
|
| 227 | 231 |
if err != nil {
|
| 228 | 232 |
t.Fatalf("Unexpected error: %v", err)
|
| 229 | 233 |
} |
| 230 | 234 |
|
| 231 |
- _, err = client.Create(etcdtest.AddPrefix("/images/default/"+imageID), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), existingImage), 0)
|
|
| 235 |
+ _, err = client.Create( |
|
| 236 |
+ context.TODO(), |
|
| 237 |
+ etcdtest.AddPrefix("/images/default/"+imageID), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), existingImage),
|
|
| 238 |
+ ) |
|
| 232 | 239 |
if err != nil {
|
| 233 | 240 |
t.Fatalf("Unexpected error: %v", err)
|
| 234 | 241 |
} |
| ... | ... |
@@ -285,12 +298,20 @@ func TestAddExistingImageAndTag(t *testing.T) {
|
| 285 | 285 |
client, server, storage := setup(t) |
| 286 | 286 |
defer server.Terminate(t) |
| 287 | 287 |
|
| 288 |
- _, err := client.Create(etcdtest.AddPrefix("/imagestreams/default/somerepo"), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), existingRepo), 0)
|
|
| 288 |
+ _, err := client.Create( |
|
| 289 |
+ context.TODO(), |
|
| 290 |
+ etcdtest.AddPrefix("/imagestreams/default/somerepo"),
|
|
| 291 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), existingRepo), |
|
| 292 |
+ ) |
|
| 289 | 293 |
if err != nil {
|
| 290 | 294 |
t.Fatalf("Unexpected error: %v", err)
|
| 291 | 295 |
} |
| 292 | 296 |
|
| 293 |
- _, err = client.Create(etcdtest.AddPrefix("/images/default/existingImage"), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), existingImage), 0)
|
|
| 297 |
+ _, err = client.Create( |
|
| 298 |
+ context.TODO(), |
|
| 299 |
+ etcdtest.AddPrefix("/images/default/existingImage"),
|
|
| 300 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), existingImage), |
|
| 301 |
+ ) |
|
| 294 | 302 |
if err != nil {
|
| 295 | 303 |
t.Fatalf("Unexpected error: %v", err)
|
| 296 | 304 |
} |
| ... | ... |
@@ -360,7 +381,11 @@ func TestTrackingTags(t *testing.T) {
|
| 360 | 360 |
}, |
| 361 | 361 |
} |
| 362 | 362 |
|
| 363 |
- _, err := client.Create(etcdtest.AddPrefix("/imagestreams/default/stream"), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), stream), 0)
|
|
| 363 |
+ _, err := client.Create( |
|
| 364 |
+ context.TODO(), |
|
| 365 |
+ etcdtest.AddPrefix("/imagestreams/default/stream"),
|
|
| 366 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), stream), |
|
| 367 |
+ ) |
|
| 364 | 368 |
if err != nil {
|
| 365 | 369 |
t.Fatalf("Unexpected error: %v", err)
|
| 366 | 370 |
} |
| ... | ... |
@@ -5,7 +5,9 @@ import ( |
| 5 | 5 |
"testing" |
| 6 | 6 |
"time" |
| 7 | 7 |
|
| 8 |
- "github.com/coreos/go-etcd/etcd" |
|
| 8 |
+ "golang.org/x/net/context" |
|
| 9 |
+ |
|
| 10 |
+ etcd "github.com/coreos/etcd/client" |
|
| 9 | 11 |
kapi "k8s.io/kubernetes/pkg/api" |
| 10 | 12 |
"k8s.io/kubernetes/pkg/api/errors" |
| 11 | 13 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| ... | ... |
@@ -55,10 +57,10 @@ func (u *fakeUser) GetGroups() []string {
|
| 55 | 55 |
return []string{"group1"}
|
| 56 | 56 |
} |
| 57 | 57 |
|
| 58 |
-func setup(t *testing.T) (*etcd.Client, *etcdtesting.EtcdTestServer, *REST) {
|
|
| 58 |
+func setup(t *testing.T) (etcd.KeysAPI, *etcdtesting.EtcdTestServer, *REST) {
|
|
| 59 | 59 |
|
| 60 | 60 |
etcdStorage, server := registrytest.NewEtcdStorage(t, "") |
| 61 |
- etcdClient := etcd.NewClient(server.ClientURLs.StringSlice()) |
|
| 61 |
+ etcdClient := etcd.NewKeysAPI(server.Client) |
|
| 62 | 62 |
|
| 63 | 63 |
imageStorage := imageetcd.NewREST(etcdStorage) |
| 64 | 64 |
imageStreamStorage, imageStreamStatus, internalStorage := imagestreametcd.NewREST(etcdStorage, testDefaultRegistry, &fakeSubjectAccessReviewRegistry{})
|
| ... | ... |
@@ -215,10 +217,18 @@ func TestGetImageStreamTag(t *testing.T) {
|
| 215 | 215 |
defer server.Terminate(t) |
| 216 | 216 |
|
| 217 | 217 |
if testCase.image != nil {
|
| 218 |
- client.Create(etcdtest.AddPrefix("/images/"+testCase.image.Name), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), testCase.image), 0)
|
|
| 218 |
+ client.Create( |
|
| 219 |
+ context.TODO(), |
|
| 220 |
+ etcdtest.AddPrefix("/images/"+testCase.image.Name),
|
|
| 221 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), testCase.image), |
|
| 222 |
+ ) |
|
| 219 | 223 |
} |
| 220 | 224 |
if testCase.repo != nil {
|
| 221 |
- client.Create(etcdtest.AddPrefix("/imagestreams/default/test"), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), testCase.repo), 0)
|
|
| 225 |
+ client.Create( |
|
| 226 |
+ context.TODO(), |
|
| 227 |
+ etcdtest.AddPrefix("/imagestreams/default/test"),
|
|
| 228 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), testCase.repo), |
|
| 229 |
+ ) |
|
| 222 | 230 |
} |
| 223 | 231 |
|
| 224 | 232 |
obj, err := storage.Get(kapi.NewDefaultContext(), "test:latest") |
| ... | ... |
@@ -280,8 +290,16 @@ func TestGetImageStreamTagDIR(t *testing.T) {
|
| 280 | 280 |
|
| 281 | 281 |
client, server, storage := setup(t) |
| 282 | 282 |
defer server.Terminate(t) |
| 283 |
- client.Create(etcdtest.AddPrefix("/images/"+image.Name), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), image), 0)
|
|
| 284 |
- client.Create(etcdtest.AddPrefix("/imagestreams/default/test"), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), repo), 0)
|
|
| 283 |
+ client.Create( |
|
| 284 |
+ context.TODO(), |
|
| 285 |
+ etcdtest.AddPrefix("/images/"+image.Name),
|
|
| 286 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), image), |
|
| 287 |
+ ) |
|
| 288 |
+ client.Create( |
|
| 289 |
+ context.TODO(), |
|
| 290 |
+ etcdtest.AddPrefix("/imagestreams/default/test"),
|
|
| 291 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), repo), |
|
| 292 |
+ ) |
|
| 285 | 293 |
obj, err := storage.Get(kapi.NewDefaultContext(), "test:latest") |
| 286 | 294 |
if err != nil {
|
| 287 | 295 |
t.Fatalf("Unexpected error: %v", err)
|
| ... | ... |
@@ -401,7 +419,11 @@ func TestDeleteImageStreamTag(t *testing.T) {
|
| 401 | 401 |
defer server.Terminate(t) |
| 402 | 402 |
|
| 403 | 403 |
if testCase.repo != nil {
|
| 404 |
- client.Create(etcdtest.AddPrefix("/imagestreams/default/test"), runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), testCase.repo), 0)
|
|
| 404 |
+ client.Create( |
|
| 405 |
+ context.TODO(), |
|
| 406 |
+ etcdtest.AddPrefix("/imagestreams/default/test"),
|
|
| 407 |
+ runtime.EncodeOrDie(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), testCase.repo), |
|
| 408 |
+ ) |
|
| 405 | 409 |
} |
| 406 | 410 |
|
| 407 | 411 |
ctx := kapi.WithUser(kapi.NewDefaultContext(), &fakeUser{})
|
| ... | ... |
@@ -5,7 +5,7 @@ import ( |
| 5 | 5 |
"strconv" |
| 6 | 6 |
|
| 7 | 7 |
kapi "k8s.io/kubernetes/pkg/api" |
| 8 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 8 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 9 | 9 |
kclientcmd "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 10 | 10 |
|
| 11 | 11 |
dapi "github.com/openshift/origin/pkg/deploy/api" |
| ... | ... |
@@ -19,7 +19,7 @@ const libModulesPath = "/lib/modules" |
| 19 | 19 |
|
| 20 | 20 |
// Get kube client configuration from a file containing credentials for |
| 21 | 21 |
// connecting to the master. |
| 22 |
-func getClientConfig(path string) (*kclient.Config, error) {
|
|
| 22 |
+func getClientConfig(path string) (*restclient.Config, error) {
|
|
| 23 | 23 |
if 0 == len(path) {
|
| 24 | 24 |
return nil, fmt.Errorf("You must specify a .kubeconfig file path containing credentials for connecting to the master with --credentials")
|
| 25 | 25 |
} |
| ... | ... |
@@ -35,7 +35,7 @@ func getClientConfig(path string) (*kclient.Config, error) {
|
| 35 | 35 |
return nil, fmt.Errorf("Credentials %q error: %v", path, err)
|
| 36 | 36 |
} |
| 37 | 37 |
|
| 38 |
- if err := kclient.LoadTLSFiles(config); err != nil {
|
|
| 38 |
+ if err := restclient.LoadTLSFiles(config); err != nil {
|
|
| 39 | 39 |
return nil, fmt.Errorf("Unable to load certificate info using credentials from %q: %v", path, err)
|
| 40 | 40 |
} |
| 41 | 41 |
|
| ... | ... |
@@ -43,7 +43,7 @@ func getClientConfig(path string) (*kclient.Config, error) {
|
| 43 | 43 |
} |
| 44 | 44 |
|
| 45 | 45 |
// Generate the IP failover monitor (keepalived) container environment entries. |
| 46 |
-func generateEnvEntries(name string, options *ipfailover.IPFailoverConfigCmdOptions, kconfig *kclient.Config) app.Environment {
|
|
| 46 |
+func generateEnvEntries(name string, options *ipfailover.IPFailoverConfigCmdOptions, kconfig *restclient.Config) app.Environment {
|
|
| 47 | 47 |
watchPort := strconv.Itoa(options.WatchPort) |
| 48 | 48 |
replicas := strconv.Itoa(options.Replicas) |
| 49 | 49 |
insecureStr := strconv.FormatBool(kconfig.Insecure) |
| ... | ... |
@@ -9,7 +9,7 @@ import ( |
| 9 | 9 |
kapi "k8s.io/kubernetes/pkg/api" |
| 10 | 10 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 11 | 11 |
"k8s.io/kubernetes/pkg/client/cache" |
| 12 |
- clientsetfake "k8s.io/kubernetes/pkg/client/testing/fake" |
|
| 12 |
+ clientsetfake "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" |
|
| 13 | 13 |
"k8s.io/kubernetes/pkg/client/unversioned/testclient" |
| 14 | 14 |
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" |
| 15 | 15 |
"k8s.io/kubernetes/pkg/runtime" |
| ... | ... |
@@ -6,7 +6,7 @@ import ( |
| 6 | 6 |
"k8s.io/kubernetes/pkg/admission" |
| 7 | 7 |
kapi "k8s.io/kubernetes/pkg/api" |
| 8 | 8 |
"k8s.io/kubernetes/pkg/client/cache" |
| 9 |
- clientsetfake "k8s.io/kubernetes/pkg/client/testing/fake" |
|
| 9 |
+ clientsetfake "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" |
|
| 10 | 10 |
"k8s.io/kubernetes/pkg/client/unversioned/testclient" |
| 11 | 11 |
|
| 12 | 12 |
projectcache "github.com/openshift/origin/pkg/project/cache" |
| ... | ... |
@@ -9,7 +9,7 @@ import ( |
| 9 | 9 |
|
| 10 | 10 |
"github.com/openshift/origin/pkg/client/testclient" |
| 11 | 11 |
"github.com/openshift/origin/pkg/project/api" |
| 12 |
- "k8s.io/kubernetes/pkg/client/testing/fake" |
|
| 12 |
+ "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" |
|
| 13 | 13 |
) |
| 14 | 14 |
|
| 15 | 15 |
func TestSyncNamespaceThatIsTerminating(t *testing.T) {
|
| ... | ... |
@@ -12,7 +12,7 @@ import ( |
| 12 | 12 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 13 | 13 |
"k8s.io/kubernetes/pkg/auth/user" |
| 14 | 14 |
"k8s.io/kubernetes/pkg/client/cache" |
| 15 |
- "k8s.io/kubernetes/pkg/client/testing/fake" |
|
| 15 |
+ "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" |
|
| 16 | 16 |
ktestclient "k8s.io/kubernetes/pkg/client/unversioned/testclient" |
| 17 | 17 |
"k8s.io/kubernetes/pkg/runtime" |
| 18 | 18 |
|
| ... | ... |
@@ -10,7 +10,7 @@ import ( |
| 10 | 10 |
"k8s.io/kubernetes/pkg/auth/user" |
| 11 | 11 |
"k8s.io/kubernetes/pkg/client/cache" |
| 12 | 12 |
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" |
| 13 |
- clientsetfake "k8s.io/kubernetes/pkg/client/testing/fake" |
|
| 13 |
+ clientsetfake "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" |
|
| 14 | 14 |
kscc "k8s.io/kubernetes/pkg/securitycontextconstraints" |
| 15 | 15 |
"k8s.io/kubernetes/pkg/util" |
| 16 | 16 |
|
| ... | ... |
@@ -6,8 +6,8 @@ import ( |
| 6 | 6 |
kadmission "k8s.io/kubernetes/pkg/admission" |
| 7 | 7 |
kapi "k8s.io/kubernetes/pkg/api" |
| 8 | 8 |
"k8s.io/kubernetes/pkg/auth/user" |
| 9 |
+ clientsetfake "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" |
|
| 9 | 10 |
testingcore "k8s.io/kubernetes/pkg/client/testing/core" |
| 10 |
- clientsetfake "k8s.io/kubernetes/pkg/client/testing/fake" |
|
| 11 | 11 |
"k8s.io/kubernetes/pkg/runtime" |
| 12 | 12 |
"k8s.io/kubernetes/pkg/watch" |
| 13 | 13 |
) |
| ... | ... |
@@ -5,6 +5,7 @@ import ( |
| 5 | 5 |
"time" |
| 6 | 6 |
|
| 7 | 7 |
kapi "k8s.io/kubernetes/pkg/api" |
| 8 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 8 | 9 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 9 | 10 |
|
| 10 | 11 |
"github.com/openshift/origin/pkg/client" |
| ... | ... |
@@ -54,7 +55,7 @@ func (s *ClientLookupTokenRetriever) GetToken(namespace, name string) (string, e |
| 54 | 54 |
|
| 55 | 55 |
// Clients returns an OpenShift and Kubernetes client with the credentials of the named service account |
| 56 | 56 |
// TODO: change return types to client.Interface/kclient.Interface to allow auto-reloading credentials |
| 57 |
-func Clients(config kclient.Config, tokenRetriever TokenRetriever, namespace, name string) (*client.Client, *kclient.Client, error) {
|
|
| 57 |
+func Clients(config restclient.Config, tokenRetriever TokenRetriever, namespace, name string) (*client.Client, *kclient.Client, error) {
|
|
| 58 | 58 |
// Clear existing auth info |
| 59 | 59 |
config.Username = "" |
| 60 | 60 |
config.Password = "" |
| ... | ... |
@@ -34,7 +34,7 @@ func NewDockercfgDeletedController(cl client.Interface, options DockercfgDeleted |
| 34 | 34 |
client: cl, |
| 35 | 35 |
} |
| 36 | 36 |
|
| 37 |
- dockercfgSelector := fields.OneTermEqualSelector(client.SecretType, string(api.SecretTypeDockercfg)) |
|
| 37 |
+ dockercfgSelector := fields.OneTermEqualSelector(api.SecretTypeField, string(api.SecretTypeDockercfg)) |
|
| 38 | 38 |
_, e.secretController = framework.NewInformer( |
| 39 | 39 |
&cache.ListWatch{
|
| 40 | 40 |
ListFunc: func(options api.ListOptions) (runtime.Object, error) {
|
| ... | ... |
@@ -28,7 +28,7 @@ func NewDockercfgTokenDeletedController(cl client.Interface, options DockercfgTo |
| 28 | 28 |
client: cl, |
| 29 | 29 |
} |
| 30 | 30 |
|
| 31 |
- dockercfgSelector := fields.OneTermEqualSelector(client.SecretType, string(api.SecretTypeServiceAccountToken)) |
|
| 31 |
+ dockercfgSelector := fields.OneTermEqualSelector(api.SecretTypeField, string(api.SecretTypeServiceAccountToken)) |
|
| 32 | 32 |
_, e.secretController = framework.NewInformer( |
| 33 | 33 |
&cache.ListWatch{
|
| 34 | 34 |
ListFunc: func(options api.ListOptions) (runtime.Object, error) {
|
| ... | ... |
@@ -104,7 +104,7 @@ func (e *DockercfgTokenDeletedController) secretDeleted(obj interface{}) {
|
| 104 | 104 |
func (e *DockercfgTokenDeletedController) findDockercfgSecrets(tokenSecret *api.Secret) ([]*api.Secret, error) {
|
| 105 | 105 |
dockercfgSecrets := []*api.Secret{}
|
| 106 | 106 |
|
| 107 |
- options := api.ListOptions{FieldSelector: fields.OneTermEqualSelector(client.SecretType, string(api.SecretTypeDockercfg))}
|
|
| 107 |
+ options := api.ListOptions{FieldSelector: fields.OneTermEqualSelector(api.SecretTypeField, string(api.SecretTypeDockercfg))}
|
|
| 108 | 108 |
potentialSecrets, err := e.client.Secrets(tokenSecret.Namespace).List(options) |
| 109 | 109 |
if err != nil {
|
| 110 | 110 |
return nil, err |
| ... | ... |
@@ -6,7 +6,6 @@ import ( |
| 6 | 6 |
"testing" |
| 7 | 7 |
|
| 8 | 8 |
"k8s.io/kubernetes/pkg/api" |
| 9 |
- client "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 10 | 9 |
"k8s.io/kubernetes/pkg/client/unversioned/testclient" |
| 11 | 10 |
"k8s.io/kubernetes/pkg/fields" |
| 12 | 11 |
"k8s.io/kubernetes/pkg/runtime" |
| ... | ... |
@@ -123,7 +122,7 @@ func serviceAccountTokenSecretWithoutTokenData() *api.Secret {
|
| 123 | 123 |
} |
| 124 | 124 |
|
| 125 | 125 |
func TestTokenDeletion(t *testing.T) {
|
| 126 |
- dockercfgSecretFieldSelector := fields.OneTermEqualSelector(client.SecretType, string(api.SecretTypeDockercfg)) |
|
| 126 |
+ dockercfgSecretFieldSelector := fields.OneTermEqualSelector(api.SecretTypeField, string(api.SecretTypeDockercfg)) |
|
| 127 | 127 |
|
| 128 | 128 |
testcases := map[string]struct {
|
| 129 | 129 |
ClientObjects []runtime.Object |
| ... | ... |
@@ -199,7 +199,7 @@ func (e *DockerRegistryServiceController) handleLocationChange(serviceLocation s |
| 199 | 199 |
} |
| 200 | 200 |
|
| 201 | 201 |
func (e *DockerRegistryServiceController) listDockercfgSecrets() ([]*api.Secret, error) {
|
| 202 |
- options := api.ListOptions{FieldSelector: fields.SelectorFromSet(map[string]string{client.SecretType: string(api.SecretTypeDockercfg)})}
|
|
| 202 |
+ options := api.ListOptions{FieldSelector: fields.SelectorFromSet(map[string]string{api.SecretTypeField: string(api.SecretTypeDockercfg)})}
|
|
| 203 | 203 |
potentialSecrets, err := e.client.Secrets(api.NamespaceAll).List(options) |
| 204 | 204 |
if err != nil {
|
| 205 | 205 |
return nil, err |
| ... | ... |
@@ -22,7 +22,7 @@ func TestNewRESTInvalidType(t *testing.T) {
|
| 22 | 22 |
t.Errorf("Expected type error.")
|
| 23 | 23 |
} |
| 24 | 24 |
|
| 25 |
- if _, err := registered.GroupOrDie(template.GroupName).RESTMapper.KindFor(template.Resource("processedtemplates").WithVersion("")); err != nil {
|
|
| 25 |
+ if _, err := registered.RESTMapper().KindFor(template.Resource("processedtemplates").WithVersion("")); err != nil {
|
|
| 26 | 26 |
t.Errorf("no processed templates: %v", err)
|
| 27 | 27 |
} |
| 28 | 28 |
} |
| ... | ... |
@@ -13,7 +13,7 @@ import ( |
| 13 | 13 |
"strings" |
| 14 | 14 |
"time" |
| 15 | 15 |
|
| 16 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 16 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 17 | 17 |
utilruntime "k8s.io/kubernetes/pkg/util/runtime" |
| 18 | 18 |
"k8s.io/kubernetes/third_party/golang/netutil" |
| 19 | 19 |
|
| ... | ... |
@@ -24,15 +24,15 @@ import ( |
| 24 | 24 |
// connections and those that require upgrading (e.g. web sockets). It implements |
| 25 | 25 |
// the http.RoundTripper and http.Handler interfaces. |
| 26 | 26 |
type UpgradeAwareSingleHostReverseProxy struct {
|
| 27 |
- clientConfig *kclient.Config |
|
| 27 |
+ clientConfig *restclient.Config |
|
| 28 | 28 |
backendAddr *url.URL |
| 29 | 29 |
transport http.RoundTripper |
| 30 | 30 |
reverseProxy *httputil.ReverseProxy |
| 31 | 31 |
} |
| 32 | 32 |
|
| 33 | 33 |
// NewUpgradeAwareSingleHostReverseProxy creates a new UpgradeAwareSingleHostReverseProxy. |
| 34 |
-func NewUpgradeAwareSingleHostReverseProxy(clientConfig *kclient.Config, backendAddr *url.URL) (*UpgradeAwareSingleHostReverseProxy, error) {
|
|
| 35 |
- transport, err := kclient.TransportFor(clientConfig) |
|
| 34 |
+func NewUpgradeAwareSingleHostReverseProxy(clientConfig *restclient.Config, backendAddr *url.URL) (*UpgradeAwareSingleHostReverseProxy, error) {
|
|
| 35 |
+ transport, err := restclient.TransportFor(clientConfig) |
|
| 36 | 36 |
if err != nil {
|
| 37 | 37 |
return nil, err |
| 38 | 38 |
} |
| ... | ... |
@@ -147,7 +147,7 @@ func (p *UpgradeAwareSingleHostReverseProxy) dialBackend(req *http.Request) (net |
| 147 | 147 |
case "http": |
| 148 | 148 |
return net.Dial("tcp", dialAddr)
|
| 149 | 149 |
case "https": |
| 150 |
- tlsConfig, err := kclient.TLSConfigFor(p.clientConfig) |
|
| 150 |
+ tlsConfig, err := restclient.TLSConfigFor(p.clientConfig) |
|
| 151 | 151 |
if err != nil {
|
| 152 | 152 |
return nil, err |
| 153 | 153 |
} |
| ... | ... |
@@ -261,7 +261,7 @@ func removeCORSHeaders(resp *http.Response) {
|
| 261 | 261 |
|
| 262 | 262 |
// addAuthHeaders adds basic/bearer auth from the given config (if specified) |
| 263 | 263 |
// This should be run on any requests not handled by the transport returned from TransportFor(config) |
| 264 |
-func addAuthHeaders(req *http.Request, clientConfig *kclient.Config) {
|
|
| 264 |
+func addAuthHeaders(req *http.Request, clientConfig *restclient.Config) {
|
|
| 265 | 265 |
if clientConfig.BearerToken != "" {
|
| 266 | 266 |
req.Header.Set("Authorization", "Bearer "+clientConfig.BearerToken)
|
| 267 | 267 |
} else if clientConfig.Username != "" || clientConfig.Password != "" {
|
| ... | ... |
@@ -37,7 +37,7 @@ var _ = g.Describe("[job] openshift can execute jobs", func() {
|
| 37 | 37 |
o.Expect(logs).Should(o.Equal("3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068"))
|
| 38 | 38 |
|
| 39 | 39 |
g.By("checking job status")
|
| 40 |
- jobs, err := oc.KubeREST().Jobs(oc.Namespace()).List(kapi.ListOptions{LabelSelector: exeutil.ParseLabelsOrDie("app=pi")})
|
|
| 40 |
+ jobs, err := oc.KubeREST().ExtensionsClient.Jobs(oc.Namespace()).List(kapi.ListOptions{LabelSelector: exeutil.ParseLabelsOrDie("app=pi")})
|
|
| 41 | 41 |
o.Expect(err).NotTo(o.HaveOccurred()) |
| 42 | 42 |
|
| 43 | 43 |
o.Expect(len(jobs.Items)).Should(o.Equal(1)) |
| ... | ... |
@@ -9,8 +9,8 @@ import ( |
| 9 | 9 |
) |
| 10 | 10 |
|
| 11 | 11 |
var _ = Describe("[networking] network isolation", func() {
|
| 12 |
- f1 := e2e.NewFramework("net-isolation1")
|
|
| 13 |
- f2 := e2e.NewFramework("net-isolation2")
|
|
| 12 |
+ f1 := e2e.NewDefaultFramework("net-isolation1")
|
|
| 13 |
+ f2 := e2e.NewDefaultFramework("net-isolation2")
|
|
| 14 | 14 |
|
| 15 | 15 |
Specify("multi-tenant plugins should prevent communication between pods in different namespaces on the same node", func() {
|
| 16 | 16 |
skipIfSingleTenant() |
| ... | ... |
@@ -10,7 +10,7 @@ var _ = Describe("[networking] basic openshift networking", func() {
|
| 10 | 10 |
svcname := "net-sanity" |
| 11 | 11 |
timeout := 10 |
| 12 | 12 |
|
| 13 |
- f := e2e.NewFramework(svcname) |
|
| 13 |
+ f := e2e.NewDefaultFramework(svcname) |
|
| 14 | 14 |
|
| 15 | 15 |
It("should function for pod communication on a single node", func() {
|
| 16 | 16 |
By("Picking a node")
|
| ... | ... |
@@ -19,7 +19,7 @@ var _ = g.Describe("[security] supplemental groups", func() {
|
| 19 | 19 |
defer g.GinkgoRecover() |
| 20 | 20 |
|
| 21 | 21 |
var ( |
| 22 |
- f = e2e.NewFramework("security-supgroups")
|
|
| 22 |
+ f = e2e.NewDefaultFramework("security-supgroups")
|
|
| 23 | 23 |
) |
| 24 | 24 |
|
| 25 | 25 |
g.Describe("Ensure supplemental groups propagate to docker", func() {
|
| ... | ... |
@@ -9,7 +9,7 @@ import ( |
| 9 | 9 |
"testing" |
| 10 | 10 |
|
| 11 | 11 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 12 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 12 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 13 | 13 |
"k8s.io/kubernetes/pkg/util/sets" |
| 14 | 14 |
|
| 15 | 15 |
configapi "github.com/openshift/origin/pkg/cmd/server/api" |
| ... | ... |
@@ -38,7 +38,7 @@ func TestRootAPIPaths(t *testing.T) {
|
| 38 | 38 |
t.Fatalf("unexpected error getting cluster admin client config: %v", err)
|
| 39 | 39 |
} |
| 40 | 40 |
|
| 41 |
- transport, err := kclient.TransportFor(clientConfig) |
|
| 41 |
+ transport, err := restclient.TransportFor(clientConfig) |
|
| 42 | 42 |
if err != nil {
|
| 43 | 43 |
t.Fatalf("unexpected error getting transport for client config: %v", err)
|
| 44 | 44 |
} |
| ... | ... |
@@ -53,8 +53,7 @@ func TestDeployScale(t *testing.T) {
|
| 53 | 53 |
} |
| 54 | 54 |
updatedScale, err := osClient.DeploymentConfigs(namespace).UpdateScale(scaleUpdate) |
| 55 | 55 |
if err != nil {
|
| 56 |
- // If this complains about "Scale" not being registered in "v1", check the kind overrides in the API registration |
|
| 57 |
- // See "UPSTREAM: <carry>: allow specific, skewed group/versions" and NonDefaultGroupVersionKinds |
|
| 56 |
+ // If this complains about "Scale" not being registered in "v1", check the kind overrides in the API registration in SubresourceGroupVersionKind |
|
| 58 | 57 |
t.Fatalf("Couldn't update DeploymentConfig scale to %#v: %v", scaleUpdate, err)
|
| 59 | 58 |
} |
| 60 | 59 |
if updatedScale.Spec.Replicas != 3 {
|
| ... | ... |
@@ -18,7 +18,7 @@ import ( |
| 18 | 18 |
kapi "k8s.io/kubernetes/pkg/api" |
| 19 | 19 |
"k8s.io/kubernetes/pkg/api/errors" |
| 20 | 20 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 21 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 21 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 22 | 22 |
kerrors "k8s.io/kubernetes/pkg/util/errors" |
| 23 | 23 |
"k8s.io/kubernetes/pkg/watch" |
| 24 | 24 |
|
| ... | ... |
@@ -498,7 +498,7 @@ func TestImageStreamImportScheduled(t *testing.T) {
|
| 498 | 498 |
} |
| 499 | 499 |
|
| 500 | 500 |
func TestImageStreamImportDockerHub(t *testing.T) {
|
| 501 |
- rt, _ := kclient.TransportFor(&kclient.Config{})
|
|
| 501 |
+ rt, _ := restclient.TransportFor(&restclient.Config{})
|
|
| 502 | 502 |
importCtx := importer.NewContext(rt, nil).WithCredentials(importer.NoCredentials) |
| 503 | 503 |
|
| 504 | 504 |
imports := &api.ImageStreamImport{
|
| ... | ... |
@@ -559,7 +559,7 @@ func TestImageStreamImportDockerHub(t *testing.T) {
|
| 559 | 559 |
} |
| 560 | 560 |
|
| 561 | 561 |
func TestImageStreamImportQuayIO(t *testing.T) {
|
| 562 |
- rt, _ := kclient.TransportFor(&kclient.Config{})
|
|
| 562 |
+ rt, _ := restclient.TransportFor(&restclient.Config{})
|
|
| 563 | 563 |
importCtx := importer.NewContext(rt, nil).WithCredentials(importer.NoCredentials) |
| 564 | 564 |
|
| 565 | 565 |
repositoryName := quayRegistryName + "/coreos/etcd" |
| ... | ... |
@@ -612,7 +612,7 @@ func TestImageStreamImportQuayIO(t *testing.T) {
|
| 612 | 612 |
} |
| 613 | 613 |
|
| 614 | 614 |
func TestImageStreamImportRedHatRegistry(t *testing.T) {
|
| 615 |
- rt, _ := kclient.TransportFor(&kclient.Config{})
|
|
| 615 |
+ rt, _ := restclient.TransportFor(&restclient.Config{})
|
|
| 616 | 616 |
importCtx := importer.NewContext(rt, nil).WithCredentials(importer.NoCredentials) |
| 617 | 617 |
|
| 618 | 618 |
repositoryName := pulpRegistryName + "/rhel7" |
| ... | ... |
@@ -8,7 +8,7 @@ import ( |
| 8 | 8 |
|
| 9 | 9 |
"github.com/spf13/pflag" |
| 10 | 10 |
|
| 11 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 11 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 12 | 12 |
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 13 | 13 |
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| 14 | 14 |
|
| ... | ... |
@@ -140,7 +140,7 @@ func newLoginOptions(server string, username string, password string, insecure b |
| 140 | 140 |
return loginOptions |
| 141 | 141 |
} |
| 142 | 142 |
|
| 143 |
-func whoami(clientCfg *kclient.Config) (*api.User, error) {
|
|
| 143 |
+func whoami(clientCfg *restclient.Config) (*api.User, error) {
|
|
| 144 | 144 |
oClient, err := client.New(clientCfg) |
| 145 | 145 |
if err != nil {
|
| 146 | 146 |
return nil, err |
| ... | ... |
@@ -9,7 +9,7 @@ import ( |
| 9 | 9 |
"testing" |
| 10 | 10 |
|
| 11 | 11 |
kapi "k8s.io/kubernetes/pkg/api" |
| 12 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 12 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 13 | 13 |
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" |
| 14 | 14 |
|
| 15 | 15 |
"github.com/openshift/origin/pkg/cmd/admin/policy" |
| ... | ... |
@@ -99,7 +99,7 @@ func TestNodeAuth(t *testing.T) {
|
| 99 | 99 |
} |
| 100 | 100 |
nodeTLS := configapi.UseTLS(nodeConfig.ServingInfo) |
| 101 | 101 |
|
| 102 |
- kubeletClientConfig := func(config *kclient.Config) *kubeletclient.KubeletClientConfig {
|
|
| 102 |
+ kubeletClientConfig := func(config *restclient.Config) *kubeletclient.KubeletClientConfig {
|
|
| 103 | 103 |
return &kubeletclient.KubeletClientConfig{
|
| 104 | 104 |
Port: uint(nodePortInt), |
| 105 | 105 |
EnableHttps: nodeTLS, |
| ... | ... |
@@ -12,7 +12,7 @@ import ( |
| 12 | 12 |
"testing" |
| 13 | 13 |
"time" |
| 14 | 14 |
|
| 15 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 15 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 16 | 16 |
|
| 17 | 17 |
"github.com/openshift/origin/pkg/client" |
| 18 | 18 |
configapi "github.com/openshift/origin/pkg/cmd/server/api" |
| ... | ... |
@@ -261,7 +261,7 @@ func TestOAuthBasicAuthPassword(t *testing.T) {
|
| 261 | 261 |
} |
| 262 | 262 |
|
| 263 | 263 |
// Use the server and CA info |
| 264 |
- anonConfig := kclient.Config{}
|
|
| 264 |
+ anonConfig := restclient.Config{}
|
|
| 265 | 265 |
anonConfig.Host = clientConfig.Host |
| 266 | 266 |
anonConfig.CAFile = clientConfig.CAFile |
| 267 | 267 |
anonConfig.CAData = clientConfig.CAData |
| ... | ... |
@@ -6,7 +6,7 @@ import ( |
| 6 | 6 |
"testing" |
| 7 | 7 |
|
| 8 | 8 |
kapi "k8s.io/kubernetes/pkg/api" |
| 9 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 9 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 10 | 10 |
|
| 11 | 11 |
"github.com/openshift/origin/pkg/cmd/util/tokencmd" |
| 12 | 12 |
testutil "github.com/openshift/origin/test/util" |
| ... | ... |
@@ -50,7 +50,7 @@ func TestOAuthDisabled(t *testing.T) {
|
| 50 | 50 |
} |
| 51 | 51 |
|
| 52 | 52 |
// Use the server and CA info |
| 53 |
- anonConfig := kclient.Config{}
|
|
| 53 |
+ anonConfig := restclient.Config{}
|
|
| 54 | 54 |
anonConfig.Host = clientConfig.Host |
| 55 | 55 |
anonConfig.CAFile = clientConfig.CAFile |
| 56 | 56 |
anonConfig.CAData = clientConfig.CAData |
| ... | ... |
@@ -7,7 +7,7 @@ import ( |
| 7 | 7 |
"os" |
| 8 | 8 |
"testing" |
| 9 | 9 |
|
| 10 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 10 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 11 | 11 |
|
| 12 | 12 |
"github.com/openshift/origin/pkg/client" |
| 13 | 13 |
configapi "github.com/openshift/origin/pkg/cmd/server/api" |
| ... | ... |
@@ -50,7 +50,7 @@ func TestOAuthHTPasswd(t *testing.T) {
|
| 50 | 50 |
} |
| 51 | 51 |
|
| 52 | 52 |
// Use the server and CA info |
| 53 |
- anonConfig := kclient.Config{}
|
|
| 53 |
+ anonConfig := restclient.Config{}
|
|
| 54 | 54 |
anonConfig.Host = clientConfig.Host |
| 55 | 55 |
anonConfig.CAFile = clientConfig.CAFile |
| 56 | 56 |
anonConfig.CAData = clientConfig.CAData |
| ... | ... |
@@ -10,7 +10,7 @@ import ( |
| 10 | 10 |
"reflect" |
| 11 | 11 |
"testing" |
| 12 | 12 |
|
| 13 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 13 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 14 | 14 |
kutil "k8s.io/kubernetes/pkg/util" |
| 15 | 15 |
"k8s.io/kubernetes/pkg/util/sets" |
| 16 | 16 |
|
| ... | ... |
@@ -164,7 +164,7 @@ func TestOAuthLDAP(t *testing.T) {
|
| 164 | 164 |
} |
| 165 | 165 |
|
| 166 | 166 |
// Use the server and CA info |
| 167 |
- anonConfig := kclient.Config{}
|
|
| 167 |
+ anonConfig := restclient.Config{}
|
|
| 168 | 168 |
anonConfig.Host = clusterAdminClientConfig.Host |
| 169 | 169 |
anonConfig.CAFile = clusterAdminClientConfig.CAFile |
| 170 | 170 |
anonConfig.CAData = clusterAdminClientConfig.CAData |
| ... | ... |
@@ -13,7 +13,7 @@ import ( |
| 13 | 13 |
"regexp" |
| 14 | 14 |
"testing" |
| 15 | 15 |
|
| 16 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 16 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 17 | 17 |
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| 18 | 18 |
|
| 19 | 19 |
"github.com/openshift/origin/pkg/client" |
| ... | ... |
@@ -188,11 +188,11 @@ func TestOAuthRequestHeader(t *testing.T) {
|
| 188 | 188 |
} |
| 189 | 189 |
|
| 190 | 190 |
// Use the server and CA info, but no client cert info |
| 191 |
- anonConfig := kclient.Config{}
|
|
| 191 |
+ anonConfig := restclient.Config{}
|
|
| 192 | 192 |
anonConfig.Host = clientConfig.Host |
| 193 | 193 |
anonConfig.CAFile = clientConfig.CAFile |
| 194 | 194 |
anonConfig.CAData = clientConfig.CAData |
| 195 |
- anonTransport, err := kclient.TransportFor(&anonConfig) |
|
| 195 |
+ anonTransport, err := restclient.TransportFor(&anonConfig) |
|
| 196 | 196 |
if err != nil {
|
| 197 | 197 |
t.Fatalf("unexpected error: %v", err)
|
| 198 | 198 |
} |
| ... | ... |
@@ -201,7 +201,7 @@ func TestOAuthRequestHeader(t *testing.T) {
|
| 201 | 201 |
proxyConfig := anonConfig |
| 202 | 202 |
proxyConfig.CertData = clientCert |
| 203 | 203 |
proxyConfig.KeyData = clientKey |
| 204 |
- proxyTransport, err = kclient.TransportFor(&proxyConfig) |
|
| 204 |
+ proxyTransport, err = restclient.TransportFor(&proxyConfig) |
|
| 205 | 205 |
if err != nil {
|
| 206 | 206 |
t.Fatalf("unexpected error: %v", err)
|
| 207 | 207 |
} |
| ... | ... |
@@ -188,7 +188,7 @@ func testPodNodeConstraintsReplicaSet(nodeName string, nodeSelector map[string]s |
| 188 | 188 |
rs := &extensions.ReplicaSet{}
|
| 189 | 189 |
rs.Name = "testrs" |
| 190 | 190 |
rs.Spec.Replicas = 1 |
| 191 |
- rs.Spec.Template = &kapi.PodTemplateSpec{}
|
|
| 191 |
+ rs.Spec.Template = kapi.PodTemplateSpec{}
|
|
| 192 | 192 |
rs.Spec.Template.Labels = map[string]string{"foo": "bar"}
|
| 193 | 193 |
rs.Spec.Template.Spec = testPodNodeConstraintsPodSpec(nodeName, nodeSelector) |
| 194 | 194 |
rs.Spec.Selector = &unversioned.LabelSelector{
|
| ... | ... |
@@ -203,9 +203,8 @@ func testPodNodeConstraintsJob(nodeName string, nodeSelector map[string]string) |
| 203 | 203 |
job.Spec.Template.Labels = map[string]string{"foo": "bar"}
|
| 204 | 204 |
job.Spec.Template.Spec = testPodNodeConstraintsPodSpec(nodeName, nodeSelector) |
| 205 | 205 |
job.Spec.Template.Spec.RestartPolicy = kapi.RestartPolicyNever |
| 206 |
- job.Spec.Selector = &unversioned.LabelSelector{
|
|
| 207 |
- MatchLabels: map[string]string{"foo": "bar"},
|
|
| 208 |
- } |
|
| 206 |
+ // Matching selector is now generated automatically |
|
| 207 |
+ // job.Spec.Selector = ... |
|
| 209 | 208 |
return job |
| 210 | 209 |
} |
| 211 | 210 |
|
| ... | ... |
@@ -7,6 +7,7 @@ import ( |
| 7 | 7 |
|
| 8 | 8 |
kapi "k8s.io/kubernetes/pkg/api" |
| 9 | 9 |
apierrors "k8s.io/kubernetes/pkg/api/errors" |
| 10 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 10 | 11 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 11 | 12 |
"k8s.io/kubernetes/pkg/labels" |
| 12 | 13 |
|
| ... | ... |
@@ -19,7 +20,7 @@ import ( |
| 19 | 19 |
testserver "github.com/openshift/origin/test/util/server" |
| 20 | 20 |
) |
| 21 | 21 |
|
| 22 |
-func setupProjectRequestLimitTest(t *testing.T, pluginConfig *requestlimit.ProjectRequestLimitConfig) (kclient.Interface, client.Interface, *kclient.Config) {
|
|
| 22 |
+func setupProjectRequestLimitTest(t *testing.T, pluginConfig *requestlimit.ProjectRequestLimitConfig) (kclient.Interface, client.Interface, *restclient.Config) {
|
|
| 23 | 23 |
testutil.RequireEtcd(t) |
| 24 | 24 |
masterConfig, err := testserver.DefaultMasterOptions() |
| 25 | 25 |
if err != nil {
|
| ... | ... |
@@ -167,7 +168,7 @@ func TestProjectRequestLimitSingleConfig(t *testing.T) {
|
| 167 | 167 |
}) |
| 168 | 168 |
} |
| 169 | 169 |
|
| 170 |
-func testProjectRequestLimitAdmission(t *testing.T, errorPrefix string, clientConfig *kclient.Config, tests map[string]bool) {
|
|
| 170 |
+func testProjectRequestLimitAdmission(t *testing.T, errorPrefix string, clientConfig *restclient.Config, tests map[string]bool) {
|
|
| 171 | 171 |
for user, expectSuccess := range tests {
|
| 172 | 172 |
oclient, _, _, err := testutil.GetClientForUser(*clientConfig, user) |
| 173 | 173 |
if err != nil {
|
| ... | ... |
@@ -12,6 +12,7 @@ import ( |
| 12 | 12 |
|
| 13 | 13 |
"k8s.io/kubernetes/pkg/api" |
| 14 | 14 |
"k8s.io/kubernetes/pkg/api/errors" |
| 15 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 15 | 16 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 16 | 17 |
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
| 17 | 18 |
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" |
| ... | ... |
@@ -57,10 +58,10 @@ func TestServiceAccountAuthorization(t *testing.T) {
|
| 57 | 57 |
if len(saToken) == 0 {
|
| 58 | 58 |
t.Fatalf("token was not created")
|
| 59 | 59 |
} |
| 60 |
- cluster1SAClientConfig := kclient.Config{
|
|
| 60 |
+ cluster1SAClientConfig := restclient.Config{
|
|
| 61 | 61 |
Host: cluster1AdminConfig.Host, |
| 62 | 62 |
BearerToken: saToken, |
| 63 |
- TLSClientConfig: kclient.TLSClientConfig{
|
|
| 63 |
+ TLSClientConfig: restclient.TLSClientConfig{
|
|
| 64 | 64 |
CAFile: cluster1AdminConfig.CAFile, |
| 65 | 65 |
CAData: cluster1AdminConfig.CAData, |
| 66 | 66 |
}, |
| ... | ... |
@@ -188,7 +189,7 @@ func TestServiceAccountAuthorization(t *testing.T) {
|
| 188 | 188 |
} |
| 189 | 189 |
} |
| 190 | 190 |
|
| 191 |
-func writeClientConfigToKubeConfig(config kclient.Config, path string) error {
|
|
| 191 |
+func writeClientConfigToKubeConfig(config restclient.Config, path string) error {
|
|
| 192 | 192 |
kubeConfig := &clientcmdapi.Config{
|
| 193 | 193 |
Clusters: map[string]*clientcmdapi.Cluster{"myserver": {Server: config.Host, CertificateAuthority: config.CAFile, CertificateAuthorityData: config.CAData}},
|
| 194 | 194 |
AuthInfos: map[string]*clientcmdapi.AuthInfo{"myuser": {Token: config.BearerToken}},
|
| ... | ... |
@@ -10,7 +10,7 @@ import ( |
| 10 | 10 |
"time" |
| 11 | 11 |
|
| 12 | 12 |
kapi "k8s.io/kubernetes/pkg/api" |
| 13 |
- kclient "k8s.io/kubernetes/pkg/client/unversioned" |
|
| 13 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 14 | 14 |
|
| 15 | 15 |
buildapi "github.com/openshift/origin/pkg/build/api" |
| 16 | 16 |
"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy" |
| ... | ... |
@@ -270,7 +270,7 @@ func TestWebhookGitHubPing(t *testing.T) {
|
| 270 | 270 |
} |
| 271 | 271 |
} |
| 272 | 272 |
|
| 273 |
-func postFile(client kclient.HTTPClient, event, filename, url string, expStatusCode int, t *testing.T) {
|
|
| 273 |
+func postFile(client restclient.HTTPClient, event, filename, url string, expStatusCode int, t *testing.T) {
|
|
| 274 | 274 |
data, err := ioutil.ReadFile("../../pkg/build/webhook/github/fixtures/" + filename)
|
| 275 | 275 |
if err != nil {
|
| 276 | 276 |
t.Fatalf("Failed to open %s: %v", filename, err)
|
| ... | ... |
@@ -8,6 +8,7 @@ import ( |
| 8 | 8 |
|
| 9 | 9 |
kapi "k8s.io/kubernetes/pkg/api" |
| 10 | 10 |
kerrs "k8s.io/kubernetes/pkg/api/errors" |
| 11 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 11 | 12 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 12 | 13 |
"k8s.io/kubernetes/pkg/fields" |
| 13 | 14 |
"k8s.io/kubernetes/pkg/util/wait" |
| ... | ... |
@@ -49,7 +50,7 @@ func GetClusterAdminClient(adminKubeConfigFile string) (*client.Client, error) {
|
| 49 | 49 |
return osClient, nil |
| 50 | 50 |
} |
| 51 | 51 |
|
| 52 |
-func GetClusterAdminClientConfig(adminKubeConfigFile string) (*kclient.Config, error) {
|
|
| 52 |
+func GetClusterAdminClientConfig(adminKubeConfigFile string) (*restclient.Config, error) {
|
|
| 53 | 53 |
_, conf, err := configapi.GetKubeClient(adminKubeConfigFile) |
| 54 | 54 |
if err != nil {
|
| 55 | 55 |
return nil, err |
| ... | ... |
@@ -57,7 +58,7 @@ func GetClusterAdminClientConfig(adminKubeConfigFile string) (*kclient.Config, e |
| 57 | 57 |
return conf, nil |
| 58 | 58 |
} |
| 59 | 59 |
|
| 60 |
-func GetClientForUser(clientConfig kclient.Config, username string) (*client.Client, *kclient.Client, *kclient.Config, error) {
|
|
| 60 |
+func GetClientForUser(clientConfig restclient.Config, username string) (*client.Client, *kclient.Client, *restclient.Config, error) {
|
|
| 61 | 61 |
token, err := tokencmd.RequestToken(&clientConfig, nil, username, "password") |
| 62 | 62 |
if err != nil {
|
| 63 | 63 |
return nil, nil, nil, err |
| ... | ... |
@@ -79,7 +80,7 @@ func GetClientForUser(clientConfig kclient.Config, username string) (*client.Cli |
| 79 | 79 |
return osClient, kubeClient, &userClientConfig, nil |
| 80 | 80 |
} |
| 81 | 81 |
|
| 82 |
-func GetClientForServiceAccount(adminClient *kclient.Client, clientConfig kclient.Config, namespace, name string) (*client.Client, *kclient.Client, *kclient.Config, error) {
|
|
| 82 |
+func GetClientForServiceAccount(adminClient *kclient.Client, clientConfig restclient.Config, namespace, name string) (*client.Client, *kclient.Client, *restclient.Config, error) {
|
|
| 83 | 83 |
_, err := adminClient.Namespaces().Create(&kapi.Namespace{ObjectMeta: kapi.ObjectMeta{Name: namespace}})
|
| 84 | 84 |
if err != nil && !kerrs.IsAlreadyExists(err) {
|
| 85 | 85 |
return nil, nil, nil, err |
| ... | ... |
@@ -95,7 +96,7 @@ func GetClientForServiceAccount(adminClient *kclient.Client, clientConfig kclien |
| 95 | 95 |
|
| 96 | 96 |
token := "" |
| 97 | 97 |
err = wait.Poll(time.Second, 30*time.Second, func() (bool, error) {
|
| 98 |
- selector := fields.OneTermEqualSelector(kclient.SecretType, string(kapi.SecretTypeServiceAccountToken)) |
|
| 98 |
+ selector := fields.OneTermEqualSelector(kapi.SecretTypeField, string(kapi.SecretTypeServiceAccountToken)) |
|
| 99 | 99 |
secrets, err := adminClient.Secrets(namespace).List(kapi.ListOptions{FieldSelector: selector})
|
| 100 | 100 |
if err != nil {
|
| 101 | 101 |
return false, err |
| ... | ... |
@@ -33,7 +33,7 @@ var url string |
| 33 | 33 |
|
| 34 | 34 |
// RequireEtcd verifies if the etcd is running and accessible for testing |
| 35 | 35 |
func RequireEtcd(t *testing.T) *etcdtest.EtcdTestServer {
|
| 36 |
- s := etcdtest.NewEtcdTestClientServer(t) |
|
| 36 |
+ s := etcdtest.NewUnsecuredEtcdTestClientServer(t) |
|
| 37 | 37 |
url = s.Client.Endpoints()[0] |
| 38 | 38 |
return s |
| 39 | 39 |
} |
| ... | ... |
@@ -13,6 +13,7 @@ import ( |
| 13 | 13 |
"github.com/golang/glog" |
| 14 | 14 |
"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy" |
| 15 | 15 |
kapi "k8s.io/kubernetes/pkg/api" |
| 16 |
+ "k8s.io/kubernetes/pkg/client/restclient" |
|
| 16 | 17 |
kclient "k8s.io/kubernetes/pkg/client/unversioned" |
| 17 | 18 |
"k8s.io/kubernetes/pkg/util/wait" |
| 18 | 19 |
|
| ... | ... |
@@ -414,7 +415,7 @@ func WaitForServiceAccounts(client *kclient.Client, namespace string, accounts [ |
| 414 | 414 |
|
| 415 | 415 |
// CreateNewProject creates a new project using the clusterAdminClient, then gets a token for the adminUser and returns |
| 416 | 416 |
// back a client for the admin user |
| 417 |
-func CreateNewProject(clusterAdminClient *client.Client, clientConfig kclient.Config, projectName, adminUser string) (*client.Client, error) {
|
|
| 417 |
+func CreateNewProject(clusterAdminClient *client.Client, clientConfig restclient.Config, projectName, adminUser string) (*client.Client, error) {
|
|
| 418 | 418 |
newProjectOptions := &newproject.NewProjectOptions{
|
| 419 | 419 |
Client: clusterAdminClient, |
| 420 | 420 |
ProjectName: projectName, |