Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jenkins LDAP integration with ConfigMap is not working. #1445

Closed
2 tasks
bishnuroy opened this issue Aug 5, 2020 · 7 comments
Closed
2 tasks

Jenkins LDAP integration with ConfigMap is not working. #1445

bishnuroy opened this issue Aug 5, 2020 · 7 comments

Comments

@bishnuroy
Copy link

bishnuroy commented Aug 5, 2020

Your checklist for this issue

🚨 Please review the guidelines for contributing to this repository.

  • Jenkins version - jenkins/jenkins:lts

  • Plugin version mentioned in Yaml

Description

We have deployed JenkinsOperator and Agent Jenkins.
We are able to login jenkins with jenkins-jperator local user.
But ldap integration with ConfigMap not working.
Looking for some help over here.

OperetorYaml:

---
# Source: crds/jenkins-crd.yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: jenkins.jenkins.io
spec:
  group: jenkins.io
  names:
    kind: Jenkins
    listKind: JenkinsList
    plural: jenkins
    singular: jenkins
  scope: Namespaced
  versions:
    - name : v1alpha2
      served: true
      storage: true
    - name : v1alpha1
      served: true
      storage: false

---
---
# Source: jenkins-operator/templates/operator.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins-operator
  labels:
    app.kubernetes.io/name: jenkins-operator
    helm.sh/chart: jenkins-operator-0.3.4
    app.kubernetes.io/instance: jenkins-operator
    app.kubernetes.io/version: "0.4.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: jenkins-operator
      app.kubernetes.io/instance: RELEASE-NAME
  template:
    metadata:
      labels:
        app.kubernetes.io/name: jenkins-operator
        app.kubernetes.io/instance: RELEASE-NAME
    spec:
      serviceAccountName: jenkins-operator
      containers:
        - name: jenkins-operator
          image: virtuslab/jenkins-operator:v0.4.0
          imagePullPolicy: IfNotPresent
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          command:
            - jenkins-operator
          args: []
          env:
            - name: WATCH_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: OPERATOR_NAME
              value: "jenkins-operator"
          resources:
            {}
apiVersion: v1
kind: Service
metadata:
  labels:
    name: jenkins-operator
  name: jenkins-operator-metrics
spec:
  ports:
  - name: http-metrics
    port: 8383
    protocol: TCP
    targetPort: 8383
  - name: cr-metrics
    port: 8686
    protocol: TCP
    targetPort: 8686
  selector:
    name: jenkins-operator
  type: ClusterIP

JenkinsMaster:

---
# Source: jenkins-operator/templates/jenkins.yaml
apiVersion: jenkins.io/v1alpha2
kind: Jenkins
metadata:
  name: jenkins-testjk01
spec:
  selector:
    name: jenkins-operator
  configurationAsCode:
    configurations:
    - name: jenkins-testjk01-ldap
    #secret: jenkins-operator-credentials-jenkins-testjk01
  groovyScripts:
    configurations:
    #secret:
      #name: jenkins-testjk01
  backup:
    containerName: backup
    action:
      exec:
        command: 
        - /home/user/bin/backup.sh
    interval: 30
    makeBackupBeforePodDeletion: true
  restore:
    containerName: backup
    action:
      exec:
        command: 
        - /home/user/bin/restore.sh
  master:
    basePlugins: 
    - name: kubernetes
      version: 1.25.2
    - name: workflow-job
      version: "2.39"
    - name: workflow-aggregator
      version: "2.6"
    - name: git
      version: 4.2.2
    - name: job-dsl
      version: "1.77"
    - name: configuration-as-code
      version: "1.38"
    - name: kubernetes-credentials-provider
      version: "0.13"
    - name: ldap
      version: "1.24"
    - name: blueocean
      version: "1.23.0"
    - name: pipeline-build-step
      version: "2.12"
    - name: pipeline-github
      version: "2.5"
    - name: config-file-provider
      version: "3.6.3"
    - name: jdk-tool
      version: "1.4"
    - name: login-theme
      version: "1.1"
    - name: matrix-auth 
      version: "2.5"
    - name: monitoring
      version: "1.82.0"
    - name: kubernetes-client-api 
      version: "4.9.1-1" 
    - name: kubernetes-credentials
      version: "0.6.2"
    JCasC:
      enabled: true
      defaultConfig: true
    priorityClassName: 
    disableCSRFProtection: false
    containers:
      - name:  jenkins-master
        image: jenkins/jenkins:lts
        imagePullPolicy: Always
        livenessProbe:
          failureThreshold: 12
          httpGet:
            path: /login
            port: http
            scheme: HTTP
          initialDelaySeconds: 80
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /login
            port: http
            scheme: HTTP
          initialDelaySeconds: 30
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources: 
          limits:
            cpu: 1500m
            memory: 3Gi
          requests:
            cpu: 1
            memory: 500Mi
      - name: backup
        image: virtuslab/jenkins-operator-backup-pvc:v0.0.8
        imagePullPolicy: IfNotPresent
        env:
        - name: BACKUP_DIR
          value: /backup
        - name: JENKINS_HOME
          value: /jenkins-home
        - name: BACKUP_COUNT
          value: "3"
        volumeMounts:
        - mountPath: /jenkins-home
          name: jenkins-home
        - mountPath: /backup
          name: backup
    volumes:
    - name: backup
      persistentVolumeClaim:
        claimName: jenkins-backup-testjk01
    securityContext:
      fsGroup: 1000
      runAsUser: 1000
---

LDAPConfigMap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: jenkins-testjk01-ldap
data:
  jenkins-ldap-cm.yaml: |
    jenkins:
      systemMessage: "LDAP configured"
      securityRealm:
        ldap:
          configurations:
            - server: "ldap://test01.example.com"
              groupMembershipStrategy: 
                fromGroupSearch:
                   cn: "analytics_test"
              rootDN: ""
              userSearchBase: "ou=People"
              userSearch: "uid={0}"
              groupSearchBase: "ou=Group"
              groupSearchFilter: "objectClass=posixGroup"
              managerDN: "cn=Operator,ou=example,o=com"
              managerPasswordSecret: "********"
              displayNameAttributeName: "cn"
              mailAddressAttributeName: "mail"
              ignoreIfUnavailable: "true"

@bishnuroy
Copy link
Author

Fresh Logs:

2020-08-05T10:15:46.487Z	INFO	controller-jenkins	manager/main.go:51	Version: v0.4.0
2020-08-05T10:15:46.487Z	INFO	controller-jenkins	manager/main.go:52	Git commit: 8404b97
2020-08-05T10:15:46.487Z	INFO	controller-jenkins	manager/main.go:53	Go Version: go1.13.1
2020-08-05T10:15:46.487Z	INFO	controller-jenkins	manager/main.go:54	Go OS/Arch: linux/amd64
2020-08-05T10:15:46.487Z	INFO	controller-jenkins	manager/main.go:55	operator-sdk Version: v0.15.1
2020-08-05T10:15:46.487Z	INFO	controller-jenkins	manager/main.go:80	Watch namespace: testjk
2020-08-05T10:15:46.487Z	INFO	leader	leader/leader.go:46	Trying to become the leader.
2020-08-05T10:15:47.297Z	INFO	leader	leader/leader.go:88	No pre-existing lock was found.
2020-08-05T10:15:47.301Z	INFO	leader	leader/leader.go:108	Became the leader.
2020-08-05T10:15:48.106Z	INFO	controller-runtime.metrics	metrics/listener.go:40	metrics server is starting to listen	{"addr": "0.0.0.0:8383"}
2020-08-05T10:15:48.106Z	INFO	controller-jenkins	manager/main.go:105	Registering Components.
2020-08-05T10:15:49.738Z	INFO	metrics	metrics/metrics.go:92	Metrics Service object updated	{"Service.Name": "jenkins-operator-metrics", "Service.Namespace": "testjk"}
2020-08-05T10:15:50.540Z	WARN	controller-jenkins	manager/main.go:157	Could not create ServiceMonitor object	{"error": "servicemonitors.monitoring.coreos.com is forbidden: User \"system:serviceaccount:testjk:jenkins-operator\" cannot create resource \"servicemonitors\" in API group \"monitoring.coreos.com\" in the namespace \"testjk\""}
2020-08-05T10:15:50.540Z	INFO	controller-jenkins	manager/main.go:165	Starting the Cmd.
2020-08-05T10:15:50.540Z	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	{"controller": "jenkins-controller", "source": "kind source: jenkins.io/v1alpha2, Kind=Jenkins"}
2020-08-05T10:15:50.540Z	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	{"controller": "jenkins-controller", "source": "kind source: core/v1, Kind=Pod"}
2020-08-05T10:15:50.540Z	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	{"controller": "jenkins-controller", "source": "kind source: core/v1, Kind=Secret"}
2020-08-05T10:15:50.540Z	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	{"controller": "jenkins-controller", "source": "kind source: core/v1, Kind=Secret"}
2020-08-05T10:15:50.540Z	INFO	controller-runtime.controller	controller/controller.go:164	Starting EventSource	{"controller": "jenkins-controller", "source": "kind source: core/v1, Kind=ConfigMap"}
2020-08-05T10:15:50.540Z	INFO	controller-runtime.controller	controller/controller.go:171	Starting Controller	{"controller": "jenkins-controller"}
2020-08-05T10:15:50.540Z	INFO	controller-runtime.manager	manager/internal.go:356	starting metrics server	{"path": "/metrics"}
2020-08-05T10:15:50.640Z	INFO	controller-runtime.controller	controller/controller.go:190	Starting workers	{"controller": "jenkins-controller", "worker count": 1}
2020-08-05T10:18:20.956Z	INFO	controller-jenkins	jenkins/jenkins_controller.go:404	Setting default Jenkins container command	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:20.956Z	INFO	controller-jenkins	jenkins/jenkins_controller.go:409	Setting default Jenkins container JAVA_OPTS environment variable	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:20.956Z	INFO	controller-jenkins	jenkins/jenkins_controller.go:436	Setting default Jenkins master service	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:20.956Z	INFO	controller-jenkins	jenkins/jenkins_controller.go:449	Setting default Jenkins slave service	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:20.957Z	INFO	controller-jenkins	jenkins/jenkins_controller.go:514	Setting default container resource requirements	{"cr": "jenkins-testjk01", "container": "backup"}
2020-08-05T10:18:20.957Z	INFO	controller-jenkins	jenkins/jenkins_controller.go:479	Setting default Jenkins API settings	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:20.969Z	INFO	controller-jenkins	jenkins/handler.go:89	*v1alpha2.Jenkins/jenkins-testjk01 has been updated	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:21.087Z	INFO	controller-jenkins	jenkins/handler.go:41	*v1.ConfigMap/jenkins-testjk01-ldap has been updated	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:21.442Z	INFO	controller-jenkins	base/reconcile.go:499	Creating a new Jenkins Master Pod testjk/jenkins-jenkins-testjk01	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:21.543Z	INFO	controller-jenkins	base/reconcile.go:554	Jenkins master pod restarted by operator:	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:21.543Z	INFO	controller-jenkins	base/reconcile.go:554	Jenkins Operator version has changed, actual '' new 'v0.4.0'	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:21.543Z	INFO	controller-jenkins	base/reconcile.go:554	Jenkins CR has been replaced	{"cr": "jenkins-testjk01"}
2020-08-05T10:18:24.744Z	INFO	controller-jenkins	base/reconcile.go:499	Creating a new Jenkins Master Pod testjk/jenkins-jenkins-testjk01	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:09.959Z	INFO	controller-jenkins	base/reconcile.go:1025	Generating Jenkins API token for operator	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:10.934Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '1-basic-settings.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:11.443Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '1-basic-settings.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:11.646Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '2-enable-csrf.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:11.838Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '2-enable-csrf.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:11.957Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '3-disable-usage-stats.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:12.142Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '4-enable-master-access-control.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:12.435Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '4-enable-master-access-control.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:12.643Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '5-disable-insecure-features.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:13.634Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '5-disable-insecure-features.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:13.833Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '6-configure-kubernetes-plugin.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:14.433Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '7-configure-views.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:14.837Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '7-configure-views.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:15.031Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '8-disable-job-dsl-script-approval.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:18.686Z	INFO	controller-jenkins	groovy/groovy.go:145	base-groovy ConfigMap 'jenkins-operator-base-configuration-jenkins-testjk01' name '8-disable-job-dsl-script-approval.groovy' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:18.940Z	INFO	controller-jenkins	jenkins/jenkins_controller.go:289	Base configuration phase is complete, took 54s	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:18.950Z	INFO	controller-jenkins	groovy/groovy.go:145	user-casc ConfigMap 'jenkins-testjk01-ldap' name 'jenkins-ldap-cm.yaml' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:19.648Z	WARN	controller-jenkins	groovy/groovy.go:57	user-casc Source 'jenkins-testjk01-ldap' Name 'jenkins-ldap-cm.yaml' groovy script execution failed, logs :
java.lang.ClassNotFoundException: javax.annotation.Nonnull
	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1387)
	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342)
	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
Caused: java.lang.NoClassDefFoundError: javax/annotation/Nonnull
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:118)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:77)
	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:267)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:83)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:152)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:77)
	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:267)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:83)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:277)
	at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:277)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$null$2(HeteroDescribableConfigurator.java:86)
	at io.vavr.control.Option.map(Option.java:392)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:86)
	at io.vavr.Tuple2.apply(Tuple2.java:238)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:83)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:92)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:55)
	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:352)
	at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:287)
	at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$7(ConfigurationAsCode.java:743)
	at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:693)
	at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:743)
	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:728)
	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:608)
	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:603)
	at io.jenkins.plugins.casc.ConfigurationAsCode$configureWith$0.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at Script1.run(Script1.groovy:32)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:594)
	at hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:142)
	at hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:114)
	at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
	at hudson.util.RemotingDiagnostics.executeGroovy(RemotingDiagnostics.java:111)
	at jenkins.model.Jenkins._doScript(Jenkins.java:4513)
	at jenkins.model.Jenkins.doScriptText(Jenkins.java:4491)
	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
	at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
	at hudson.security.HudsonPrivateSecurityRealm$3.doFilter(HudsonPrivateSecurityRealm.java:947)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:114)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at jenkins.security.ApiCrumbExclusion.process(ApiCrumbExclusion.java:48)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:127)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.BasicHeaderProcessor.success(BasicHeaderProcessor.java:139)
	at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:82)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
	at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:500)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
	at java.lang.Thread.run(Thread.java:748)
	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:19.648Z	WARN	controller-jenkins	jenkins/jenkins_controller.go:171	Reconcile loop failed: script execution failed	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:19.745Z	INFO	controller-jenkins	groovy/groovy.go:145	user-casc ConfigMap 'jenkins-testjk01-ldap' name 'jenkins-ldap-cm.yaml' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T10:19:19.837Z	WARN	controller-jenkins	groovy/groovy.go:57	user-casc Source 'jenkins-testjk01-ldap' Name 'jenkins-ldap-cm.yaml' groovy script execution failed, logs :
java.lang.NoClassDefFoundError: javax/annotation/Nonnull
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:118)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:77)
	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:267)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:83)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:152)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:77)
	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:267)
	at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:83)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:277)
	at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:277)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$null$2(HeteroDescribableConfigurator.java:86)
	at io.vavr.control.Option.map(Option.java:392)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:86)
	at io.vavr.Tuple2.apply(Tuple2.java:238)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:83)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:92)
	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:55)
	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:352)
	at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:287)
	at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$7(ConfigurationAsCode.java:743)
	at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:693)
	at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:743)
	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:728)
	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:608)
	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:603)
	at io.jenkins.plugins.casc.ConfigurationAsCode$configureWith$0.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at Script1.run(Script1.groovy:32)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:594)
	at hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:142)
	at hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:114)
	at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
	at hudson.util.RemotingDiagnostics.executeGroovy(RemotingDiagnostics.java:111)
	at jenkins.model.Jenkins._doScript(Jenkins.java:4513)
	at jenkins.model.Jenkins.doScriptText(Jenkins.java:4491)
	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
	at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)

@timja
Copy link
Member

timja commented Aug 5, 2020

Please use the latest version of configuration-as-code.

looks like you're hitting a breaking change in jenkins core, that we made a change to allow for.

@bishnuroy
Copy link
Author

@timja thank you, i updated plugin and that issue go away but seeing new errors as below

2020-08-05T11:34:32.024Z	WARN	controller-jenkins	jenkins/jenkins_controller.go:171	Reconcile loop failed: script execution failed	{"cr": "jenkins-testjk01"}
2020-08-05T11:34:32.111Z	INFO	controller-jenkins	groovy/groovy.go:145	user-casc ConfigMap 'jenkins-testjk01-ldap' name 'jenkins-ldap-cm.yaml' running groovy script	{"cr": "jenkins-testjk01"}
2020-08-05T11:34:32.181Z	WARN	controller-jenkins	groovy/groovy.go:57	user-casc Source 'jenkins-testjk01-ldap' Name 'jenkins-ldap-cm.yaml' groovy script execution failed, logs :
groovy.lang.MissingPropertyException: No such property: READ_FROM_INPUTSTREAM for class: io.jenkins.plugins.casc.yaml.YamlSource
	at groovy.lang.MetaClassImpl.invokeStaticMissingProperty(MetaClassImpl.java:1002)
	at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1857)
	at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1833)
	at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3758)
	at org.codehaus.groovy.runtime.callsite.ClassMetaClassGetPropertySite.getProperty(ClassMetaClassGetPropertySite.java:51)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296)
	at Script1.run(Script1.groovy:31)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:594)
	at hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:142)
	at hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:114)
	at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
	at hudson.util.RemotingDiagnostics.executeGroovy(RemotingDiagnostics.java:111)
	at jenkins.model.Jenkins._doScript(Jenkins.java:4513)
	at jenkins.model.Jenkins.doScriptText(Jenkins.java:4491)
	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
	at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
	at hudson.security.HudsonPrivateSecurityRealm$3.doFilter(HudsonPrivateSecurityRealm.java:947)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:114)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at jenkins.security.ApiCrumbExclusion.process(ApiCrumbExclusion.java:48)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:127)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.BasicHeaderProcessor.success(BasicHeaderProcessor.java:139)
	at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:82)

@timja
Copy link
Member

timja commented Aug 5, 2020

I think Jenkins operator has a bug fixed on master is there a pre release version available?

@jetersen
Copy link
Member

jetersen commented Aug 5, 2020

Stilling waiting on jenkinsci/kubernetes-operator#409

You most likely have to downgrade both Jenkins Core and JCasC

@bishnuroy
Copy link
Author

ok, thank you, I will check and update.

@bishnuroy
Copy link
Author

bishnuroy commented Aug 5, 2020

Following combinations are working for me.

      - name: configuration-as-code
        version: "1.39"

     - name:  jenkins-master
        image: jenkins/jenkins:lts
     - name: jenkins-operator
        image: virtuslab/jenkins-operator:v0.4.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants