can devstack be built for automated instances as a testbed?

asked 2015-04-09 16:03:09 -0500

dennington-bear gravatar image

This maybe flagged as not a question but more so looking for opinionated answers if this is so I apologise to the moderators.

Currently I am doing my thesis for a software dev course. Im doing it on node.js performance and how well it could work being used within the online multi-player gaming sector etc. Currently I have a prototype that works and stress tests node. I have limited knowledge of Openstack but from what I think I understand from reading through a couple of documents about Openstack is what I want to see if it is possible.

Basically what I would like to do is this:

Get Openstack running so that upon the creation of a vm my node program will run,
--If I have to compile my own version of ubuntu with say shell scripts so that happens I will.
Make the instance viewable to the public,
--e.g. whoever can access the network its on can view it
Automate vm creation whereby using an ip amount another vm could spawn and vice versa for deletion
--e.g. for testing purposes if say the first instance has two ips looking at it, create a new instance or vice versa.
Is this viable or is my view of what openstack is completely wrong?
I feel this could show that only servers would not have to be constantly running due to the spawing of vm's when neccassary I have been messing around with devstack (the all-in-one build) for a few days and would just like to know if this is possible.(I can only use devstack due to limitions on hardware)
Any help would be greatly appreciated

edit retag flag offensive close merge delete


I just want to say thank you all for your input and I am going to look into trying to get this working so look forward to more questions over the coming weeks(these will be proper questions and not informal like this) again thank u all very much

dennington-bear gravatar imagedennington-bear ( 2015-04-11 18:40:55 -0500 )edit

3 answers

Sort by ยป oldest newest most voted

answered 2015-04-10 11:49:08 -0500

smaffulli gravatar image

Devstack is not for production loads but if I understand your scenario correctly, yes, you can do that. OpenStack is, for example, used to test itself.

You would need to setup an OpenStack cloud, build custom images with your node.js stuff and all the init/systemd scripts you need. You want to read more about Glance (the image service) and Heat (for the automatic scalability part of your testbed.)

edit flag offensive delete link more

answered 2015-04-10 13:32:06 -0500

dbaxps gravatar image

updated 2015-04-11 10:37:51 -0500

RDO Juno installed on CentOS 7.X or F21 via packstack has production quality , due to establishing services for nova,neutron and etc versus devstack which starts a bunch of daemons hopefully able to be restarted via ./ after you reboot your devstack node. Been forced to work (on regular basis) with master branch - development branch of devstack I don't know what to expect next morning , i.e. for which daemon I will get trouble rejoining stack instance.
The most recent example may be viewed here
Regarding packstack requirements related with Ethernet interfaces names on F21 && CentOS 7.X
View :- for F21

Tested OK on Two Node Controller&&Network and Compute nodes F21. Originally interfaces on first board  (enp3s0,enp5s0) on second board (enp2s0,enp5s1).Converted on both boards to (eth0,eth1), creating udev rules allows to set one to one correspondence MACs to eth(X) names

View :- for CentOS 7.1
Same procedure tested on CentOS 7.1.

edit flag offensive delete link more

answered 2015-04-11 16:37:54 -0500

pas-ha gravatar image

wearing my Heat hat, I could say that all this looks possible to do with nicely crafted Heat template, except that particular scaling scenario (count number of different IP connects). With Heat you can make autoscaling groups that are placed behind a load balancer, and scaled based on a Ceilometer alarm which can be triggered on any available Ceilometer metric, and usually people go with CPU load metric for that :)

As for having a custom image - you can do that (preinstall all the basic stuff you need on the image, upload it to Glance and use in your Heat template), or you could make your template more generic by using Heat's software configuration capabilities (OS::Heat::CloudConfig or/and SoftwareConfig/SoftwareDeployment resources). By doing that you will make your template (and your application) much more portable between different OpenStack deployments, but you will trade off the time needed for VMs to spin up (as all the stuff needed must be downloaded and installed at boot).

So I advice you to take a closer look at Heat for your app orchestration/installation, and at Ceilometer, to get an idea on what metrics you could use to scale your app.

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2015-04-09 16:03:09 -0500

Seen: 446 times

Last updated: Apr 11 '15