Hi Pablo, all,

> Maybe for the future you want to evaluate to option of delegating to
> terraform the communication with cloud apis and rely in ansible only for
> configuration.

This is certainly a good suggestion, and an option I would like to
explore.  Can we make an EnhanceR project out of it? :-)

That said, I had been thinking of doing a similar thing but with
Ansible (which has a large number of modules dedicated to
provisioning), see: https://github.com/gc3-uzhent
-ch/elasticluster/issues/364
>From what I understand of the Terraform website (no direct
experience), this would be similar to writing a TF configuration and
then applying it.

The idea has been actually already implemented in TmDeploy (see [1]),
a specialized deployment script that builds on ElastiCluster, and the
outcome is "mixed" in my opinion.

On the good side, using Ansible allowed TmDeploy to easily implement
features that have been on my TO-DO list for a long time (e.g.,
creating and attaching additional volumes to VMs).

On the bad side, there are a few inconveniences:

- Error reporting is *bad*: if something goes wrong, you're left with
an Ansible playbook failure which is typically very hard to debug
(say, the first step is extracting an actual error message from a JSON
dump...)  Basically there's nothing that can be done here, since we're
just calling an external program. This means, ElastiCluster would
become even less user-friendly (if possible) and support requests
would increase...  (but maybe TF is much better in this regard, I do
not know)

- Infrastructure deployment is slow: by construction, Ansible
playbooks are executed sequentially so you wait for one VM to come up,
then start another, then another... There might be some tricks to
apply here but getting too smart makes error detection and reporting
even worse... (Again, it's quite possible that TF is better in this
respect since it apparently compiles a dependency graph and I presume
that it can effect independent changes concurrently.)

Does anyone have other experiences?  Suggestions?

Ciao,
R

-- 
You received this message because you are subscribed to the Google Groups 
"elasticluster" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to