)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e5499e3490693a6c40cc14277acb2c87e11b143d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     fumeng2005 \u003cfumeng2005@126.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-06-19 10:47:12 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add support for huawei fiber switch."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"detail:"},{"line_number":10,"context_line":"    Huawei switch like CE6850EI needs to execute the command \u0027commit\u0027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f201791_8f82f64e","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"updated":"2017-06-21 06:12:10.000000000","message":"s/add/Add","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e5499e3490693a6c40cc14277acb2c87e11b143d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    this type of switch."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I962398b18dcfb4b42f5a557bbdbc28be94107a0d"},{"line_number":15,"context_line":"Close-bug: #1697676"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f201791_ec629816","line":15,"updated":"2017-06-21 06:12:10.000000000","message":"Closes-Bug:","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"}],"networking_generic_switch/devices/netmiko_devices/huawei_fiber.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6ba8097b0f0fb65ab71e575bf88171ba24130548","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    PLUG_PORT_TO_NETWORK \u003d ("},{"line_number":33,"context_line":"        \u0027interface {port}\u0027,"},{"line_number":34,"context_line":"        \u0027port default vlan {segmentation_id}\u0027,"},{"line_number":35,"context_line":"        \u0027commit\u0027,"},{"line_number":36,"context_line":"    )"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def __init__(self, device_cfg):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_f49f264d","line":35,"updated":"2017-06-19 12:31:02.000000000","message":"instead of adding commit to each command set, you can just define SAVE_CONFIGURATION like it done here https://github.com/openstack/networking-generic-switch/blob/master/networking_generic_switch/devices/netmiko_devices/cisco.py#L41","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e5499e3490693a6c40cc14277acb2c87e11b143d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    PLUG_PORT_TO_NETWORK \u003d ("},{"line_number":33,"context_line":"        \u0027interface {port}\u0027,"},{"line_number":34,"context_line":"        \u0027port default vlan {segmentation_id}\u0027,"},{"line_number":35,"context_line":"        \u0027commit\u0027,"},{"line_number":36,"context_line":"    )"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def __init__(self, device_cfg):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_2c2e50a5","line":35,"in_reply_to":"7f231b9d_313d972c","updated":"2017-06-21 06:12:10.000000000","message":"if SAVE_CONFIGURATION is defined n-g-s will use the same ssh session please have look https://github.com/openstack/networking-generic-switch/blob/55e7ee5d22c07a1fb4ece739b958edc40f237677/networking_generic_switch/devices/netmiko_devices/__init__.py#L140\n\nLooks like when you try to exist from config mode on huawei device it asks \"Warning: Uncommitted configurations found. Are you sure to commit them before exiting? [Y(yes)/N(no)/C(cancel)]:\" if configuration wasn\u0027t commited.","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"},{"author":{"_account_id":21114,"name":"Miles Fu","email":"fumeng2005@126.com","username":"fumeng200"},"change_message_id":"c68725c8abf45a715b23d3278dc227b5f2a48c8c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    PLUG_PORT_TO_NETWORK \u003d ("},{"line_number":33,"context_line":"        \u0027interface {port}\u0027,"},{"line_number":34,"context_line":"        \u0027port default vlan {segmentation_id}\u0027,"},{"line_number":35,"context_line":"        \u0027commit\u0027,"},{"line_number":36,"context_line":"    )"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def __init__(self, device_cfg):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_11097b30","line":35,"in_reply_to":"7f231b9d_313d972c","updated":"2017-06-20 03:00:24.000000000","message":"neutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:212 _write_channel] write_channel: interface 10GE1/0/10\n\nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:212 _write_channel] write_channel: port default vlan 50\n\nneutron-server DEBUG [pid:26699] [MainThread][tid:118870096] [amqpdriver.py:194 __call__] received message msg_id: 703941e0a410469787df3e72c9799d71 reply to reply_6c7e3fa5156041b8975d02f9897134f3\nneutron-server DEBUG [pid:26699] [MainThread][tid:118870416] [req-93bbccb8-7379-4875-b2f9-189ea516bc55] [amqpdriver.py:73 _send_reply] sending reply msg_id: 703941e0a410469787df3e72c9799d71 reply queue: reply_6c7e3fa5156041b8975d02f9897134f3 time elapsed: 0.026604401879s\nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:237 _read_channel] read_channel: interface 10GE1/0/10\n[~HUAWEI-10GE1/0/10]port default vlan 50\n[*HUAWEI-10GE1/0/10]\nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:237 _read_channel] read_channel: \nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:237 _read_channel] read_channel: \nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:212 _write_channel] write_channel: \n\nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:286 _read_channel_expect] _read_channel_expect read_data: \n[*HUAWEI-10GE1/0/10]\nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:212 _write_channel] write_channel: return\n\nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:286 _read_channel_expect] _read_channel_expect read_data: return\n\nneutron-server DEBUG [pid:26665] [MainThread][tid:118804144] [req-8a9ffd69-60be-4765-9ed1-4518fb3ebc3d] [base_connection.py:286 _read_channel_expect] _read_channel_expect read_data: Warning: Uncommitted configurations found. Are you sure to commit them before exiting? [Y(yes)/N(no)/C(cancel)]:","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"},{"author":{"_account_id":21114,"name":"Miles Fu","email":"fumeng2005@126.com","username":"fumeng200"},"change_message_id":"bc5050bdec3ab8958ee0ce4a272a20da6657f144","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    PLUG_PORT_TO_NETWORK \u003d ("},{"line_number":33,"context_line":"        \u0027interface {port}\u0027,"},{"line_number":34,"context_line":"        \u0027port default vlan {segmentation_id}\u0027,"},{"line_number":35,"context_line":"        \u0027commit\u0027,"},{"line_number":36,"context_line":"    )"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def __init__(self, device_cfg):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_313d972c","line":35,"in_reply_to":"7f231b9d_f49f264d","updated":"2017-06-20 02:57:18.000000000","message":"SAVE_CONFIGURATION is not work because the command \u0027commit\u0027 is necessary in the same ssh connection.","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"}],"networking_generic_switch/tests/unit/netmiko/test_huawei_fiber.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"4e24297f9cd7be8824bcd72a82fd00b6907d129b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"                \u0027NetmikoSwitch.send_commands_to_device\u0027)"},{"line_number":32,"context_line":"    def test_add_network(self, m_exec):"},{"line_number":33,"context_line":"        self.switch.add_network(33, \u00270ae071f5-5be9-43e4-80ea-e41fefe85b21\u0027)"},{"line_number":34,"context_line":"        m_exec.assert_called_with("},{"line_number":35,"context_line":"            [\u0027vlan 33\u0027, \u0027commit\u0027])"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @mock.patch(\u0027networking_generic_switch.devices.netmiko_devices.\u0027"},{"line_number":38,"context_line":"                \u0027NetmikoSwitch.send_commands_to_device\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_4c2518ab","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":34},"updated":"2017-06-20 03:03:15.000000000","message":"let make it one-liner :D","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e5499e3490693a6c40cc14277acb2c87e11b143d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"                \u0027NetmikoSwitch.send_commands_to_device\u0027)"},{"line_number":32,"context_line":"    def test_add_network(self, m_exec):"},{"line_number":33,"context_line":"        self.switch.add_network(33, \u00270ae071f5-5be9-43e4-80ea-e41fefe85b21\u0027)"},{"line_number":34,"context_line":"        m_exec.assert_called_with("},{"line_number":35,"context_line":"            [\u0027vlan 33\u0027, \u0027commit\u0027])"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @mock.patch(\u0027networking_generic_switch.devices.netmiko_devices.\u0027"},{"line_number":38,"context_line":"                \u0027NetmikoSwitch.send_commands_to_device\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_cf9fceb2","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":34},"in_reply_to":"7f231b9d_4c2518ab","updated":"2017-06-21 06:12:10.000000000","message":"yes, please do 1 liner.","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"4e24297f9cd7be8824bcd72a82fd00b6907d129b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                \u0027NetmikoSwitch.send_commands_to_device\u0027)"},{"line_number":39,"context_line":"    def test_del_network(self, mock_exec):"},{"line_number":40,"context_line":"        self.switch.del_network(33)"},{"line_number":41,"context_line":"        mock_exec.assert_called_with("},{"line_number":42,"context_line":"            [\u0027undo vlan 33\u0027, \u0027commit\u0027])"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @mock.patch(\u0027networking_generic_switch.devices.netmiko_devices.\u0027"},{"line_number":45,"context_line":"                \u0027NetmikoSwitch.send_commands_to_device\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_ec33c4f5","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":39},"updated":"2017-06-20 03:03:15.000000000","message":"this too","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"}],"setup.cfg":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6ba8097b0f0fb65ab71e575bf88171ba24130548","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    netmiko_ovs_linux \u003d networking_generic_switch.devices.netmiko_devices.ovs:OvsLinux"},{"line_number":22,"context_line":"    netmiko_cisco_ios \u003d networking_generic_switch.devices.netmiko_devices.cisco:CiscoIos"},{"line_number":23,"context_line":"    netmiko_huawei \u003d networking_generic_switch.devices.netmiko_devices.huawei:Huawei"},{"line_number":24,"context_line":"    netmiko_huawei_fiber \u003d networking_generic_switch.devices.netmiko_devices.huawei_fiber:Huawei"},{"line_number":25,"context_line":"    netmiko_arista_eos \u003d networking_generic_switch.devices.netmiko_devices.arista:AristaEos"},{"line_number":26,"context_line":"    netmiko_dell_force10 \u003d networking_generic_switch.devices.netmiko_devices.dell:DellNos"},{"line_number":27,"context_line":"    netmiko_brocade_fastiron \u003d networking_generic_switch.devices.netmiko_devices.brocade:BrocadeFastIron"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"7f231b9d_34e8feb0","line":24,"updated":"2017-06-19 12:31:02.000000000","message":"Have you had a chance to contribute this to netmiko directly?","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"},{"author":{"_account_id":21114,"name":"Miles Fu","email":"fumeng2005@126.com","username":"fumeng200"},"change_message_id":"bc5050bdec3ab8958ee0ce4a272a20da6657f144","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    netmiko_ovs_linux \u003d networking_generic_switch.devices.netmiko_devices.ovs:OvsLinux"},{"line_number":22,"context_line":"    netmiko_cisco_ios \u003d networking_generic_switch.devices.netmiko_devices.cisco:CiscoIos"},{"line_number":23,"context_line":"    netmiko_huawei \u003d networking_generic_switch.devices.netmiko_devices.huawei:Huawei"},{"line_number":24,"context_line":"    netmiko_huawei_fiber \u003d networking_generic_switch.devices.netmiko_devices.huawei_fiber:Huawei"},{"line_number":25,"context_line":"    netmiko_arista_eos \u003d networking_generic_switch.devices.netmiko_devices.arista:AristaEos"},{"line_number":26,"context_line":"    netmiko_dell_force10 \u003d networking_generic_switch.devices.netmiko_devices.dell:DellNos"},{"line_number":27,"context_line":"    netmiko_brocade_fastiron \u003d networking_generic_switch.devices.netmiko_devices.brocade:BrocadeFastIron"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"7f231b9d_71e8af7b","line":24,"in_reply_to":"7f231b9d_34e8feb0","updated":"2017-06-20 02:57:18.000000000","message":"I think this fiber switch is one of the huawei device and only the command is not completely similar. The ssh connection is the same as the huawei device in netmiko. I am not sure netmiko will accept this device and I will discuss it at netmiko project.thank you.","commit_id":"1deca61014008e34b96d7c5a6dc53a57661e748d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f1283317b0ea106fc7db31a65f22a9a5030b9c72","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    netmiko_ovs_linux \u003d networking_generic_switch.devices.netmiko_devices.ovs:OvsLinux"},{"line_number":22,"context_line":"    netmiko_cisco_ios \u003d networking_generic_switch.devices.netmiko_devices.cisco:CiscoIos"},{"line_number":23,"context_line":"    netmiko_huawei \u003d networking_generic_switch.devices.netmiko_devices.huawei:Huawei"},{"line_number":24,"context_line":"    netmiko_huawei_VRPV8 \u003d networking_generic_switch.devices.netmiko_devices.huawei_VRPV8:Huawei"},{"line_number":25,"context_line":"    netmiko_arista_eos \u003d networking_generic_switch.devices.netmiko_devices.arista:AristaEos"},{"line_number":26,"context_line":"    netmiko_dell_force10 \u003d networking_generic_switch.devices.netmiko_devices.dell:DellNos"},{"line_number":27,"context_line":"    netmiko_brocade_fastiron \u003d networking_generic_switch.devices.netmiko_devices.brocade:BrocadeFastIron"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"3f1d235d_9dec87f4","line":24,"range":{"start_line":24,"start_character":19,"end_line":24,"end_character":24},"updated":"2017-06-29 06:57:44.000000000","message":"use lowercase here and in all other places.","commit_id":"7bd043b96aeef21347bcdbaed07cc81cb4be7ab3"}]}
