google-compute-engine-plugin icon indicating copy to clipboard operation
google-compute-engine-plugin copied to clipboard

can not spin up new GCE vms

Open kjing opened this issue 6 years ago • 1 comments

we upgraded Jenkins server from 2.190 to 2.200 or 2.202, "GCE plugin" from 3.4 to 4.0, "ssh credentials" from 1.17.1 to 1.18, "ssh slaves" from 1.30.1 to 1.31.0, and many other plugins. please see the below list. After upgrade, GCE plugin can not spin up any new VMs. The errors are from log file:

2019-10-29 21:22:31.335+0000 [id=35] INFO c.g.j.p.c.ComputeEngineCloud#availableNodeCapacity: Found capacity for 30 nodes in cloud test-jenkins

2019-10-29 21:22:31.426+0000 [id=35] SEVERE hudson.triggers.SafeTimerTask#run: Timer task hudson.slaves.NodeProvisioner$NodeProvisionerInvoker@7674213e failed

java.lang.NoClassDefFoundError: Could not initialize class com.google.common.io.BaseEncoding

at org.jclouds.ssh.SshKeys.encodeAsOpenSSH(SshKeys.java:158)

at org.jclouds.ssh.SshKeys.generate(SshKeys.java:151)

at org.jclouds.ssh.SshKeys.generate(SshKeys.java:142)

at com.google.jenkins.plugins.computeengine.ssh.GoogleKeyPair.generate(GoogleKeyPair.java:35)

at com.google.jenkins.plugins.computeengine.InstanceConfiguration.configureSSHKeyPair(InstanceConfiguration.java:430)

at com.google.jenkins.plugins.computeengine.InstanceConfiguration.instance(InstanceConfiguration.java:364)

at com.google.jenkins.plugins.computeengine.InstanceConfiguration.provision(InstanceConfiguration.java:298)

at com.google.jenkins.plugins.computeengine.ComputeEngineCloud.provision(ComputeEngineCloud.java:253)

at hudson.slaves.NodeProvisioner$StandardStrategyImpl.apply(NodeProvisioner.java:729)

at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:332)

at hudson.slaves.NodeProvisioner.access$900(NodeProvisioner.java:63)

at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:823)

at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:72)

at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:58)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

2019-10-29 21:22:35.798+0000 [id=14] WARNING hudson.security.csrf.CrumbFilter#doFilte

2019-10-29 21:41:18.785+0000 [id=36] INFO c.g.j.p.c.ComputeEngineCloud#availableNodeCapacity: Found capacity for 30 nodes in cloud test-jenkins

2019-10-29 21:41:18.855+0000 [id=36] SEVERE hudson.triggers.SafeTimerTask#run: Timer task hudson.slaves.NodeProvisioner$NodeProvisionerInvoker@500cf7a8 failed

java.lang.NoClassDefFoundError: Could not initialize class com.google.common.io.BaseEncoding

at org.jclouds.ssh.SshKeys.encodeAsOpenSSH(SshKeys.java:158)

at org.jclouds.ssh.SshKeys.generate(SshKeys.java:151)

at org.jclouds.ssh.SshKeys.generate(SshKeys.java:142)

at com.google.jenkins.plugins.computeengine.ssh.GoogleKeyPair.generate(GoogleKeyPair.java:35)

at com.google.jenkins.plugins.computeengine.InstanceConfiguration.configureSSHKeyPair(InstanceConfiguration.java:425)

at com.google.jenkins.plugins.computeengine.InstanceConfiguration.instance(InstanceConfiguration.java:359)

at com.google.jenkins.plugins.computeengine.InstanceConfiguration.provision(InstanceConfiguration.java:296)

at com.google.jenkins.plugins.computeengine.ComputeEngineCloud.provision(ComputeEngineCloud.java:253)

at hudson.slaves.NodeProvisioner$StandardStrategyImpl.apply(NodeProvisioner.java:729)

at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:332)

at hudson.slaves.NodeProvisioner.access$900(NodeProvisioner.java:63)

at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:823)

at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:72)

at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:58)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

The list of plugins were upgraded this time

  Amazon EC2This plugin integrates Jenkins with Amazon EC2 or anything implementing the EC2 API's such as an Ubuntu. 1.46.1 1.45
  Amazon Web Services SDKThis plugin provides AWS SDK for Java for other plugins. 1.11.650 1.11.594
  Apache HttpComponents Client 4.x APIBundles Apache HttpComponents Client 4.x and allows it to be used by Jenkins plugins. 4.5.10-2.0 4.5.5-3.0
  Docker PipelineBuild and use Docker containers from pipelines. 1.21 1.19
  Durable TaskLibrary offering an extension point for processes which can run outside of Jenkins yet be monitored. 1.33 1.30
  GitThis plugin integrates Git with Jenkins. 3.12.1 3.12.0
  Git clientUtility plugin for Git support in JenkinsWarning: This plugin requires dependent plugins that require Jenkins 2.190.1 or newer. Jenkins will refuse to load the dependent plugins requiring a newer version of Jenkins, and in turn loading this plugin will fail. 2.9.0 2.8.4
  Google Compute EngineThis plugin allows Jenkins to provision dynamic worker nodes on Google Compute Engine. 4.0.0 3.4.0
  Google OAuth CredentialsThis plugin implements the OAuth Credentials interfaces to surface Google Service Account credentials to Jenkins.Warning: the new version of this plugin claims to use a different settings format than the installed version. Jobs using this plugin may need to be reconfigured, and/or you may not be able to cleanly revert to the prior version without manually restoring old settings. Consult the plugin release notes for details. 1.0.0 0.9
  HTML PublisherThis plugin publishes HTML reports. 1.21 1.18
  Jackson 2 APIThis plugin exposes the Jackson 2 JSON APIs to other Jenkins plugins. 2.10.0 2.9.9.1
  Lockable ResourcesThis plugin allows to define external resources (such as printers, phones, computers) that can be locked by builds. If a build requires an external resource which is already locked, it will wait for the resource to be free. 2.6 2.5
  MailerThis plugin allows you to configure email notifications for build results 1.29 1.26
  Matrix Authorization StrategyOffers matrix-based security authorization strategies (global and per-project). 2.5 2.4.2
  PAM AuthenticationAdds Unix Pluggable Authentication Module (PAM) support to Jenkins 1.6 1.5.1
  Pipeline: JobDefines a new job type for pipelines and provides their generic user interface. 2.35 2.34
  Pipeline: Nodes and ProcessesPipeline steps locking agents and workspaces, and running external processes that may survive a Jenkins restart or slave reconnection. 2.34 2.33
  promoted buildsThis plugin implements a "promoted build" feature where a build of one job can be marked as "promoted" when it passes certain criteria. 3.4 3.3
  Role-based Authorization StrategyEnables user authorization using a Role-Based strategy. Roles can be defined globally or for particular jobs or nodes selected by regular expressions. 2.15 2.13
  Script SecurityAllows Jenkins administrators to control what in-process scripts can be run by less-privileged users. 1.66 1.62
  SSH CredentialsAllows storage of SSH credentials in JenkinsWarning: This plugin is built for Jenkins 2.190.1 or newer. Jenkins will refuse to load this plugin if installed. 1.18 1.17.1
  SSH SlavesAllows to launch agents over SSH, using a Java implementation of the SSH protocol.Warning: the new version of this plugin claims to use a different settings format than the installed version. Jobs using this plugin may need to be reconfigured, and/or you may not be able to cleanly revert to the prior version without manually restoring old settings. Consult the plugin release notes for details.Warning: This plugin is built for Jenkins 2.190.1 or newer. Jenkins will refuse to load this plugin if installed.Warning: This plugin requires dependent plugins that require Jenkins 2.190.1 or newer. Jenkins will refuse to load the dependent plugins requiring a newer version of Jenkins, and in turn loading this plugin will fail. 1.31.0 1.30.1
  Token MacroThis plug-in adds reusable macro expansion capability for other plug-ins to use. 2.10 2.8
  Trilead APITrilead API Plugin provides the Trilead library to any dependent plugins in an easily update-able manner. 1.0.5 1.0.4
  WMI Windows AgentsAllows you to setup agents on Windows machines over Windows Management Instrumentation (WMI) 1.5 1.4

kjing avatar Oct 31 '19 18:10 kjing

Hi @kjing, if you refresh the available plugins in the update center you should be able to get version 4.1.1, which resolves this issue. Let me know if you still encounter issues with that version.

stephenashank avatar Oct 31 '19 22:10 stephenashank