`.Spec.channels` для`CRD` отсутствует в `&RawExtension`

Я создаю CRD внутри него есть spec поле называется channel,

Тем не менее, я не могу найти это поле из моего контроллера, даже другие поля отображаются нормально.

Шаги, чтобы воспроизвести проблему,

1, применить YAML2, перейдите к контроллеру, чтобы распечатать spec поля

A. YAML образец

--- 
apiVersion: app.com/v1alpha1
kind: Deploys
metadata: 
  name: sample-cr-foo-channel
  namespace: default
spec: 
  channels: 
    - qa
  overrides: 
    - 
      clusterName: local-cluster
      clusterOverrides: 
        - 
          path: data
          value: 
            database: mongodb3
  template: 
    apiVersion: v1
    data: 
      database: mongodb
    kind: ConfigMap
    metadata: 
      name: example-configmap-channel-deploy
  dependencies:

Б. распечатать заявление на контроллере

dplэтоCR


type DplSpec struct {
    // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
    // Important: Run "make" to regenerate code after modifying this file

    Template     *runtime.RawExtension        `json:"template"`
    Dependencies []Dependency                 `json:"dependencies,omitempty"`
    Placement    *placementv1alpha1.Placement `json:"placement,omitempty"`
    Overrides    []Overrides                  `json:"overrides,omitempty"`
    Channels     []string                     `json:"channels,omitempty"`
}

data, err := json.Marshal(dpl.Spec)
if err != nil {
    glog.V(4).Info("unexpected error: ", err)
}

C. CR with RawExtension

{

...

spec":{"channels":["qa"],"dependencies":null,"overrides":[{"clusterName":"local-cluster","clusterOverrides":[{"path":"data","value":{"database":"mongodb3"}}]}],"template":{"apiVersion":"v1","data":{"database":"mongodb"},"kind":"ConfigMap","metadata":{"name":"example-configmap-channel-deploy"}}}}
] [] nil [] } {&RawExtension{Raw:*[123 34 97 112 105 86 101 114 115 105 111 110 34 58 34 118 49 34 44 34 100 97 116 97 34 58 123 34 100 97 116 97 98 97 115 101 34 58 34 109 111 110 103 111 100 98 34 125 44 34 107 105 110 100 34 58 34 67 111 110 102 105 103 77 97 112 34 44 34 109 101 116 97 100 97 116 97 34 58 123 34 110 97 109 101 34 58 34 101 120 97 109 112 108 101 45 99 111 110 102 105 103 109 97 112 45 99 104 97 110 110 101 108 45 100 101 112 108 111 121 34 125 125],} [] <nil> [{local-cluster [{{[123 34 112 97 116 104 34 58 34 100 97 116 97 34 44 34 118 97 108 117 101 34 58 123 34 100 97 116 97 98 97 115 101 34 58 34 109 111 110 103 111 100 98 51 34 125 125] <nil>}}]}] []} {{Deployed  2019-07-11 11:23:53 -0400 EDT} map[]}}

C. печать результатов

 spec data:{"template":{"apiVersion":"v1","data":{"database":"mongodb"},"kind":"ConfigMap","metadata":{"name":"example-configmap-channel-deploy"}},"overrides":[{"clusterName":"local-cluster","clusterOverrides":[{"path":"data","value":{"database":"mongodb3"}}]}]}

Кажется channels поле как-то игнорируется, но остальные поля в порядке.

0 ответов

Другие вопросы по тегам