Activity log for bug #1903891

Date Who What changed Old value New value Message
2020-11-11 17:12:01 Doug Szumski bug added bug
2020-11-11 17:12:29 Doug Szumski summary Juniper driver can't handle conversion of trunk ports Juniper driver fails due to apparent CLI change
2020-11-11 17:13:39 Doug Szumski description It appears that on JUNOS 18.4R2-S2.4 built 2019-11-08 the word `interface` as part of the CLI has changed to `interfaces`. The CLI automatically adds the additional `s`, for example, `delete interface {port} disable` is converted to `delete interfaces {port} disable`. However, this causes a terrible failure in netmiko such as: ` 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers [req-697e4bd8-6585-4943-adb3-310681c9e886 a6f6abb4b7034092bc36704c69124611 0269b0c34de84c61a722c 3ab1f68f44e - default default] Mechanism driver genericswitch failed in bind_port: networking_generic_switch.exceptions.GenericSwitchNetmikoConnectError: Netm iko connection error: {'device_type': 'juniper', 'ip': '10.30.0.16', 'username': 'stack', 'password': '******'}, error: Timed-out reading channel, data not a vailable. 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers Traceback (most recent call last): 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/site-packages/paramiko/channel.py", line 699, in recv 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers out = self.in_buffer.read(nbytes, self.timeout) 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/site-packages/paramiko/buffered_pipe.py", line 164, in read 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers raise PipeTimeout() 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers paramiko.buffered_pipe.PipeTimeout 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers During handling of the above exception, another exception occurred: 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers Traceback (most recent call last): 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/site-packages/netmiko/base_connection.py", line 541, in _read_channel _expect 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers new_data = self.remote_conn.recv(MAX_BUFFER) 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/site-packages/paramiko/channel.py", line 701, in recv 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers raise socket.timeout() 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers socket.timeout` Upon inspection the commands are garbled: ` (Pdb) config_commands ['delete interface xe-0/0/2:1 disable', 'delete interface xe-0/0/2:1 unit 0 family ethernet-switching vlan members', 'set interface xe-0/0/20:1 unit 0 family ethernet-switching vlan members 14'] (Pdb) n > /usr/lib/python3.6/site-packages/netmiko/base_connection.py(1740)send_config_set() -> output = self._sanitize_output(output) (Pdb) output 'delete interface xe-0/0/2:1\r\n ^\r\nsyntax error.\r\n\rstack@c5-swtedg-01# delete interface xe-0/0/2:1 \x08\x08\x08\x08\x08\x08\ x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08dinterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x 08\x08\x08iinterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08sinterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x 08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08ainterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08bin terface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08linterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x0 8\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08einterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\r\nerror: synta x error: disableinterface\r\n\r\n{master:0}[edit]\r\nstack@c5-swtedg-01# delete interface xe-0/0/2:1\r\n ^\r\nsyntax error.\r\n\rsta ` This can be fixed with `s/interface/interfaces` in the Juniper driver. It appears that on JUNOS 18.4R2-S2.4 built 2019-11-08 the word `interface` as part of the CLI has changed to `interfaces`. The CLI automatically adds the additional `s`, for example, `delete interface {port} disable` is converted to `delete interfaces {port} disable`. However, this causes a terrible failure in netmiko such as: ` 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers [req-697e4bd8-6585-4943-adb3-310681c9e886 a6f6abb4b7034092bc36704c69124611 0269b0c34de84c61a722c 3ab1f68f44e - default default] Mechanism driver genericswitch failed in bind_port: networking_generic_switch.exceptions.GenericSwitchNetmikoConnectError: Netm iko connection error: {'device_type': 'juniper', 'ip': '10.30.0.16', 'username': 'stack', 'password': '******'}, error: Timed-out reading channel, data not a vailable. 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers Traceback (most recent call last): 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/site-packages/paramiko/channel.py", line 699, in recv 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers out = self.in_buffer.read(nbytes, self.timeout) 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/site-packages/paramiko/buffered_pipe.py", line 164, in read 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers raise PipeTimeout() 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers paramiko.buffered_pipe.PipeTimeout 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers During handling of the above exception, another exception occurred: 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers Traceback (most recent call last): 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/site-packages/netmiko/base_connection.py", line 541, in _read_channel _expect 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers new_data = self.remote_conn.recv(MAX_BUFFER) 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3.6/site-packages/paramiko/channel.py", line 701, in recv 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers raise socket.timeout() 2020-11-11 11:21:50.864 24 ERROR neutron.plugins.ml2.managers socket.timeout` Upon inspection the commands are garbled: ` (Pdb) config_commands ['delete interface xe-0/0/2:1 disable', 'delete interface xe-0/0/2:1 unit 0 family ethernet-switching vlan members', 'set interface xe-0/0/2:1 unit 0 family ethernet-switching vlan members 104'] (Pdb) n > /usr/lib/python3.6/site-packages/netmiko/base_connection.py(1740)send_config_set() -> output = self._sanitize_output(output) (Pdb) output 'delete interface xe-0/0/2:1\r\n ^\r\nsyntax error.\r\n\rstack@c5-swtedg-01# delete interface xe-0/0/2:1 \x08\x08\x08\x08\x08\x08\ x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08dinterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x 08\x08\x08iinterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08sinterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x 08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08ainterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08bin terface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08linterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x0 8\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08einterface xe-0/0/2:1\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\r\nerror: synta x error: disableinterface\r\n\r\n{master:0}[edit]\r\nstack@c5-swtedg-01# delete interface xe-0/0/2:1\r\n ^\r\nsyntax error.\r\n\rsta ` This can be fixed with `s/interface/interfaces` in the Juniper driver.
2020-12-02 08:52:32 Piotr Parczewski bug added subscriber Piotr Parczewski
2021-02-19 13:43:19 Michal Nasiadka networking-generic-switch: status New Confirmed
2021-02-19 13:44:13 Bartosz Bezak bug added subscriber Bartosz Bezak
2021-04-14 10:58:51 Piotr Parczewski networking-generic-switch: assignee Piotr Parczewski (parczewski)
2021-04-15 07:43:06 Piotr Parczewski networking-generic-switch: status Confirmed In Progress
2021-04-20 13:29:52 Piotr Parczewski networking-generic-switch: status In Progress Fix Committed
2021-04-21 06:57:05 Piotr Parczewski networking-generic-switch: status Fix Committed Fix Released