)]}'
{"nova/network/linux_net.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59b89d816a124609fc1cec443dbbfcea2967dc2c","unresolved":false,"context_lines":[{"line_number":1263,"context_line":"        raise exception.OvsConfigurationFailure(inner_exception\u003de)"},{"line_number":1264,"context_line":""},{"line_number":1265,"context_line":""},{"line_number":1266,"context_line":"def _create_ovs_vif_cmd(bridge, dev, iface_id, mac,"},{"line_number":1267,"context_line":"                        instance_id, interface_type\u003dNone):"},{"line_number":1268,"context_line":"    cmd \u003d [\u0027--\u0027, \u0027--if-exists\u0027, \u0027del-port\u0027, dev, \u0027--\u0027,"},{"line_number":1269,"context_line":"            \u0027add-port\u0027, bridge, dev,"},{"line_number":1270,"context_line":"            \u0027--\u0027, \u0027set\u0027, \u0027Interface\u0027, dev,"},{"line_number":1271,"context_line":"            \u0027external-ids:iface-id\u003d%s\u0027 % iface_id,"},{"line_number":1272,"context_line":"            \u0027external-ids:iface-status\u003dactive\u0027,"},{"line_number":1273,"context_line":"            \u0027external-ids:attached-mac\u003d%s\u0027 % mac,"},{"line_number":1274,"context_line":"            \u0027external-ids:vm-uuid\u003d%s\u0027 % instance_id]"},{"line_number":1275,"context_line":"    if interface_type:"},{"line_number":1276,"context_line":"        cmd +\u003d [\u0027type\u003d%s\u0027 % interface_type]"},{"line_number":1277,"context_line":"    return cmd"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":""},{"line_number":1280,"context_line":"def create_ovs_vif_port(bridge, dev, iface_id, mac, instance_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_f8b6b7d9","side":"PARENT","line":1277,"range":{"start_line":1266,"start_character":0,"end_line":1277,"end_character":14},"updated":"2017-07-13 12:35:06.000000000","message":"This was only used in tests","commit_id":"d955eb1db753f191acb02eb9758080329da5b866"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59b89d816a124609fc1cec443dbbfcea2967dc2c","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"        cmd +\u003d [\u0027type\u003d%s\u0027 % interface_type]"},{"line_number":1277,"context_line":"    return cmd"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":""},{"line_number":1280,"context_line":"def create_ovs_vif_port(bridge, dev, iface_id, mac, instance_id,"},{"line_number":1281,"context_line":"                        mtu\u003dNone, interface_type\u003dNone):"},{"line_number":1282,"context_line":"    _ovs_vsctl(_create_ovs_vif_cmd(bridge, dev, iface_id,"},{"line_number":1283,"context_line":"                                   mac, instance_id,"},{"line_number":1284,"context_line":"                                   interface_type))"},{"line_number":1285,"context_line":"    # Note at present there is no support for setting the"},{"line_number":1286,"context_line":"    # mtu for vhost-user type ports."},{"line_number":1287,"context_line":"    if interface_type !\u003d network_model.OVS_VHOSTUSER_INTERFACE_TYPE:"},{"line_number":1288,"context_line":"        _set_device_mtu(dev, mtu)"},{"line_number":1289,"context_line":"    else:"},{"line_number":1290,"context_line":"        LOG.debug(\"MTU not set on %(interface_name)s interface \""},{"line_number":1291,"context_line":"                  \"of type %(interface_type)s.\","},{"line_number":1292,"context_line":"                  {\u0027interface_name\u0027: dev,"},{"line_number":1293,"context_line":"                   \u0027interface_type\u0027: interface_type})"},{"line_number":1294,"context_line":""},{"line_number":1295,"context_line":""},{"line_number":1296,"context_line":"def delete_ovs_vif_port(bridge, dev, delete_dev\u003dTrue):"},{"line_number":1297,"context_line":"    _ovs_vsctl([\u0027--\u0027, \u0027--if-exists\u0027, \u0027del-port\u0027, bridge, dev])"},{"line_number":1298,"context_line":"    if delete_dev:"},{"line_number":1299,"context_line":"        delete_net_dev(dev)"},{"line_number":1300,"context_line":""},{"line_number":1301,"context_line":""},{"line_number":1302,"context_line":"def create_ivs_vif_port(dev, iface_id, mac, instance_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_98c5833f","side":"PARENT","line":1299,"range":{"start_line":1279,"start_character":0,"end_line":1299,"end_character":27},"updated":"2017-07-13 12:35:06.000000000","message":"These were only used by the (now-removed) (un)plug_ovs functions","commit_id":"d955eb1db753f191acb02eb9758080329da5b866"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"e36143714c2b92848cd9d161f5f106ee19e856cf","unresolved":false,"context_lines":[{"line_number":1252,"context_line":"        _set_device_mtu(dev, mtu)"},{"line_number":1253,"context_line":""},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"def _ovs_vsctl(args):"},{"line_number":1256,"context_line":"    full_args \u003d [\u0027ovs-vsctl\u0027, \u0027--timeout\u003d%s\u0027 % CONF.ovs_vsctl_timeout] + args"},{"line_number":1257,"context_line":"    try:"},{"line_number":1258,"context_line":"        return utils.execute(*full_args, run_as_root\u003dTrue)"},{"line_number":1259,"context_line":"    except Exception as e:"},{"line_number":1260,"context_line":"        LOG.error(_LE(\"Unable to execute %(cmd)s. Exception: %(exception)s\"),"},{"line_number":1261,"context_line":"                  {\u0027cmd\u0027: full_args, \u0027exception\u0027: e})"},{"line_number":1262,"context_line":"        raise exception.OvsConfigurationFailure(inner_exception\u003de)"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":""},{"line_number":1265,"context_line":"def create_ivs_vif_port(dev, iface_id, mac, instance_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_d8b25649","line":1262,"range":{"start_line":1255,"start_character":0,"end_line":1262,"end_character":66},"updated":"2017-07-18 12:14:10.000000000","message":"This is also a likely candidate for removal.","commit_id":"7ba41904796c8f5732611f4ab61c2e441f86e175"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d12d2f672e0686c0407beb879a9d1d3c012256d","unresolved":false,"context_lines":[{"line_number":1252,"context_line":"        _set_device_mtu(dev, mtu)"},{"line_number":1253,"context_line":""},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"def _ovs_vsctl(args):"},{"line_number":1256,"context_line":"    full_args \u003d [\u0027ovs-vsctl\u0027, \u0027--timeout\u003d%s\u0027 % CONF.ovs_vsctl_timeout] + args"},{"line_number":1257,"context_line":"    try:"},{"line_number":1258,"context_line":"        return utils.execute(*full_args, run_as_root\u003dTrue)"},{"line_number":1259,"context_line":"    except Exception as e:"},{"line_number":1260,"context_line":"        LOG.error(_LE(\"Unable to execute %(cmd)s. Exception: %(exception)s\"),"},{"line_number":1261,"context_line":"                  {\u0027cmd\u0027: full_args, \u0027exception\u0027: e})"},{"line_number":1262,"context_line":"        raise exception.OvsConfigurationFailure(inner_exception\u003de)"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":""},{"line_number":1265,"context_line":"def create_ivs_vif_port(dev, iface_id, mac, instance_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_ac619cab","line":1262,"range":{"start_line":1255,"start_character":0,"end_line":1262,"end_character":66},"in_reply_to":"1f1a1f67_91ef191d","updated":"2017-07-18 14:04:02.000000000","message":"Looks like we can\u0027t\n\n  \u003cstephenfin\u003e mriedem: Not quite. The question is can we remove nova-net stuff if it doesn\u0027t break the cells v1 jobs\n  \u003cstephenfin\u003e untested nova-net stuff, I might add\n  \u003cmriedem\u003e stephenfin: can\u0027t make that assumption - the cellsv1 job is just one config\n  \u003cstephenfin\u003e drat","commit_id":"7ba41904796c8f5732611f4ab61c2e441f86e175"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1fc071023b6365606f9c4f2de8b24376d5417d0a","unresolved":false,"context_lines":[{"line_number":1252,"context_line":"        _set_device_mtu(dev, mtu)"},{"line_number":1253,"context_line":""},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"def _ovs_vsctl(args):"},{"line_number":1256,"context_line":"    full_args \u003d [\u0027ovs-vsctl\u0027, \u0027--timeout\u003d%s\u0027 % CONF.ovs_vsctl_timeout] + args"},{"line_number":1257,"context_line":"    try:"},{"line_number":1258,"context_line":"        return utils.execute(*full_args, run_as_root\u003dTrue)"},{"line_number":1259,"context_line":"    except Exception as e:"},{"line_number":1260,"context_line":"        LOG.error(_LE(\"Unable to execute %(cmd)s. Exception: %(exception)s\"),"},{"line_number":1261,"context_line":"                  {\u0027cmd\u0027: full_args, \u0027exception\u0027: e})"},{"line_number":1262,"context_line":"        raise exception.OvsConfigurationFailure(inner_exception\u003de)"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":""},{"line_number":1265,"context_line":"def create_ivs_vif_port(dev, iface_id, mac, instance_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff346bd7_b49a9ac2","line":1262,"range":{"start_line":1255,"start_character":0,"end_line":1262,"end_character":66},"in_reply_to":"1f1a1f67_ac619cab","updated":"2017-07-23 06:56:33.000000000","message":"stephen you should be able to do this in early queens when cellsv1 and nova net get removed so itsproable best to leave this function till then.","commit_id":"7ba41904796c8f5732611f4ab61c2e441f86e175"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d0adf5601d03aeb509b40020286c8d695f46fd0e","unresolved":false,"context_lines":[{"line_number":1252,"context_line":"        _set_device_mtu(dev, mtu)"},{"line_number":1253,"context_line":""},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"def _ovs_vsctl(args):"},{"line_number":1256,"context_line":"    full_args \u003d [\u0027ovs-vsctl\u0027, \u0027--timeout\u003d%s\u0027 % CONF.ovs_vsctl_timeout] + args"},{"line_number":1257,"context_line":"    try:"},{"line_number":1258,"context_line":"        return utils.execute(*full_args, run_as_root\u003dTrue)"},{"line_number":1259,"context_line":"    except Exception as e:"},{"line_number":1260,"context_line":"        LOG.error(_LE(\"Unable to execute %(cmd)s. Exception: %(exception)s\"),"},{"line_number":1261,"context_line":"                  {\u0027cmd\u0027: full_args, \u0027exception\u0027: e})"},{"line_number":1262,"context_line":"        raise exception.OvsConfigurationFailure(inner_exception\u003de)"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":""},{"line_number":1265,"context_line":"def create_ivs_vif_port(dev, iface_id, mac, instance_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_91ef191d","line":1262,"range":{"start_line":1255,"start_character":0,"end_line":1262,"end_character":66},"in_reply_to":"1f1a1f67_d8b25649","updated":"2017-07-18 13:38:30.000000000","message":"I don\u0027t know. It\u0027s still used by \u0027nova.network.linux_net.LinuxOVSInterfaceDriver\u0027. This, and other subclasses of \u0027nova.network.linux_net.LinuxNetInterfaceDriver\u0027, are possible values for \u0027CONF.linuxnet_interface_driver\u0027, which is used by nova-net. I\u0027m not sure if we can remove those drivers without breaking nova-net :/","commit_id":"7ba41904796c8f5732611f4ab61c2e441f86e175"}],"nova/network/model.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59b89d816a124609fc1cec443dbbfcea2967dc2c","unresolved":false,"context_lines":[{"line_number":87,"context_line":"# create a vrouter netdevice interface"},{"line_number":88,"context_line":"# TODO(mhenkel): Consider renaming this to be contrail-specific."},{"line_number":89,"context_line":"VIF_DETAILS_VHOSTUSER_VROUTER_PLUG \u003d \u0027vhostuser_vrouter_plug\u0027"},{"line_number":90,"context_line":"# ovs vhost user interface type name"},{"line_number":91,"context_line":"OVS_VHOSTUSER_INTERFACE_TYPE \u003d \u0027dpdkvhostuser\u0027"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Constants for dictionary keys in the \u0027vif_details\u0027 field that are"},{"line_number":94,"context_line":"# valid for VIF_TYPE_TAP."}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_58ddab12","side":"PARENT","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":46},"updated":"2017-07-13 12:35:06.000000000","message":"This was only used by the \u0027create_ovs_vif_port\u0027 function, which is removed","commit_id":"d955eb1db753f191acb02eb9758080329da5b866"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b22bf7629a26c2cea25b588cc38bdd27e55b0b1f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"# create a vrouter netdevice interface"},{"line_number":88,"context_line":"# TODO(mhenkel): Consider renaming this to be contrail-specific."},{"line_number":89,"context_line":"VIF_DETAILS_VHOSTUSER_VROUTER_PLUG \u003d \u0027vhostuser_vrouter_plug\u0027"},{"line_number":90,"context_line":"# ovs vhost user interface type name"},{"line_number":91,"context_line":"OVS_VHOSTUSER_INTERFACE_TYPE \u003d \u0027dpdkvhostuser\u0027"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Constants for dictionary keys in the \u0027vif_details\u0027 field that are"},{"line_number":94,"context_line":"# valid for VIF_TYPE_TAP."}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_b8695f26","side":"PARENT","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":46},"in_reply_to":"1f1a1f67_58ddab12","updated":"2017-07-13 12:45:37.000000000","message":"this can definetly be revomed","commit_id":"d955eb1db753f191acb02eb9758080329da5b866"}],"nova/tests/unit/network/test_linux_net.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59b89d816a124609fc1cec443dbbfcea2967dc2c","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"CONF \u003d nova.conf.CONF"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"HOST \u003d \"testhost\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"instances \u003d {uuids.instance_1:"},{"line_number":46,"context_line":"                 {\u0027id\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_f8eb57ad","side":"PARENT","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":17},"updated":"2017-07-13 12:35:06.000000000","message":"I noticed that this wasn\u0027t used/referenced anywhere","commit_id":"d955eb1db753f191acb02eb9758080329da5b866"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59b89d816a124609fc1cec443dbbfcea2967dc2c","unresolved":false,"context_lines":[{"line_number":124,"context_line":"             \u0027mtu\u0027: None,"},{"line_number":125,"context_line":"             \u0027enable_dhcp\u0027: True,"},{"line_number":126,"context_line":"             \u0027share_address\u0027: False},"},{"line_number":127,"context_line":"            {\u0027id\u0027: 2,"},{"line_number":128,"context_line":"             \u0027uuid\u0027: \"cccccccc-cccc-cccc-cccc-cccccccccccc\","},{"line_number":129,"context_line":"             \u0027label\u0027: \u0027test2\u0027,"},{"line_number":130,"context_line":"             \u0027injected\u0027: False,"},{"line_number":131,"context_line":"             \u0027multi_host\u0027: True,"},{"line_number":132,"context_line":"             \u0027cidr\u0027: \u0027192.168.2.0/24\u0027,"},{"line_number":133,"context_line":"             \u0027cidr_v6\u0027: \u00272001:db10::/64\u0027,"},{"line_number":134,"context_line":"             \u0027gateway_v6\u0027: \u00272001:db10::1\u0027,"},{"line_number":135,"context_line":"             \u0027netmask_v6\u0027: \u002764\u0027,"},{"line_number":136,"context_line":"             \u0027netmask\u0027: \u0027255.255.255.0\u0027,"},{"line_number":137,"context_line":"             \u0027bridge\u0027: \u0027fa2\u0027,"},{"line_number":138,"context_line":"             \u0027bridge_interface\u0027: \u0027fake_fa2\u0027,"},{"line_number":139,"context_line":"             \u0027gateway\u0027: \u0027192.168.2.1\u0027,"},{"line_number":140,"context_line":"             \u0027broadcast\u0027: \u0027192.168.2.255\u0027,"},{"line_number":141,"context_line":"             \u0027dns1\u0027: \u0027192.168.0.1\u0027,"},{"line_number":142,"context_line":"             \u0027dns2\u0027: \u0027192.168.0.2\u0027,"},{"line_number":143,"context_line":"             \u0027dhcp_server\u0027: \u0027192.168.2.1\u0027,"},{"line_number":144,"context_line":"             \u0027dhcp_start\u0027: \u0027192.168.100.1\u0027,"},{"line_number":145,"context_line":"             \u0027vlan\u0027: None,"},{"line_number":146,"context_line":"             \u0027host\u0027: None,"},{"line_number":147,"context_line":"             \u0027project_id\u0027: \u0027fake_project\u0027,"},{"line_number":148,"context_line":"             \u0027vpn_public_address\u0027: \u0027192.168.2.2\u0027,"},{"line_number":149,"context_line":"             \u0027mtu\u0027: None,"},{"line_number":150,"context_line":"             \u0027enable_dhcp\u0027: True,"},{"line_number":151,"context_line":"             \u0027share_address\u0027: False}]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"fixed_ips \u003d [{\u0027id\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_b8cddf5e","side":"PARENT","line":151,"range":{"start_line":127,"start_character":0,"end_line":151,"end_character":37},"updated":"2017-07-13 12:35:06.000000000","message":"Nor was this. 0 and 1 are though","commit_id":"d955eb1db753f191acb02eb9758080329da5b866"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59b89d816a124609fc1cec443dbbfcea2967dc2c","unresolved":false,"context_lines":[{"line_number":1225,"context_line":"                                          interface_type\u003dinterface_type)"},{"line_number":1226,"context_line":"            ex.assert_has_calls(calls)"},{"line_number":1227,"context_line":""},{"line_number":1228,"context_line":"    def test_ovs_vif_port_cmd(self):"},{"line_number":1229,"context_line":"        expected \u003d [\u0027--\u0027, \u0027--if-exists\u0027,"},{"line_number":1230,"context_line":"                    \u0027del-port\u0027, \u0027fake-dev\u0027, \u0027--\u0027, \u0027add-port\u0027,"},{"line_number":1231,"context_line":"                    \u0027fake-bridge\u0027, \u0027fake-dev\u0027,"},{"line_number":1232,"context_line":"                    \u0027--\u0027, \u0027set\u0027, \u0027Interface\u0027, \u0027fake-dev\u0027,"},{"line_number":1233,"context_line":"                    \u0027external-ids:iface-id\u003dfake-iface-id\u0027,"},{"line_number":1234,"context_line":"                    \u0027external-ids:iface-status\u003dactive\u0027,"},{"line_number":1235,"context_line":"                    \u0027external-ids:attached-mac\u003dfake-mac\u0027,"},{"line_number":1236,"context_line":"                    \u0027external-ids:vm-uuid\u003dfake-instance-uuid\u0027"},{"line_number":1237,"context_line":"                ]"},{"line_number":1238,"context_line":"        cmd \u003d linux_net._create_ovs_vif_cmd(\u0027fake-bridge\u0027, \u0027fake-dev\u0027,"},{"line_number":1239,"context_line":"                                            \u0027fake-iface-id\u0027, \u0027fake-mac\u0027,"},{"line_number":1240,"context_line":"                                            \u0027fake-instance-uuid\u0027)"},{"line_number":1241,"context_line":""},{"line_number":1242,"context_line":"        self.assertEqual(expected, cmd)"},{"line_number":1243,"context_line":""},{"line_number":1244,"context_line":"        expected +\u003d [\u0027type\u003dfake-type\u0027]"},{"line_number":1245,"context_line":"        cmd \u003d linux_net._create_ovs_vif_cmd(\u0027fake-bridge\u0027, \u0027fake-dev\u0027,"},{"line_number":1246,"context_line":"                                            \u0027fake-iface-id\u0027, \u0027fake-mac\u0027,"},{"line_number":1247,"context_line":"                                            \u0027fake-instance-uuid\u0027,"},{"line_number":1248,"context_line":"                                            \u0027fake-type\u0027)"},{"line_number":1249,"context_line":"        self.assertEqual(expected, cmd)"},{"line_number":1250,"context_line":""},{"line_number":1251,"context_line":"    def test_ovs_vif_port(self):"},{"line_number":1252,"context_line":"        calls \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_18005367","side":"PARENT","line":1249,"range":{"start_line":1228,"start_character":0,"end_line":1249,"end_character":39},"updated":"2017-07-13 12:35:06.000000000","message":"Nothing used the function itself, so we can remove the test","commit_id":"d955eb1db753f191acb02eb9758080329da5b866"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59b89d816a124609fc1cec443dbbfcea2967dc2c","unresolved":false,"context_lines":[{"line_number":816,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":817,"context_line":"            LOG.exception(_(\"Failed while unplugging vif\"), instance\u003dinstance)"},{"line_number":818,"context_line":""},{"line_number":819,"context_line":"    def unplug_ivs_ethernet(self, instance, vif):"},{"line_number":820,"context_line":"        \"\"\"Unplug the VIF by deleting the port from the bridge.\"\"\""},{"line_number":821,"context_line":"        try:"},{"line_number":822,"context_line":"            linux_net.delete_ivs_vif_port(self.get_vif_devname(vif))"},{"line_number":823,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":824,"context_line":"            LOG.exception(_(\"Failed while unplugging vif\"), instance\u003dinstance)"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"    def unplug_ivs_hybrid(self, instance, vif):"},{"line_number":827,"context_line":"        \"\"\"UnPlug using hybrid strategy (same as OVS)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_1835f346","side":"PARENT","line":824,"range":{"start_line":819,"start_character":0,"end_line":824,"end_character":78},"updated":"2017-07-13 12:35:06.000000000","message":"I moved this while I was at it, so that the order is the same as the plug_xxx functions","commit_id":"d955eb1db753f191acb02eb9758080329da5b866"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b1dacb8dd0f9d98fdbcf74ffd3d60b710a6cb2a0","unresolved":false,"context_lines":[{"line_number":550,"context_line":"                    inst_type, virt_type, host)"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    def plug_ivs_hybrid(self, instance, vif):"},{"line_number":553,"context_line":"        \"\"\"Plug using hybrid strategy (same as OVS)"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"        Create a per-VIF linux bridge, then link that bridge to the OVS"},{"line_number":556,"context_line":"        integration bridge via a veth device, setting up the other end"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_7ee16f9a","line":553,"range":{"start_line":553,"start_character":37,"end_line":553,"end_character":51},"updated":"2017-07-13 13:28:50.000000000","message":"This is also irrelevant now","commit_id":"7ba41904796c8f5732611f4ab61c2e441f86e175"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b22bf7629a26c2cea25b588cc38bdd27e55b0b1f","unresolved":false,"context_lines":[{"line_number":552,"context_line":"    def plug_ivs_hybrid(self, instance, vif):"},{"line_number":553,"context_line":"        \"\"\"Plug using hybrid strategy (same as OVS)"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"        Create a per-VIF linux bridge, then link that bridge to the OVS"},{"line_number":556,"context_line":"        integration bridge via a veth device, setting up the other end"},{"line_number":557,"context_line":"        of the veth device just like a normal IVS port.  Then boot the"},{"line_number":558,"context_line":"        VIF on the linux bridge using standard libvirt mechanisms."}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_98e463ae","line":555,"range":{"start_line":555,"start_character":68,"end_line":555,"end_character":71},"updated":"2017-07-13 12:45:37.000000000","message":"ivs\n\nalso this is discribing what hybridg plug does \n\nwe should open a bug to convert ivs to use os-vif so we can get rid of this code next cycle.","commit_id":"7ba41904796c8f5732611f4ab61c2e441f86e175"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b1dacb8dd0f9d98fdbcf74ffd3d60b710a6cb2a0","unresolved":false,"context_lines":[{"line_number":552,"context_line":"    def plug_ivs_hybrid(self, instance, vif):"},{"line_number":553,"context_line":"        \"\"\"Plug using hybrid strategy (same as OVS)"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"        Create a per-VIF linux bridge, then link that bridge to the OVS"},{"line_number":556,"context_line":"        integration bridge via a veth device, setting up the other end"},{"line_number":557,"context_line":"        of the veth device just like a normal IVS port.  Then boot the"},{"line_number":558,"context_line":"        VIF on the linux bridge using standard libvirt mechanisms."}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_9ee44bae","line":555,"range":{"start_line":555,"start_character":68,"end_line":555,"end_character":71},"in_reply_to":"1f1a1f67_98e463ae","updated":"2017-07-13 13:28:50.000000000","message":"Good call. I\u0027ve done this.","commit_id":"7ba41904796c8f5732611f4ab61c2e441f86e175"}]}
