)]}'
{"os_vif/objects/vif.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"59a04f1a3f43814f0c177aa330062f133c13a498","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027mode\u0027: osv_fields.VIFDirectModeField(),"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # The VLAN number to use"},{"line_number":106,"context_line":"        \u0027vlan\u0027: fields.IntegerField(),"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # The VLAN device name to use"},{"line_number":109,"context_line":"        \u0027vlan_name\u0027: fields.StringField(),"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_bc440a1b","side":"PARENT","line":106,"updated":"2016-02-17 13:15:44.000000000","message":"So the current VIF port binding includes the vlan both against the VIF \u0027details\u0027, and against the VIF \u0027network\u0027. The libvirt vif.py uses the vlan from the VIF details, while your plugin here uses vlan from the network.\n\nAre you sure those will always be the same ? If so, I agree we can go ahead and kill vlan here, which would be nice.","commit_id":"88db713ba436be48e62ef1f9c8621ae43f7bdfb1"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"731b6d6555f6531d8dd9943c5bfdd1e2ef99211f","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027mode\u0027: osv_fields.VIFDirectModeField(),"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # The VLAN number to use"},{"line_number":106,"context_line":"        \u0027vlan\u0027: fields.IntegerField(),"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # The VLAN device name to use"},{"line_number":109,"context_line":"        \u0027vlan_name\u0027: fields.StringField(),"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_17deb1dc","side":"PARENT","line":106,"in_reply_to":"dae33548_bc440a1b","updated":"2016-02-17 14:37:32.000000000","message":"almost the same I just put a fix to make it work with flat network see\nhttps://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py#L180-L190","commit_id":"88db713ba436be48e62ef1f9c8621ae43f7bdfb1"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"59a04f1a3f43814f0c177aa330062f133c13a498","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        \u0027vlan_name\u0027: fields.StringField(),"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # The PCI address of the host device"},{"line_number":109,"context_line":"        \u0027dev_address\u0027: osv_fields.PCIAddressField(),"},{"line_number":110,"context_line":"    }"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_7cbd62b6","line":109,"updated":"2016-02-17 13:15:44.000000000","message":"Sigh, so I originally thought that the \u0027dev_name\u0027 field further up would be sufficient, as I thought that all users of \u0027direct\u0027 mode in libvirt were getting the device name.\n\nLooking again I see that I mis-read the clibvirt code.\n\n802.11qbg is getting a device name, but 802.11qbh  and hw_veb are both getting a PCI device name.\n\nIf we have both dev_name and dev_address, then any plugin which takes a VIFDirect class has to be aware that it may have to deal with either field being missing. For added fun, I see 801.11qbg is not actually using the dev name from the VIF anyway, it\u0027ll use the vif.network.interface\n\nSo based on all this, I\u0027m inclined to say we should delete the \u0027dev_name\u0027 field from this class and just use dev_address exclusively.","commit_id":"980aa1e729efca0d2aa0b1fa242d94f23ab9e17c"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"731b6d6555f6531d8dd9943c5bfdd1e2ef99211f","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        \u0027vlan_name\u0027: fields.StringField(),"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # The PCI address of the host device"},{"line_number":109,"context_line":"        \u0027dev_address\u0027: osv_fields.PCIAddressField(),"},{"line_number":110,"context_line":"    }"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_f3435c11","line":109,"in_reply_to":"dae33548_7cbd62b6","updated":"2016-02-17 14:37:32.000000000","message":"Done","commit_id":"980aa1e729efca0d2aa0b1fa242d94f23ab9e17c"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"3d2a7d85dd755c91bb863eafdc9363b7b5ac4f30","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # Port connection mode"},{"line_number":100,"context_line":"        \u0027mode\u0027: osv_fields.VIFDirectModeField(),"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        # The VLAN device name to use"},{"line_number":103,"context_line":"        \u0027vlan_name\u0027: fields.StringField(),"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # The PCI address of the host device"},{"line_number":106,"context_line":"        \u0027dev_address\u0027: osv_fields.PCIAddressField(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"dae33548_93abf074","line":103,"range":{"start_line":102,"start_character":0,"end_line":103,"end_character":42},"updated":"2016-02-17 14:39:39.000000000","message":"not sure if we need this","commit_id":"a017dba0012c0af60e4c4e0127b13f33d0eb267c"}],"vif_plug_hw_veb/linux_net.py":[{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"abc3aabbe31cc3faf39d2ac36916f65f71ec486b","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    # Set the VF\u0027s mac address and vlan"},{"line_number":24,"context_line":"    exit_code \u003d [0, 2, 254]"},{"line_number":25,"context_line":"    port_state \u003d \u0027up\u0027 if vlan \u003e 0 else \u0027down\u0027"},{"line_number":26,"context_line":"    processutils.execute(\u0027ip\u0027, \u0027link\u0027, \u0027set\u0027, pf_ifname,"},{"line_number":27,"context_line":"                         \u0027vf\u0027, vf_num,"},{"line_number":28,"context_line":"                         \u0027mac\u0027, mac_addr,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_333e6428","line":25,"range":{"start_line":25,"start_character":4,"end_line":25,"end_character":45},"updated":"2016-02-17 14:39:49.000000000","message":"look like a bug in nova\nso when flat network is used vlan is 0  and the interface admin state should be up","commit_id":"980aa1e729efca0d2aa0b1fa242d94f23ab9e17c"}],"vif_plug_hw_veb/pci.py":[{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"ec404afd37062896b0384a9628ada2a96dbfbf1d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        dev_info \u003d os.listdir(dev_path)"},{"line_number":32,"context_line":"        return dev_info.pop()"},{"line_number":33,"context_line":"    except Exception:"},{"line_number":34,"context_line":"        return None"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"def get_vf_num_by_pci_address(pci_addr):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_0d3c12c7","line":34,"range":{"start_line":34,"start_character":15,"end_line":34,"end_character":19},"updated":"2016-02-11 10:48:47.000000000","message":"I guess we should raise exception here","commit_id":"3c047f21f8c94ef00e906b3854bde2d09fd8cf73"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"ec404afd37062896b0384a9628ada2a96dbfbf1d","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                vf_num \u003d t.group(1)"},{"line_number":50,"context_line":"                break"},{"line_number":51,"context_line":"    except Exception:"},{"line_number":52,"context_line":"        pass"},{"line_number":53,"context_line":"    return vf_num"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_ad513e10","line":52,"range":{"start_line":52,"start_character":7,"end_line":52,"end_character":12},"updated":"2016-02-11 10:48:47.000000000","message":"same here","commit_id":"3c047f21f8c94ef00e906b3854bde2d09fd8cf73"}]}
