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

casAuthenticationFilter error in Jenkins 2.475 along with CAS Plugin Version1.6.3 #15

Closed
xcitan opened this issue Sep 6, 2024 · 8 comments
Labels

Comments

@xcitan
Copy link

xcitan commented Sep 6, 2024

Jenkins and plugins versions report

casAuthenticationFilter error in Jenkins 2.475

Seems like there is a compatibility issue with Jenkins 2.475 and CAS Plugin Version1.6.3

What Operating System are you using (both controller, and any agents involved in the problem)?

Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye

Reproduction steps

Upgrade Jenkins 2.474 to 2.475 along with CAS Plugin Version1.6.3

Expected Results

I expect jenkins to start.

Actual Results

Jenkins start fails with error:

available: expected single matching bean but found 2: casAuthenticationManager,casRestAuthenticator
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'casFilter' defined in org.jenkinsci.plugins.cas.spring.CasConfigurationContext: Unsatisfied dependency expressed through method 'casFilter' parameter 2: Error creating bean with name 'casAuthenticationFilter' defined in org.jenkinsci.plugins.cas.spring.CasConfigurationContext: Unsatisfied dependency expressed through method 'casAuthenticationFilter' parameter 0: No qualifying bean of type 'org.springframework.security.authentication.AuthenticationManager' available: expected single matching bean but found 2: casRestAuthenticator,casAuthenticationManager
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:795)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:542)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1355)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1185)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:971)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at PluginClassLoader for cas-plugin//org.jenkinsci.plugins.cas.CasSecurityRealm.getApplicationContext(CasSecurityRealm.java:162)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at PluginClassLoader for cas-plugin//org.jenkinsci.plugins.cas.CasSecurityRealm.createFilter(CasSecurityRealm.java:230)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at hudson.security.SecurityRealm.createFilter(SecurityRealm.java:626)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at hudson.security.HudsonFilter.reset(HudsonFilter.java:145)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at jenkins.model.Jenkins.resetFilter(Jenkins.java:2820)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at jenkins.model.Jenkins.load(Jenkins.java:3432)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at jenkins.model.Jenkins$12.run(Jenkins.java:3528)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:177)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at jenkins.model.Jenkins$5.runTask(Jenkins.java:1195)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: #011at java.base/java.lang.Thread.run(Thread.java:840)
Sep 5 06:31:46 bisonci-qa10 jenkins[77378]: Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'casAuthenticationFilter' defined in org.jenkinsci.plugins.cas.spring.CasConfigurationContext: Unsatisfied dependency expressed through method 'casAuthenticationFilter' parameter 0: No qualifying bean of type 'org.sp:

Anything else?

No response

Are you interested in contributing a fix?

Rollback to Jenkins 2.474 fixed the problem.

@xcitan xcitan added the bug label Sep 6, 2024
@basil
Copy link
Member

basil commented Sep 6, 2024

#17 at least gets this plugin to compile with Spring Security 6.x and EE 9, though it appears to have no automated testing and I do not know how to test it manually.

Pre-release incremental builds are available for testing:

@fcrespel @xcitan Can you try these incremental builds and see if anything works?

@basil
Copy link
Member

basil commented Sep 10, 2024

jenkinsci/jenkins#9696 has been released in 2.476. @fcrespel @xcitan We still need to test the incremental build of #17 against 2.476 or newer.

@fcrespel
Copy link
Member

Thanks @basil for the PR, I'll take a look and test it whenever I can (it may take a few days).

@basil
Copy link
Member

basil commented Sep 10, 2024

Thanks @fcrespel. Please feel free to make any needed changes to my PR. I don't have a testing environment, so I won't be able to meaningfully respond to feedback. In addition to that, I will be out of the office for a week. I wouldn't want user relief from this regression to be blocked on me.

@xcitan
Copy link
Author

xcitan commented Sep 17, 2024

Hi @fcrespel, @basil,

just tested your cas plugin version (CAS Plugin
Version1.6.4-rc130.0ab4b150de7b) with Jenkins 2.476.
Worked for me.

Many thanks and regards!

@xcitan
Copy link
Author

xcitan commented Sep 19, 2024

Plugin release would be great. From my perspective we can close this.

@xcitan xcitan closed this as completed Sep 19, 2024
@fcrespel
Copy link
Member

@xcitan CAS plugin version 1.7.0 is now released with support for Jenkins 2.476+

Also FYI @basil I added a Docker-based local testing environment in the test directory and instructions in the README. Thanks again for your help!

@basil
Copy link
Member

basil commented Sep 30, 2024

Thank you @fcrespel!

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

No branches or pull requests

3 participants