Hi,

On Tue, Jul 2, 2019 at 2:26 PM Fabien Boucher <fboucher@redhat.com> wrote:
Hi,

On Tue, Jul 2, 2019 at 1:21 AM Miroslav Vadkerti <mvadkert@redhat.com> wrote:
Hi,

This is awesome! Looking forward meeting you on Flock to discuss where this is going.



Sure.
 


* Run jobs when PRs are opened/changed on a Pagure instance. Recently Zuul added support for Pagure events so we were able to set up some packaging jobs on Zuul triggered by PRs on src.fedoraproject.org. There are three jobs attached:
** The first job runs a scratch build on Koji and shares artifacts (rpms) with two child jobs.

Oh right :) thanks! make sense ...

 

Zuul-gateway seems to be quite a workaround, is the long term plan to change to support event based triggers "directly" ?



Yes it is a workaround. We have started a discussion about an AMQP trigger with Zuul's maintainers http://lists.zuul-ci.org/pipermail/zuul-discuss/2019-May/000929.html. But no real plan for the moment.

Thanks for the pointers ...



My Testing Farm team would like to experiment using Zuul for our workflows.


Sure, let's us know how we could help.

Thanks, will leave that for discussion for Flock.

 
 
Does Nodepool support prioritization of different drivers? We would like to offload some of our workloads to AWS in case of spikes, but would like to use it only if non-paid resources (Openstack, Openshift) had been exhausted.


AFAIK not out of the box. But with an external process you might be able to detect your are out of quota on the OpenStack provider and push in the Nodepool providers configuration the setting AWS:max-server value from 0 to something else. Then Nodepool will start to use the AWS provider. When spikes stop you revert the max-server setting to 0 then Nodepool will stop spawning nodes on AWS. 

Agreed, thanks for the pointers!
 

How is the driver selected for a job? Our testing jobs describe an environment which we would like the CI system to translate to a specific driver, according to an predefined priority.

A job definition in Zuul needs to specify a nodeset. A nodeset is a collection of nodes for the job's Ansible inventory. Each node must match a Nodepool node's label. In other words in Nodepool you define the nodes details (provider type (openstack/aws/...), base image, VM flavor) and set labels to nodes. In Zuul, via a nodeset, you define the available nodes (using the Nodepool labels) for the job's inventory. For instance you could have the same label accross multiple providers. However there is not any priority system in that mechanics. https://zuul-ci.org/docs/zuul/user/config.html#nodeset

Thanks for the explanation! 
 
 
How hard would it be to support non-Ansible based jobs please?

Difficult to respond w/o more details, Zuul only understand a pre-defined job format https://zuul-ci.org/docs/zuul/user/config.html#job so a migration tool would need to be written.

Agreed, James replied to what I wanted to know.


Best regards,
/M

 
 
_______________________________________________
CI mailing list -- ci@lists.fedoraproject.org
To unsubscribe send an email to ci-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/ci@lists.fedoraproject.org


--
Miroslav Vadkerti :: Principal QE :: Testing Farm / OSCI / BaseOS QE
IRC mvadkert #tft #baseosci #osci :: GPG 0x7B5B2E95
TPB-C 2C215 :: Mobile +420 773 944 252
Red Hat Czech s.r.o, Purkyňova 115, 612 00, Brno, CR