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

Failed to initialize Jenkins io.jenkins.plugins.casc.ConfiguratorException: 'assignments' is deprecated

      Unable to deploy Jenkins as it is throwing error for role strategy plugin after latest release.

       

      2023-07-10 06:28:19.068+0000 [id=22] SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins

      io.jenkins.plugins.casc.ConfiguratorException: 'assignments' is deprecated

      at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:330)

      at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:283)

      at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:81)

      at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:156)

      at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:75)

      at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274)

      at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:81)

      at org.jenkinsci.plugins.rolestrategy.casc.RoleBasedAuthorizationStrategyConfigurator.instance(RoleBasedAuthorizationStrategyConfigurator.java:58)

      at org.jenkinsci.plugins.rolestrategy.casc.RoleBasedAuthorizationStrategyConfigurator.instance(RoleBasedAuthorizationStrategyConfigurator.java:34)

      at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274)

      at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:299)

      at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)

      at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:299)

      at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$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:84)

      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:360)

      at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:293)

      at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$8(ConfigurationAsCode.java:790)

      at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:724)

      Caused: io.jenkins.plugins.casc.ConfiguratorException: jenkins: error configuring 'jenkins' with class io.jenkins.plugins.casc.core.JenkinsConfigurator configurator

      at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:730)

      at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:790)

      at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:776)

      at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:645)

      at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:307)

      at io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:299)

      Caused: java.lang.reflect.InvocationTargetException

      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.base/java.lang.reflect.Method.invoke(Method.java:566)

      at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109)

      Caused: java.lang.Error

      at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:115)

      at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:185)

      at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)

      at jenkins.model.Jenkins$5.runTask(Jenkins.java:1164)

      at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)

      at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)

      at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)

      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

      at java.base/java.lang.Thread.run(Thread.java:829)

      Caused: org.jvnet.hudson.reactor.ReactorException

      at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:290)

      at jenkins.InitReactorRunner.run(InitReactorRunner.java:49)

      at jenkins.model.Jenkins.executeReactor(Jenkins.java:1199)

      at jenkins.model.Jenkins.<init>(Jenkins.java:987)

      at hudson.model.Hudson.<init>(Hudson.java:86)

      at hudson.model.Hudson.<init>(Hudson.java:82)

      at hudson.WebAppMain$3.run(WebAppMain.java:247)

      Caused: hudson.util.HudsonFailedToLoad

      at hudson.WebAppMain$3.run(WebAppMain.java:264)

          [JENKINS-71612] Failed to initialize Jenkins io.jenkins.plugins.casc.ConfiguratorException: 'assignments' is deprecated

          Ashish PANWAR created issue -
          Ashish PANWAR made changes -
          Description Original: 2023-07-10 06:28:19.068+0000 [id=22] SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins

          io.jenkins.plugins.casc.ConfiguratorException: 'assignments' is deprecated

           at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:330)

           at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:283)

           at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:81)

           at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:156)

           at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:75)

           at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274)

           at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:81)

           at org.jenkinsci.plugins.rolestrategy.casc.RoleBasedAuthorizationStrategyConfigurator.instance(RoleBasedAuthorizationStrategyConfigurator.java:58)

           at org.jenkinsci.plugins.rolestrategy.casc.RoleBasedAuthorizationStrategyConfigurator.instance(RoleBasedAuthorizationStrategyConfigurator.java:34)

           at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274)

           at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:299)

           at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)

           at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:299)

           at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$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:84)

           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:360)

           at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:293)

           at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$8(ConfigurationAsCode.java:790)

           at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:724)

          Caused: io.jenkins.plugins.casc.ConfiguratorException: jenkins: error configuring 'jenkins' with class io.jenkins.plugins.casc.core.JenkinsConfigurator configurator

           at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:730)

           at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:790)

           at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:776)

           at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:645)

           at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:307)

           at io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:299)

          Caused: java.lang.reflect.InvocationTargetException

           at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

           at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

           at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

           at java.base/java.lang.reflect.Method.invoke(Method.java:566)

           at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109)

          Caused: java.lang.Error

           at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:115)

           at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:185)

           at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)

           at jenkins.model.Jenkins$5.runTask(Jenkins.java:1164)

           at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)

           at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)

           at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)

           at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

           at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

           at java.base/java.lang.Thread.run(Thread.java:829)

          Caused: org.jvnet.hudson.reactor.ReactorException

           at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:290)

           at jenkins.InitReactorRunner.run(InitReactorRunner.java:49)

           at jenkins.model.Jenkins.executeReactor(Jenkins.java:1199)

           at jenkins.model.Jenkins.<init>(Jenkins.java:987)

           at hudson.model.Hudson.<init>(Hudson.java:86)

           at hudson.model.Hudson.<init>(Hudson.java:82)

           at hudson.WebAppMain$3.run(WebAppMain.java:247)

          Caused: hudson.util.HudsonFailedToLoad

           at hudson.WebAppMain$3.run(WebAppMain.java:264)
          New: Unable to deploy Jenkins as it is throwing error for role strategy plugin after latest release.

           

          2023-07-10 06:28:19.068+0000 [id=22] SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins

          io.jenkins.plugins.casc.ConfiguratorException: 'assignments' is deprecated

          at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:330)

          at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:283)

          at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:81)

          at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:156)

          at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:75)

          at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274)

          at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:81)

          at org.jenkinsci.plugins.rolestrategy.casc.RoleBasedAuthorizationStrategyConfigurator.instance(RoleBasedAuthorizationStrategyConfigurator.java:58)

          at org.jenkinsci.plugins.rolestrategy.casc.RoleBasedAuthorizationStrategyConfigurator.instance(RoleBasedAuthorizationStrategyConfigurator.java:34)

          at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274)

          at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:299)

          at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)

          at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:299)

          at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$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:84)

          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:360)

          at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:293)

          at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$8(ConfigurationAsCode.java:790)

          at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:724)

          Caused: io.jenkins.plugins.casc.ConfiguratorException: jenkins: error configuring 'jenkins' with class io.jenkins.plugins.casc.core.JenkinsConfigurator configurator

          at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:730)

          at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:790)

          at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:776)

          at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:645)

          at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:307)

          at io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:299)

          Caused: java.lang.reflect.InvocationTargetException

          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

          at java.base/java.lang.reflect.Method.invoke(Method.java:566)

          at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109)

          Caused: java.lang.Error

          at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:115)

          at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:185)

          at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)

          at jenkins.model.Jenkins$5.runTask(Jenkins.java:1164)

          at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)

          at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)

          at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)

          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

          at java.base/java.lang.Thread.run(Thread.java:829)

          Caused: org.jvnet.hudson.reactor.ReactorException

          at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:290)

          at jenkins.InitReactorRunner.run(InitReactorRunner.java:49)

          at jenkins.model.Jenkins.executeReactor(Jenkins.java:1199)

          at jenkins.model.Jenkins.<init>(Jenkins.java:987)

          at hudson.model.Hudson.<init>(Hudson.java:86)

          at hudson.model.Hudson.<init>(Hudson.java:82)

          at hudson.WebAppMain$3.run(WebAppMain.java:247)

          Caused: hudson.util.HudsonFailedToLoad

          at hudson.WebAppMain$3.run(WebAppMain.java:264)
          Markus Winter made changes -
          Assignee Original: Oleg Nenashev [ oleg_nenashev ] New: Markus Winter [ mawinter69 ]

          Markus Winter added a comment - - edited

          You can avoid this by adding:

          configuration-as-code:
            deprecated: warn

          to you casc yaml file.

          Updated the description of the PR that reading casc yaml files require the mentioned settings.

          Markus Winter added a comment - - edited You can avoid this by adding: configuration-as-code:   deprecated: warn to you casc yaml file. Updated the description of the PR that reading casc yaml files require the mentioned settings.

          Alan Sparks added a comment -

          I understand the above workaround, and it works, but it also leaves nasty warning messages in the UI.

          Is there any writeup of what "assignments" was replaced with, so we can migrate to that?
          -Alan

          Alan Sparks added a comment - I understand the above workaround, and it works, but it also leaves nasty warning messages in the UI. Is there any writeup of what "assignments" was replaced with, so we can migrate to that? -Alan

          Markus Winter added a comment -

          I updated the PR with explanation how the format has changed.

          Markus Winter added a comment - I updated the PR with explanation how the format has changed.
          Sohaib made changes -
          Comment [ Below is how I changed my casc yaml file:

           
          {code:java}
          jenkins:
            systemMessage:
            numExecutors: 0
            mode: NORMAL
            remotingSecurity:
              enabled: false
            projectNamingStrategy:
              roleBased:
                forceExistingJobs: false
            authorizationStrategy:
              roleBased:
                roles:
                  global:
                    - name: "admin"
                      description: "Jenkins administrators"
                      permissions:
                        - "Overall/Administer"
                      entries:
                        - group: "admin"
                    - name: "readonly"
                      description: "Read-only users"
                      permissions:
                        - "Overall/Read"
                        - "Job/Read"
                      entries:
                        - group: "anonymous"
          {code}
            ]

          Sohaib added a comment -

          I had to change my casc yaml to this:

          authorizationStrategy:
              roleBased:
                roles:
                  global:
                    - name: "admin"
                      description: "Jenkins administrators"
                      permissions:
                        - "Overall/Administer"
                      entries:
                        - user: "admin"
                    - name: "readonly"
                      description: "Read-only users"
                      permissions:
                        - "Overall/Read"
                        - "Job/Read"
                      entries:
                        - user: "anonymous"

          Obviously with groups this changes to - group: ""

          Sohaib added a comment - I had to change my casc yaml to this: authorizationStrategy:     roleBased:       roles:         global:           - name: "admin"             description: "Jenkins administrators"             permissions:               - "Overall/Administer"             entries:               - user: "admin"           - name: "readonly"             description: "Read-only users"             permissions:               - "Overall/Read"               - "Job/Read"             entries:               - user: "anonymous" Obviously with groups this changes to - group: ""

          Markus Winter added a comment -

          That is a feature of CasC that deprecated elements by default lead to a failure.

          Documentation is available in the PR how to avoid the problem and how the new syntax looks like.

           

          Markus Winter added a comment - That is a feature of CasC that deprecated elements by default lead to a failure. Documentation is available in the PR how to avoid the problem and how the new syntax looks like.  
          Markus Winter made changes -
          Resolution New: Not A Defect [ 7 ]
          Status Original: Open [ 1 ] New: Closed [ 6 ]

            mawinter69 Markus Winter
            ashupanwar10 Ashish PANWAR
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: