]
Barak Korren updated OVIRT-2254:
--------------------------------
Assignee: Barak Korren (was: infra)
Status: In Progress (was: To Do)
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: Barak Korren
Create a set of jobs and groovy functions that will enable one Jenkins master to borrow
slaves from another Jenkins master.
h3. Acceptance criteria
# We define a borrower and a borrowing Jenkins instances. Ans support the use case where
both are the same instance
# Borrowing is done by setting up a JNLP connection from the slave of the borrower
instance to to borrowing instance.
# On the borrower instance:
## We have a "borrow" job that:
##* Takes slave requirement details, allocates a matching slaves and make it connect via
JNLP to the borrowing instance
##* If all matching slaves are already borrowed by other instances, try to call the
garbage collector jobs (see below) on borrowing instances to free the slaves.
## We have a "return" job that is called by a borrowing instance to return a
slave
# On the borrowing instance
## STDCI tries to borrow slaves from a predefined instance if not matching slaves are
available locally
## Once borrowed - slaves stay attached to the borrowing instance so they can be reused
by other STDCI jobs.
## We have a "garbage collector" job that is triggered periodically or by the
borrower instance. It looks at borrowed slaves, and frees ones that were not used
recently.