Skip to content

Commit

Permalink
Add Multipoint service definition (#616)
Browse files Browse the repository at this point in the history
  • Loading branch information
juztas authored Oct 9, 2024
1 parent e18bf45 commit bf9181d
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
16 changes: 16 additions & 0 deletions src/python/SiteFE/LookUpService/modules/rdfhelper.py
Original file line number Diff line number Diff line change
Expand Up @@ -377,8 +377,24 @@ def _addSwitchingService(self, **kwargs):
self.newGraph.add((self.genUriRef('site', svcService),
self.genUriRef('nml', 'encoding'),
self.genUriRef('schema')))
kwargs['uri'] = svcService
self._addMultiPointService(**kwargs)
return svcService

def _addMultiPointService(self, **kwargs):
"""Add MultiPoint Service to Model"""
if not kwargs.get('vswmp', ''):
return
self.newGraph.add((self.genUriRef('site', kwargs['uri']),
self.genUriRef('sd', 'hasServiceDefinition'),
self.genUriRef('site', f":{kwargs['hostname']}:sd:{kwargs['vswmp']}")))
self.newGraph.add((self.genUriRef('site', f":{kwargs['hostname']}:sd:{kwargs['vswmp']}"),
self.genUriRef('rdf', 'type'),
self.genUriRef('sd', 'ServiceDefinition')))
self.newGraph.add((self.genUriRef('site', f":{kwargs['hostname']}:sd:{kwargs['vswmp']}"),
self.genUriRef('sd', 'serviceType'),
self.genLiteral('http://services.ogf.org/nsi/2018/06/descriptions/l2-mp-es')))

def _addSwitchingSubnet(self, **kwargs):
"""Add Switching Subnet which comes from delta parsed request"""
svcService = self._addSwitchingService(**kwargs)
Expand Down
9 changes: 8 additions & 1 deletion src/python/SiteFE/LookUpService/modules/switchinfo.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,25 @@ def _addSwitchPortInfo(self, key, switchInfo):
"""Add Switch Port Info for ports, vlans"""
for switchName, switchDict in list(switchInfo[key].items()):
self.logger.debug(f'Adding Switch Port Info {switchName}')
# Get info if vsw is enabled in configuration
try:
vsw = self.config.get(switchName, 'vsw')
except (NoOptionError, NoSectionError) as ex:
self.logger.debug('Warning: vsw parameter is not defined for %s. Err: %s', switchName, ex)
continue
# Get info if vswmp is enabled in configuration (Multipoint)
try:
vswmp = self.config.get(switchName, 'vswmp')
except (NoOptionError, NoSectionError):
vswmp = False
# Get info if rst is enabled in configuration
try:
rst = self.config.get(switchName, 'rst')
except (NoOptionError, NoSectionError):
rst = False
for portName, portSwitch in list(switchDict.items()):
newuri = f":{switchName}:{self.switch.getSystemValidPortName(portName)}"
self._addVswPort(hostname=switchName, portName=portName, vsw=vsw)
self._addVswPort(hostname=switchName, portName=portName, vsw=vsw, vswmp=vswmp)
self.addSwitchIntfInfo(switchName, portName, portSwitch, newuri)
if rst:
self._addAddressPool(newuri)
Expand Down

0 comments on commit bf9181d

Please sign in to comment.