Ticket #372 (closed enhancement: fixed)

Opened 5 years ago

Last modified 4 years ago

Topo embedding extensions

Reported by: ibaldin Owned by: yxin
Priority: major Milestone:
Component: ORCA: controllers - ORCA API Version: baseline
Keywords: Cc:

Description (last modified by ibaldin) (diff)

See the attached picture for diagrams. We would like the topology embedding algorithm to extend to the following cases:

  1. connecting a broadcast link in one rack to a broadcast link in another. Right now this can be emulated by using node groups, but a more general solution would allow for heterogeneous nodes to be attached to a bcast link, then linked to another one in another rack.
  1. Dealing with two stitchoports in a request that come from the same stitchport URL, but different vlan tags. This likely requires introducing a virtual port in the request (so it propagates into the manifest).
  1. Being able to attach stitchport(s) to a bcast link. Probably similar to 1 and 2 above.
  1. Being able to not specify the VLAN tag on a stichport, instead having Net AM return the selected tag out of the available range. This supports GENI stitching (tag 'any' in RSpec).
  1. Be able to attach storage to broadcast links.
  1. For shared storage, do not create extra interfaces (and assigned extra IP addresses) to a node that attaches to multiple ISCSI volumes from the same site.


Attachments

2014-10-03 16.31.59.jpg (1.3 MB) - added by ibaldin 5 years ago.
Pictures for use cases.
eg_renci_pub.txt (16.6 kB) - added by ibaldin 4 years ago.
Ezra's eg_renci_pub.txt that combines inter-domain circuits with shared vlans.

Change History

Changed 5 years ago by ibaldin

Pictures for use cases.

  Changed 5 years ago by pruth

It used to be that a storage node could be connected over a broadcast network. Sometime in the last few weeks this changed. We should allow storage to connect to broadcast links.

follow-up: ↓ 3   Changed 5 years ago by anirban

Storage has to be bound to a domain for interdomain requests to work. With unbound storage, embedding fails to create the right set of reservations, non-deterministically. I have not verified whether storage has to be bound for intra-domain requests sent to either rack-local- or exo-SMs.

in reply to: ↑ 2   Changed 5 years ago by ibaldin

Replying to anirban:

Storage has to be bound to a domain for interdomain requests to work. With unbound storage, embedding fails to create the right set of reservations, non-deterministically. I have not verified whether storage has to be bound for intra-domain requests sent to either rack-local- or exo-SMs.

This appears to be a problem with embedding code 'swallowing' a pathfinding exception. If storage is not attached, you get an exception if sites can't be connected. If there is storage attached, you get the reservations for the site with storage, but not the other site.

  Changed 5 years ago by ibaldin

  • description modified (diff)

Added issue numbers 5 and 6 in the description.

  Changed 5 years ago by ibaldin

  • description modified (diff)

  Changed 4 years ago by ibaldin

Here is a corner case that probably should work somehow, or at least generate an error (see attached eg_renci_pub.txt). In it there is a slice with two VMs in one rack that are connected to a shared VLAN (907 at RCI in this case) in that rack and both have links to a VM in another site (BBN). The resulting slice ignores the static VLAN and does not generate an error.

Either we don't handle it, or we handle it (by, perhaps requiring that there is inDomain statement in the shared VLAN to make embedder's job easier) or by inferring that if all VMs connected to a link have the same domain and a specific tag is being asked for, it MUST be the shared tag. Or something else. Anyway, interesting case.

Changed 4 years ago by ibaldin

Ezra's eg_renci_pub.txt that combines inter-domain circuits with shared vlans.

  Changed 4 years ago by ibaldin

1, 2, 3 and 5 are at least partially addressed by r7161.

  Changed 4 years ago by ibaldin

#2 confirmed in GENI API by Luisa.

The issue with inference not working properly seems to go away after a few stateful restarts.

  Changed 4 years ago by ibaldin

  • status changed from new to closed
  • resolution set to fixed

moved to github

Note: See TracTickets for help on using tickets.