On 26/02/15 17:59, James E. Blair wrote:
A new Zuul component would be created to execute jobs.  Rather than
running a worker process on each node (which requires installing
software on the test node, and establishing and maintaining network
connectivity back to Zuul, and the ability to coordinate actions across
nodes for multi-node tests), this new component will accept jobs from
Zuul, and for each one, write an ansible inventory file with the node
and variable information, and then execute the ansible playbook for that
job.  This means that the new Zuul component will maintain ssh
connections to all hosts currently running a job.  This could become a
bottleneck, but ansible and ssh have been known to scale to a large
number of simultaneous hosts, and this component may be scaled
horizontally.  It should be simple enough that it could even be
automatically scaled if needed.  In turn, however, this does make node
configuration simpler (test nodes need only have an ssh public key
installed) and makes tests behave more like deployment.

Hello James,

Something worry me, is that the Zuul scheduler layout file might end up very long and complicated since it will define both the workflow and the tasks with their context. The later is currently done in Jenkins jobs

On this list Monty had the idea to teach JJB to generate Ansible tasks in addition to the Jenkins XML configuration files. I have seen a patch in JJB to expand the JJB YAML definitions, essentially producing a YAML per job. Each can surely be converted to an Ansible task and be made available on the nodes.

One can surely write a tiny zuul-worker client that would execute on the node, register to the Gearman bus and expose all ansible tasks it is able to run. Such a worker could be isolated in a virtual env to avoid dependencies conflicts.

This way the layout.yaml remains simple, you can reuse all the jobs definitions and people can write pure ansible task if need be.

My 0.02 cents

--
Antoine Musso

_______________________________________________
OpenStack-Infra mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra

Reply via email to