[Openstack] Introducing Warm, a tool to setup environment from Yaml
Sahid Ferdjaoui
sahid.ferdjaoui at cloudwatt.com
Mon Nov 25 10:29:05 UTC 2013
Hello all,
It's my first message on the ML so maybe I have to introduce myself. My name is
Sahid Ferdjaoui, I'm working at Cloudwatt and I'm really happy to be part of
this great community.
I wanted share with you a tool to setup environments from templates. It exposes
APIs on Yaml and I hope it could be useful for some of us.
The sources code is on GitHub: https://github.com/sahid/warm
The code is not completely mature and you can find inconsistencies, feel free to
give me any feedbacks.
As examples I have pushed templates; One to setup a multi-nodes OpenStack using
devstack, could be useful for developers and an other to setup a WordPress with
dedicated webserver, database and proxy.
The template on GitHub: https://github.com/sahid/warm-templates
First of all we need to install Warm. We can do that with the command pip.
(It needs some deps so don't forget to check the README before to launch the
install. https://github.com/sahid/warm/blob/master/README)
$> sudo pip install warm
You can check if Warm is correctly installed
$> warm -v
0.1.25
We will try to setup a WordPress:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$> git clone https://github.com/sahid/warm-templates
$> cd warm-templates/wordpress
Warm can read OS_* env, if not defined it checks in the template to get credentials.
Please read config.yaml.sample for more information:
https://github.com/sahid/warm/blob/master/templates/config.yaml.sample
Is good to read stack.yaml and userdata/* to maybe update these files for
your OpenStack. It's in Yaml and Bash/CloudInit so really easy to understand.
Now we can deploy our environment...
$> warm stack.yaml
Note: Warm doesn't recreate resources already exists and mixes names/ids.
We can use 'nova console-log' to verify if all run well.
$> nova console-log {proxy, mysql, web}
If all sounds good we have to add a public ip, yes Warm is not able yet
to configure floating ip.
$> nova add-floating-ip proxy <addr>
Now just go to the <addr> to play with WordPress.
Please feel free to send me any comments, bugs or requests. I will be happy to work
on these.
PS: Warm is not really documented but the code is simple, if you want to find
what is currently supported just go to components/__init__.py, 'whitelist' is a
good variable to look at to find supported options for a component.
Thanks for your time,
s.
More information about the Openstack
mailing list