Kubernetes: UpdateStatus () للموارد المخصصة لا تعمل

تم إنشاؤها على ٢٧ أكتوبر ٢٠١٧  ·  1تعليق  ·  مصدر: kubernetes/kubernetes

/ نوع الخطأ
/ sig api-machinery
@ kubernetes / sig-api-machinery-bugs

ماذا حدث :
يحتوي نوع المورد المخصص الخاص بي على حقل حالة. لقد قمت بإنشاء عميل لها باستخدام genclient.
هذا هو تحديد نوع CRD الخاص بي:

// +genclient
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

type Recovery struct {
    metav1.TypeMeta   `json:",inline,omitempty"`
    metav1.ObjectMeta `json:"metadata,omitempty"`
    Spec              RecoverySpec   `json:"spec,omitempty"`
    Status            RecoveryStatus `json:"status,omitempty"`
}

دالة UpdateStatus () التي تم إنشاؤها:

// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().

func (c *recoveries) UpdateStatus(recovery *v1alpha1.Recovery) (result *v1alpha1.Recovery, err error) {
    result = &v1alpha1.Recovery{}
    err = c.client.Put().
        Namespace(c.ns).
        Resource("recoveries").
        Name(recovery.Name).
        SubResource("status").
        Body(recovery).
        Do().
        Into(result)
    return
}

الآن عندما أستدعي UpdateStatus () لكائن الاسترداد (stash-mduabx) فإنه يعطي الخطأ التالي:

the server could not find the requested resource (put recoveries.stash.appscode.com stash-mduabx)

وسجل استدعاء api:

PUT https://192.168.99.100:8443/apis/stash.appscode.com/v1alpha1/namespaces/test-stash/recoveries/stash-mduabx/status 404 Not Found in 11 milliseconds

ما توقعت حدوثه :
يجب أن يتم تحديث حقل الحالة.

كيفية إعادة إنتاجه :
حدد نوع CRD مع حقل الحالة وقم بإنشاء عميل له باستخدام genclient. قم بإنشاء كائن من هذا النوع باستخدام kubectl. الآن احصل على الكائن من برنامج go واستدعاء UpdateStatus () للكائن.

البيئة :

  • إصدار Kubernetes: 1.7.5
arecustom-resources kinbug siapi-machinery

التعليق الأكثر فائدة

يقوم العميل بإنشاء طريقة حالة نظرًا لوجود حقل حالة ، ولكن هذا لا يعني أن الخادم لديه دعم لهذه الطريقة.

https://github.com/kubernetes/community/pull/913 هو اقتراح لإضافة دعم الخادم لمصادر الحالة الفرعية لكائنات CRD.

>كل التعليقات

يقوم العميل بإنشاء طريقة حالة نظرًا لوجود حقل حالة ، ولكن هذا لا يعني أن الخادم لديه دعم لهذه الطريقة.

https://github.com/kubernetes/community/pull/913 هو اقتراح لإضافة دعم الخادم لمصادر الحالة الفرعية لكائنات CRD.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات