![]() |
|
|
|
|
Issue Type:
|
Bug
|
|
Assignee:
|
Unassigned |
|
Components:
|
master-slave |
|
Created:
|
03/Apr/14 10:56 PM
|
|
Description:
|
When running a multi-configuration project defined in Jenkins, it does not respect the "Label _expression_" to "Restrict where this project can be run" under the project's "Advanced Project Options" configuration. If multiple slaves nodes exist, but are not included in the Label _expression_ for the project, they can still be sent build configurations anyway, which can result in build failures or erroneous builds made in incorrect environments.
Prerequisites:
- Jenkins master installed.
- Multiple slave nodes connected to Jenkins master.
- Multiple discrete labels to contain nodes.
Steps to reproduce:
- Create new Jenkins project. (Click "New Item".)
- Give new item a name, and select Multi-Configuration project by selecting "Build multi-configuration project".
- Create at least one user-defined axis with at least two values, e.g. the axis name TestAxis and the values TestValue1 and TestValue2.
- Restrict the project to include one node but exclude all other nodes.
- Under "Advanced Project Options", tick the checkbox "Restrict where this project can be run"
- Refer to the labels you have defined from the above pre-requisite and use a label which refers only to one node. Optionally, use the specific node's name, e.g. if a node is named TestNode1, use this value.
- Define a build step of some sort. For simplicity's sake, I used a shell script that simply consisted of one line: echo ${TestAxis}
- Run the project.
Results:
The project's build configuration will be sent to slave nodes other than the ones explicitly defined in the "Restrict where this project can be run" configuration.
Expected results:
Label restrictions are enforced/respected on Multi-Configuration Projects, as they are on other project types.
Notes:
- Even using a label _expression_ such as TestNode1 && !TestNode2, project configurations were still sent to TestNode2 to be built.
- A workaround is to add the Slaves axis to the project's configuration matrix, and select which slaves nodes to use there, and to not use label restriction in Advanced Project Options.
- This is not a duplicate of the quite similar issue
JENKINS-5987, as it described repository checkouts occurring on incorrect nodes, and does not describe the steps listed above.
|
|
Project:
|
Jenkins
|
|
Labels:
|
multi-configuration
|
|
Priority:
|
Major
|
|
Reporter:
|
Courtland Jones
|
|
|
|
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
|
--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
[email protected].
For more options, visit
https://groups.google.com/d/optout.