- bindings = ''
- for prefix in prefixes.split(','):
- bindings += '\n' + '<ip-prefix>' + prefix + '</ip-prefix>'
- templ = Template('''<input>
- <node-id xmlns="urn:opendaylight:sxp:controller">$id</node-id>
- <domain-name xmlns="urn:opendaylight:sxp:controller">$name</domain-name>
- <binding xmlns="urn:opendaylight:sxp:controller">
- <sgt>$sgt</sgt>
- $bindings
- </binding>
-</input>''')
- data = templ.substitute({'name': domain, 'id': node_id, 'sgt': sgt, 'bindings': bindings})
+ xml_prefixes = ""
+ for prefix in prefixes.split(","):
+ xml_prefixes += "\n" + "<ip-prefix>" + prefix + "</ip-prefix>"
+ templ = Template(
+ """<input xmlns="urn:opendaylight:sxp:controller">
+ <node-id>$id</node-id>
+ <domain-name>$name</domain-name>
+ <origin>$origin</origin>
+ <master-database>
+ <binding>
+ <sgt>$sgt</sgt>
+ $xml_prefixes
+ </binding>
+ </master-database>
+</input>"""
+ )
+ data = templ.substitute(
+ {
+ "name": domain,
+ "id": node_id,
+ "sgt": sgt,
+ "xml_prefixes": xml_prefixes,
+ "origin": origin,
+ }
+ )
+ return data
+
+
+def add_bindings_xml_oxygen(node_id, domain, sgt, prefixes):
+ """Generate xml for Add Bindings request (Oxygen version without origin type)
+
+ :param node_id: Id of node
+ :type node_id: str
+ :param domain: Name of Domain
+ :type domain: str
+ :param sgt: Security group
+ :type sgt: int
+ :param prefixes: List of ip-prefixes
+ :type prefixes: str
+ :returns: String containing xml data for request
+
+ """
+ xml_prefixes = ""
+ for prefix in prefixes.split(","):
+ xml_prefixes += "\n" + "<ip-prefix>" + prefix + "</ip-prefix>"
+ templ = Template(
+ """<input xmlns="urn:opendaylight:sxp:controller">
+ <node-id>$id</node-id>
+ <domain-name>$name</domain-name>
+ <binding>
+ <sgt>$sgt</sgt>
+ $xml_prefixes
+ </binding>
+</input>"""
+ )
+ data = templ.substitute(
+ {"name": domain, "id": node_id, "sgt": sgt, "xml_prefixes": xml_prefixes}
+ )