-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rework fixedEndpoint #840
Comments
New code to add at the end of # End of loop over links
if not needSCS and requestRSpecObject.stitching and requestRSpecObject.stitching.paths:
# If we have a stitching extension with 2+ links at 2+ AMs, then need the SCS I think to ensure path is complete
# Helper to parse the authority out of a possibly bad URN
def authFromBadURN(urn):
if not urn:
return urn
spl = urn.split('+')
if len(spl) < 2:
return urn
return urn_to_string_format(spl[1])
for path in requestRSpecObject.stitching.paths:
ams = set()
for hop in path.hops:
if hop.aggregate:
ams.add(authFromBadURN(str(hop.aggregate)))
else:
ams.add(authFromBadURN(str(hop.urn)))
if len(path.aggregates) > 1:
self.logger.debug("Stitching path %s uses %d AMs, so need SCS", path, len(path.aggregates))
needSCS = True
break
elif len(ams) > 1:
self.logger.debug("Stitching path %s uses hops with %d AMs, so need SCS", path, len(ams))
needSCS = True
break
else:
self.logger.debug("Stitching path %s uses %d AMs (%d from hops), so do not need SCS", path, len(path.aggregates), len(ams))
return needSCS |
Jon says use the |
…ing if it has a stitched path with >1 AMs. DStill need to write the method that sets the component_id on some interface
Partially implemented on the ah-fork branch. In |
The
--fixedEndpoint
option exists to do a couple thingsIt would be nice to not have to add this fake node/interface. Work with the Utah folks on an alternative, including
component_id="eth1"
on the single real interface (a work-around suggested by Jon that I've confirmed works), ORAt the same time, we currently decide whether to call the SCS strictly based on the main body link. But if the main body has a link with interfaces only at 1 AM, and the same link has a path in the stitching extension that covers 2+ AMs, then we should call the SCS. In fact, we only need the stitching path with 2+ AMs; a match to such a main body link seems not necessary. Adding this logic would remove the need for the logic to force stitcher to consider this a stitching request.
Note that once we add more logic to force stitcher to consider this a stitching request, it might be nice to be able to force stitcher to not call the SCS, so see issue #839.
The text was updated successfully, but these errors were encountered: