def put_interface_policy(device): if device.in_policy is None and device.out_policy is None: return url = Template(uniconfig_url_uniconfig_ifc_policy_config).substitute({'ifc': device.interface}) ifc_config = { "frinx-openconfig-network-instance:interface": [ { "interface-id": device.interface, "config": { "interface-id": device.interface } } ] } if device.in_policy is not None: ifc_config['frinx-openconfig-network-instance:interface'][0]['config']['frinx-brocade-pf-interfaces-extension:input-service-policy'] = device.in_policy if device.out_policy is not None: ifc_config['frinx-openconfig-network-instance:interface'][0]['config']['frinx-brocade-pf-interfaces-extension:output-service-policy'] = device.out_policy ifc_response = uniconfig_worker.write_structured_data({'inputData': { 'device_id': device.id, 'uri': url, "template": ifc_config, 'params': {} }}) ifc_response.update({'ifc_data': ifc_config}) return ifc_response
def put_ve_interface(service, device): url = Template(vll_service_worker.uniconfig_url_uniconfig_ifc_config).substitute({'ifc': device.ve_interface}) ifc_config = { "frinx-openconfig-interfaces:interface": [ { "name": device.ve_interface, "config": { "type": "iana-if-type:l3ipvlan", "enabled": True, "name": device.ve_interface, "description": "IUP-" + service.id, } } ] } if device.ip is not None: x = device.ip.split('/') ifc_config["frinx-openconfig-interfaces:interface"][0].update({"subinterfaces": { "subinterface": [ { "index": 0, "config": { "index": 0 }, "frinx-openconfig-if-ip:ipv4": { "addresses": { "address": [ { "ip": x[0], "config": { "prefix-length": x[1], "ip": x[0] } } ] } } }] }}) if device.vlan is not None: ifc_config['frinx-openconfig-interfaces:interface'][0].update({"frinx-openconfig-vlan:routed-vlan": { "config": { "vlan": device.vlan } }}) ifc_response = uniconfig_worker.write_structured_data({'inputData': { 'device_id': device.id, 'uri': url, "template": ifc_config, 'params': {} }}) ifc_response.update({'ifc_data': ifc_config}) return ifc_response
def put_interface(service, device): url = Template(vll_service_worker.uniconfig_url_uniconfig_ifc_config).substitute({'ifc': device.interface}) ifc_config = { "frinx-openconfig-interfaces:interface": [ { "name": device.interface, "config": { "type": "iana-if-type:ethernetCsmacd", "enabled": True, "name": device.interface, "description": "IUP-" + device.description if device.description else "IUP-phys-" + service.id, "frinx-brocade-if-extension:priority": 3, "frinx-brocade-if-extension:priority-force": True }, "frinx-openconfig-if-ethernet:ethernet": { "frinx-openconfig-vlan:switched-vlan": { "config": { "interface-mode": "ACCESS" if device.untagged else "TRUNK" } } } } ] } if device.untagged: ifc_config["frinx-openconfig-interfaces:interface"][0]['frinx-openconfig-if-ethernet:ethernet']['frinx-openconfig-vlan:switched-vlan']['config']["access-vlan"] = device.vlan else: ifc_config["frinx-openconfig-interfaces:interface"][0]['frinx-openconfig-if-ethernet:ethernet']['frinx-openconfig-vlan:switched-vlan']['config']["trunk-vlans"] = [device.vlan] if device.auto_negotiate is not None: ifc_config['frinx-openconfig-interfaces:interface'][0].update({"frinx-openconfig-if-ethernet:ethernet": { "config": { "auto-negotiate": device.auto_negotiate } }}) if device.tpid is not None: ifc_config['frinx-openconfig-interfaces:interface'][0]['config']["frinx-openconfig-vlan:tpid"] = Device.switch_tpid.get(device.tpid) ifc_response = uniconfig_worker.write_structured_data({'inputData': { 'device_id': device.id, 'uri': url, "template": ifc_config, 'params': {} }}) ifc_response.update({'ifc_data': ifc_config}) return ifc_response
def device_create_vll_local(task): vll_config = create_vll_local_request(task) response = uniconfig_worker.write_structured_data({ 'inputData': { 'device_id': task['inputData']['id'], 'uri': (Template( uniconfig_url_uniconfig_network_instance_config).substitute( {'vll': (task['inputData']['service_id'])})), 'template': vll_config, 'params': {} } }) response.update({'vll_data': vll_config}) return response
def put_vlan(service, device): url = Template(uniconfig_url_uniconfig_vlan_config).substitute({'vlan': device.vlan}) vlan_config = { "frinx-openconfig-network-instance:vlan": [ { "vlan-id": device.vlan, "config": { "vlan-id": device.vlan, "status": "ACTIVE", "name": service.id } }] } vlan_response = uniconfig_worker.write_structured_data({'inputData': { 'device_id': device.id, 'uri': url, "template": vlan_config, 'params': {} }}) vlan_response.update({'vlan_data': vlan_config}) return vlan_response
def put_isis(device): url = Template(uniconfig_url_uniconfig_isis_config).substitute({'ifc': device.ve_interface}) isis_config = { "frinx-openconfig-network-instance:interface": [ { "interface-id": device.ve_interface, "config": { "interface-id": device.ve_interface, "passive": True } } ] } isis_response = uniconfig_worker.write_structured_data({'inputData': { 'device_id': device.id, 'uri': url, "template": isis_config, 'params': {} }}) isis_response.update({'isis_data': isis_config}) return isis_response
def put_minimal_interface(device): url = Template(uniconfig_url_uniconfig_ifc_config).substitute({'ifc': device.interface}) ifc_config = { "frinx-openconfig-interfaces:interface": [ { "name": device.interface, "config": { "type": "iana-if-type:ethernetCsmacd", "enabled": True, "name": device.interface } } ] } ifc_response = uniconfig_worker.write_structured_data({'inputData': { 'device_id': device.id, 'uri': url, "template": ifc_config, 'params': {} }}) ifc_response.update({'ifc_data': ifc_config}) return ifc_response
def put_interface(service, device): url = Template(uniconfig_url_uniconfig_ifc_config).substitute({'ifc': device.interface}) ifc_config = { "frinx-openconfig-interfaces:interface": [ { "name": device.interface, "config": { "type": "iana-if-type:ethernetCsmacd", "enabled": True, "name": device.interface, "description": device.description if device.description else service.id, "frinx-brocade-if-extension:priority": 3, "frinx-brocade-if-extension:priority-force": True } } ] } if device.auto_negotiate is not None: ifc_config['frinx-openconfig-interfaces:interface'][0].update({"frinx-openconfig-if-ethernet:ethernet": { "config": { "auto-negotiate": device.auto_negotiate } }}) if device.tpid is not None: ifc_config['frinx-openconfig-interfaces:interface'][0]['config']["frinx-openconfig-vlan:tpid"] = Device.switch_tpid.get(device.tpid) ifc_response = uniconfig_worker.write_structured_data({'inputData': { 'device_id': device.id, 'uri': url, "template": ifc_config, 'params': {} }}) ifc_response.update({'ifc_data': ifc_config}) return ifc_response