[ 
https://ovirt-jira.atlassian.net/browse/OVIRT-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Barak Korren updated OVIRT-2254:
--------------------------------
    Description: "Create a set of jobs and groovy functions that will enable 
one Jenkins master to borrow slaves from another Jenkins master.\r\n\r\nh3. 
Acceptance criteria\r\n# Create a job that allows another Jenkins instance to 
borrow a slave from the instance the job runs on. The job will:\r\n#* Take the 
following parameters:\r\n#** The IP and JNLP port of the Jenkins that is 
borrowing the slave\r\n#** The JNLP secret to register to the Jenkins that is 
borrowing the slave\r\n#** A YAML/JSON structure with node requirements that 
includes:\r\n#*** A *kind* field set to \"{{stdci_node_req}}\"\r\n#*** An 
*apiVersion* field set to \"{{1}}\".\r\n#*** The project *name*.\r\n#*** The 
project *clone_ur*, *branch* and *refspec*.\r\n#*** The STDCI thread *stage*, 
*substage*, *distro* and *arch*.\r\n#*** The STDCI 
*runtime_requirements*.\r\n#* Attempt to find a slave meeting the specified 
requirements\r\n#* If slave found:\r\n#** Set it to be used only with matching 
label expressions\r\n#** Label it with \"borrowed\"\r\n#** Start the JNLP 
client on the slave to make it connect to the borrowing Jenkins\r\n#** Archive 
an artifact containing the name on the slave.\r\n#** Finish successfully\r\n#* 
If slave not found - finish with an error.\r\n# Create a groovy function to be 
used from STDCI to borrow a slave. The function will:\r\n#* Allocate a JNLP 
node record for the new slave witha  random temporary name starting with 
\"borrowed_\" to get a JNLP secret.\r\n#* Set a random label to the node 
record\r\n#* Launch the borrow slave job on a remote Jenkins instance that can 
be configured in JJB YAML by using the \"Parametrized Remote Trigger\" 
plugin\r\n#* If the job is successful:\r\n#** Rename the node record to the 
name of the slave we get from the artifact created by the borrow slave job with 
the 'borrowed_' prefix added.\r\n#** Return the random label allocated to 
it\r\n# Create a job that makes a jenkins instance release slaves it borrowed " 
 (was: Create a set of jobs and groovy functions that will enable one Jenkins 
master to borrow slaves from another jenkins master.

h3. Acceptance criteria
)

> Create slave borrowing flow
> ---------------------------
>
>                 Key: OVIRT-2254
>                 URL: https://ovirt-jira.atlassian.net/browse/OVIRT-2254
>             Project: oVirt - virtualization made easy
>          Issue Type: New Feature
>          Components: Jenkins Master, Jenkins Slaves
>            Reporter: Barak Korren
>            Assignee: infra
>
> Create a set of jobs and groovy functions that will enable one Jenkins master 
> to borrow slaves from another Jenkins master.
> h3. Acceptance criteria
> # Create a job that allows another Jenkins instance to borrow a slave from 
> the instance the job runs on. The job will:
> #* Take the following parameters:
> #** The IP and JNLP port of the Jenkins that is borrowing the slave
> #** The JNLP secret to register to the Jenkins that is borrowing the slave
> #** A YAML/JSON structure with node requirements that includes:
> #*** A *kind* field set to "{{stdci_node_req}}"
> #*** An *apiVersion* field set to "{{1}}".
> #*** The project *name*.
> #*** The project *clone_ur*, *branch* and *refspec*.
> #*** The STDCI thread *stage*, *substage*, *distro* and *arch*.
> #*** The STDCI *runtime_requirements*.
> #* Attempt to find a slave meeting the specified requirements
> #* If slave found:
> #** Set it to be used only with matching label expressions
> #** Label it with "borrowed"
> #** Start the JNLP client on the slave to make it connect to the borrowing 
> Jenkins
> #** Archive an artifact containing the name on the slave.
> #** Finish successfully
> #* If slave not found - finish with an error.
> # Create a groovy function to be used from STDCI to borrow a slave. The 
> function will:
> #* Allocate a JNLP node record for the new slave witha  random temporary name 
> starting with "borrowed_" to get a JNLP secret.
> #* Set a random label to the node record
> #* Launch the borrow slave job on a remote Jenkins instance that can be 
> configured in JJB YAML by using the "Parametrized Remote Trigger" plugin
> #* If the job is successful:
> #** Rename the node record to the name of the slave we get from the artifact 
> created by the borrow slave job with the 'borrowed_' prefix added.
> #** Return the random label allocated to it
> # Create a job that makes a jenkins instance release slaves it borrowed 



--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100087)
_______________________________________________
Infra mailing list -- infra@ovirt.org
To unsubscribe send an email to infra-le...@ovirt.org
Privacy Statement: https://www.ovirt.org/site/privacy-policy/
oVirt Code of Conduct: 
https://www.ovirt.org/community/about/community-guidelines/
List Archives: 
https://lists.ovirt.org/archives/list/infra@ovirt.org/message/4HMJPI42TLM6K35SZYBDLOWJ2MZ7ZXQA/

Reply via email to