[Rdo-list] [OFI] Dynflow orchestration POC draft

Petr Chalupa pchalupa at redhat.com
Mon Feb 24 13:54:26 UTC 2014


Hello,

I'm sending out a Dynflow orchestration draft for proof-of-concept to 
start a discussion.

With regards to having it asap I would use:

1.  [Dynflow][1] - workflow engine written originally for Katello.
2.  [ForemanTasks][2] - Rails engine that adds Dynflow integration with 
Foreman.
3.  [Astapor manifests][3] - top level classes configuring OpenStack HA 
hosts. There is [top-level puppet class][4] for each role.
4.  [Puppetrun][5] - to manually trigger puppet run on Foreman host.

## Minimal POC

Minimal POC would be reusing Astapor manifests. There would be dynflow 
added to avoid the manual steps between configuring OpenStack hosts 
(Controllers then Computes, etc.).

It would start by triggering Dynflow action which would:

1.  provision needed number of hosts in parallel.
2.  configure all-in-on controller using Astapor class.
     -   adding the class to the host.
     -   triggering puppet run.
3.  configure nova compute hosts using Astapor class. Same sub-steps.
4.  configure additional hosts in right order with neutron, swift, cinder.

(I'll probably start with µ-POC skipping 1. and 4.)

## Open questions

-   Is there a simpler way how to trigger puppet run on a given host?
-   From a quick look Astapor modules should work for us, needs to be 
verified.
-   What would you improve?
-   Do you see any compilations?

[1]: https://github.com/Dynflow/dynflow/
[2]: https://github.com/inecas/foreman-tasks
[3]: 
https://github.com/redhat-openstack/astapor/tree/master/puppet/modules/quickstack
[4]: 
https://github.com/redhat-openstack/astapor/blob/master/bin/seeds.rb#L323-L342
[5]: http://projects.theforeman.org/projects/foreman/wiki/Puppetrun

I'll also send another email describing better solution to support 
multiple layouts later this week.

Petr




More information about the dev mailing list