Closed 839998664 closed 2 weeks ago
Services is not a valid root element.
No configurator for the following root elements services
Also, right before this error occurs I am getting a warning as below:
WARNING i.j.p.casc.BaseConfigurator#createAttribute: Can't handle class org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl#file: type is abstract but not Describable.
Another update, I think this is related to the way I have split the yaml for ec2 plugin... ec2.yaml looks like:
jenkins:
clouds:
- amazonEC2:
name: "XXXX"
....
templates:
AMI1.yaml
jenkins:
clouds:
- amazonEC2:
name: "XXXX"
templates:
- ami: "ami-1"
amiType:
windowsType:
.....
Similarly I have multiple templates yaml files, hoping that they will merge into a single one.
Just tried again by merging everything back together into a single yaml file ... Still get the same error.
Reduce it to a minimal error and post your full yaml.
the original error shows you nesting it under ‘services’ which is wrong
There is nothing named services in any of the twelve YAML config files, so I cannot pinpoint the issue or narrow it down to a particular part of the configuration. -- Not entirely correct ... Turned out that, in a gist, I was copying everything in to the Jenkins_home including my compose.yaml file, which indeed had a services map right at the top ....
So, I removed the compose.yaml file from the jenkins home. Now the error I get with the below templates of the ec2 configuration is: ec2.yaml
jenkins:
clouds:
- amazonEC2:
name: "cloudname"
instanceCapStr: "50"
region: "region"
sshKeysCredentialsId: "credentialsId"
ec2/ami-1.yaml
jenkins:
clouds:
- amazonEC2:
templates:
- ami: "ami-000391b8832ffa6f0"
amiType:
windowsData:
allowSelfSignedCertificate: true
password: "password"
specifyPassword: true
useHTTPS: false
associatePublicIp: false
connectBySSHProcess: false
connectionStrategy: PRIVATE_IP
deleteRootOnTermination: false
description: "ami-1"
ebsEncryptRootVolume: ENCRYPTED
ebsOptimized: true
hostKeyVerificationStrategy: CHECK_NEW_SOFT
idleTerminationMinutes: "30"
initScript: ""
instanceCapStr: "2"
javaPath: "java"
labelString: "label"
maxTotalUses: -1
metadataEndpointEnabled: true
metadataHopsLimit: 1
metadataSupported: true
metadataTokensRequired: false
minimumNumberOfInstances: 0
minimumNumberOfSpareInstances: 0
mode: EXCLUSIVE
monitoring: false
numExecutors: 2
remoteAdmin: "Administrator"
remoteFS: "/"
securityGroups: ""
stopOnTerminate: false
subnetId: "subnet"
t2Unlimited: false
tenancy: Default
tags:
- name: "jenkins_server_url"
value: "url"
- name: "Name"
value: "ami-1"
- name: "AWS_Internal"
value: "idleoff=2"
type: T3Medium
useEphemeralDevices: false
useInstanceProfileForCredentials: false
ec2/ami-2.yaml
jenkins:
clouds:
- amazonEC2:
templates:
- ami: "ami-000391b8832ffa6f0"
amiType:
windowsData:
allowSelfSignedCertificate: true
password: "password"
specifyPassword: true
useHTTPS: false
associatePublicIp: false
connectBySSHProcess: false
connectionStrategy: PRIVATE_IP
deleteRootOnTermination: false
description: "ami-2"
ebsEncryptRootVolume: ENCRYPTED
ebsOptimized: true
hostKeyVerificationStrategy: CHECK_NEW_SOFT
idleTerminationMinutes: "30"
initScript: ""
instanceCapStr: "2"
javaPath: "java"
labelString: "label"
maxTotalUses: -1
metadataEndpointEnabled: true
metadataHopsLimit: 1
metadataSupported: true
metadataTokensRequired: false
minimumNumberOfInstances: 0
minimumNumberOfSpareInstances: 0
mode: EXCLUSIVE
monitoring: false
numExecutors: 2
remoteAdmin: "Administrator"
remoteFS: "/"
securityGroups: ""
stopOnTerminate: false
subnetId: "subnet"
t2Unlimited: false
tenancy: Default
tags:
- name: "jenkins_server_url"
value: "url"
- name: "Name"
value: "ami-2"
- name: "AWS_Internal"
value: "idleoff=2"
type: T3Medium
useEphemeralDevices: false
useInstanceProfileForCredentials: false
2023-10-01 17:20:27.667+0000 [id=33] WARNING i.j.p.casc.BaseConfigurator#createAttribute: Can't handle class org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl#file: type is abstract but not Describable.
2023-10-01 17:20:27.834+0000 [id=33] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed ConfigurationAsCode.init
java.lang.IllegalArgumentException: No hudson.slaves.Cloud implementation found for templates
at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$lookupDescriptor$11(HeteroDescribableConfigurator.java:226)
at io.vavr.control.Option.orElse(Option.java:321)
at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lookupDescriptor(HeteroDescribableConfigurator.java:224)
at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:84)
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:355)
at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:293)
at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$9(ConfigurationAsCode.java:803)
at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:737)
at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:803)
at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:789)
at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:658)
at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:315)
at io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:307)
Caused: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
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:1170)
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(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
2023-10-01 17:20:27.843+0000 [id=24] SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins
java.lang.IllegalArgumentException: No hudson.slaves.Cloud implementation found for templates
at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$lookupDescriptor$11(HeteroDescribableConfigurator.java:226)
at io.vavr.control.Option.orElse(Option.java:321)
at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lookupDescriptor(HeteroDescribableConfigurator.java:224)
at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:84)
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:355)
at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:293)
at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$9(ConfigurationAsCode.java:803)
at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:737)
at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:803)
at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:789)
at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:658)
at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:315)
at io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:307)
Caused: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
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:1170)
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(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
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:1205)
at jenkins.model.Jenkins.<init>(Jenkins.java:992)
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)
2023-10-01 17:20:27.892+0000 [id=24] INFO hudson.lifecycle.Lifecycle#onStatusUpdate: Stopping Jenkins
2023-10-01 17:20:27.946+0000 [id=24] INFO jenkins.model.Jenkins$16#onAttained: Started termination
2023-10-01 17:20:27.971+0000 [id=24] INFO h.p.b.global.Lifecycle#shutdown: Shutdown complete - Global TimeOut ScheduledExecutorService had 0 tasks pending
2023-10-01 17:20:28.021+0000 [id=24] INFO jenkins.model.Jenkins$16#onAttained: Completed termination
2023-10-01 17:20:28.022+0000 [id=24] INFO jenkins.model.Jenkins#_cleanUpDisconnectComputers: Starting node disconnection
2023-10-01 17:20:28.036+0000 [id=24] INFO jenkins.model.Jenkins#_cleanUpShutdownPluginManager: Stopping plugin manager
2023-10-01 17:20:28.076+0000 [id=24] INFO jenkins.model.Jenkins#_cleanUpPersistQueue: Persisting build queue
2023-10-01 17:20:28.084+0000 [id=24] INFO jenkins.model.Jenkins#_cleanUpAwaitDisconnects: Waiting for node disconnection completion
2023-10-01 17:20:28.086+0000 [id=24] SEVERE jenkins.model.Jenkins#_cleanUpPluginServletFilters: Failed to stop filters
java.lang.ClassNotFoundException: org.jenkinsci.plugins.ssegateway.SubscriptionConfigQueue$SubscriptionConfig
at java.base/java.net.URLClassLoader.findClass(Unknown Source)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
Caused: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/ssegateway/SubscriptionConfigQueue$SubscriptionConfig
at org.jenkinsci.plugins.ssegateway.SubscriptionConfigQueue.stop(SubscriptionConfigQueue.java:106)
at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.destroy(Endpoint.java:253)
at hudson.util.PluginServletFilter.cleanUp(PluginServletFilter.java:191)
at jenkins.model.Jenkins._cleanUpPluginServletFilters(Jenkins.java:3985)
at jenkins.model.Jenkins.cleanUp(Jenkins.java:3682)
at hudson.WebAppMain$3.run(WebAppMain.java:268)
2023-10-01 17:20:28.087+0000 [id=24] INFO hudson.lifecycle.Lifecycle#onStatusUpdate: Jenkins stopped
see https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/ec2
under amazonEc2 templates needs to be indented
Any update here ? I'm getting the same error with an almost empty JCasC.yml file when instanciating Jenkins in a Docker...
please report a new issue from scratch, your whole environment and jcasc file you're using
Your checklist for this issue
🚨 Please review the Support Policy
Description
Please describe your issue here, and explain what you have already tried to resolve it. I am spinning up a new Jenkins instance using the docker image jenkins/jenkins:alpine. The list of plugins I have installed is as follows:
atlassian-jira-software-cloud:latest blueocean:latest build-timeout:latest cloudbees-folder:latest configuration-as-code:latest credentials-binding:latest ec2:latest email-ext:latest git-client:latest gradle:latest job-dsl:latest matrix-auth:latest pipeline-stage-view:latest saml:latest ssh-slaves:latest timestamper:latest workflow-aggregator:latest ws-cleanup:latest
I have a set of yaml files with the configuration as code. I am getting an error SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed ConfigurationAsCode.init io.jenkins.plugins.casc.ConfiguratorException: No configurator for the following root elements services
The configuration was working fine until a week ago and I have not made any changes to it. It stopped working while I was trying to split the configuration for the ec2 plugin into multiple files a few days ago. I thought it was related to the way I split the Yaml but reassembling it in the way it was before did not fix the issue either. So, obviously something else is amiss. I noticed that a new version of the CASC plugin came out a couple of days ago though.