mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
client-go: GetOptions for dynamic client
This commit is contained in:
parent
88e1ecb4b3
commit
30668b24fb
@ -218,7 +218,7 @@ func (gc *GarbageCollector) isDangling(reference metav1.OwnerReference, item *no
|
|||||||
// TODO: It's only necessary to talk to the API server if the owner node
|
// TODO: It's only necessary to talk to the API server if the owner node
|
||||||
// is a "virtual" node. The local graph could lag behind the real
|
// is a "virtual" node. The local graph could lag behind the real
|
||||||
// status, but in practice, the difference is small.
|
// status, but in practice, the difference is small.
|
||||||
owner, err = client.Resource(resource, item.identity.Namespace).Get(reference.Name)
|
owner, err = client.Resource(resource, item.identity.Namespace).Get(reference.Name, metav1.GetOptions{})
|
||||||
switch {
|
switch {
|
||||||
case errors.IsNotFound(err):
|
case errors.IsNotFound(err):
|
||||||
gc.absentOwnerCache.Add(reference.UID)
|
gc.absentOwnerCache.Add(reference.UID)
|
||||||
|
@ -69,7 +69,7 @@ func (gc *GarbageCollector) getObject(item objectReference) (*unstructured.Unstr
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return client.Resource(resource, item.Namespace).Get(item.Name)
|
return client.Resource(resource, item.Namespace).Get(item.Name, metav1.GetOptions{})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gc *GarbageCollector) updateObject(item objectReference, obj *unstructured.Unstructured) (*unstructured.Unstructured, error) {
|
func (gc *GarbageCollector) updateObject(item objectReference, obj *unstructured.Unstructured) (*unstructured.Unstructured, error) {
|
||||||
|
@ -192,7 +192,7 @@ func (g *genericDescriber) Describe(namespace, name string, describerSettings pr
|
|||||||
Namespaced: g.mapping.Scope.Name() == meta.RESTScopeNameNamespace,
|
Namespaced: g.mapping.Scope.Name() == meta.RESTScopeNameNamespace,
|
||||||
Kind: g.mapping.GroupVersionKind.Kind,
|
Kind: g.mapping.GroupVersionKind.Kind,
|
||||||
}
|
}
|
||||||
obj, err := g.dynamic.Resource(apiResource, namespace).Get(name)
|
obj, err := g.dynamic.Resource(apiResource, namespace).Get(name, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ func testSimpleCRUD(t *testing.T, ns string, noxuDefinition *apiextensionsv1beta
|
|||||||
t.Errorf("missing watch event")
|
t.Errorf("missing watch event")
|
||||||
}
|
}
|
||||||
|
|
||||||
gottenNoxuInstance, err := noxuResourceClient.Get("foo")
|
gottenNoxuInstance, err := noxuResourceClient.Get("foo", metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ func TestFinalization(t *testing.T) {
|
|||||||
|
|
||||||
// Deleting something with a finalizer sets deletion timestamp to a not-nil value but does not
|
// Deleting something with a finalizer sets deletion timestamp to a not-nil value but does not
|
||||||
// remove the object from the API server. Here we read it to confirm this.
|
// remove the object from the API server. Here we read it to confirm this.
|
||||||
gottenNoxuInstance, err := noxuResourceClient.Get(name)
|
gottenNoxuInstance, err := noxuResourceClient.Get(name, metav1.GetOptions{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
require.NotNil(t, gottenNoxuInstance.GetDeletionTimestamp())
|
require.NotNil(t, gottenNoxuInstance.GetDeletionTimestamp())
|
||||||
@ -79,7 +79,7 @@ func TestFinalization(t *testing.T) {
|
|||||||
if !errors.IsConflict(err) {
|
if !errors.IsConflict(err) {
|
||||||
require.NoError(t, err) // Fail on unexpected error
|
require.NoError(t, err) // Fail on unexpected error
|
||||||
}
|
}
|
||||||
gottenNoxuInstance, err = noxuResourceClient.Get(name)
|
gottenNoxuInstance, err = noxuResourceClient.Get(name, metav1.GetOptions{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ func TestFinalization(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Check that the object is actually gone.
|
// Check that the object is actually gone.
|
||||||
_, err = noxuResourceClient.Get(name)
|
_, err = noxuResourceClient.Get(name, metav1.GetOptions{})
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
require.True(t, errors.IsNotFound(err), "%#v", err)
|
require.True(t, errors.IsNotFound(err), "%#v", err)
|
||||||
}
|
}
|
||||||
|
@ -141,7 +141,7 @@ func TestMultipleResourceInstances(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for key, val := range instances {
|
for key, val := range instances {
|
||||||
gottenNoxuInstace, err := noxuNamespacedResourceClient.Get(key)
|
gottenNoxuInstace, err := noxuNamespacedResourceClient.Get(key, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -217,7 +217,7 @@ func TestMultipleRegistration(t *testing.T) {
|
|||||||
t.Fatalf("unable to create noxu Instance:%v", err)
|
t.Fatalf("unable to create noxu Instance:%v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
gottenNoxuInstance, err := noxuNamespacedResourceClient.Get(sameInstanceName)
|
gottenNoxuInstance, err := noxuNamespacedResourceClient.Get(sameInstanceName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -235,7 +235,7 @@ func TestMultipleRegistration(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to create noxu Instance:%v", err)
|
t.Fatalf("unable to create noxu Instance:%v", err)
|
||||||
}
|
}
|
||||||
gottenCurletInstance, err := curletNamespacedResourceClient.Get(sameInstanceName)
|
gottenCurletInstance, err := curletNamespacedResourceClient.Get(sameInstanceName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -244,7 +244,7 @@ func TestMultipleRegistration(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// now re-GET noxu
|
// now re-GET noxu
|
||||||
gottenNoxuInstance2, err := noxuNamespacedResourceClient.Get(sameInstanceName)
|
gottenNoxuInstance2, err := noxuNamespacedResourceClient.Get(sameInstanceName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -280,7 +280,7 @@ func TestDeRegistrationAndReRegistration(t *testing.T) {
|
|||||||
if _, err = noxuNamespacedResourceClient.List(metav1.ListOptions{}); err == nil || !errors.IsNotFound(err) {
|
if _, err = noxuNamespacedResourceClient.List(metav1.ListOptions{}); err == nil || !errors.IsNotFound(err) {
|
||||||
t.Fatalf("expected a NotFound error, got:%v", err)
|
t.Fatalf("expected a NotFound error, got:%v", err)
|
||||||
}
|
}
|
||||||
if _, err = noxuNamespacedResourceClient.Get("foo"); err == nil || !errors.IsNotFound(err) {
|
if _, err = noxuNamespacedResourceClient.Get("foo", metav1.GetOptions{}); err == nil || !errors.IsNotFound(err) {
|
||||||
t.Fatalf("expected a NotFound error, got:%v", err)
|
t.Fatalf("expected a NotFound error, got:%v", err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -298,7 +298,7 @@ func TestDeRegistrationAndReRegistration(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if _, err = noxuNamespacedResourceClient.Get(sameInstanceName); err == nil || !errors.IsNotFound(err) {
|
if _, err = noxuNamespacedResourceClient.Get(sameInstanceName, metav1.GetOptions{}); err == nil || !errors.IsNotFound(err) {
|
||||||
t.Fatalf("expected a NotFound error, got:%v", err)
|
t.Fatalf("expected a NotFound error, got:%v", err)
|
||||||
}
|
}
|
||||||
if e, a := 0, len(initialList.(*unstructured.UnstructuredList).Items); e != a {
|
if e, a := 0, len(initialList.(*unstructured.UnstructuredList).Items); e != a {
|
||||||
@ -308,7 +308,7 @@ func TestDeRegistrationAndReRegistration(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
gottenNoxuInstance, err := noxuNamespacedResourceClient.Get(sameInstanceName)
|
gottenNoxuInstance, err := noxuNamespacedResourceClient.Get(sameInstanceName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -329,7 +329,7 @@ func TestDeRegistrationAndReRegistration(t *testing.T) {
|
|||||||
if err := noxuNamespacedResourceClient.Delete(sameInstanceName, nil); err != nil {
|
if err := noxuNamespacedResourceClient.Delete(sameInstanceName, nil); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if _, err = noxuNamespacedResourceClient.Get(sameInstanceName); err == nil || !errors.IsNotFound(err) {
|
if _, err = noxuNamespacedResourceClient.Get(sameInstanceName, metav1.GetOptions{}); err == nil || !errors.IsNotFound(err) {
|
||||||
t.Fatalf("expected a NotFound error, got:%v", err)
|
t.Fatalf("expected a NotFound error, got:%v", err)
|
||||||
}
|
}
|
||||||
listWithoutItem, err := noxuNamespacedResourceClient.List(metav1.ListOptions{})
|
listWithoutItem, err := noxuNamespacedResourceClient.List(metav1.ListOptions{})
|
||||||
|
@ -126,11 +126,16 @@ func (rc *ResourceClient) List(opts metav1.ListOptions) (runtime.Object, error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get gets the resource with the specified name.
|
// Get gets the resource with the specified name.
|
||||||
func (rc *ResourceClient) Get(name string) (*unstructured.Unstructured, error) {
|
func (rc *ResourceClient) Get(name string, opts metav1.GetOptions) (*unstructured.Unstructured, error) {
|
||||||
|
parameterEncoder := rc.parameterCodec
|
||||||
|
if parameterEncoder == nil {
|
||||||
|
parameterEncoder = defaultParameterEncoder
|
||||||
|
}
|
||||||
result := new(unstructured.Unstructured)
|
result := new(unstructured.Unstructured)
|
||||||
err := rc.cl.Get().
|
err := rc.cl.Get().
|
||||||
NamespaceIfScoped(rc.ns, rc.resource.Namespaced).
|
NamespaceIfScoped(rc.ns, rc.resource.Namespaced).
|
||||||
Resource(rc.resource.Name).
|
Resource(rc.resource.Name).
|
||||||
|
VersionedParams(&opts, parameterEncoder).
|
||||||
Name(name).
|
Name(name).
|
||||||
Do().
|
Do().
|
||||||
Into(result)
|
Into(result)
|
||||||
|
@ -191,7 +191,7 @@ func TestGet(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer srv.Close()
|
defer srv.Close()
|
||||||
|
|
||||||
got, err := cl.Resource(resource, tc.namespace).Get(tc.name)
|
got, err := cl.Resource(resource, tc.namespace).Get(tc.name, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error when getting %q: %v", tc.name, err)
|
t.Errorf("unexpected error when getting %q: %v", tc.name, err)
|
||||||
continue
|
continue
|
||||||
|
@ -114,7 +114,7 @@ func TestDynamicClient(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check dynamic get
|
// check dynamic get
|
||||||
unstruct, err := dynamicClient.Resource(&resource, ns.Name).Get(actual.Name)
|
unstruct, err := dynamicClient.Resource(&resource, ns.Name).Get(actual.Name, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error when getting pod %q: %v", actual.Name, err)
|
t.Fatalf("unexpected error when getting pod %q: %v", actual.Name, err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user