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

certrotation controller should issue .Update directly instead of using applySecret

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • 4.16.0
    • kube-apiserver
    • None
    • None
    • False
    • Hide

      None

      Show
      None

      Description of problem:

          certrotation controller is using applySecret/applyConfigmap functions from library-go to update secret/configmap. This controller has several replicas running in parallel, so it may overwrite changes applied by a different replica, which leads to unexpected signer updates and corrupted CA bundles.
      
      applySecret/applyConfigmap does initial Get and calls Update, which overwrites the changes done to a copy received from the informer.
      Instead it should issue .Update calls directly using a copy received from the informer, so that etcd would reject a change if its done after the resourceVersion was updated in parallel

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

          

      How reproducible:

          

      Steps to Reproduce:

          1.
          2.
          3.
          

      Actual results:

          

      Expected results:

          

      Additional info:

          

            Unassigned Unassigned
            vrutkovs@redhat.com Vadim Rutkovsky
            Ke Wang Ke Wang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: