
On 02/02/2017 06:12 PM, Daniel P. Berrange wrote:
On Thu, Feb 02, 2017 at 04:55:29PM +0100, Kashyap Chamarthy wrote:
On Thu, Feb 02, 2017 at 03:29:15PM +0000, Daniel P. Berrange wrote:
On Thu, Feb 02, 2017 at 04:21:39PM +0100, Michal Privoznik wrote:
On 02/02/2017 02:56 PM, Daniel P. Berrange wrote:
On Thu, Feb 02, 2017 at 02:49:48PM +0100, Michal Privoznik wrote:
Before 9c17d665fdc5f (v1.3.2 - I know, right?) it was possible to have the following interface configuration:
<interface type='ethernet'/> <script path=''/> </interface>
This resulted in -netdev tap,script=,.. Fortunately, qemu helped us to get away with this as it just ignored the empty script path. However, after the commit mentioned above it's libvirtd who is executing the script. Unfortunately without special case-ing empty script path.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This was always invalid input and the fact that it happened to work in the past is just luck. Since this has been broken since 1.3.2 there's plenty of libvirt releases that reject this, and so any app realistically has to be fixed to omit the <script> entirely if they want any portability. As such I don't think we need to "fix" this.
Fair enough. Although, 1.3.2 was not that long time ago (~a year). BTW: it's openstack who is still using this.
IIUC, this bug was filed to handle the case of _existing_ VMs that were not launched with the patch that you point to below.
THat is only a problem if you have a running VM on libvirt < 1.3.2 and you want to migrate it to libvirt >= 1.3.2. That can be solved by removing the bogus script element prior to migration - nova already has code that modifies the XML prior to migration where such a fix could live
Question is - does it live there already? If not, we should fix it there too. Michal