GRE interfaces not being setup in XEN VMs

116 views
Skip to first unread message

Niky Riga

unread,
Dec 5, 2013, 7:40:30 PM12/5/13
to geni-...@googlegroups.com
Hi,

A couple of experimenters (cc-d here) have reported that when connecting
VMs on different IG sites with GRE tunnels the interfaces do not show up
in the reserved VMs. I just tried this myself and I can consistently
reproduce the problem.

I have created three slices through my porta account:
1. testintf: 2 XEN VMs connected with a GRE tunnel (one at nysernet,
one at missouri. Both VMs list only two interfaces the loopback and the
control interface. Both VMs are on pc3 in the respective racks.
http://grab.by/sCtU

2. testintf2: it has 1 XEN VM connected to a XEN VM on the same rack
and a XEN VM on a different rack with a GRE tunnel (2 VMs at MAX and 1
at northwestern). In this VM I can see the local interface but not the
gre interface.
http://grab.by/sCtQ

I wanted to test GRE tunnels using openvz VMs but due to another error I
can't set it up right this second, I will try it though and get back to
you on that.

Thanks,
Niky



Leigh Stoller

unread,
Dec 5, 2013, 7:50:12 PM12/5/13
to Niky Riga, geni-...@googlegroups.com
> 1. testintf: 2 XEN VMs connected with a GRE tunnel (one at nysernet, one at missouri. Both VMs list only two interfaces the loopback and the control interface. Both VMs are on pc3 in the respective racks.
> http://grab.by/sCtU

Ick, this is a nail we never hammered in. Rather then using "gre-tunnel"
use "egre-tunnel" for the link_type and see if that works better.

The reason for the distinction is to prevent users from connecting an
openvz container to a XEN container with a GRE tunnel, which does not
work because they use different encapsulation styles (gre vs egre).

We need to check this in a better way.

Lbs







Niky Riga

unread,
Dec 5, 2013, 8:09:43 PM12/5/13
to geni-...@googlegroups.com
Hi Leigh,

I just tried it with omni and failed:
https://www.instageni.rnet.missouri.edu/spewlogfile.php3?logfile=02c5d049347e44925a5eb0c772595d3e

I saved the rspec from Flack and just modified the link_type,
but the error is for the xen vm I think.

--niky

Leigh Stoller

unread,
Dec 5, 2013, 8:16:42 PM12/5/13
to Niky Riga, geni-...@googlegroups.com
> I saved the rspec from Flack and just modified the link_type,
> but the error is for the xen vm I think.

Right, but that is now a bound rspec ... you cannot pick the pcvmxxx-y
names, we do that.

You want to change the original rspec before you ran CreateSliver() on it.

Lbs



Niky Riga

unread,
Dec 6, 2013, 12:28:55 PM12/6/13
to geni-...@googlegroups.com, Aditi Ghag
Great this indeed fixed the problem.

However if I import the modified rspec into flack, it correctly
recognizes the link as egre-tunnel but when it submits it is treats it
as a stitched link.
"Task encountered a fault: Error: gre-tunnel0: No stitching path to
emulab-xen-0"

Adrian, Aditi unfortunately in order to get gre tunnels and XEN VMs
you will need to use Omni and modify the rspecs this way:
1. draw your topology with flack
2. *before* hitting submit save the request file (View->Preview
request document)
3. save the request into a file
4. edit the file and replace all instances of:
<link_type name="gre-tunnel"/> with:
<link_type name="egre-tunnel"/>

If you decide to go down this path, I would recommend that you write a
script that will submit the rspec to each AM, so that the createslivers
are issued close together so that the gre tunnels can actually be setup.

Cheers,
Niky

Leigh Stoller

unread,
Dec 6, 2013, 12:31:18 PM12/6/13
to geni-...@googlegroups.com, Aditi Ghag
> However if I import the modified rspec into flack, it correctly recognizes the link as egre-tunnel but when it submits it is treats it as a stitched link.
> "Task encountered a fault: Error: gre-tunnel0: No stitching path to emulab-xen-0"

So Flack drops the link_type when it submits it? This is probably
an easy thing for Jon to fix.

Lbs



Jonathon Duerig

unread,
Dec 6, 2013, 12:40:10 PM12/6/13
to geni-...@googlegroups.com, Aditi Ghag
I'll work on fixing up the egre-tunnel type in Flack.

---
Broad audience or deep message: Pick one.
> --
> GENI Users is a community supported mailing list, so please help by
> responding to questions you know the answer to.
>
> If this is your first time posting a question to this list, please review
> http://groups.geni.net/geni/wiki/GENIExperimenter/CommunityMailingList
> --- You received this message because you are subscribed to the Google Groups
> "GENI Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to geni-users+...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

Niky Riga

unread,
Dec 6, 2013, 12:45:43 PM12/6/13
to geni-...@googlegroups.com
Thanks Jon!

I don't know if this would be an easy change or not but if the default
type for connected xen-vms between different AMs could be egre-tunnel
that would also be very helpful, to avoid the manual editing of the rspec.

Thanks again,
Niky

Aditi Ghag

unread,
Dec 6, 2013, 6:14:30 PM12/6/13
to geni-...@googlegroups.com
Thank you all. I will give it a try and will get back to you if I have any issues. 
Jonathon(or whoever is working on this issue): Could you please notify us by replying to this email chain, when you have fixed the problem in Flack, so that we will be able to create a topology with Xen VMs the same way as we do with the open-vz containers. Also, it will stay on the records for future references. 

Thanks,
Aditi


To unsubscribe from this group and stop receiving emails from it, send an email to geni-users+unsubscribe@googlegroups.com.

Aditi Ghag

unread,
Dec 11, 2013, 8:44:44 PM12/11/13
to Jonathon Duerig, Niky Riga, geni-...@googlegroups.com
Hi Niky,

I followed the procedure you told. I saved the rspec file,modified it and then imported it. As you mentioned after I import the rspec file it recognized the links correctly. But, after I press submit, its giving me the same error- Task encountered a fault: Error: gre-tunnel0: No stitching path to Router1
Has this issue been fixed? Do I have to take any additional steps?

Thanks,
Aditi


On Fri, Dec 6, 2013 at 12:40 PM, Jonathon Duerig <due...@flux.utah.edu> wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to geni-users+unsubscribe@googlegroups.com.

Jonathon Duerig

unread,
Dec 12, 2013, 1:21:20 PM12/12/13
to Aditi Ghag, Niky Riga, geni-...@googlegroups.com
This fix is not yet deployed. The current plan is to deploy the next
version of Flack on December 20th. It should have this fix and several
others.

---
Broad audience or deep message: Pick one.


> it, send an email to geni-users+...@googlegroups.com.

Niky Riga

unread,
Dec 12, 2013, 1:45:46 PM12/12/13
to geni-...@googlegroups.com
Aditi, you should just use omni to make the reservation, I have tried
that and it works.

--niky

Aditi Ghag

unread,
Dec 12, 2013, 7:49:11 PM12/12/13
to geni-...@googlegroups.com
So I saved the "request document" from Flack as a rspec file and tried to make reservation using the command- omni createsilver <slice-name> <rspec_file>. I followed the guide- http://trac.gpolab.bbn.com/gcf/wiki/HowTo/SpecifyRSpecsInOmni , where they haven't used the -a argument with the omni createsilver command. 
But, when I ran my command, I got this error- ERROR    omni: Missing -a argument: specify an aggregate where you want the reservation.

Missing -a argument: specify an aggregate where you want the reservation.

Does it mean I will have to reserve the resources at each and every AM separately? The rspec file that I imported from Flack has the reservation information for the nodes at all the AMs as well as the GRE tunnels. I am not sure how I can create a connected topology where all the nodes are connected via GRE tunnels by submitting rspecs for VMs individually at the AMs. I would appreciate some help on how to reserve resources forming a connected topology using omni. 

Thanks,

Aditi





Jonathon Duerig wrote:

For more options, visit
https://groups.google.com/groups/opt_out.




--
GENI Users is a community supported mailing list, so please help by responding to questions you know the answer to.

If this is your first time posting a question to this list, please review http://groups.geni.net/geni/wiki/GENIExperimenter/CommunityMailingList
--- You received this message because you are subscribed to the Google Groups "GENI Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to geni-users+unsubscribe@googlegroups.com.

Sarah Edwards

unread,
Dec 12, 2013, 8:06:37 PM12/12/13
to geni-...@googlegroups.com, Sarah Edwards
Yes, you have to reserve resources at each AM separately.  

The missing -a in on the wiki page you mentioned are a typo which I just fixed.  Very sorry for the confusion.  

This very similar looking page addresses the issue of specifying aggregates in omni: http://trac.gpolab.bbn.com/gcf/wiki/HowTo/SpecifyAggregatesInOmni

In particular, createsliver is the only omni command which requires you to specify the aggregate (this is to prevent you from accidentally reserving nodes at all GENI aggregates because you accidentally left off the -a option).  

Second, Niky said in the thread below that it worked for her.  So I strongly suspect she ran omni once for each aggregate.    If you are in a hurry, go ahead and try that. 

Let us know if that doesn't work,
Sarah


To unsubscribe from this group and stop receiving emails from it, send an email to geni-users+...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

*******************************************************************************
Sarah Edwards
GENI Project Office

BBN Technologies
Cambridge, MA
phone:    (617) 873-2329
email:    sedw...@bbn.com





Aditi Ghag

unread,
Dec 12, 2013, 8:40:38 PM12/12/13
to geni-...@googlegroups.com
Thanks Sarah.
Yes, I was able to reserve resources at one of the AMs using omni. I can also ssh to the Xen VM. 
In the guide, they have reserved VMs at a same aggregate and thus provided information for the link connecting the two VMs in the same rspec file. How do I connect VMs from different AMs? In a rspec file imported from Flack, the GRE tunnels are specified using two different end points belonging to two different AMs. Please advise the further procedure to connect the resources reserved using omni. 

Thanks,
Aditi

Sarah Edwards

unread,
Dec 12, 2013, 8:44:32 PM12/12/13
to geni-...@googlegroups.com, Sarah Edwards
Hi Aditi,

Based on your description of the RSpec, you should be able to use the same RSpec at each aggregate.

So do something like this:
omni.py -a myAM1 createsliver mySlice mySpecialGRErspec
omni.py -a myAM2 createsliver mySlice mySpecialGRErspec

Each aggregate should ignore the parts of the RSpec bound to another aggregate.

Sarah

Aditi Ghag

unread,
Dec 12, 2013, 8:49:48 PM12/12/13
to geni-...@googlegroups.com
Awesome. Thanks so much. 

Aditi
Reply all
Reply to author
Forward
Message has been deleted
0 new messages