mirror of
https://github.com/kubernetes/client-go.git
synced 2025-07-19 01:27:10 +00:00
easy changes
Kubernetes-commit: 3fa7b7824abbf3daec1189b118b91b5bb726958f
This commit is contained in:
parent
670b68600e
commit
cf012f20d0
@ -33,7 +33,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
"k8s.io/apimachinery/pkg/version"
|
"k8s.io/apimachinery/pkg/version"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
)
|
)
|
||||||
@ -410,7 +410,7 @@ func withRetries(maxRetries int, f func(failEarly bool) ([]*metav1.APIResourceLi
|
|||||||
func setDiscoveryDefaults(config *restclient.Config) error {
|
func setDiscoveryDefaults(config *restclient.Config) error {
|
||||||
config.APIPath = ""
|
config.APIPath = ""
|
||||||
config.GroupVersion = nil
|
config.GroupVersion = nil
|
||||||
codec := runtime.NoopEncoder{Decoder: api.Codecs.UniversalDecoder()}
|
codec := runtime.NoopEncoder{Decoder: scheme.Codecs.UniversalDecoder()}
|
||||||
config.NegotiatedSerializer = serializer.NegotiatedSerializerWrapper(runtime.SerializerInfo{Serializer: codec})
|
config.NegotiatedSerializer = serializer.NegotiatedSerializerWrapper(runtime.SerializerInfo{Serializer: codec})
|
||||||
if len(config.UserAgent) == 0 {
|
if len(config.UserAgent) == 0 {
|
||||||
config.UserAgent = restclient.DefaultKubernetesUserAgent()
|
config.UserAgent = restclient.DefaultKubernetesUserAgent()
|
||||||
|
@ -32,11 +32,10 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/client-go/discovery"
|
"k8s.io/client-go/discovery"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
"k8s.io/client-go/rest/fake"
|
"k8s.io/client-go/rest/fake"
|
||||||
|
|
||||||
_ "k8s.io/client-go/pkg/api/install"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func objBody(object interface{}) io.ReadCloser {
|
func objBody(object interface{}) io.ReadCloser {
|
||||||
@ -60,23 +59,23 @@ func TestNegotiateVersion(t *testing.T) {
|
|||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "server supports client default",
|
name: "server supports client default",
|
||||||
serverVersions: []string{"version1", api.Registry.GroupOrDie(api.GroupName).GroupVersion.String()},
|
serverVersions: []string{"version1", v1.SchemeGroupVersion.String()},
|
||||||
clientVersions: []schema.GroupVersion{{Version: "version1"}, api.Registry.GroupOrDie(api.GroupName).GroupVersion},
|
clientVersions: []schema.GroupVersion{{Version: "version1"}, v1.SchemeGroupVersion},
|
||||||
expectedVersion: &schema.GroupVersion{Version: "version1"},
|
expectedVersion: &schema.GroupVersion{Version: "version1"},
|
||||||
statusCode: http.StatusOK,
|
statusCode: http.StatusOK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "server falls back to client supported",
|
name: "server falls back to client supported",
|
||||||
serverVersions: []string{"version1"},
|
serverVersions: []string{"version1"},
|
||||||
clientVersions: []schema.GroupVersion{{Version: "version1"}, api.Registry.GroupOrDie(api.GroupName).GroupVersion},
|
clientVersions: []schema.GroupVersion{{Version: "version1"}, v1.SchemeGroupVersion},
|
||||||
expectedVersion: &schema.GroupVersion{Version: "version1"},
|
expectedVersion: &schema.GroupVersion{Version: "version1"},
|
||||||
statusCode: http.StatusOK,
|
statusCode: http.StatusOK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "explicit version supported",
|
name: "explicit version supported",
|
||||||
requiredVersion: &schema.GroupVersion{Version: "v1"},
|
requiredVersion: &schema.GroupVersion{Version: "v1"},
|
||||||
serverVersions: []string{"/version1", api.Registry.GroupOrDie(api.GroupName).GroupVersion.String()},
|
serverVersions: []string{"/version1", v1.SchemeGroupVersion.String()},
|
||||||
clientVersions: []schema.GroupVersion{{Version: "version1"}, api.Registry.GroupOrDie(api.GroupName).GroupVersion},
|
clientVersions: []schema.GroupVersion{{Version: "version1"}, v1.SchemeGroupVersion},
|
||||||
expectedVersion: &schema.GroupVersion{Version: "v1"},
|
expectedVersion: &schema.GroupVersion{Version: "v1"},
|
||||||
statusCode: http.StatusOK,
|
statusCode: http.StatusOK,
|
||||||
},
|
},
|
||||||
@ -84,7 +83,7 @@ func TestNegotiateVersion(t *testing.T) {
|
|||||||
name: "explicit version not supported on server",
|
name: "explicit version not supported on server",
|
||||||
requiredVersion: &schema.GroupVersion{Version: "v1"},
|
requiredVersion: &schema.GroupVersion{Version: "v1"},
|
||||||
serverVersions: []string{"version1"},
|
serverVersions: []string{"version1"},
|
||||||
clientVersions: []schema.GroupVersion{{Version: "version1"}, api.Registry.GroupOrDie(api.GroupName).GroupVersion},
|
clientVersions: []schema.GroupVersion{{Version: "version1"}, v1.SchemeGroupVersion},
|
||||||
expectErr: func(err error) bool { return strings.Contains(err.Error(), `server does not support API version "v1"`) },
|
expectErr: func(err error) bool { return strings.Contains(err.Error(), `server does not support API version "v1"`) },
|
||||||
statusCode: http.StatusOK,
|
statusCode: http.StatusOK,
|
||||||
},
|
},
|
||||||
@ -99,21 +98,21 @@ func TestNegotiateVersion(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "connection refused error",
|
name: "connection refused error",
|
||||||
serverVersions: []string{"version1"},
|
serverVersions: []string{"version1"},
|
||||||
clientVersions: []schema.GroupVersion{{Version: "version1"}, api.Registry.GroupOrDie(api.GroupName).GroupVersion},
|
clientVersions: []schema.GroupVersion{{Version: "version1"}, v1.SchemeGroupVersion},
|
||||||
sendErr: errors.New("connection refused"),
|
sendErr: errors.New("connection refused"),
|
||||||
expectErr: func(err error) bool { return strings.Contains(err.Error(), "connection refused") },
|
expectErr: func(err error) bool { return strings.Contains(err.Error(), "connection refused") },
|
||||||
statusCode: http.StatusOK,
|
statusCode: http.StatusOK,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "discovery fails due to 403 Forbidden errors and thus serverVersions is empty, use default GroupVersion",
|
name: "discovery fails due to 403 Forbidden errors and thus serverVersions is empty, use default GroupVersion",
|
||||||
clientVersions: []schema.GroupVersion{{Version: "version1"}, api.Registry.GroupOrDie(api.GroupName).GroupVersion},
|
clientVersions: []schema.GroupVersion{{Version: "version1"}, v1.SchemeGroupVersion},
|
||||||
expectedVersion: &schema.GroupVersion{Version: "version1"},
|
expectedVersion: &schema.GroupVersion{Version: "version1"},
|
||||||
statusCode: http.StatusForbidden,
|
statusCode: http.StatusForbidden,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "discovery fails due to 404 Not Found errors and thus serverVersions is empty, use requested GroupVersion",
|
name: "discovery fails due to 404 Not Found errors and thus serverVersions is empty, use requested GroupVersion",
|
||||||
requiredVersion: &schema.GroupVersion{Version: "version1"},
|
requiredVersion: &schema.GroupVersion{Version: "version1"},
|
||||||
clientVersions: []schema.GroupVersion{{Version: "version1"}, api.Registry.GroupOrDie(api.GroupName).GroupVersion},
|
clientVersions: []schema.GroupVersion{{Version: "version1"}, v1.SchemeGroupVersion},
|
||||||
expectedVersion: &schema.GroupVersion{Version: "version1"},
|
expectedVersion: &schema.GroupVersion{Version: "version1"},
|
||||||
statusCode: http.StatusNotFound,
|
statusCode: http.StatusNotFound,
|
||||||
},
|
},
|
||||||
@ -126,8 +125,7 @@ func TestNegotiateVersion(t *testing.T) {
|
|||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
fakeClient := &fake.RESTClient{
|
fakeClient := &fake.RESTClient{
|
||||||
APIRegistry: api.Registry,
|
NegotiatedSerializer: scheme.Codecs,
|
||||||
NegotiatedSerializer: api.Codecs,
|
|
||||||
Resp: &http.Response{
|
Resp: &http.Response{
|
||||||
StatusCode: test.statusCode,
|
StatusCode: test.statusCode,
|
||||||
Body: objBody(&uapi.APIVersions{Versions: test.serverVersions}),
|
Body: objBody(&uapi.APIVersions{Versions: test.serverVersions}),
|
||||||
|
@ -25,7 +25,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/version"
|
"k8s.io/apimachinery/pkg/version"
|
||||||
. "k8s.io/client-go/discovery"
|
. "k8s.io/client-go/discovery"
|
||||||
"k8s.io/client-go/pkg/api"
|
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
"k8s.io/client-go/rest/fake"
|
"k8s.io/client-go/rest/fake"
|
||||||
|
|
||||||
@ -209,7 +208,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) {
|
|||||||
assert := assert.New(t)
|
assert := assert.New(t)
|
||||||
|
|
||||||
cdc := fakeCachedDiscoveryInterface{fresh: false}
|
cdc := fakeCachedDiscoveryInterface{fresh: false}
|
||||||
m := NewDeferredDiscoveryRESTMapper(&cdc, api.Registry.InterfacesFor)
|
m := NewDeferredDiscoveryRESTMapper(&cdc, nil)
|
||||||
assert.False(cdc.fresh, "should NOT be fresh after instantiation")
|
assert.False(cdc.fresh, "should NOT be fresh after instantiation")
|
||||||
assert.Zero(cdc.invalidateCalls, "should not have called Invalidate()")
|
assert.Zero(cdc.invalidateCalls, "should not have called Invalidate()")
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
"k8s.io/client-go/util/flowcontrol"
|
"k8s.io/client-go/util/flowcontrol"
|
||||||
@ -245,9 +245,9 @@ func (dynamicCodec) Encode(obj runtime.Object, w io.Writer) error {
|
|||||||
// ContentConfig returns a restclient.ContentConfig for dynamic types.
|
// ContentConfig returns a restclient.ContentConfig for dynamic types.
|
||||||
func ContentConfig() restclient.ContentConfig {
|
func ContentConfig() restclient.ContentConfig {
|
||||||
var jsonInfo runtime.SerializerInfo
|
var jsonInfo runtime.SerializerInfo
|
||||||
// TODO: api.Codecs here should become "pkg/apis/server/scheme" which is the minimal core you need
|
// TODO: scheme.Codecs here should become "pkg/apis/server/scheme" which is the minimal core you need
|
||||||
// to talk to a kubernetes server
|
// to talk to a kubernetes server
|
||||||
for _, info := range api.Codecs.SupportedMediaTypes() {
|
for _, info := range scheme.Codecs.SupportedMediaTypes() {
|
||||||
if info.MediaType == runtime.ContentTypeJSON {
|
if info.MediaType == runtime.ContentTypeJSON {
|
||||||
jsonInfo = info
|
jsonInfo = info
|
||||||
break
|
break
|
||||||
@ -280,10 +280,10 @@ var defaultParameterEncoder runtime.ParameterCodec = parameterCodec{}
|
|||||||
type versionedParameterEncoderWithV1Fallback struct{}
|
type versionedParameterEncoderWithV1Fallback struct{}
|
||||||
|
|
||||||
func (versionedParameterEncoderWithV1Fallback) EncodeParameters(obj runtime.Object, to schema.GroupVersion) (url.Values, error) {
|
func (versionedParameterEncoderWithV1Fallback) EncodeParameters(obj runtime.Object, to schema.GroupVersion) (url.Values, error) {
|
||||||
ret, err := api.ParameterCodec.EncodeParameters(obj, to)
|
ret, err := scheme.ParameterCodec.EncodeParameters(obj, to)
|
||||||
if err != nil && runtime.IsNotRegisteredError(err) {
|
if err != nil && runtime.IsNotRegisteredError(err) {
|
||||||
// fallback to v1
|
// fallback to v1
|
||||||
return api.ParameterCodec.EncodeParameters(obj, v1.SchemeGroupVersion)
|
return scheme.ParameterCodec.EncodeParameters(obj, v1.SchemeGroupVersion)
|
||||||
}
|
}
|
||||||
return ret, err
|
return ret, err
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,6 @@ import (
|
|||||||
|
|
||||||
"k8s.io/apimachinery/pkg/api/meta"
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/client-go/pkg/api"
|
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -73,9 +72,9 @@ func NewClientPool(config *restclient.Config, mapper meta.RESTMapper, apiPathRes
|
|||||||
|
|
||||||
// Instantiates a new dynamic client pool with the given config.
|
// Instantiates a new dynamic client pool with the given config.
|
||||||
func NewDynamicClientPool(cfg *restclient.Config) ClientPool {
|
func NewDynamicClientPool(cfg *restclient.Config) ClientPool {
|
||||||
// TODO: should use a dynamic RESTMapper built from the discovery results.
|
// restMapper is not needed when using LegacyAPIPathResolverFunc
|
||||||
restMapper := api.Registry.RESTMapper()
|
emptyMapper := meta.MultiRESTMapper{}
|
||||||
return NewClientPool(cfg, restMapper, LegacyAPIPathResolverFunc)
|
return NewClientPool(cfg, emptyMapper, LegacyAPIPathResolverFunc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientForGroupVersionResource uses the provided RESTMapper to identify the appropriate resource. Resource may
|
// ClientForGroupVersionResource uses the provided RESTMapper to identify the appropriate resource. Resource may
|
||||||
|
@ -40,6 +40,7 @@ go_library(
|
|||||||
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
|
"//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/apis/extensions/v1beta1:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/apis/extensions/v1beta1:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/rest:go_default_library",
|
"//vendor/k8s.io/client-go/rest:go_default_library",
|
||||||
|
@ -27,7 +27,8 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
"k8s.io/client-go/kubernetes"
|
"k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
"k8s.io/client-go/pkg/apis/extensions/v1beta1"
|
"k8s.io/client-go/pkg/apis/extensions/v1beta1"
|
||||||
"k8s.io/client-go/rest"
|
"k8s.io/client-go/rest"
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
@ -90,7 +91,7 @@ func main() {
|
|||||||
|
|
||||||
err = tprclient.Get().
|
err = tprclient.Get().
|
||||||
Resource("examples").
|
Resource("examples").
|
||||||
Namespace(api.NamespaceDefault).
|
Namespace(v1.NamespaceDefault).
|
||||||
Name("example1").
|
Name("example1").
|
||||||
Do().Into(&example)
|
Do().Into(&example)
|
||||||
|
|
||||||
@ -110,7 +111,7 @@ func main() {
|
|||||||
var result Example
|
var result Example
|
||||||
err = tprclient.Post().
|
err = tprclient.Post().
|
||||||
Resource("examples").
|
Resource("examples").
|
||||||
Namespace(api.NamespaceDefault).
|
Namespace(v1.NamespaceDefault).
|
||||||
Body(example).
|
Body(example).
|
||||||
Do().Into(&result)
|
Do().Into(&result)
|
||||||
|
|
||||||
@ -150,7 +151,7 @@ func configureClient(config *rest.Config) {
|
|||||||
config.GroupVersion = &groupversion
|
config.GroupVersion = &groupversion
|
||||||
config.APIPath = "/apis"
|
config.APIPath = "/apis"
|
||||||
config.ContentType = runtime.ContentTypeJSON
|
config.ContentType = runtime.ContentTypeJSON
|
||||||
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
|
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
|
||||||
|
|
||||||
schemeBuilder := runtime.NewSchemeBuilder(
|
schemeBuilder := runtime.NewSchemeBuilder(
|
||||||
func(scheme *runtime.Scheme) error {
|
func(scheme *runtime.Scheme) error {
|
||||||
@ -161,6 +162,6 @@ func configureClient(config *rest.Config) {
|
|||||||
)
|
)
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
metav1.AddToGroupVersion(api.Scheme, groupversion)
|
metav1.AddToGroupVersion(scheme.Scheme, groupversion)
|
||||||
schemeBuilder.AddToScheme(api.Scheme)
|
schemeBuilder.AddToScheme(scheme.Scheme)
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/runtime"
|
"k8s.io/apimachinery/pkg/util/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/client-go/kubernetes"
|
"k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/pkg/api"
|
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
"k8s.io/client-go/tools/cache"
|
"k8s.io/client-go/tools/cache"
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
@ -163,7 +162,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create the pod watcher
|
// create the pod watcher
|
||||||
podListWatcher := cache.NewListWatchFromClient(clientset.Core().RESTClient(), "pods", api.NamespaceDefault, fields.Everything())
|
podListWatcher := cache.NewListWatchFromClient(clientset.Core().RESTClient(), "pods", v1.NamespaceDefault, fields.Everything())
|
||||||
|
|
||||||
// create the workqueue
|
// create the workqueue
|
||||||
queue := workqueue.NewRateLimitingQueue(workqueue.DefaultControllerRateLimiter())
|
queue := workqueue.NewRateLimitingQueue(workqueue.DefaultControllerRateLimiter())
|
||||||
|
@ -17,7 +17,7 @@ limitations under the License.
|
|||||||
package v1
|
package v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
policy "k8s.io/client-go/pkg/apis/policy/v1beta1"
|
policy "k8s.io/client-go/pkg/apis/policy/v1beta1"
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
@ -41,5 +41,5 @@ func (c *pods) Evict(eviction *policy.Eviction) error {
|
|||||||
|
|
||||||
// Get constructs a request for getting the logs for a pod
|
// Get constructs a request for getting the logs for a pod
|
||||||
func (c *pods) GetLogs(name string, opts *v1.PodLogOptions) *restclient.Request {
|
func (c *pods) GetLogs(name string, opts *v1.PodLogOptions) *restclient.Request {
|
||||||
return c.client.Get().Namespace(c.ns).Name(name).Resource("pods").SubResource("log").VersionedParams(opts, api.ParameterCodec)
|
return c.client.Get().Namespace(c.ns).Name(name).Resource("pods").SubResource("log").VersionedParams(opts, scheme.ParameterCodec)
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ go_library(
|
|||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
deps = [
|
deps = [
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -22,7 +22,6 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
"k8s.io/client-go/pkg/api"
|
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -112,15 +111,19 @@ func ExtractResourceValueByContainerName(fs *v1.ResourceFieldSelector, pod *v1.P
|
|||||||
return ExtractContainerResourceValue(fs, container)
|
return ExtractContainerResourceValue(fs, container)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type deepCopier interface {
|
||||||
|
DeepCopy(interface{}) (interface{}, error)
|
||||||
|
}
|
||||||
|
|
||||||
// ExtractResourceValueByContainerNameAndNodeAllocatable extracts the value of a resource
|
// ExtractResourceValueByContainerNameAndNodeAllocatable extracts the value of a resource
|
||||||
// by providing container name and node allocatable
|
// by providing container name and node allocatable
|
||||||
func ExtractResourceValueByContainerNameAndNodeAllocatable(fs *v1.ResourceFieldSelector, pod *v1.Pod, containerName string, nodeAllocatable v1.ResourceList) (string, error) {
|
func ExtractResourceValueByContainerNameAndNodeAllocatable(copier deepCopier, fs *v1.ResourceFieldSelector, pod *v1.Pod, containerName string, nodeAllocatable v1.ResourceList) (string, error) {
|
||||||
realContainer, err := findContainerInPod(pod, containerName)
|
realContainer, err := findContainerInPod(pod, containerName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
containerCopy, err := api.Scheme.DeepCopy(realContainer)
|
containerCopy, err := copier.DeepCopy(realContainer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("failed to perform a deep copy of container object: %v", err)
|
return "", fmt.Errorf("failed to perform a deep copy of container object: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -4428,3 +4428,37 @@ type NodeResources struct {
|
|||||||
// Capacity represents the available resources of a node
|
// Capacity represents the available resources of a node
|
||||||
Capacity ResourceList `protobuf:"bytes,1,rep,name=capacity,casttype=ResourceList,castkey=ResourceName"`
|
Capacity ResourceList `protobuf:"bytes,1,rep,name=capacity,casttype=ResourceList,castkey=ResourceName"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Enable stdin for remote command execution
|
||||||
|
ExecStdinParam = "input"
|
||||||
|
// Enable stdout for remote command execution
|
||||||
|
ExecStdoutParam = "output"
|
||||||
|
// Enable stderr for remote command execution
|
||||||
|
ExecStderrParam = "error"
|
||||||
|
// Enable TTY for remote command execution
|
||||||
|
ExecTTYParam = "tty"
|
||||||
|
// Command to run for remote command execution
|
||||||
|
ExecCommandParamm = "command"
|
||||||
|
|
||||||
|
// Name of header that specifies stream type
|
||||||
|
StreamType = "streamType"
|
||||||
|
// Value for streamType header for stdin stream
|
||||||
|
StreamTypeStdin = "stdin"
|
||||||
|
// Value for streamType header for stdout stream
|
||||||
|
StreamTypeStdout = "stdout"
|
||||||
|
// Value for streamType header for stderr stream
|
||||||
|
StreamTypeStderr = "stderr"
|
||||||
|
// Value for streamType header for data stream
|
||||||
|
StreamTypeData = "data"
|
||||||
|
// Value for streamType header for error stream
|
||||||
|
StreamTypeError = "error"
|
||||||
|
// Value for streamType header for terminal resize stream
|
||||||
|
StreamTypeResize = "resize"
|
||||||
|
|
||||||
|
// Name of header that specifies the port being forwarded
|
||||||
|
PortHeader = "port"
|
||||||
|
// Name of header that specifies a request ID used to associate the error
|
||||||
|
// and data streams for a single forwarded connection
|
||||||
|
PortForwardRequestIDHeader = "requestID"
|
||||||
|
)
|
||||||
|
@ -66,7 +66,7 @@ func addConversionFuncs(scheme *runtime.Scheme) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = api.Scheme.AddFieldLabelConversionFunc("apps/v1beta1", "Deployment",
|
err = scheme.AddFieldLabelConversionFunc("apps/v1beta1", "Deployment",
|
||||||
func(label, value string) (string, string, error) {
|
func(label, value string) (string, string, error) {
|
||||||
switch label {
|
switch label {
|
||||||
case "metadata.name", "metadata.namespace":
|
case "metadata.name", "metadata.namespace":
|
||||||
|
@ -32,7 +32,7 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
"k8s.io/client-go/pkg/version"
|
"k8s.io/client-go/pkg/version"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
certutil "k8s.io/client-go/util/cert"
|
certutil "k8s.io/client-go/util/cert"
|
||||||
@ -312,12 +312,12 @@ func InClusterConfig() (*Config, error) {
|
|||||||
return nil, fmt.Errorf("unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined")
|
return nil, fmt.Errorf("unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined")
|
||||||
}
|
}
|
||||||
|
|
||||||
token, err := ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/" + api.ServiceAccountTokenKey)
|
token, err := ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/" + v1.ServiceAccountTokenKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
tlsClientConfig := TLSClientConfig{}
|
tlsClientConfig := TLSClientConfig{}
|
||||||
rootCAFile := "/var/run/secrets/kubernetes.io/serviceaccount/" + api.ServiceAccountRootCAKey
|
rootCAFile := "/var/run/secrets/kubernetes.io/serviceaccount/" + v1.ServiceAccountRootCAKey
|
||||||
if _, err := certutil.NewPool(rootCAFile); err != nil {
|
if _, err := certutil.NewPool(rootCAFile); err != nil {
|
||||||
glog.Errorf("Expected to load root CA config from %s, but got err: %v", rootCAFile, err)
|
glog.Errorf("Expected to load root CA config from %s, but got err: %v", rootCAFile, err)
|
||||||
} else {
|
} else {
|
||||||
|
@ -20,7 +20,7 @@ import (
|
|||||||
"path"
|
"path"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestValidatesHostParameter(t *testing.T) {
|
func TestValidatesHostParameter(t *testing.T) {
|
||||||
@ -31,17 +31,17 @@ func TestValidatesHostParameter(t *testing.T) {
|
|||||||
URL string
|
URL string
|
||||||
Err bool
|
Err bool
|
||||||
}{
|
}{
|
||||||
{"127.0.0.1", "", "http://127.0.0.1/" + api.Registry.GroupOrDie(api.GroupName).GroupVersion.Version, false},
|
{"127.0.0.1", "", "http://127.0.0.1/" + v1.SchemeGroupVersion.Version, false},
|
||||||
{"127.0.0.1:8080", "", "http://127.0.0.1:8080/" + api.Registry.GroupOrDie(api.GroupName).GroupVersion.Version, false},
|
{"127.0.0.1:8080", "", "http://127.0.0.1:8080/" + v1.SchemeGroupVersion.Version, false},
|
||||||
{"foo.bar.com", "", "http://foo.bar.com/" + api.Registry.GroupOrDie(api.GroupName).GroupVersion.Version, false},
|
{"foo.bar.com", "", "http://foo.bar.com/" + v1.SchemeGroupVersion.Version, false},
|
||||||
{"http://host/prefix", "", "http://host/prefix/" + api.Registry.GroupOrDie(api.GroupName).GroupVersion.Version, false},
|
{"http://host/prefix", "", "http://host/prefix/" + v1.SchemeGroupVersion.Version, false},
|
||||||
{"http://host", "", "http://host/" + api.Registry.GroupOrDie(api.GroupName).GroupVersion.Version, false},
|
{"http://host", "", "http://host/" + v1.SchemeGroupVersion.Version, false},
|
||||||
{"http://host", "/", "http://host/" + api.Registry.GroupOrDie(api.GroupName).GroupVersion.Version, false},
|
{"http://host", "/", "http://host/" + v1.SchemeGroupVersion.Version, false},
|
||||||
{"http://host", "/other", "http://host/other/" + api.Registry.GroupOrDie(api.GroupName).GroupVersion.Version, false},
|
{"http://host", "/other", "http://host/other/" + v1.SchemeGroupVersion.Version, false},
|
||||||
{"host/server", "", "", true},
|
{"host/server", "", "", true},
|
||||||
}
|
}
|
||||||
for i, testCase := range testCases {
|
for i, testCase := range testCases {
|
||||||
u, versionedAPIPath, err := DefaultServerURL(testCase.Host, testCase.APIPath, api.Registry.GroupOrDie(api.GroupName).GroupVersion, false)
|
u, versionedAPIPath, err := DefaultServerURL(testCase.Host, testCase.APIPath, v1.SchemeGroupVersion, false)
|
||||||
switch {
|
switch {
|
||||||
case err == nil && testCase.Err:
|
case err == nil && testCase.Err:
|
||||||
t.Errorf("expected error but was nil")
|
t.Errorf("expected error but was nil")
|
||||||
|
3
tools/cache/BUILD
vendored
3
tools/cache/BUILD
vendored
@ -33,6 +33,7 @@ go_test(
|
|||||||
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
||||||
|
"//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/tools/cache/testing:go_default_library",
|
"//vendor/k8s.io/client-go/tools/cache/testing:go_default_library",
|
||||||
@ -75,7 +76,7 @@ go_library(
|
|||||||
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
"//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/rest:go_default_library",
|
"//vendor/k8s.io/client-go/rest:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/util/clock:go_default_library",
|
"//vendor/k8s.io/client-go/util/clock:go_default_library",
|
||||||
],
|
],
|
||||||
|
4
tools/cache/index_test.go
vendored
4
tools/cache/index_test.go
vendored
@ -21,7 +21,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ func TestMultiIndexKeys(t *testing.T) {
|
|||||||
t.Errorf("Expected 0 pods but got %v", len(elmoPods))
|
t.Errorf("Expected 0 pods but got %v", len(elmoPods))
|
||||||
}
|
}
|
||||||
|
|
||||||
obj, err := api.Scheme.DeepCopy(pod2)
|
obj, err := scheme.Scheme.DeepCopy(pod2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
4
tools/cache/mutation_detector.go
vendored
4
tools/cache/mutation_detector.go
vendored
@ -26,7 +26,7 @@ import (
|
|||||||
|
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/diff"
|
"k8s.io/apimachinery/pkg/util/diff"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
)
|
)
|
||||||
|
|
||||||
var mutationDetectionEnabled = false
|
var mutationDetectionEnabled = false
|
||||||
@ -102,7 +102,7 @@ func (d *defaultCacheMutationDetector) AddObject(obj interface{}) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
copiedObj, err := api.Scheme.Copy(obj.(runtime.Object))
|
copiedObj, err := scheme.Scheme.Copy(obj.(runtime.Object))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
10
tools/cache/shared_informer_test.go
vendored
10
tools/cache/shared_informer_test.go
vendored
@ -26,7 +26,7 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
fcache "k8s.io/client-go/tools/cache/testing"
|
fcache "k8s.io/client-go/tools/cache/testing"
|
||||||
"k8s.io/client-go/util/clock"
|
"k8s.io/client-go/util/clock"
|
||||||
)
|
)
|
||||||
@ -98,11 +98,11 @@ func (l *testListener) satisfiedExpectations() bool {
|
|||||||
func TestListenerResyncPeriods(t *testing.T) {
|
func TestListenerResyncPeriods(t *testing.T) {
|
||||||
// source simulates an apiserver object endpoint.
|
// source simulates an apiserver object endpoint.
|
||||||
source := fcache.NewFakeControllerSource()
|
source := fcache.NewFakeControllerSource()
|
||||||
source.Add(&api.Pod{ObjectMeta: metav1.ObjectMeta{Name: "pod1"}})
|
source.Add(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "pod1"}})
|
||||||
source.Add(&api.Pod{ObjectMeta: metav1.ObjectMeta{Name: "pod2"}})
|
source.Add(&v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "pod2"}})
|
||||||
|
|
||||||
// create the shared informer and resync every 1s
|
// create the shared informer and resync every 1s
|
||||||
informer := NewSharedInformer(source, &api.Pod{}, 1*time.Second).(*sharedIndexInformer)
|
informer := NewSharedInformer(source, &v1.Pod{}, 1*time.Second).(*sharedIndexInformer)
|
||||||
|
|
||||||
clock := clock.NewFakeClock(time.Now())
|
clock := clock.NewFakeClock(time.Now())
|
||||||
informer.clock = clock
|
informer.clock = clock
|
||||||
@ -187,7 +187,7 @@ func TestResyncCheckPeriod(t *testing.T) {
|
|||||||
source := fcache.NewFakeControllerSource()
|
source := fcache.NewFakeControllerSource()
|
||||||
|
|
||||||
// create the shared informer and resync every 12 hours
|
// create the shared informer and resync every 12 hours
|
||||||
informer := NewSharedInformer(source, &api.Pod{}, 12*time.Hour).(*sharedIndexInformer)
|
informer := NewSharedInformer(source, &v1.Pod{}, 12*time.Hour).(*sharedIndexInformer)
|
||||||
|
|
||||||
clock := clock.NewFakeClock(time.Now())
|
clock := clock.NewFakeClock(time.Now())
|
||||||
informer.clock = clock
|
informer.clock = clock
|
||||||
|
1
tools/cache/testing/BUILD
vendored
1
tools/cache/testing/BUILD
vendored
@ -31,6 +31,7 @@ go_library(
|
|||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
||||||
|
"//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -27,7 +27,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/kubernetes/scheme"
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ func (f *FakeControllerSource) getListItemsLocked() ([]runtime.Object, error) {
|
|||||||
// Otherwise, if they make a change and write it back, they
|
// Otherwise, if they make a change and write it back, they
|
||||||
// will inadvertently change our canonical copy (in
|
// will inadvertently change our canonical copy (in
|
||||||
// addition to racing with other clients).
|
// addition to racing with other clients).
|
||||||
objCopy, err := api.Scheme.DeepCopy(obj)
|
objCopy, err := scheme.Scheme.DeepCopy(obj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -170,7 +170,7 @@ func (f *FakeControllerSource) List(options metav1.ListOptions) (runtime.Object,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
listObj := &api.List{}
|
listObj := &v1.List{}
|
||||||
if err := meta.SetList(listObj, list); err != nil {
|
if err := meta.SetList(listObj, list); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -242,7 +242,7 @@ func (f *FakeControllerSource) Watch(options metav1.ListOptions) (watch.Interfac
|
|||||||
// it back, they will inadvertently change the our
|
// it back, they will inadvertently change the our
|
||||||
// canonical copy (in addition to racing with other
|
// canonical copy (in addition to racing with other
|
||||||
// clients).
|
// clients).
|
||||||
objCopy, err := api.Scheme.DeepCopy(c.Object)
|
objCopy, err := scheme.Scheme.DeepCopy(c.Object)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,6 @@ import (
|
|||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
"k8s.io/client-go/pkg/api"
|
|
||||||
"k8s.io/client-go/pkg/api/v1"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -76,7 +75,7 @@ func TestRCNumber(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
if e, a := "3", list.(*api.List).ResourceVersion; e != a {
|
if e, a := "3", list.(*v1.List).ResourceVersion; e != a {
|
||||||
t.Errorf("wanted %v, got %v", e, a)
|
t.Errorf("wanted %v, got %v", e, a)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ import (
|
|||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"github.com/imdario/mergo"
|
"github.com/imdario/mergo"
|
||||||
|
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
clientauth "k8s.io/client-go/tools/auth"
|
clientauth "k8s.io/client-go/tools/auth"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
@ -298,7 +298,7 @@ func (config *DirectClientConfig) Namespace() (string, bool, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(configContext.Namespace) == 0 {
|
if len(configContext.Namespace) == 0 {
|
||||||
return api.NamespaceDefault, false, nil
|
return v1.NamespaceDefault, false, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
overridden := false
|
overridden := false
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
@ -145,7 +145,7 @@ func (config *DeferredLoadingClientConfig) Namespace() (string, bool, error) {
|
|||||||
|
|
||||||
if len(ns) > 0 {
|
if len(ns) > 0 {
|
||||||
// if we got a non-default namespace from the kubeconfig, use it
|
// if we got a non-default namespace from the kubeconfig, use it
|
||||||
if ns != api.NamespaceDefault {
|
if ns != v1.NamespaceDefault {
|
||||||
return ns, false, nil
|
return ns, false, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ import (
|
|||||||
|
|
||||||
"k8s.io/apimachinery/pkg/util/httpstream"
|
"k8s.io/apimachinery/pkg/util/httpstream"
|
||||||
"k8s.io/apimachinery/pkg/util/runtime"
|
"k8s.io/apimachinery/pkg/util/runtime"
|
||||||
"k8s.io/client-go/pkg/api"
|
"k8s.io/client-go/pkg/api/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TODO move to API machinery and re-unify with kubelet/server/portfoward
|
// TODO move to API machinery and re-unify with kubelet/server/portfoward
|
||||||
@ -263,9 +263,9 @@ func (pf *PortForwarder) handleConnection(conn net.Conn, port ForwardedPort) {
|
|||||||
|
|
||||||
// create error stream
|
// create error stream
|
||||||
headers := http.Header{}
|
headers := http.Header{}
|
||||||
headers.Set(api.StreamType, api.StreamTypeError)
|
headers.Set(v1.StreamType, v1.StreamTypeError)
|
||||||
headers.Set(api.PortHeader, fmt.Sprintf("%d", port.Remote))
|
headers.Set(v1.PortHeader, fmt.Sprintf("%d", port.Remote))
|
||||||
headers.Set(api.PortForwardRequestIDHeader, strconv.Itoa(requestID))
|
headers.Set(v1.PortForwardRequestIDHeader, strconv.Itoa(requestID))
|
||||||
errorStream, err := pf.streamConn.CreateStream(headers)
|
errorStream, err := pf.streamConn.CreateStream(headers)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
runtime.HandleError(fmt.Errorf("error creating error stream for port %d -> %d: %v", port.Local, port.Remote, err))
|
runtime.HandleError(fmt.Errorf("error creating error stream for port %d -> %d: %v", port.Local, port.Remote, err))
|
||||||
@ -287,7 +287,7 @@ func (pf *PortForwarder) handleConnection(conn net.Conn, port ForwardedPort) {
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
// create data stream
|
// create data stream
|
||||||
headers.Set(api.StreamType, api.StreamTypeData)
|
headers.Set(v1.StreamType, v1.StreamTypeData)
|
||||||
dataStream, err := pf.streamConn.CreateStream(headers)
|
dataStream, err := pf.streamConn.CreateStream(headers)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
runtime.HandleError(fmt.Errorf("error creating forwarding stream for port %d -> %d: %v", port.Local, port.Remote, err))
|
runtime.HandleError(fmt.Errorf("error creating forwarding stream for port %d -> %d: %v", port.Local, port.Remote, err))
|
||||||
|
@ -22,7 +22,6 @@ go_test(
|
|||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/diff:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/diff:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/strategicpatch:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/strategicpatch:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api:go_default_library",
|
|
||||||
"//vendor/k8s.io/client-go/pkg/api/install:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api/install:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api/v1:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/pkg/api/v1/ref:go_default_library",
|
"//vendor/k8s.io/client-go/pkg/api/v1/ref:go_default_library",
|
||||||
|
Loading…
Reference in New Issue
Block a user