Skip to content

Instantly share code, notes, and snippets.

@daspilker
Created March 5, 2014 10:26
Show Gist options
  • Save daspilker/9364761 to your computer and use it in GitHub Desktop.
Save daspilker/9364761 to your computer and use it in GitHub Desktop.
jenkins_jnlp_slave
* jenkins_jnlp_slave[windows-node] action create[2014-03-05T10:16:25+00:00] INFO: Processing jenkins_jnlp_slave[windows-node] action create (acme-ci::node line 28)
[2014-03-05T10:16:25+00:00] DEBUG: Load jenkins_jnlp_slave[windows-node] slave information
Recipe: <Dynamically Defined Resource>
* remote_file[C:\chef\cache/jenkins-cli.jar] action create[2014-03-05T10:16:26+00:00] INFO: Processing remote_file[C:\chef\cache/jenkins-cli.jar] action create (dynamically defined)
[2014-03-05T10:16:26+00:00] DEBUG: touching C:\chef\cache/jenkins-cli.jar to create it
[2014-03-05T10:16:26+00:00] INFO: remote_file[C:\chef\cache/jenkins-cli.jar] created file C:\chef\cache/jenkins-cli.jar
- create new file C:\chef\cache/jenkins-cli.jar[2014-03-05T10:16:26+00:00] DEBUG: remote_file[C:\chef\cache/jenkins-cli.jar] checking for changes
[2014-03-05T10:16:26+00:00] DEBUG: Cache control headers: {}
[2014-03-05T10:16:26+00:00] DEBUG: Initiating GET to http://jenkins.acme.com/jnlpJars/jenkins-cli.jar
[2014-03-05T10:16:26+00:00] DEBUG: ---- HTTP Request Header Data: ----
[2014-03-05T10:16:26+00:00] DEBUG: Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
[2014-03-05T10:16:26+00:00] DEBUG: Streaming download from http://jenkins.acme.com/jnlpJars/jenkins-cli.jar to tempfile C:/Users/ADMINI~1/AppData/Local/Temp/2/chef-rest20140305-3476-14kv923
[2014-03-05T10:16:26+00:00] DEBUG: ---- HTTP Status and Header Data: ----
[2014-03-05T10:16:26+00:00] DEBUG: HTTP 1.1 200 OK
[2014-03-05T10:16:26+00:00] DEBUG: date: Wed, 05 Mar 2014 10:16:27 GMT
[2014-03-05T10:16:26+00:00] DEBUG: server: Jetty(8.y.z-SNAPSHOT)
[2014-03-05T10:16:26+00:00] DEBUG: content-disposition: attachment; filename=jenkins-cli.jar
[2014-03-05T10:16:26+00:00] DEBUG: last-modified: Sun, 15 Dec 2013 04:44:22 GMT
[2014-03-05T10:16:26+00:00] DEBUG: expires: Sun, 15 Dec 2013 04:44:22 GMT
[2014-03-05T10:16:26+00:00] DEBUG: accept-ranges: bytes
[2014-03-05T10:16:26+00:00] DEBUG: content-type: application/java-archive
[2014-03-05T10:16:26+00:00] DEBUG: content-length: 666111
[2014-03-05T10:16:26+00:00] DEBUG: access-control-allow-origin: *
[2014-03-05T10:16:26+00:00] DEBUG: connection: close
[2014-03-05T10:16:26+00:00] DEBUG: ---- End HTTP Status/Header Data ----
[2014-03-05T10:16:26+00:00] DEBUG: calculating checksum of C:/Users/ADMINI~1/AppData/Local/Temp/2/chef-rest20140305-3476-14kv923 to compare with
[2014-03-05T10:16:26+00:00] INFO: remote_file[C:\chef\cache/jenkins-cli.jar] updated file contents C:\chef\cache/jenkins-cli.jar
- update content in file C:\chef\cache/jenkins-cli.jar from none to 70f8bd
(new content is binary, diff output suppressed)[2014-03-05T10:16:26+00:00] WARN: Mode 755 includes bits for the owner, but owner is not specified
[2014-03-05T10:16:26+00:00] WARN: Mode 755 includes bits for the group, but group is not specified
[2014-03-05T10:16:26+00:00] WARN: Mode 755 includes bits for the owner, but owner is not specified
[2014-03-05T10:16:26+00:00] WARN: Mode 755 includes bits for the group, but group is not specified
[2014-03-05T10:16:26+00:00] WARN: Mode 755 includes bits for the owner, but owner is not specified
[2014-03-05T10:16:26+00:00] WARN: Mode 755 includes bits for the group, but group is not specified
[2014-03-05T10:16:26+00:00] INFO: remote_file[C:\chef\cache/jenkins-cli.jar] permissions changed to [Everyone/flags:0/mask:a0000000]
- change dacl[2014-03-05T10:16:26+00:00] DEBUG: selinux utilities can not be found. Skipping selinux permission fixup.
* file[C:\chef\cache/jenkins-key] action create[2014-03-05T10:16:26+00:00] INFO: Processing file[C:\chef\cache/jenkins-key] action create (dynamically defined)
[2014-03-05T10:16:26+00:00] DEBUG: touching C:\chef\cache/jenkins-key to create it
[2014-03-05T10:16:26+00:00] INFO: file[C:\chef\cache/jenkins-key] created file C:\chef\cache/jenkins-key
- create new file C:\chef\cache/jenkins-key[2014-03-05T10:16:26+00:00] DEBUG: calculating checksum of C:/Users/ADMINI~1/AppData/Local/Temp/2/jenkins-key20140305-3476-1r14l63 to compare with
[2014-03-05T10:16:26+00:00] DEBUG: running: diff -u C:\chef\cache/jenkins-key C:/Users/ADMINI~1/AppData/Local/Temp/2/jenkins-key20140305-3476-1r14l63
[2014-03-05T10:16:26+00:00] INFO: file[C:\chef\cache/jenkins-key] updated file contents C:\chef\cache/jenkins-key
- update content in file C:\chef\cache/jenkins-key from none to e0ce97
--- C:\chef\cache/jenkins-key 2014-03-05 10:16:26.000000000 +0000
+++ C:/Users/ADMINI~1/AppData/Local/Temp/2/jenkins-key20140305-3476-1r14l63 2014-03-05 10:16:26.000000000 +0000
@@ -1 +1,28 @@
+-----BEGIN RSA PRIVATE KEY-----
--- 8< --- SNIP --- 8< --- SNIP --- 8< --- SNIP --- 8< ---
+-----END RSA PRIVATE KEY-----[2014-03-05T10:16:26+00:00] WARN: Mode 600 includes bits for the owner, but owner is not specified
[2014-03-05T10:16:26+00:00] DEBUG: selinux utilities can not be found. Skipping selinux permission fixup.
================================================================================
Error executing action `create` on resource 'jenkins_jnlp_slave[windows-node]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy = <<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT ----
STDOUT:
STDERR: << was unexpected at this time.
---- End output of java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy = <<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT ----
Ran java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy =
<<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT returned 1
Resource Declaration:
---------------------
# In C:/chef/cache/cookbooks/acme-ci/recipes/node.rb
28: jenkins_jnlp_slave node['fqdn'] do
29: environment({
30: :JAVA_HOME => 'C:\Program Files\Java\jdk1.7.0_51',
31: })
32: only_if { platform_family?('windows') }
33: end
Compiled Resource:
------------------
# Declared in C:/chef/cache/cookbooks/acme-ci/recipes/node.rb:28:in `from_file'
jenkins_windows_slave("windows-node") do
provider Chef::Provider::JenkinsWindowsSlave
action :create
retries 0
retry_delay 2
slave_name "windows-node"
remote_fs "C:\\jenkins"
executors 1
usage_mode "normal"
in_demand_delay 0
idle_delay 1
user "LocalSystem"
group "jenkins"
service_name "jenkins-slave"
winsw_url "http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.13/winsw-1.13-bin.exe"
cookbook_name "acme-ci"
recipe_name "node"
environment {:JAVA_HOME=>"C:\\Program Files\\Java\\jdk1.7.0_51"}
only_if { #code block }
end
[2014-03-05T10:16:26+00:00] INFO: Running queued delayed notifications before re-raising exception
[2014-03-05T10:16:26+00:00] DEBUG: Re-raising exception: Mixlib::ShellOut::ShellCommandFailed - jenkins_jnlp_slave[windows-node] (acme-ci::node line 28) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy = <<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT ----
STDOUT:
STDERR: << was unexpected at this time.
---- End output of java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy = <<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT ----
Ran java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy =
<<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT returned 1
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.3.0-x86-mingw32/lib/mixlib/shellout.rb:253:in `invalid!'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.3.0-x86-mingw32/lib/mixlib/shellout.rb:239:in `error!'
C:/chef/cache/cookbooks/jenkins/libraries/_executor.rb:77:in `execute!'
C:/chef/cache/cookbooks/jenkins/libraries/_executor.rb:104:in `groovy!'
C:/chef/cache/cookbooks/jenkins/libraries/slave.rb:600:in `current_slave'
C:/chef/cache/cookbooks/jenkins/libraries/slave.rb:298:in `load_current_resource'
C:/chef/cache/cookbooks/jenkins/libraries/slave_jnlp.rb:57:in `load_current_resource'
C:/chef/cache/cookbooks/jenkins/libraries/slave_windows.rb:72:in `load_current_resource'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/provider.rb:103:in `run_action'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource.rb:625:in `run_action'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:49:in `run_action'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:81:in `block (2 levels) in converge'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:81:in `each'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:81:in `block in converge'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection.rb:98:in `block in execute_each_resource'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection.rb:96:in `execute_each_resource'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:80:in `converge'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/client.rb:335:in `converge'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/client.rb:415:in `do_run'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/client.rb:214:in `run'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application.rb:215:in `run_chef_client'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application/client.rb:314:in `block in run_application'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application/client.rb:306:in `loop'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application/client.rb:306:in `run_application'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application.rb:66:in `run'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/bin/chef-client:26:in `<top (required)>'
C:/opscode/chef/bin/chef-client:23:in `load'
C:/opscode/chef/bin/chef-client:23:in `<main>'
Running handlers:
[2014-03-05T10:16:26+00:00] ERROR: Running exception handlers
Running handlers complete
[2014-03-05T10:16:26+00:00] ERROR: Exception handlers complete
[2014-03-05T10:16:26+00:00] FATAL: Stacktrace dumped to C:/chef/cache/chef-stacktrace.out
[2014-03-05T10:16:26+00:00] DEBUG: Mixlib::ShellOut::ShellCommandFailed: jenkins_jnlp_slave[windows-node] (acme-ci::node line 28) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy = <<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT ----
STDOUT:
STDERR: << was unexpected at this time.
---- End output of java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy = <<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT ----
Ran java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy =
<<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT returned 1
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.3.0-x86-mingw32/lib/mixlib/shellout.rb:253:in `invalid!'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.3.0-x86-mingw32/lib/mixlib/shellout.rb:239:in `error!'
C:/chef/cache/cookbooks/jenkins/libraries/_executor.rb:77:in `execute!'
C:/chef/cache/cookbooks/jenkins/libraries/_executor.rb:104:in `groovy!'
C:/chef/cache/cookbooks/jenkins/libraries/slave.rb:600:in `current_slave'
C:/chef/cache/cookbooks/jenkins/libraries/slave.rb:298:in `load_current_resource'
C:/chef/cache/cookbooks/jenkins/libraries/slave_jnlp.rb:57:in `load_current_resource'
C:/chef/cache/cookbooks/jenkins/libraries/slave_windows.rb:72:in `load_current_resource'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/provider.rb:103:in `run_action'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource.rb:625:in `run_action'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:49:in `run_action'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:81:in `block (2 levels) in converge'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:81:in `each'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:81:in `block in converge'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection.rb:98:in `block in execute_each_resource'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/resource_collection.rb:96:in `execute_each_resource'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/runner.rb:80:in `converge'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/client.rb:335:in `converge'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/client.rb:415:in `do_run'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/client.rb:214:in `run'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application.rb:215:in `run_chef_client'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application/client.rb:314:in `block in run_application'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application/client.rb:306:in `loop'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application/client.rb:306:in `run_application'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/lib/chef/application.rb:66:in `run'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.10.4-x86-mingw32/bin/chef-client:26:in `<top (required)>'
C:/opscode/chef/bin/chef-client:23:in `load'
C:/opscode/chef/bin/chef-client:23:in `<main>'
Chef Client failed. 3 resources updated in 45.084297 seconds
[2014-03-05T10:16:26+00:00] DEBUG: Server doesn't support resource history, skipping resource report.
[2014-03-05T10:16:26+00:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: jenkins_jnlp_slave[windows-node] (acme-ci::node line 28) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy = <<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT ----
STDOUT:
STDERR: << was unexpected at this time.
---- End output of java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy = <<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT ----
Ran java -jar C:\\chef\\cache/jenkins-cli.jar -s http://jenkins.acme.com -i C:\\chef\\cache/jenkins-key groovy =
<<-GROOVY_SCRIPT
import hudson.model.*
import hudson.slaves.*
import jenkins.model.*
import jenkins.slaves.*
slave = Jenkins.instance.getNode('windows-node') as Slave
if(slave == null) {
return null
}
current_slave = [
name:slave.name,
description:slave.nodeDescription,
remote_fs:slave.remoteFS,
executors:slave.numExecutors.toInteger(),
usage_mode:slave.mode.toString().toLowerCase(),
labels:slave.labelString.split().sort(),
environment:slave.nodeProperties.get(EnvironmentVariablesNodeProperty.class)?.envVars,
connected:(slave.computer.connectTime > 0),
online:slave.computer.online
]
// Determine retention strategy
if (slave.retentionStrategy instanceof RetentionStrategy.Always) {
current_slave['availability'] = 'always'
} else if (slave.retentionStrategy instanceof RetentionStrategy.Demand) {
current_slave['availability'] = 'demand'
retention = slave.retentionStrategy as RetentionStrategy.Demand
current_slave['in_demand_delay'] = retention.inDemandDelay
current_slave['idle_delay'] = retention.idleDelay
} else {
current_slave['availability'] = null
}
builder = new groovy.json.JsonBuilder(current_slave)
println(builder)
GROOVY_SCRIPT returned 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment