Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-66509

Unable to startup with config-as-code

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Minor Minor
    • matrix-auth-plugin
    • None
    • docker jenkins/jenkins-2.303.1
      matrix-auth 2.6.8
      configuration-as-code 1.52
      saml 2.0.8

      When using config-as-code, security matrix is setup beforehand and loaded that way

        authorizationStrategy:
          projectMatrix:
            permissions:
              - "Agent/ExtendedRead:authenticated"
              - "Credentials/View:authenticated"
      ...
      

      Not sure when it started happening, but when spinning up a jenkins from scratch with this config, the startup initialization fails, complaining about the user sid.

      jenkins                | 2021-08-31 18:21:50.286+0000 [id=34]	SEVERE	jenkins.InitReactorRunner$1#onTaskFailed: Failed ConfigurationAsCode.init
      jenkins                | java.lang.IllegalArgumentException: Permission can not be null for sid:authenticated
      jenkins                | 	at hudson.security.GlobalMatrixAuthorizationStrategy.add(GlobalMatrixAuthorizationStrategy.java:95)
      jenkins                | 	at org.jenkinsci.plugins.matrixauth.integrations.casc.MatrixAuthorizationStrategyConfigurator.lambda$setPermissions$3(MatrixAuthorizationStrategyConfigurator.java:65)
      jenkins                | 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
      jenkins                | 	at org.jenkinsci.plugins.matrixauth.integrations.casc.MatrixAuthorizationStrategyConfigurator.setPermissions(MatrixAuthorizationStrategyConfigurator.java:62)
      jenkins                | 	at io.jenkins.plugins.casc.Attribute.setValue(Attribute.java:231)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:357)
      jenkins                | Caused: io.jenkins.plugins.casc.ConfiguratorException: string: Failed to set attribute permissions(class: class java.lang.String, multiple: true)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:359)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:276)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:277)
      jenkins                | 	at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:277)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$2(HeteroDescribableConfigurator.java:86)
      jenkins                | 	at io.vavr.control.Option.map(Option.java:392)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:86)
      jenkins                | 	at io.vavr.Tuple2.apply(Tuple2.java:238)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:83)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:92)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:55)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:351)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:287)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$8(ConfigurationAsCode.java:777)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:713)
      jenkins                | Caused: io.jenkins.plugins.casc.ConfiguratorException: jenkins: error configuring 'jenkins' with class io.jenkins.plugins.casc.core.JenkinsConfigurator configurator
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:719)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:777)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:762)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:638)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:307)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:299)
      jenkins                | Caused: java.lang.reflect.InvocationTargetException
      jenkins                | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      jenkins                | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      jenkins                | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      jenkins                | 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      jenkins                | 	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:105)
      jenkins                | Caused: java.lang.Error
      jenkins                | 	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:111)
      jenkins                | 	at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:181)
      jenkins                | 	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
      jenkins                | 	at jenkins.model.Jenkins$5.runTask(Jenkins.java:1160)
      jenkins                | 	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
      jenkins                | 	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      jenkins                | 	at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
      jenkins                | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      jenkins                | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      jenkins                | 	at java.base/java.lang.Thread.run(Thread.java:829)
      jenkins                | 2021-08-31 18:21:50.292+0000 [id=23]	SEVERE	hudson.util.BootFailure#publish: Failed to initialize Jenkins
      jenkins                | java.lang.IllegalArgumentException: Permission can not be null for sid:authenticated
      jenkins                | 	at hudson.security.GlobalMatrixAuthorizationStrategy.add(GlobalMatrixAuthorizationStrategy.java:95)
      jenkins                | 	at org.jenkinsci.plugins.matrixauth.integrations.casc.MatrixAuthorizationStrategyConfigurator.lambda$setPermissions$3(MatrixAuthorizationStrategyConfigurator.java:65)
      jenkins                | 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
      jenkins                | 	at org.jenkinsci.plugins.matrixauth.integrations.casc.MatrixAuthorizationStrategyConfigurator.setPermissions(MatrixAuthorizationStrategyConfigurator.java:62)
      jenkins                | 	at io.jenkins.plugins.casc.Attribute.setValue(Attribute.java:231)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:357)
      jenkins                | Caused: io.jenkins.plugins.casc.ConfiguratorException: string: Failed to set attribute permissions(class: class java.lang.String, multiple: true)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:359)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:276)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:277)
      jenkins                | 	at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:277)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$2(HeteroDescribableConfigurator.java:86)
      jenkins                | 	at io.vavr.control.Option.map(Option.java:392)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:86)
      jenkins                | 	at io.vavr.Tuple2.apply(Tuple2.java:238)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:83)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:92)
      jenkins                | 	at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:55)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:351)
      jenkins                | 	at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:287)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$8(ConfigurationAsCode.java:777)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:713)
      jenkins                | Caused: io.jenkins.plugins.casc.ConfiguratorException: jenkins: error configuring 'jenkins' with class io.jenkins.plugins.casc.core.JenkinsConfigurator configurator
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:719)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:777)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:762)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:638)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:307)
      jenkins                | 	at io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:299)
      jenkins                | Caused: java.lang.reflect.InvocationTargetException
      jenkins                | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      jenkins                | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      jenkins                | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      jenkins                | 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      jenkins                | 	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:105)
      jenkins                | Caused: java.lang.Error
      jenkins                | 	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:111)
      jenkins                | 	at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:181)
      jenkins                | 	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
      jenkins                | 	at jenkins.model.Jenkins$5.runTask(Jenkins.java:1160)
      jenkins                | 	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
      jenkins                | 	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      jenkins                | 	at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
      jenkins                | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      jenkins                | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      jenkins                | 	at java.base/java.lang.Thread.run(Thread.java:829)
      jenkins                | Caused: org.jvnet.hudson.reactor.ReactorException
      jenkins                | 	at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:282)
      jenkins                | 	at jenkins.InitReactorRunner.run(InitReactorRunner.java:50)
      jenkins                | 	at jenkins.model.Jenkins.executeReactor(Jenkins.java:1193)
      jenkins                | 	at jenkins.model.Jenkins.<init>(Jenkins.java:991)
      jenkins                | 	at hudson.model.Hudson.<init>(Hudson.java:86)
      jenkins                | 	at hudson.model.Hudson.<init>(Hudson.java:82)
      jenkins                | 	at hudson.WebAppMain$3.run(WebAppMain.java:298)
      jenkins                | Caused: hudson.util.HudsonFailedToLoad
      jenkins                | 	at hudson.WebAppMain$3.run(WebAppMain.java:315)
      

            danielbeck Daniel Beck
            p3pham Sickafant
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: