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

          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 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.  

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

              Created:
              Updated:
              Resolved: