-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major
-
Component/s: openshift-sync-plugin
-
None
-
Environment:Jenkins 2.504.3 with openshift-sync 1.1.0.825.v30618768da_42 and 1.1.0.818.v3883b_3b_df89a_
Situation:
While prepping a migration to a new image repo, my colleague updated the <image> tag in a pod template that was stored in an openshift confirmap; the template (which had been showing up previously under JENKINS_URL/cloud/openshift/templates disappeared. We noticed this entry in the log:
Â
```
Jul 18, 2025 10:59:02 AM INFO io.fabric8.jenkins.openshiftsync.ConfigMapInformer onUpdate
Update event received resource versions: 135787012 to: 138777840
Jul 18, 2025 10:59:02 AM INFO io.fabric8.jenkins.openshiftsync.ConfigMapInformer onUpdate
ConfigMap informer received update event for: build-agent
Jul 18, 2025 10:59:02 AM INFO io.fabric8.jenkins.openshiftsync.PodTemplateUtils updateAgents
Modifying PodTemplates
Jul 18, 2025 10:59:02 AM INFO io.fabric8.jenkins.openshiftsync.PodTemplateUtils purgeTemplates
Purging PodTemplates for from Configmap with Uid d7fdc993-37d3-411d-8c87-a24ca68f2377
Jul 18, 2025 10:59:02 AM INFO io.fabric8.jenkins.openshiftsync.PodTemplateUtils removePodTemplate
Removing PodTemplate: build-agent in namespace: Â
Jul 18, 2025 10:59:02 AM INFO io.fabric8.jenkins.openshiftsync.PodTemplateUtils removePodTemplate
Removing PodTemplate: build-agent in namespace: Â
Jul 18, 2025 10:59:02 AM INFO io.fabric8.jenkins.openshiftsync.PodTemplateUtils removePodTemplate
Removing PodTemplate: build-agent in namespace: Â
Jul 18, 2025 10:59:02 AM INFO io.fabric8.jenkins.openshiftsync.PodTemplateUtils addPodTemplate
Adding PodTemplate: build-agent
Jul 18, 2025 10:59:02 AM SEVERE io.fabric8.kubernetes.client.informers.impl.cache.SharedProcessor lambda$distribute$1
v1/namespaces/jmorg/configmaps failed invoking io.fabric8.jenkins.openshiftsync.ConfigMapInformer@596ba2a event handler: anonymous is missing the Overall/Administer permission
hudson.security.AccessDeniedException3: anonymous is missing the Overall/Administer permission
  at hudson.security.ACL.checkPermission(ACL.java:80)
  at hudson.security.AccessControlled.checkPermission(AccessControlled.java:52)
  at PluginClassLoader for kubernetes//org.csanchez.jenkins.plugins.kubernetes.PodTemplateGroup.checkManagePermission(PodTemplateGroup.java:51)
  at PluginClassLoader for kubernetes//org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud.addTemplate(KubernetesCloud.java:889)
  at PluginClassLoader for openshift-sync//io.fabric8.jenkins.openshiftsync.PodTemplateUtils.addPodTemplate(PodTemplateUtils.java:155)
  at PluginClassLoader for openshift-sync//io.fabric8.jenkins.openshiftsync.PodTemplateUtils.addPodTemplate(PodTemplateUtils.java:236)
  at PluginClassLoader for openshift-sync//io.fabric8.jenkins.openshiftsync.PodTemplateUtils.updateAgents(PodTemplateUtils.java:465)
  at PluginClassLoader for openshift-sync//io.fabric8.jenkins.openshiftsync.ConfigMapInformer.onUpdate(ConfigMapInformer.java:98)
  at PluginClassLoader for openshift-sync//io.fabric8.jenkins.openshiftsync.ConfigMapInformer.onUpdate(ConfigMapInformer.java:36)
  at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.informers.impl.cache.ProcessorListener$UpdateNotification.handle(ProcessorListener.java:96)
  at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.informers.impl.cache.ProcessorListener.add(ProcessorListener.java:50)
  at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.informers.impl.cache.SharedProcessor.lambda$distribute$0(SharedProcessor.java:91)
  at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.informers.impl.cache.SharedProcessor.lambda$distribute$1(SharedProcessor.java:113)
  at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.utils.internal.SerialExecutor.lambda$execute$0(SerialExecutor.java:67)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.base/java.lang.Thread.run(Unknown Source)
```
To the best of our knowledge, this was functioning previously, but I cannot 100% confirm that- it may be a regression due to a plugin or jenkins update.
Interestingly, a safe restart does return the JENKINS_URL/cloud/openshift/templates list with his new changes.
Â
The major concern is that minor updates on configmaps (such as image patch updates) result in podtemplates "going missing" from Jenkins, breaking pipelines.
Â
Please let me know how I can help.
-Jesse