)]}'
{"os_vif/plugin.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"de797e319e85628aa9c77695f26427a0d8c18ba7","unresolved":false,"context_lines":[{"line_number":92,"context_line":"class NoopPlugin(PluginBase):"},{"line_number":93,"context_line":"    \"\"\"No op Plugin.\"\"\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def describe(self):"},{"line_number":96,"context_line":"        return objects.host_info.HostPluginInfo("},{"line_number":97,"context_line":"            plugin_name\u003d\u0027noop\u0027,"},{"line_number":98,"context_line":"            vif_info\u003d["}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_d9cdf05e","line":95,"updated":"2016-08-31 14:15:26.000000000","message":"Can you provide a test to pass on the code to ensure there is no error, for instance in the definition of HostVIFInfo.","commit_id":"faf1bf8dc0c3f29c54773217e44f3bd512d52b21"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"2123fb98fc3b6feb278965fa8c195c771163fe85","unresolved":false,"context_lines":[{"line_number":92,"context_line":"class NoopPlugin(PluginBase):"},{"line_number":93,"context_line":"    \"\"\"No op Plugin.\"\"\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def describe(self):"},{"line_number":96,"context_line":"        return objects.host_info.HostPluginInfo("},{"line_number":97,"context_line":"            plugin_name\u003d\u0027noop\u0027,"},{"line_number":98,"context_line":"            vif_info\u003d["}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_e0482c8a","line":95,"in_reply_to":"fa7ab95a_d9cdf05e","updated":"2016-08-31 15:58:19.000000000","message":"Done","commit_id":"faf1bf8dc0c3f29c54773217e44f3bd512d52b21"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c32f4c4a0232e0a6578c253905771206ec39d84","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        return objects.host_info.HostPluginInfo("},{"line_number":98,"context_line":"            plugin_name\u003d\u0027noop\u0027,"},{"line_number":99,"context_line":"            vif_info\u003d["},{"line_number":100,"context_line":"                objects.host_info.HostVIFInfo("},{"line_number":101,"context_line":"                    vif_object_name\u003dobjects.vif.VIFGeneric.__name__,"},{"line_number":102,"context_line":"                    min_version\u003d\"1.0\","},{"line_number":103,"context_line":"                    max_version\u003d\"1.0\"),"},{"line_number":104,"context_line":"            ])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def plug(self, vif, instance_info):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_9c057347","line":103,"range":{"start_line":100,"start_character":16,"end_line":103,"end_character":39},"updated":"2016-09-27 03:40:21.000000000","message":"we should probably list all vif objects here or none of them.","commit_id":"2d945be26b3c99042a82b08b91ce7099468ff79e"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"4442a7dd2fcf7caf82637c19d4f66d4a12d44878","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                    vif_object_name\u003dobjects.vif.VIFGeneric.__name__,"},{"line_number":102,"context_line":"                    min_version\u003d\"1.0\","},{"line_number":103,"context_line":"                    max_version\u003d\"1.0\"),"},{"line_number":104,"context_line":"            ])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def plug(self, vif, instance_info):"},{"line_number":107,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a8ec9b2_630cd0ec","line":104,"updated":"2016-09-21 11:47:47.000000000","message":"I don\u0027t think we can do this. Whether or not you can use a VIFGeneric VIF type with a no-op plugin impl is a hypervisor specific decision. We can\u0027t assume that all hypervisors will be happy registering a no-op plugin against the VIFGeneric class.\n\nIf HyperV wants to have a plugin that works with VIFGeneric, that has a no-op for a plug/unplug logic, it should create a standalone vif plugin that deals with its setup.","commit_id":"2d945be26b3c99042a82b08b91ce7099468ff79e"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"32c709755d1ef2df26903c70b1d1859c98c78674","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                    vif_object_name\u003dobjects.vif.VIFGeneric.__name__,"},{"line_number":102,"context_line":"                    min_version\u003d\"1.0\","},{"line_number":103,"context_line":"                    max_version\u003d\"1.0\"),"},{"line_number":104,"context_line":"            ])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def plug(self, vif, instance_info):"},{"line_number":107,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_a6169149","line":104,"in_reply_to":"5a8bc5a2_3ccd3f31","updated":"2016-09-27 08:46:52.000000000","message":"The original intention was that the compute node should only have plugins installed that are actually supported. eg a compute node running libvirt should not have any hyperv plugins installed, or vica-verca. This is a reason why we didn\u0027t want to bundle all plugins in the main os-vif package either.","commit_id":"2d945be26b3c99042a82b08b91ce7099468ff79e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c32f4c4a0232e0a6578c253905771206ec39d84","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                    vif_object_name\u003dobjects.vif.VIFGeneric.__name__,"},{"line_number":102,"context_line":"                    min_version\u003d\"1.0\","},{"line_number":103,"context_line":"                    max_version\u003d\"1.0\"),"},{"line_number":104,"context_line":"            ])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def plug(self, vif, instance_info):"},{"line_number":107,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_3ccd3f31","line":104,"in_reply_to":"7a8ec9b2_630cd0ec","updated":"2016-09-27 03:40:21.000000000","message":"well this is not saying that vif generic must use the noop plugin. it is just saying that the noop plugin can be used with vifGeneric. \n\nthough you have highlighted a gap that is not currently expressed in os-vif whcih is the mapping between hypovisors and plugins they support. \n\ncurrently neutron has no knolage of hyperviors and it should not need too in the future.\n\nwhen we start passing the list of avable plugins to neutron from nova as part of the port binding, nova will have to filter the list to only the plugins that can be supported with the local hyperviors. to do that we will likely need to change this list of vif types  supported by the plugin into a map of hyperviors to lists of vif types this plugin support on that hyperviors.","commit_id":"2d945be26b3c99042a82b08b91ce7099468ff79e"}]}
