rundeck / rundeck

Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts

Home Page:http://rundeck.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SCM plugin doesn't work after upgrading to Rundeck 5.x

soar opened this issue · comments

Describe the bug

I had SCM plugin installed and configured, but it stopped to work after upgrading from Rundeck 3.x to Rundeck 5.x. When I try to re-enable it with UI, it just says:

Failed cloning the repository from git@github.com:<my-username>/<my-repo>.git: git@github.com:<my-username>/<my-repo>.git: remote hung up unexpectedly

In the logs I've found this:

org.hibernate.HibernateException: No Session found for current thread
	at org.grails.orm.hibernate.GrailsSessionContext.currentSession(GrailsSessionContext.java:112) ~[grails-datastore-gorm-hibernate5-8.0.0.jar!/:?]
	at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:508) ~[hibernate-core-5.6.15.Final.jar!/:5.6.15.Final]
	at org.grails.orm.hibernate.HibernateSession.createQuery(HibernateSession.java:185) ~[grails-datastore-gorm-hibernate5-8.0.0.jar!/:?]
	at org.grails.orm.hibernate.HibernateSession.createQuery(HibernateSession.java:178) ~[grails-datastore-gorm-hibernate5-8.0.0.jar!/:?]
	at org.grails.datastore.gorm.finders.AbstractFindByFinder.buildQuery(AbstractFindByFinder.java:44) ~[grails-datastore-gorm-8.0.0.jar!/:?]
	at org.grails.datastore.gorm.finders.AbstractFindByFinder$1.doInSession(AbstractFindByFinder.java:29) ~[grails-datastore-gorm-8.0.0.jar!/:?]
	at org.grails.datastore.mapping.core.DatastoreUtils.execute(DatastoreUtils.java:319) ~[grails-datastore-core-8.0.0.jar!/:?]
	at org.grails.datastore.gorm.finders.AbstractFinder.execute(AbstractFinder.java:42) ~[grails-datastore-gorm-8.0.0.jar!/:?]
	at org.grails.datastore.gorm.finders.AbstractFindByFinder.doInvokeInternal(AbstractFindByFinder.java:27) ~[grails-datastore-gorm-8.0.0.jar!/:?]
	at org.grails.datastore.gorm.finders.DynamicFinder.invoke(DynamicFinder.java:254) ~[grails-datastore-gorm-8.0.0.jar!/:?]
	at org.grails.datastore.gorm.finders.DynamicFinder.invoke(DynamicFinder.java:392) ~[grails-datastore-gorm-8.0.0.jar!/:?]
	at org.grails.datastore.gorm.finders.FinderMethod$invoke$0.call(Unknown Source) ~[?:?]
	at org.grails.datastore.gorm.GormStaticApi$_methodMissing_closure2.doCall(GormStaticApi.groovy:182) ~[grails-datastore-gorm-8.0.0.jar!/:?]
	at jdk.internal.reflect.GeneratedMethodAccessor616.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107) ~[groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274) ~[groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1030) ~[groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.Closure.call(Closure.java:427) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:61) ~[groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:44) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:89) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.rundeck.app.data.providers.GormUserDataProvider.findByLogin(GormUserDataProvider.groovy:237) ~[classes!/:?]
	at org.rundeck.app.data.providers.v1.UserDataProvider$findByLogin$2.call(Unknown Source) ~[?:?]
	at rundeck.services.ScmService.lookupUserInfo(ScmService.groovy:1423) ~[classes!/:?]
	at jdk.internal.reflect.GeneratedMethodAccessor1486.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107) ~[groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185) ~[groovy-3.0.19.jar!/:3.0.19]
	at rundeck.services.ScmService$_scmOperationContext_closure4.doCall(ScmService.groovy:596) ~[classes!/:?]
	at rundeck.services.ScmService$_scmOperationContext_closure4.doCall(ScmService.groovy) ~[classes!/:?]
	at jdk.internal.reflect.GeneratedMethodAccessor1483.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107) ~[groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274) ~[groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1030) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:38) ~[groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:130) [groovy-3.0.19.jar!/:3.0.19]
	at rundeck.services.ScmService.scmOperationContext(ScmService.groovy:1450) ~[classes!/:?]
	at rundeck.services.ScmService$scmOperationContext$15.callCurrent(Unknown Source) ~[?:?]
	at rundeck.services.ScmService.scmOperationContext(ScmService.groovy:593) ~[classes!/:?]
	at rundeck.services.ScmService.scmOperationContext(ScmService.groovy) ~[classes!/:?]
	at rundeck.services.ScmService$scmOperationContext$14.callCurrent(Unknown Source) ~[?:?]
	at rundeck.services.ScmService.scmOperationContext(ScmService.groovy:610) ~[classes!/:?]
	at rundeck.services.ScmService$scmOperationContext$25.callCurrent(Unknown Source) ~[?:?]
	at rundeck.services.ScmService.initProject(ScmService.groovy:157) [classes!/:?]
	at rundeck.services.scm.ScmLoaderService.reloadPlugin(ScmLoaderService.groovy:452) [classes!/:?]
	at rundeck.services.scm.ScmLoaderService.projectIntegrationEnabled(ScmLoaderService.groovy:98) [classes!/:?]
	at jdk.internal.reflect.GeneratedMethodAccessor528.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107) [groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362) [groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61) [groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:203) [groovy-3.0.19.jar!/:3.0.19]
	at rundeck.services.scm.ScmLoaderService$_beginScmLoader_closure1.doCall(ScmLoaderService.groovy:61) [classes!/:?]
	at rundeck.services.scm.ScmLoaderService$_beginScmLoader_closure1.doCall(ScmLoaderService.groovy) [classes!/:?]
	at jdk.internal.reflect.GeneratedMethodAccessor571.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107) [groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-3.0.19.jar!/:3.0.19]
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274) [groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1030) [groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.Closure.call(Closure.java:427) [groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.Closure.call(Closure.java:406) [groovy-3.0.19.jar!/:3.0.19]
	at groovy.lang.Closure.run(Closure.java:498) [groovy-3.0.19.jar!/:3.0.19]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
[2024-03-04T13:48:59,624] INFO  storage.events get file keys/github/github-<repo> - {Rundeck-content-type=application/octet-stream, Rundeck-auth-modified-username=user, Rundeck-content-modify-time=2021-04-20T15:51:53Z, Rundeck-content-creation-time=2021-04-20T15:51:53Z, Rundeck-content-size=3296, Rundeck-auth-created-username=user, Rundeck-key-type=private, Rundeck-content-mask=content}
[2024-03-04T13:48:59,977] ERROR scm.ScmLoaderService - Error initializing SCM for: key/export: Failed cloning the repository from git@github.com:<username>/<repo>.git: git@github.com:<username>/<repo>.git: remote hung up unexpectedly. Retrying 1/5
[2024-03-04T13:49:00,984] INFO  storage.events get file keys/github/github-<repo> - {Rundeck-content-type=application/octet-stream, Rundeck-auth-modified-username=user, Rundeck-content-modify-time=2021-04-20T15:51:53Z, Rundeck-content-creation-time=2021-04-20T15:51:53Z, Rundeck-content-size=3296, Rundeck-auth-created-username=user, Rundeck-key-type=private, Rundeck-content-mask=content}
[2024-03-04T13:49:01,328] ERROR scm.ScmLoaderService - Error initializing SCM for: key/export: Failed cloning the repository from git@github.com:<username>/<repo>.git: git@github.com:<username>/<repo>.git: remote hung up unexpectedly. Retrying 2/5
[2024-03-04T13:49:02,335] INFO  storage.events get file keys/github/github-<repo> - {Rundeck-content-type=application/octet-stream, Rundeck-auth-modified-username=user, Rundeck-content-modify-time=2021-04-20T15:51:53Z, Rundeck-content-creation-time=2021-04-20T15:51:53Z, Rundeck-content-size=3296, Rundeck-auth-created-username=user, Rundeck-key-type=private, Rundeck-content-mask=content}
[2024-03-04T13:49:02,686] ERROR scm.ScmLoaderService - Error initializing SCM for: key/export: Failed cloning the repository from git@github.com:<username>/<repo>.git: git@github.com:<username>/<repo>.git: remote hung up unexpectedly. Retrying 3/5
[2024-03-04T13:49:03,692] INFO  storage.events get file keys/github/github-<repo> - {Rundeck-content-type=application/octet-stream, Rundeck-auth-modified-username=user, Rundeck-content-modify-time=2021-04-20T15:51:53Z, Rundeck-content-creation-time=2021-04-20T15:51:53Z, Rundeck-content-size=3296, Rundeck-auth-created-username=user, Rundeck-key-type=private, Rundeck-content-mask=content}
[2024-03-04T13:49:04,057] ERROR scm.ScmLoaderService - Error initializing SCM for: key/export: Failed cloning the repository from git@github.com:<username>/<repo>.git: git@github.com:<username>/<repo>.git: remote hung up unexpectedly. Retrying 4/5
[2024-03-04T13:49:05,063] INFO  storage.events get file keys/github/github-<repo> - {Rundeck-content-type=application/octet-stream, Rundeck-auth-modified-username=user, Rundeck-content-modify-time=2021-04-20T15:51:53Z, Rundeck-content-creation-time=2021-04-20T15:51:53Z, Rundeck-content-size=3296, Rundeck-auth-created-username=user, Rundeck-key-type=private, Rundeck-content-mask=content}
[2024-03-04T13:49:05,428] ERROR scm.ScmLoaderService - Error initializing SCM for: key/export: Failed cloning the repository from git@github.com:<username>/<repo>.git: git@github.com:<username>/<repo>.git: remote hung up unexpectedly. Retrying 5/5
[2024-03-04T13:49:06,435] INFO  storage.events get file keys/github/github-<repo> - {Rundeck-content-type=application/octet-stream, Rundeck-auth-modified-username=user, Rundeck-content-modify-time=2021-04-20T15:51:53Z, Rundeck-content-creation-time=2021-04-20T15:51:53Z, Rundeck-content-size=3296, Rundeck-auth-created-username=user, Rundeck-key-type=private, Rundeck-content-mask=content}

My Rundeck detail

  • Rundeck version: 5.0.2 (2024-02-12) denali deeppink book
  • install type: docker
  • OS Name/version: as it is in the docker image
  • DB Type/version: postgres 14.10

To Reproduce
Steps to reproduce the behavior:

  1. Go to /project/<project-name>/scm/export/setup?type=git-export
  2. Fill the details like Git repo URL and SSH key to clone
  3. Press "Setup"

Expected behavior
Plugin is enabled, and browser is redirected to the Jobs page

Screenshots
N/A

Desktop (please complete the following information):

  • OS: macOS
  • Browser Firefox
  • Version 123

Additional context
N/A

Hi @soar

It seems reported here. Is it the same?

Regards.

@MegaDrive68k I believe it is different. In that thread the bug is about an issue "when connection to git is temporarily lost". But for me GitHub is available, I can clone the repo in the same container manually. But I can't enable the sync plugin at all.