I wanted to share some work I've done around setting up multinode environments and reproducing tripleo-ci jobs on those environments on OpenStack using Heat:
https://github.com/slagle/traas traas is a set of Heat templates and wrapper scripts arond toci_gate_test.sh mostly. You can think of traas as taking on the role that is done by nodepool and devstack-gate in CI, but using Heat instead. I'm not *proposing* replacing either of those tools in our actual CI jobs. traas could just be used when you have access to an OpenStack cloud with Heat that you want to use for TripleO development. The Heat templates are used to bring up a multinode environment, and then trigger some SoftwareDeployment resources on the undercloud node to execute a tripleo-ci job. The main template is: https://github.com/slagle/traas/blob/master/templates/traas.yaml You can see the resources there for an undercloud node and set of overcloud nodes, etc. Once the nodes are up, the main script that is triggered is: https://github.com/slagle/traas/blob/master/scripts/traas.sh That is a simple wrapper around toci_gate_test.sh. The $TOCI_JOBTYPE variable (passed in via a Heat parameter) is what drives which job is executed. So far I've tested with multinode-nonha-oooq and multinode-nonha. Since it just executes toci_gate_test.sh, what tool tripleo-ci uses for that jobtype is what tool gets used to execute the job (tripleo-quickstart, tripleo.sh, etc). In either case, it executes the ci job end to end and then leaves the environment up at the end for inspection and/or development. I should mention that I started with (inspired by) the templates from openstack-virtual-baremetal: https://github.com/cybertron/openstack-virtual-baremetal/tree/master/templates which we are already using in CI to bring up OVB environments. The work in traas takes that a bit further by adding multinode support and actually triggering the CI job execution. We can integrate the traas work back into openstack-virtual-baremetal if folks are open to that route. Long term, I think it would be cool if we had a scenario where someone could log in to Horizon, go to the Heat interface and just click a button or 2 to bring up a TripleO multinode environment (with different pre-canned templates for different releases, configurations, etc). This ought to be achievable because the cli to start the traas stack is simply: openstack stack create traas -t traas/templates/traas.yaml \ -e traas/templates/traas-resource-registry.yaml \ -e traas/templates/env.yaml Note that I have found several issues/wrinkles with running toci_gate_test.sh locally on a clean CentOS environment which I've started addressing in this branch: https://review.openstack.org/#/q/topic:traas Any feedback is welcome. -- -- James Slagle -- __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev