On Fri, Dec 12, 2014 at 10:46 AM, Daniel P. Berrange <[email protected]> wrote: > On Fri, Dec 12, 2014 at 01:21:36PM +0900, Ryu Ishimoto wrote: >> On Thu, Dec 11, 2014 at 7:41 PM, Daniel P. Berrange <[email protected]> >> wrote: >> [..] >> Port binding mechanism could vary among different networking technologies, >> which is not nova's concern, so this proposal makes sense. Note that some >> vendors already provide port binding scripts that are currently executed >> directly from nova's vif.py ('mm-ctl' of midonet and 'ifc_ctl' for iovisor >> are two such examples), and this proposal makes it unnecessary to have >> these hard-coded in nova. The only question I have is, how would nova >> figure out the arguments for these scripts? Should nova dictate what they >> are? > > We could define some standard set of arguments & environment variables > to pass the information from the VIF to the script in a standard way. >
Many information are used by the plug/unplug method: vif_id, vif_address, ovs_interfaceid, firewall, net_id, tenant_id, vnic_type, instance_uuid... Not sure we can define a set of standard arguments. Maybe instead to use a script we should load some plug/unplug functions from a python module with importlib. So a vif_plug_module option instead to have a vif_plug_script ? There are several other problems to solve if we are going to use this vif_plug_script: - How to have the authorization to run this script (i.e. rootwrap)? - How to test plug/unplug function from these scripts? Now, we have unity tests in nova/tests/unit/virt/libvirt/test_vif.py for plug/unplug method. - How this script will be installed? -> should it be including in the L2 agent package? Some L2 switch doesn't have a L2 agent. Regards, Maxime _______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
