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

multiple tests regressed (due to trilead removal from ssh-credentials?) #1526

Closed
jtnord opened this issue Apr 5, 2024 · 7 comments
Closed
Assignees
Labels

Comments

@jtnord
Copy link
Member

jtnord commented Apr 5, 2024

Jenkins and plugins versions report

https://ci.jenkins.io/job/Core/job/acceptance-test-harness/job/master/1082/testReport/
shows failures with no changes to the ATH.

Errors are around trilead opening which is likely caused by https://github.com/jenkinsci/ssh-credentials-plugin/releases/tag/326.v7fcb_a_ef6194b_

Whilst subsequent builds do not fail in the same way (no class found for trilead classes) they are still failing so somethign needs to be adapted (either in plugin code or ATH code).

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

N/A

Reproduction steps

run any of the failing tests in from https://ci.jenkins.io/job/Core/job/acceptance-test-harness/job/master/1082/testReport/ that fail with a trilead error that are still failing in the latest build

Expected Results

tests pass (or their failure is unrelated to trilead!)

Actual Results

tests fail

Anything else?

No response

Are you interested in contributing a fix?

No response

@jtnord
Copy link
Member Author

jtnord commented Apr 10, 2024

@jtnord
Copy link
Member Author

jtnord commented Apr 10, 2024

https://github.com/jenkinsci/ssh-credentials-plugin/blob/master/src/main/java/com/cloudbees/jenkins/plugins/sshcredentials/SSHAuthenticator.java#L259-L265

So SSH-Slaves has the com.trilead.ssh2.Connection class, but the extension is not loaded or otherwise returns false?

@jtnord
Copy link
Member Author

jtnord commented Apr 10, 2024

import com.cloudbees.jenkins.plugins.sshcredentials.*
def extensions = ExtensionList.lookup(SSHAuthenticatorFactory.class)
println "Found the following SSHAuthenticatorFactories: " + extensions

def plugins = Jenkins.instance.pluginManager.plugins
println "plguins installed: " + plugins
Found the following SSHAuthenticatorFactories: []
plguins installed: [Plugin:gson-api, Plugin:trilead-api, Plugin:structs, Plugin:credentials, Plugin:variant, Plugin:ssh-credentials, Plugin:ssh-slaves]

@jtnord
Copy link
Member Author

jtnord commented Apr 10, 2024

it appears as though something is wrong with the varient or the varient plugin

Apr 10, 2024 3:57:56 PM org.jenkinsci.test.acceptance.junit.WithPlugins$RuleImpl$1 installPlugins
INFO: Installing plugins for test: [[email protected], [email protected], [email protected]]
2024-04-10 14:57:58.450+0000 [id=137]  INFO    hudson.PluginManager#install: Starting installation of a batch of 3 plugins plus their dependencies
2024-04-10 14:57:58.452+0000 [id=137]  INFO    hudson.model.UpdateSite$Plugin#deploy: Adding dependent install of trilead-api for plugin ssh-slaves
2024-04-10 14:57:58.452+0000 [id=137]  INFO    hudson.model.UpdateSite$Plugin#deploy: Adding dependent install of gson-api for plugin trilead-api
2024-04-10 14:57:58.454+0000 [id=137]  INFO    hudson.model.UpdateSite$Plugin#deploy: Adding dependent install of credentials for plugin ssh-slaves
2024-04-10 14:57:58.455+0000 [id=137]  INFO    hudson.model.UpdateSite$Plugin#deploy: Adding dependent install of structs for plugin credentials
2024-04-10 14:57:58.455+0000 [id=137]  INFO    hudson.model.UpdateSite$Plugin#deploy: Adding dependent install of ssh-credentials for plugin ssh-slaves
2024-04-10 14:57:58.455+0000 [id=137]  INFO    hudson.model.UpdateSite$Plugin#deploy: Adding dependent install of variant for plugin ssh-credentials
Apr 10, 2024 3:57:58 PM com.browserup.bup.filters.HarCaptureFilter captureResponseContent
WARNING: No content type specified in response from http://172.17.32.1:63913/pluginManager/install. Content will be treated as application/octet-stream
Plugins to be updated: []
2024-04-10 14:57:58.816+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of gson-api on behalf of anonymous
Apr 10, 2024 3:57:58 PM org.jenkinsci.test.acceptance.update_center.MockUpdateCenter lambda$ensureRunning$3
INFO: serving C:\Users\jnord\.m2\repository\io\jenkins\plugins\gson-api\2.10.1-15.v0d99f670e0a_7\gson-api-2.10.1-15.v0d99f670e0a_7.hpi
2024-04-10 14:57:58.828+0000 [id=151]  INFO    h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading gson-api
2024-04-10 14:57:58.902+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: gson-api
2024-04-10 14:57:58.902+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of trilead-api on behalf of anonymous
Apr 10, 2024 3:57:58 PM org.jenkinsci.test.acceptance.update_center.MockUpdateCenter lambda$ensureRunning$3
INFO: serving C:\Users\jnord\.m2\repository\org\jenkins-ci\plugins\trilead-api\2.142.v748523a_76693\trilead-api-2.142.v748523a_76693.hpi
2024-04-10 14:57:58.906+0000 [id=151]  INFO    h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading trilead-api
2024-04-10 14:57:59.049+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: trilead-api
2024-04-10 14:57:59.049+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of structs on behalf of anonymous
Apr 10, 2024 3:57:59 PM org.jenkinsci.test.acceptance.update_center.MockUpdateCenter lambda$ensureRunning$3
INFO: serving C:\Users\jnord\.m2\repository\org\jenkins-ci\plugins\structs\337.v1b_04ea_4df7c8\structs-337.v1b_04ea_4df7c8.hpi
2024-04-10 14:57:59.054+0000 [id=151]  INFO    h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading structs
2024-04-10 14:57:59.077+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: structs
2024-04-10 14:57:59.077+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of credentials on behalf of anonymous
Apr 10, 2024 3:57:59 PM org.jenkinsci.test.acceptance.update_center.MockUpdateCenter lambda$ensureRunning$3
INFO: serving C:\Users\jnord\.m2\repository\org\jenkins-ci\plugins\credentials\1337.v60b_d7b_c7b_c9f\credentials-1337.v60b_d7b_c7b_c9f.hpi
2024-04-10 14:57:59.081+0000 [id=151]  INFO    h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading credentials
2024-04-10 14:57:59.170+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: credentials
2024-04-10 14:57:59.170+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of variant on behalf of anonymous
Apr 10, 2024 3:57:59 PM org.jenkinsci.test.acceptance.update_center.MockUpdateCenter lambda$ensureRunning$3
INFO: serving C:\Users\jnord\.m2\repository\org\jenkins-ci\plugins\variant\60.v7290fc0eb_b_cd\variant-60.v7290fc0eb_b_cd.hpi
2024-04-10 14:57:59.174+0000 [id=151]  INFO    h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading variant
2024-04-10 14:57:59.194+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: variant
2024-04-10 14:57:59.194+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of ssh-credentials on behalf of anonymous
Apr 10, 2024 3:57:59 PM org.jenkinsci.test.acceptance.update_center.MockUpdateCenter lambda$ensureRunning$3
INFO: serving C:\Users\jnord\.m2\repository\org\jenkins-ci\plugins\ssh-credentials\337.v395d2403ccd4\ssh-credentials-337.v395d2403ccd4.hpi
2024-04-10 14:57:59.199+0000 [id=151]  INFO    h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading ssh-credentials
2024-04-10 14:57:59.218+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: ssh-credentials
2024-04-10 14:57:59.218+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of ssh-slaves on behalf of anonymous
Apr 10, 2024 3:57:59 PM org.jenkinsci.test.acceptance.update_center.MockUpdateCenter lambda$ensureRunning$3
INFO: serving C:\Users\jnord\.m2\repository\org\jenkins-ci\plugins\ssh-slaves\2.948.vb_8050d697fec\ssh-slaves-2.948.vb_8050d697fec.hpi
2024-04-10 14:57:59.223+0000 [id=151]  INFO    h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading ssh-slaves
2024-04-10 14:57:59.245+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: ssh-slaves
2024-04-10 14:57:59.245+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of credentials on behalf of anonymous
2024-04-10 14:57:59.245+0000 [id=151]  INFO    h.m.UpdateCenter$InstallationJob#_run: Skipping duplicate install of: [email protected]_d7b_c7b_c9f
2024-04-10 14:57:59.245+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: credentials
2024-04-10 14:57:59.245+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Starting the installation of ssh-credentials on behalf of anonymous
2024-04-10 14:57:59.245+0000 [id=151]  INFO    h.m.UpdateCenter$InstallationJob#_run: Skipping duplicate install of: SSH [email protected]
2024-04-10 14:57:59.245+0000 [id=151]  INFO    h.model.UpdateCenter$DownloadJob#run: Installation successful: ssh-credentials
2024-04-10 14:57:59.245+0000 [id=151]  INFO    h.m.UpdateCenter$CompleteBatchJob#run: Completing installing of plugin batch?
2024-04-10 14:57:59.420+0000 [id=154]  INFO    jenkins.InitReactorRunner$1#onAttained: Started initialization
2024-04-10 14:57:59.421+0000 [id=158]  INFO    jenkins.InitReactorRunner$1#onAttained: Listed all plugins
2024-04-10 14:57:59.423+0000 [id=164]  INFO    jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
2024-04-10 14:57:59.424+0000 [id=168]  INFO    jenkins.InitReactorRunner$1#onAttained: Started all plugins
2024-04-10 14:57:59.426+0000 [id=173]  INFO    jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
2024-04-10 14:57:59.427+0000 [id=178]  INFO    jenkins.InitReactorRunner$1#onAttained: System config loaded
2024-04-10 14:57:59.428+0000 [id=183]  INFO    jenkins.InitReactorRunner$1#onAttained: System config adapted
2024-04-10 14:57:59.430+0000 [id=188]  INFO    jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2024-04-10 14:57:59.431+0000 [id=154]  INFO    jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2024-04-10 14:57:59.440+0000 [id=191]  INFO    jenkins.InitReactorRunner$1#onAttained: Completed initialization
2024-04-10 14:57:59.440+0000 [id=151]  INFO    h.m.UpdateCenter$CompleteBatchJob#run: Completed installation of 7 plugins in 0.99 sec

@jtnord
Copy link
Member Author

jtnord commented Apr 10, 2024

import com.cloudbees.jenkins.plugins.sshcredentials.*
import hudson.ExtensionFinder.*

def extensions = ExtensionList.lookup(SSHAuthenticatorFactory.class)
println "Found the following SSHAuthenticatorFactories: " + extensions

println "Refreshing extensions"
Jenkins.get().refreshExtensions()
println "done"

extensions = ExtensionList.lookup(SSHAuthenticatorFactory.class)
println "Found the following SSHAuthenticatorFactories: " + extensions

so refreshing the extensions works.

I have a feeling that the Variant plugin is not always "hot loadable". in that the guice extension finder can change after it is installed, but seemingly it is not re-evaluating a change in the Extension list of GuiceExtensionAnnotation which should be re-called to find classes that have been tagged with this for any plugins installed in the same batch.

@jtnord
Copy link
Member Author

jtnord commented Apr 12, 2024

filed for the issue https://issues.jenkins.io/browse/JENKINS-72998

@jtnord
Copy link
Member Author

jtnord commented Apr 15, 2024

https://issues.jenkins.io/browse/JENKINS-72998 has been merged to master.

Closing this for now, although the weekly will continue to be broken until Wednesday (at the earliest) and LTS potentially for a while.

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

2 participants