Is there an easy way to do so from jenknis job without failing the job
with slave connection error? Most projects I know that use ephemeral
slaves have to work around it by having a job that starts/creates a
slave tag and provisions the slave, and removes it at the end, if we
can skip that extra job level better for us.
Maybe we could use [1] or [2] to trigger an external service.
We can use [3] to prevent race conditions. It also opens up a
possibility of a 'garbage collector' job that will shut down and
remove offline slaves (which will cause pool VMs to come back up clean
and re-join Jenkins with the swarm client)
iirc the puppet manifest for jenkins already has integration with the
swarm plugin, we can use that instead.
Great, I'll look into that.
Can't we just use a reserved range for those machines instead? there's
no need to remove from foreman, it can work with machines it does not
provision.
Do we have such a range available? I was under the impression I will
have to wrestle it out of our existing range in which Foreman had been
poking holes at random...
I'm in favor of using an internal network for the jenkins slaves, if
they are the ones connecting to the master there's no need for
externally addressable ips, so no need for public ips, though I recall
that it was not so easy to set up, better discuss with the hosting
I think that even with swarm, eventually its Jenkins itself that will
open connections to the slaves (Swarm plugin afaik is just used to
notify Jenkins about slave existence, after taht it is used just like
a regular slave, with SSH from Jenkins), so you will need external
addresses for slaves as long as Jenkins in not running in PHX.
Can't you just autoasign a hostgroup on creation on formean or
something?
Quick search throws a plugin that might do the trick:
https://github.com/GregSutcliffe/foreman_default_hostgroup
+1 on moving any data aside from the hostgroup assignation to hiera
though, so it can be versioned and peer reviewed.
I kinda prefer to move foreman out of the provisioning process here,
I'm burned by our bad experience with it.
At it seems to me we are agreed on this.
[1]:
https://wiki.jenkins-ci.org/display/JENKINS/Notification+Plugin
[2]:
http://git.openstack.org/cgit/openstack-infra/zmq-event-publisher/tree/RE...
[3]:
https://wiki.jenkins-ci.org/display/JENKINS/Single+Use+Slave+Plugin
--
Barak Korren
bkorren(a)redhat.com
RHEV-CI Team