)]}'
{"networking_generic_switch/devices/__init__.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a48f5a1491e9215b6a9fae36480bcbce9eaf8155","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_86e3c705","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"updated":"2017-12-04 09:28:57.000000000","message":"better to rename it to ngs_uplink_ports, as in future when vlan aware vms support is added the naming will overlap.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"80d14236cccdb8eeb20c1e54450992462c512f34","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_7c34e7fb","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_1b46057e","updated":"2017-12-05 19:45:03.000000000","message":"Terminology in networking is a bit of a mess ... :)\n\nServers/Workstations are attached to edge-ports? Can we differentiate future VLAN aware baremetal node ports as \"edge_trunk_ports\"?\n\nIn network terminology the edge port term is used when defining how spanning-tree operates on a port. If there is some sort of switch connected to the other end of the link it is not an edge port. Network nodes typically run some sort of virtual switch.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f4a095ca8dee34e5a41764e227cd735b8513c29b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_72815d8f","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_34ed0525","updated":"2017-12-06 12:05:59.000000000","message":"I think even ngs_control_plane_trunk_ports is too specific - you could use it for an uplink if you want to.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"6338e6e691fc4a7d9500eb7370c515204910148c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_1b46057e","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_3b03c975","updated":"2017-12-05 16:30:50.000000000","message":"Yes there may be routers on the network nodes, but also there may be DHCP agents.\n\nI don\u0027t think there is a configuration difference, more a terminology difference. Some uplinks are trunk ports, some trunk ports are uplinks, but not always in either case.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"946aad326891ea8e92d3bc523447f7f89122a669","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_854890cc","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_5f949937","updated":"2017-12-04 18:11:56.000000000","message":"An Uplink is not necessarily carrying multiple VLAN\u0027s. A Trunk is specifically a port carrying multiple VLAN\u0027s. This is about adding multiple VLAN\u0027s to a port.\n\nI think we should keep \"trunk\" in the name. Differentiating using \"static\" here and \"dynamic\" for future trunk ports connecting to vlan aware vms sounds like a good idea.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"deb6346b8d41e49079ef49113bc22e63a860e871","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_9fa8e11f","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_5f949937","updated":"2017-12-05 15:45:33.000000000","message":"hm... in the networking terminology uplink - is the link to","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"0ecbb9eee93c3ab2cf462f58552bd693d4b62956","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_3b03c975","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_701ad07d","updated":"2017-12-05 16:20:03.000000000","message":"so since Neutron routers are located on network nodes you may consider ports to network nodes as uplinks also right? I\u0027m just trying to understand what is the configuration difference is between trunk to the network node and trunk to the distribution switch.\nThe functionality you adding may be used by anyone who doesn\u0027t want to setup dynamic VLAN learning among the switches or do static configuration on uplink ports.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"0ea1dc666295e06fd1842c481b891271539b24b0","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_34ed0525","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_7c34e7fb","updated":"2017-12-06 10:13:08.000000000","message":"hm... might be ngs_control_plane_trunk_ports or as it was suggested ngs_static_trunk_ports","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"deb6346b8d41e49079ef49113bc22e63a860e871","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_103a6433","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_854890cc","updated":"2017-12-05 15:45:33.000000000","message":"Neutron support trunk extension that is applicable for VMs and BMs, in our case any port connected to baremetal server may be configured as a trunk.\n\nThis patch is about to allowing/disallowing networks to be connected to the ToR switch. It is achieved by allowing specific VLAN on the link to Distribution layer switch (which is called in network terminology - uplink)\n\nI\u0027m not sure that static or dynamic ports is a good naming. If they are static why n-g-s should touch theirs configuration? All networks may be pre-configured on \u0027uplinks\u0027 manually.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e08b8971f5037eaa2d6d60dc120e6ca8ad9830b9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_5f949937","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_86e3c705","updated":"2017-12-04 16:52:03.000000000","message":"I normally use this for the network node, so I\u0027m not sure uplink is the right name. How about ngs_static_trunk_ports?","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4b27c56648e875a91c95d27ecca087535f21f4d5","unresolved":false,"context_lines":[{"line_number":27,"context_line":"NGS_INTERNAL_OPTS \u003d ["},{"line_number":28,"context_line":"    {\u0027name\u0027: \u0027ngs_mac_address\u0027},"},{"line_number":29,"context_line":"    # Comma-separated list of names of interfaces to be added to each network."},{"line_number":30,"context_line":"    {\u0027name\u0027: \u0027ngs_trunk_ports\u0027},"},{"line_number":31,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_timeout\u0027, \u0027default\u0027: 60},"},{"line_number":32,"context_line":"    {\u0027name\u0027: \u0027ngs_ssh_connect_interval\u0027, \u0027default\u0027: 10},"},{"line_number":33,"context_line":"    {\u0027name\u0027: \u0027ngs_max_connections\u0027, \u0027default\u0027: 1},"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_701ad07d","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":29},"in_reply_to":"df87a7cf_9fa8e11f","updated":"2017-12-05 15:57:52.000000000","message":"Actually, the main reason I need this is for plugging neutron network nodes into tenant VLANs. For uplinks I typically use GVRP, so this is not required.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"}],"networking_generic_switch/devices/netmiko_devices/__init__.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a48f5a1491e9215b6a9fae36480bcbce9eaf8155","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    DELETE_PORT \u003d None"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    PLUG_TRUNK_PORT_TO_NETWORK \u003d None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    UNPLUG_TRUNK_PORT_FROM_NETWORK \u003d None"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_a6b5abf0","line":45,"range":{"start_line":45,"start_character":4,"end_line":45,"end_character":30},"updated":"2017-12-04 09:28:57.000000000","message":"mb ALLOW_NETWORK_ON_TRUNK ?","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e08b8971f5037eaa2d6d60dc120e6ca8ad9830b9","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    DELETE_PORT \u003d None"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    PLUG_TRUNK_PORT_TO_NETWORK \u003d None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    UNPLUG_TRUNK_PORT_FROM_NETWORK \u003d None"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_7f215dfb","line":45,"range":{"start_line":45,"start_character":4,"end_line":45,"end_character":30},"in_reply_to":"df87a7cf_a6b5abf0","updated":"2017-12-04 16:52:03.000000000","message":"ok","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"946aad326891ea8e92d3bc523447f7f89122a669","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    PLUG_TRUNK_PORT_TO_NETWORK \u003d None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    UNPLUG_TRUNK_PORT_FROM_NETWORK \u003d None"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    SAVE_CONFIGURATION \u003d None"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_e5d71cbf","line":47,"range":{"start_line":47,"start_character":4,"end_line":47,"end_character":34},"updated":"2017-12-04 18:11:56.000000000","message":"If we change above to ALLOW_ ... change this to EXCLUDE_NETWORK_ON_TRUNK?","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"79437fec1da259aa70d18f3e1824d4ef38328595","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    PLUG_TRUNK_PORT_TO_NETWORK \u003d None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    UNPLUG_TRUNK_PORT_FROM_NETWORK \u003d None"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    SAVE_CONFIGURATION \u003d None"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_84ed128d","line":47,"range":{"start_line":47,"start_character":4,"end_line":47,"end_character":34},"in_reply_to":"df87a7cf_50178c52","updated":"2017-12-13 13:53:22.000000000","message":"ADD/REMOVE_NETWORK_ON_TRUNK?","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4b27c56648e875a91c95d27ecca087535f21f4d5","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    PLUG_TRUNK_PORT_TO_NETWORK \u003d None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    UNPLUG_TRUNK_PORT_FROM_NETWORK \u003d None"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    SAVE_CONFIGURATION \u003d None"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_50178c52","line":47,"range":{"start_line":47,"start_character":4,"end_line":47,"end_character":34},"in_reply_to":"df87a7cf_e5d71cbf","updated":"2017-12-05 15:57:52.000000000","message":"+1\n\nI\u0027d also be happy with a simple add/remove.","commit_id":"6f035ddf808f1cfd3fa876668ddbc0bea82fdbc6"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"ea989166f135dac2a29b4789fc459ee8ae316a60","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        # NOTE(zhenguo): Remove dashes from uuid as on most devices 32 chars"},{"line_number":155,"context_line":"        # is the max length of vlan name."},{"line_number":156,"context_line":"        network_id \u003d uuid.UUID(network_id).hex"},{"line_number":157,"context_line":"        cmds \u003d self._format_commands(self.ADD_NETWORK,"},{"line_number":158,"context_line":"                                     segmentation_id\u003dsegmentation_id,"},{"line_number":159,"context_line":"                                     network_id\u003dnetwork_id)"},{"line_number":160,"context_line":"        for port in self._get_trunk_ports():"},{"line_number":161,"context_line":"            cmds +\u003d self._format_commands(self.ADD_NETWORK_TO_TRUNK,"},{"line_number":162,"context_line":"                                          port\u003dport,"},{"line_number":163,"context_line":"                                          segmentation_id\u003dsegmentation_id)"},{"line_number":164,"context_line":"        self.send_commands_to_device(cmds)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def del_network(self, segmentation_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_d4265017","line":163,"range":{"start_line":157,"start_character":0,"end_line":163,"end_character":74},"updated":"2017-12-14 12:19:47.000000000","message":"what if ADD_NETWORK is not implemented (empty) but ADD_NETWORK_TO_TRUNK is, and trunk_ports are set?\n\nI mean should we always run commands for trunk ports even when there were no commands for a normal port?\n\nnot sure how realistic such situation/configuration is though..","commit_id":"16c50b691bbe67c267f0ebfde8a79a54f19ea0cd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f218a2686587914d57731a5773bf98b5695007ce","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        # NOTE(zhenguo): Remove dashes from uuid as on most devices 32 chars"},{"line_number":155,"context_line":"        # is the max length of vlan name."},{"line_number":156,"context_line":"        network_id \u003d uuid.UUID(network_id).hex"},{"line_number":157,"context_line":"        cmds \u003d self._format_commands(self.ADD_NETWORK,"},{"line_number":158,"context_line":"                                     segmentation_id\u003dsegmentation_id,"},{"line_number":159,"context_line":"                                     network_id\u003dnetwork_id)"},{"line_number":160,"context_line":"        for port in self._get_trunk_ports():"},{"line_number":161,"context_line":"            cmds +\u003d self._format_commands(self.ADD_NETWORK_TO_TRUNK,"},{"line_number":162,"context_line":"                                          port\u003dport,"},{"line_number":163,"context_line":"                                          segmentation_id\u003dsegmentation_id)"},{"line_number":164,"context_line":"        self.send_commands_to_device(cmds)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def del_network(self, segmentation_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_1f4a917f","line":163,"range":{"start_line":157,"start_character":0,"end_line":163,"end_character":74},"in_reply_to":"df87a7cf_d4265017","updated":"2017-12-14 13:07:53.000000000","message":"Maybe on some devices that would be valid - perhaps if they had no way to add/remove VLANs, and all VLANs were implicitly enabled.","commit_id":"16c50b691bbe67c267f0ebfde8a79a54f19ea0cd"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"ea989166f135dac2a29b4789fc459ee8ae316a60","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def del_network(self, segmentation_id):"},{"line_number":167,"context_line":"        cmds \u003d []"},{"line_number":168,"context_line":"        for port in self._get_trunk_ports():"},{"line_number":169,"context_line":"            cmds +\u003d self._format_commands(self.REMOVE_NETWORK_FROM_TRUNK,"},{"line_number":170,"context_line":"                                          port\u003dport,"},{"line_number":171,"context_line":"                                          segmentation_id\u003dsegmentation_id)"},{"line_number":172,"context_line":"        cmds +\u003d self._format_commands(self.DELETE_NETWORK,"},{"line_number":173,"context_line":"                                      segmentation_id\u003dsegmentation_id)"},{"line_number":174,"context_line":"        self.send_commands_to_device(cmds)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def plug_port_to_network(self, port, segmentation_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_9420c8f9","line":173,"range":{"start_line":168,"start_character":0,"end_line":173,"end_character":70},"updated":"2017-12-14 12:19:47.000000000","message":"similar thoughts here..","commit_id":"16c50b691bbe67c267f0ebfde8a79a54f19ea0cd"}]}
