Complex deployments with rspec?

12 views
Skip to first unread message

Max Demoulin

unread,
Apr 7, 2015, 11:14:32 PM4/7/15
to geni-...@googlegroups.com
Hi there,

I'm a new GENI user, and actually think about using Cloudlab.

Those projects share many common building blocks, one of them being the deployment of nodes managed by emulab  (please correct me if I'm wrong).

I'm actually trying to set up a cluster with some hypervisors and vms running on top of them, that will host some parallel workload.

I've started playing with what seems to be the only way to make a solid configuration for a GENI/Cloudlab infrastructure: Rspec files.

My question is the following: Does emulab manages at all the software stack on the infrastructure it is setting up, other than applying scripts specified in the Rspec?

If not (which is my guess) I see basically two kind of approach to set up this stack:
- Embedding scripts in the Rspec file (certainly to trigger some puppet/chef install at some point).
- Building system images for the hypervisor, with the vm preconfigured.


Many thanks

Nicholas Bastin

unread,
Apr 7, 2015, 11:27:51 PM4/7/15
to geni-...@googlegroups.com
On Tue, Apr 7, 2015 at 5:14 PM, Max Demoulin <maxde...@gmail.com> wrote:
I've started playing with what seems to be the only way to make a solid configuration for a GENI/Cloudlab infrastructure: Rspec files.

My question is the following: Does emulab manages at all the software stack on the infrastructure it is setting up, other than applying scripts specified in the Rspec?

No.  As a general rule GENI aggregates are providing Infrastructure-as-a-Service, and do not manage what you do within the provided infrastructure.

If not (which is my guess) I see basically two kind of approach to set up this stack:
- Embedding scripts in the Rspec file (certainly to trigger some puppet/chef install at some point). 
- Building system images for the hypervisor, with the vm preconfigured.

Both of these are good options, and of course not mutually exclusive.  In general I would try to embed as little in the rspec as possible, and hand off to something like Puppet/Chef/Salt/Ansible/etc. as quickly as possible.  The rspec is a good place to bootstrap the agents some of these systems require, and configure where to call home, etc.

--
Nick

Max Demoulin

unread,
Apr 7, 2015, 11:36:25 PM4/7/15
to geni-...@googlegroups.com
Thank you very much for your answer.

Another question (let me know If I should open a new post for that):
Is the frisbee format the only supported by emulab? if yes, is there some tutorial somewhere explaining how to create one?
The following source, http://docs.cloudlab.us/advanced-topics.html#%28part._disk-images%29, refer to a snapshot process, which I guess is specific to cloudlab.
Also, if I want a CentOS distribution, and not an Ubuntu, I may want to create my own images.

Nicholas Bastin

unread,
Apr 7, 2015, 11:52:28 PM4/7/15
to geni-...@googlegroups.com
On Tue, Apr 7, 2015 at 5:36 PM, Max Demoulin <maxde...@gmail.com> wrote:
Another question (let me know If I should open a new post for that):
Is the frisbee format the only supported by emulab? if yes, is there some tutorial somewhere explaining how to create one?

They are made by capturing them from a running system inside of CloudLab (or other similar aggregates).  I suppose it is theoretically possible to create one without starting in CloudLab, but that is probably insane.. :-)  (There is some functionality available generally for importing external images, although I am not sure how/whether that is integrated with CloudLab specifically).
 
The following source, http://docs.cloudlab.us/advanced-topics.html#%28part._disk-images%29, refer to a snapshot process, which I guess is specific to cloudlab.

Most GENI aggregates can take a snapshot to create a new image from a running VM, and that image can probably be used in CloudLab.  Note, however, that many of the CloudLab nodes are 64-bit ARM, which means that AMD64 or i386 images will not boot on them (non-CloudLab sites at this point do not have ARM systems).
 
Also, if I want a CentOS distribution, and not an Ubuntu, I may want to create my own images.

There is a CentOS 6.3 image available:

urn:publicid:IDN+utahddc.geniracks.net+image+emulab-ops:CENTOS63-64-STD

--
Nick 

Max Demoulin

unread,
Apr 8, 2015, 12:08:17 AM4/8/15
to geni-...@googlegroups.com
Awesome, thank you very much :-) I will try this image, and otherwise go through the GENI process to create one from a vm of mine.

As for Cloudlab, their Wisconsin datacenter seems to have x64 nodes (https://www.cloudlab.us/hardware.php#wisconsin).

Nicholas Bastin

unread,
Apr 8, 2015, 12:13:52 AM4/8/15
to geni-...@googlegroups.com
On Tue, Apr 7, 2015 at 6:08 PM, Max Demoulin <maxde...@gmail.com> wrote:
As for Cloudlab, their Wisconsin datacenter seems to have x64 nodes (https://www.cloudlab.us/hardware.php#wisconsin).

I believe all of the sites have at least some x86 nodes, but you need to be careful to make sure you choose them.. :-)  (And if you want to use the ARM nodes that is of course great, but you'll need to build 2 different images then).

--
Nick 

Leigh Stoller

unread,
Apr 8, 2015, 8:45:53 AM4/8/15
to geni-...@googlegroups.com
> There is a CentOS 6.3 image available:
>
> urn:publicid:IDN+utahddc.geniracks.net+image+emulab-ops:CENTOS63-64-STD
> https://www.utahddc.geniracks.net/image_metadata.php?uuid=4f4f8f3f-8507-11e3-a95c-000000000000

There is also a 6.6 image available at Emulab PG, which we can push out
to the racks if its desirable.

Leigh





Max Demoulin

unread,
Apr 8, 2015, 11:20:21 AM4/8/15
to geni-...@googlegroups.com
I will try out my experiment with the 6.3, which should be fine. I was able to run it on a Utah DDC machine.

Thank you for your help :-)
Reply all
Reply to author
Forward
0 new messages