Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-74978

Jobset operator failed to launch the jobset controller with error : undefined field 'namespace'

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 4.18.z
    • JobSet
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Moderate
    • None
    • None
    • None
    • None
    • In Progress
    • Bug Fix
    • Clearing `openshift.io/node-selector` annotation to disable defaultNodeSelector, if it is configured in the cluster. Because oc adm restart-kubelet, oc adm copy-to-node commands need to run on any node type.

      Description of problem:

      JobSet operator failed to launch the jobset controller and show error :

       

      E0203 08:15:58.776196       1 base_controller.go:279] "Unhandled Error" err=<	TargetConfigController reconciliation failed: CustomResourceDefinition.apiextensions.k8s.io "jobsets.jobset.x-k8s.io" is invalid: spec.validation.openAPIV3Schema.properties[spec].properties[volumeClaimPolicies].items.x-kubernetes-validations[0].rule: Invalid value: apiextensions.ValidationRule{Rule:"self.templates.all(t, !has(t.metadata.namespace) || size(t.metadata.namespace) == 0)", Message:"namespace cannot be set for VolumeClaimPolicies templates", MessageExpression:"", Reason:(*apiextensions.FieldValueErrorReason)(nil), FieldPath:"", OptionalOldSelf:(*bool)(nil)}: compilation failed: ERROR: <input>:1:27: undefined field 'namespace'	 | self.templates.all(t, !has(t.metadata.namespace) || size(t.metadata.namespace) == 0)	 | ..........................^	ERROR: <input>:1:68: undefined field 'namespace'	 | self.templates.all(t, !has(t.metadata.namespace) || size(t.metadata.namespace) == 0)	 | ...................................................................^ 

       

       

      Version-Release number of selected component (if applicable):

      • 4.21 main branch

      How reproducible:

      Always

      Steps to Reproduce:

      Step1. Build the jobset operator with main branch .

      Step2. Build the operand image.

      Step3. Apply the manifests from deploy directory

      Actual results:

      The jobset operator failed with error:

      E0203 08:15:58.776196       1 base_controller.go:279] "Unhandled Error" err=<	TargetConfigController reconciliation failed: CustomResourceDefinition.apiextensions.k8s.io "jobsets.jobset.x-k8s.io" is invalid: spec.validation.openAPIV3Schema.properties[spec].properties[volumeClaimPolicies].items.x-kubernetes-validations[0].rule: Invalid value: apiextensions.ValidationRule{Rule:"self.templates.all(t, !has(t.metadata.namespace) || size(t.metadata.namespace) == 0)", Message:"namespace cannot be set for VolumeClaimPolicies templates", MessageExpression:"", Reason:(*apiextensions.FieldValueErrorReason)(nil), FieldPath:"", OptionalOldSelf:(*bool)(nil)}: compilation failed: ERROR: <input>:1:27: undefined field 'namespace'	 | self.templates.all(t, !has(t.metadata.namespace) || size(t.metadata.namespace) == 0)	 | ..........................^	ERROR: <input>:1:68: undefined field 'namespace'	 | self.templates.all(t, !has(t.metadata.namespace) || size(t.metadata.namespace) == 0)	 | ...................................................................^
       

      Expected results:

      Can run with no errors.

      Additional information:

       

              fkrepins@redhat.com Filip Krepinsky
              yinzhou@redhat.com Ying Zhou
              None
              None
              Ying Zhou Ying Zhou
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: