OpenNebula devops tools integration

Hi all.
Im new to OpenNebula, just found it during investigation what platform to use for small private cloud.

And now Im trying to understand what devops tools have integration with OpenNebula.
After briefly investigation I realized, that ( from ansible, chef, saltstack, puppet, terraform, jenkins and some others)
Only puppet has some modules ( and most of them for installing OpenNebula itself)

Important note: Im not looking how to install OpenNebula itself with this tools, but to use them to automate infrastructure provisioning inside OpenNebula.

The one way I see now, it’s to write this integration myself: provider to terraform, modules for chef/ansible and etc…
Did I missed something and all this was done?

Hello, I think that nothing is done :(…recentrly I play with public ECONE API, which simulates EC2 API, but there are only some function, I have to program resp. fake some by myself to make it work with docker-machine ec2 driver, but I think, that can be used for provision VMs from ansible and also EBS (Datablock images). But it is too simple.

I like to write own opensource project, which replaces econe, it is basicly middleware or proxy between opennebula XML-RPC and EC2 API Spec.

Are you interested in writing this project?

Hello.

Sounds good, but Im thinking in a way of writing terraform provider for opennebula. This is what I need most of all. At the same time, for me opennebula is one of the possible choices (between cloudstack, openstack and etc…). And I want to concentrate on building final solution, not to developing integrations. Thats why I try to get as much information as possible before decide what to do.

I understand, but developing EC2 API gateway for OpenNebula makes possibility to use many tools with EC2 integration

Now, Im waiting sandbox with opennebula to play with it and understand general capabilities and how stable they are. When I have more clear understanding about it, Ill decide what way to choose.

Do you now any success stories with opennebula? (with who, what, how, when description)

You can find success stories here https://opennebula.org/users/userstories/

I personally use OpenNebula for about 2 years and I think that was right decision.

I’ve been looking into this too. I did notice there are some golang bindings for the OpenNebula API on github, but they’re unofficial (despite being developed by one of the OpenNebula devs).

There are also two separate terraform providers but these are not distributed along with terraform itself so you’ll have to build them.

There’s also a docker-machine backend for OpenNebula which shares code with some or all of the above.

I don’t have the links to hand but will take a look today and post them if I can.

The only terraform provider I found is https://github.com/runtastic/terraform-provider-opennebula
It covers only few resources and not under active development.

There is a terraform provider (runtastic uses it, ask them on github? :slight_smile:
There’s also Fog, a standard library for dozens of cloud APIs that has OpenNebula support.
There is also OCCI support for those looking for really open standards instead of tools.

Is that provider https://github.com/runtastic/terraform-provider-opennebula ? It have only 4 resources from near 20 and it looks like not under active development.
Do you know any more providers?

That runtastic one is the one I know of. There’s one more I’ve heard mentioned but I haven’t been able to find it.

It’d be good if both the go bindings and a terraform provider were made official, given some development time and made more full featured. Is anyone from OpenNebula Systems able to say whether or not this is likely in the near future?

Hi all,

About the go bindings, they are in fact being moved to OpenNebula’s main source tree, and they’ll be part of the official distribution from v5.6.

About terraform there are not specific plans for it in our short term roadmap. However if there is enough interest from the community we can add it; probably using runtastic’s work as starting point.

It would be great if someone interested can open a feature request at github.com/OpenNebula/one. We’d love to here what is currently missing so we can plan the development accordingly; and move any technical discussion there .

Cheers

3 Likes

Hi all,

I am really interested about the Terraform Provider. I am trying to include official Goca (added under OpenNebula repo for the 5.6 release) in a customer provider I am doing based on https://github.com/blackberry/terraform-provider-opennebula (which is based on https://github.com/runtastic/terraform-provider-opennebula).
But before doing my own provider, I think it is better to include the provider from Blackberry (it is recent thant the runtastic one) into OpenNebula repo and then migrate the provider under the Goca.
I am volunteer to integrate official Go binding into this provider.

As Go bindings are now fully part of OpenNebula, it is not really easy to use only them as an import into an external Go tool without importing the entire OpenNebula repo.
An idea could be to have a git module for the Goca, then it is quite easy to use it as a submodule of a project, but I think it is easier to include the Terraform Provider into OpenNebula if you are aligned with this idea of course.

As I didn’t contribute on these project yet, I think am not the right person to open the Feature request. However if you think I can and it will something like that: Adding Terraform provider into OpenNebula repo

Thank you for your help,

Sorry @ilia, I am just talking about the Terraform provider and not other Devops tools. If you think it is not appropriate, i can start another topic.

Best regards

Jean-Philippe

Take a look at the recent post about the Terraform Provider that is now in the OpenNebula Add-on Catalog. Thanks Iguane Solutions!

https://opennebula.org/terraform-provider-for-opennebula-in-the-add-on-catalog/