CiscoDevNet / pathman-sr

Pathman SR is an open-source app to compute paths and deploy routes in Segment Routing-enabled network.
Other
96 stars 33 forks source link

Error while bringing up pathman-sr #8

Closed parulagrawal14 closed 6 years ago

parulagrawal14 commented 6 years ago

Hi,

I am getting below error while opening the url

0934 2017-11-29 12:08:19.729 UTC root:pseudo_net_build INFO: [] 10934 2017-11-29 12:08:19.754 UTC root:_get_url INFO: status code: 200 10934 2017-11-29 12:08:19.802 UTC root:get_url INFO: Url get Status: 200 10934 2017-11-29 12:08:19.804 UTC root:version_check INFO: Found ODL Release: beryllium 10934 2017-11-29 12:08:19.818 UTC root:get_url INFO: Url get Status: 200 10934 2017-11-29 12:08:19.818 UTC root:node_sr_update ERROR: No sid for: R3 10934 2017-11-29 12:08:19.819 UTC root:node_sr_update ERROR: No sid for: R2 10934 2017-11-29 12:08:19.819 UTC root:node_sr_update ERROR: No sid for: R1 10934 2017-11-29 12:08:19.820 UTC root:init INFO: patterned to '/pathman' 10934 2017-11-29 12:08:19.821 UTC root:init INFO: Pathman REST API Launched on port 8020

Request your guidance in resolving this issue

nikmon2 commented 6 years ago

Hi,

Pathman failed to detect your routers Segment Routing IDs.

To bypass the SID detection step, you can use static SIDs. https://github.com/CiscoDevNet/pathman-sr/blob/master/tools/README_static_sid.md

Cheers, Niklas

parulagrawal14 commented 6 years ago

Hi,

Attaching complete log for reference.

19702 2017-11-29 18:17:00.933 UTC root: INFO: This is initializing the log 19702 2017-11-29 18:17:00.961 UTC root:get_url INFO: Url get Status: 200 19702 2017-11-29 18:17:00.987 UTC root:get_url INFO: Url get Status: 200 19702 2017-11-29 18:17:00.988 UTC root:add_node INFO: New node: Node(name=u'R3', id=u'0001.0001.0003', loopback=u'7.7.7.7', portlist=[u'30.0.0.4', u'40.0.0.4'], pcc='', pcep_type='', prefix=[u' 30.0.0.0/24', u'40.0.0.0/24', u'7.7.7.0/24', u'70.0.0.0/24'], sid='') 19702 2017-11-29 18:17:00.988 UTC root:add_node INFO: New node: Node(name=u'R2', id=u'0001.0001.0002', loopback=u'6.6.6.6', portlist=[u'20.0.0.3', u'40.0.0.3'], pcc='', pcep_type='', prefix=[u' 20.0.0.0/24', u'40.0.0.0/24', u'6.6.6.0/24', u'70.0.0.0/24'], sid='') 19702 2017-11-29 18:17:00.988 UTC root:add_node INFO: New node: Node(name=u'R1', id=u'0001.0001.0001', loopback=u'5.5.5.5', portlist=[u'20.0.0.2', u'30.0.0.2'], pcc='', pcep_type='', prefix=[u' 192.168.121.0/24', u'20.0.0.0/24', u'30.0.0.0/24', u'5.5.5.0/24', u' 70.0.0.0/24'], sid='') 19702 2017-11-29 18:17:00.989 UTC root:node_structure INFO: [Node(name=u'R3', id=u'0001.0001.0003', loopback=u'7.7.7.7', portlist=[u'30.0.0.4', u'40.0.0.4'], pcc='', pcep_type='', prefix=[u' 30.0.0.0/24', u'40.0.0.0/24', u'7.7.7.0/24', u'70.0.0.0/24'], sid=''), Node(name=u'R2', id=u'0001.0001.0002', loopback=u'6.6.6.6', portlist=[u'20.0.0.3', u'40.0.0.3'], pcc='', pcep_type='', prefix=[u' 20.0.0.0/24', u'40.0.0.0/24', u'6.6.6.0/24', u'70.0.0.0/24'], sid=''), Node(name=u'R1', id=u'0001.0001.0001', loopback=u'5.5.5.5', portlist=[u'20.0.0.2', u'30.0.0.2'], pcc='', pcep_type='', prefix=[u' 192.168.121.0/24', u'20.0.0.0/24', u'30.0.0.0/24', u'5.5.5.0/24', u' 70.0.0.0/24'], sid='')] 19702 2017-11-29 18:17:00.989 UTC root:pseudo_net_build INFO: [] 19702 2017-11-29 18:17:01.026 UTC root:_get_url INFO: status code: 200 19702 2017-11-29 18:17:01.112 UTC root:get_url INFO: Url get Status: 200 19702 2017-11-29 18:17:01.114 UTC root:version_check INFO: Found ODL Release: beryllium 19702 2017-11-29 18:17:01.124 UTC root:get_url INFO: Url get Status: 200 19702 2017-11-29 18:17:01.125 UTC root:node_sr_update ERROR: No sid for: R3 19702 2017-11-29 18:17:01.125 UTC root:node_sr_update ERROR: No sid for: R2 19702 2017-11-29 18:17:01.125 UTC root:node_sr_update ERROR: No sid for: R1 19702 2017-11-29 18:17:01.126 UTC root:init INFO: patterned to '/pathman' 19702 2017-11-29 18:17:01.128 UTC root:init INFO: Pathman REST API Launched on port 8020

As suggested will try to use static SIDs

Regards, Parul

On Wed, Nov 29, 2017 at 10:45 PM, nikmon2 notifications@github.com wrote:

Hi,

Pathman failed to detect your routers Segment Routing IDs.

  • What routers/OS-version are you using?
  • Is the right ODL version detected: Beryllium?

To bypass the SID detection step, you can use static SIDs. https://github.com/CiscoDevNet/pathman-sr/blob/master/tools/README_static_ sid.md

Cheers, Niklas

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CiscoDevNet/pathman-sr/issues/8#issuecomment-347930761, or mute the thread https://github.com/notifications/unsubscribe-auth/AL780355hatYIk3wXUXWhCsquwBKvCnYks5s7ZE5gaJpZM4Qu4Bh .

parulagrawal14 commented 6 years ago

Hi Niklas

Thanks for your support. I am able to bring the pathman-sr after setting the sid statically using the link given by you. Now when i am deploying the path, i am getting an error "The path has been refused by controller and has not been deployed."

The Error pop up showing an error "Response indicated the error in frontend-backend communication."

Please find the pathman log below.

7929 2017-12-06 10:57:19.977 UTC root: INFO: This is initializing the log 7929 2017-12-06 10:57:20.003 UTC root:get_url INFO: Url get Status: 200 7929 2017-12-06 10:57:20.015 UTC root:get_url INFO: Url get Status: 200 7929 2017-12-06 10:57:20.016 UTC root:add_node INFO: New node: Node(name=u'R3', id=u'0001.0001.0003', loopback=u'7.7.7.7', portlist=[u'30.0.0.4', u'40.0.0.4'], pcc=u'pcc://7.7.7.7', pcep_type='07', prefix=[u'30.0.0.0/24', u'40.0.0.0/24', u'7.7.7.7/32', u'70.0.0.0/24'], sid='') 7929 2017-12-06 10:57:20.017 UTC root:add_node INFO: New node: Node(name=u'R2', id=u'0001.0001.0002', loopback=u'6.6.6.6', portlist=[u'20.0.0.3', u'40.0.0.3'], pcc=u'pcc://6.6.6.6', pcep_type='07', prefix=[u'20.0.0.0/24', u'40.0.0.0/24', u'6.6.6.6/32', u'70.0.0.0/24'], sid='') 7929 2017-12-06 10:57:20.017 UTC root:add_node INFO: New node: Node(name=u'R1', id=u'0001.0001.0001', loopback=u'5.5.5.5', portlist=[u'20.0.0.2', u'30.0.0.2'], pcc=u'pcc://5.5.5.5', pcep_type='07', prefix=[u'192.168.121.0/24', u'20.0.0.0/24', u'30.0.0.0/24', u'5.5.5.5/32', u'70.0.0.0/24'], sid='') 7929 2017-12-06 10:57:20.017 UTC root:node_structure INFO: [Node(name=u'R3', id=u'0001.0001.0003', loopback=u'7.7.7.7', portlist=[u'30.0.0.4', u'40.0.0.4'], pcc=u'pcc://7.7.7.7', pcep_type='07', prefix=[u'30.0.0.0/24', u'40.0.0.0/24', u'7.7.7.7/32', u'70.0.0.0/24'], sid=''), Node(name=u'R2', id=u'0001.0001.0002', loopback=u'6.6.6.6', portlist=[u'20.0.0.3', u'40.0.0.3'], pcc=u'pcc://6.6.6.6', pcep_type='07', prefix=[u'20.0.0.0/24', u'40.0.0.0/24', u'6.6.6.6/32', u'70.0.0.0/24'], sid=''), Node(name=u'R1', id=u'0001.0001.0001', loopback=u'5.5.5.5', portlist=[u'20.0.0.2', u'30.0.0.2'], pcc=u'pcc://5.5.5.5', pcep_type='07', prefix=[u'192.168.121.0/24', u'20.0.0.0/24', u'30.0.0.0/24', u'5.5.5.5/32', u'70.0.0.0/24'], sid='')] 7929 2017-12-06 10:57:20.018 UTC root:pseudo_net_build INFO: [] 7929 2017-12-06 10:57:20.034 UTC root:_get_url INFO: status code: 200 7929 2017-12-06 10:57:20.037 UTC root:file_to_dict INFO: reading {u'6.6.6.6': {u'name': u'R2', u'sid': 16002}, u'7.7.7.7': {u'name': u'R3', u'sid': 16003}, u'5.5.5.5': {u'name': u'R1', u'sid': 16001}} 7929 2017-12-06 10:57:20.061 UTC root:get_url INFO: Url get Status: 200 7929 2017-12-06 10:57:20.063 UTC root:version_check INFO: Found ODL Release: beryllium 7929 2017-12-06 10:57:20.072 UTC root:get_url INFO: Url get Status: 200 7929 2017-12-06 10:57:20.072 UTC root:node_sr_update INFO: SR sid updated for: R3 from static 7929 2017-12-06 10:57:20.073 UTC root:node_sr_update INFO: SR sid updated for: R2 from static 7929 2017-12-06 10:57:20.073 UTC root:node_sr_update INFO: SR sid updated for: R1 from static 7929 2017-12-06 10:57:20.074 UTC root:init INFO: patterned to '/pathman' 7929 2017-12-06 10:57:20.075 UTC root:init INFO: Pathman REST API Launched on port 8020 7929 2017-12-06 10:57:44.165 UTC root:initialize INFO: Init 2 done - debug saved 7929 2017-12-06 10:57:44.165 UTC root:rest_interface_parser INFO: Commands Relieved: {u'src': u'R1', u'dst': u'R2', u'option': u'path', u'metric': u'igp'} 7929 2017-12-06 10:57:44.166 UTC root:post INFO: {"response": [{"path": [["R1", "R2"], ["R1", "R3", "R2"]], "metric": [10, 20], "option": "path", "success": true}]} 7929 2017-12-06 10:57:55.714 UTC root:initialize INFO: Init 2 done - debug saved 7929 2017-12-06 10:57:55.715 UTC root:rest_interface_parser INFO: Commands Relieved: {u'path': [u'R1', u'R2'], u'option': u'create', u'name': u'R1 -> R2'} 7929 2017-12-06 10:57:55.715 UTC root:get_loop_list INFO: Path: [u'R1', u'R2'] 7929 2017-12-06 10:57:55.715 UTC root:get_loop_list INFO: Loop list: [u'6.6.6.6'] 7929 2017-12-06 10:57:55.715 UTC root:get_sid_list INFO: Path: [u'R1', u'R2'] 7929 2017-12-06 10:57:55.715 UTC root:get_sid_list INFO: SID list: [16002] 7929 2017-12-06 10:57:55.816 UTC root:createSRtunnel INFO: Create SR Tunnel response: {u'output': {u'failure': u'failed', u'error': [{u'error-object': {u'ignore': False, u'processing-rule': False, u'type': 3, u'value': 2}}]}} 7929 2017-12-06 10:57:57.818 UTC root:post INFO: {"response": [{"cause": {"failure": "failed", "error": [{"error-object": {"ignore": false, "processing-rule": false, "type": 3, "value": 2}}]}, "option": "create", "success": false}]} 7929 2017-12-06 10:57:57.864 UTC root:initialize INFO: Init 2 done - debug saved 7929 2017-12-06 10:57:57.864 UTC root:rest_interface_parser INFO: Commands Relieved: {u'option': u'list_all'} 7929 2017-12-06 10:57:57.873 UTC root:get_url INFO: Url get Status: 200 7929 2017-12-06 10:57:57.874 UTC root:listAllLsp INFO: list: [], formatted: [] 7929 2017-12-06 10:57:57.874 UTC root:post INFO: {"response": [{"list": [], "option": "list_all", "success": true}]}

nikmon2 commented 6 years ago

Hi Parul, The error reported from ODL/Device is displayed in the log as Type 3, Value 2:

7929 2017-12-06 10:57:55.816 UTC root:createSRtunnel INFO: Create SR Tunnel response: {u'output': {u'failure': u'failed', u'error': [{u'error-object': {u'ignore': False, u'processing-rule': False, u'type': 3, u'value': 2}}]}}
7929 2017-12-06 10:57:57.818 UTC root:post INFO: {"response": [{"cause": {"failure": "failed", "error": [{"error-object": {"ignore": false, "processing-rule": false, "type": 3, "value": 2}}]}, "option": "create", "success": false}]}

Looking at: https://www.iana.org/assignments/pcep/pcep.xhtml that means that there is no path.

I interpret that as the SIDs are not recognized by the routers as valid. What routers are you using, and s/w version?

Cheers, NIklas

parulagrawal14 commented 6 years ago

Hi NIklas,

Thanks for all your support!!

Now i am able to deploy the path after setting "pcep-parser-segment-routing" to false in "33-pcep-segment-routing.xml" file. While deploying the path, pathman-sr was showing that it has been deployed successfully but it was actually down in Cisco Router. the error message which was coming was "Reason for the tunnel being down: No IP source address is configured" in "show mpls traffic-eng tunnels ".

After configuring "ipv4 unnumbered mpls traffic-eng Loopback0" in router, the tunnel which i tried to deploy came up.

I am using "Cisco IOS XR Software, Version 6.0.0" with beryllium SR4 ODL.

Thanks, Parul

nikmon2 commented 6 years ago

Hi Parul, Good news!

Below some config snippets as example for others.

Cheers, Niklas

ipv4 unnumbered mpls traffic-eng Loopback0
!
router isis pce-poc
 is-type level-2-only
 net 72.0000.0000.0030.00
 distribute bgp-ls level 2
 address-family ipv4 unicast
  metric-style wide
  mpls traffic-eng level-2-only
  mpls traffic-eng router-id Loopback0
  segment-routing mpls
  redistribute static
 !
 interface Loopback0
  address-family ipv4 unicast
  prefix-sid absolute 16030
  !
 !
 interface GigabitEthernet0/0/0/0
  point-to-point
  address-family ipv4 unicast
  !
 !
 pce
  peer ipv4 198.18.1.80
  !
  segment-routing
  stateful-client
   instantiation
   cisco-extension
  !
 !