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(a)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.
>>>
>>>
https://bugzilla.redhat.com/show_bug.cgi?id=1412834
>
> 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