run job chain parameter-depended on different slaves at the same time

44 views
Skip to first unread message

Lampe, Ingo

unread,
Jan 14, 2016, 8:26:51 AM1/14/16
to jenkins...@googlegroups.com

Hello,

 

I have the following  problem

 

 

1 jenkins master (1.625.3)

 

2 windows 7 slaves ( connected and started over JLNP):

-        slave1

-        slave2

 

3 job: (TestStarter -> FlashEcu -> TestEcu)

 

 

 

DownstreamTrigger
of

Job Test_Starter

DownstreamTrigger
of

Job FlashEcu

 

master| Test Starter

 

Slave1 | FlashEcu

Slave1 | TestEcu

Slave2 | FlashEcu

Slave2 | TestEcu

..

 

 

the job will be triggered on the special slave depending on the parameter CurrentVariant(Variant1-3 runs on slave 1,Variant4 runs on slave2)

 

This work generally fine but the test takes much time, so it would be nice if the test job(FlashEcu & TestEcu) can run parallel on the 2 or more slaves.

 

I have tried it with the Throttle Concurrent Build plugin, but it worked not really parallel the FlashJob will be blocked till it has ended.

 

Can anyone help me or give me a hint?

 

Best Regards

 

Ingo

 

 

 

 

ingo....@googlemail.com

unread,
Jan 15, 2016, 7:04:43 AM1/15/16
to Jenkins Users, Ingo....@magna.com

Hello,


sorry some additional informations.

 

I tried to realize this mainly with this plugins:

 

- NodeLabel Parameter Plugin

- Parameterized Trigger Plugin

Eric Engel

unread,
Jan 15, 2016, 7:56:27 AM1/15/16
to jenkins...@googlegroups.com

Hi Ingo,

 

First:

Do you have more than one executor per slave? If not, it is not possible for Jenkins to start more than one job.

 

Second:

The fact that Jenkins never starts two absolutely identical jobs was recently discussed in this group and is also mentioned on the Throttle Concurrent Builds wiki page: https://wiki.jenkins-ci.org/display/JENKINS/Throttle+Concurrent+Builds+Plugin This may be your case if your builds are started with exactly the same parameters. For resolution please search the history of the mailing list.

 

Regards

Eric

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/163d40d4-4303-4593-935a-1f6018f861d2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



Hinweis: Diese E-Mail und/oder die Anhänge sind vertraulich und ausschließlich für den bezeichneten Adressaten bestimmt. Die Weitergabe oder Kopieren dieser E-Mail ist strengstens verboten. Wenn Sie diese E-Mail irrtümlich erhalten haben, informieren Sie bitte unverzüglich den Absender und vernichten Sie die Nachricht und alle Anhänge. Vielen Dank.

ingo....@googlemail.com

unread,
Jan 15, 2016, 10:42:14 AM1/15/16
to jenkins...@googlegroups.com
Hi Eric,

thank you for your Response.
It is not quite the same scenario you described.

First:
master: 2 executors
slave1: 1 executor
slave2: 1 executor

Maximum Total Concurrent Builds=2 or 0
Maximum Concurrent Builds Per Node=1

slave1 and slave2 in group Test_PC_Group1.

The job Test_Starter is restricted to run on the master
The jobs(FlashEcu,TestEcu) are restricted run on Test_PC_Group1.


Seond:

the build has not identically parameters:

there is a Parameter called Current_Variant which can be Variant 1 - Variant 4.
FlashEcu (Variant1,Variant2,Variant3) runs on slave1
FlashEcu (Variant3) runs slave1

dependend on this value in the Job preparation section will be set  the parameter Exeucting_Slave which which is the node where the downstream job should run.

Executing_Slave=slave1 or slave2

On triggering the the downstream build this parameter will given as NodeLabelParameter to the doenstream job (FlashEcu).

So the Scenario is

master                          Slave1 Actual Build        Slave2 Actual Build           Slave1 next Build         Slave2 next Build
TestStarter[Variant1     ->Flash Ecu[Variant1]                                                  ->TestEcu[Variant1]
TestStarter[Variant4                                            ->Flash Ecu[Variant4]                                            ->TestEcu[Variant1]

only on execution per slave is needed, but the job chain (flashEcu->TestEcu)  per node must be run complety !!!

So is it Possible with this plugins:

- Throttle Concurrent Builds Plugin

- EnvInject Plugin



If there is a working solution please give me hints to solve it.

It would be very nice  this can be later adpated with matrix builds ( plugins installed but jobs not matrix-configured).

Thanks in Advance.

Best  Rregards
Ingo
Reply all
Reply to author
Forward
0 new messages