[virt-tools-list] [PATCH 4/6] IPv6 support: update the create network wizard

Gene Czarcinski gene at czarc.net
Fri Mar 29 14:07:24 UTC 2013


On 03/28/2013 05:53 PM, Cole Robinson wrote:
> On 03/28/2013 01:41 PM, Gene Czarcinski wrote:
>> On 03/28/2013 12:55 PM, Cole Robinson wrote:
>>> On 03/27/2013 05:37 PM, Gene Czarcinski wrote:
>>>> On 03/26/2013 06:51 PM, Cole Robinson wrote:
>>>>> On 03/26/2013 07:05 AM, Gene Czarcinski wrote:
>>>>>> This update includes changes to both the glade-3 ui and
>>>>>> the releated python code (createnet.py).  There have
>>>>>> been some significant changes made to both files for
>>>>>> IPv6 support and some additional capabilities.
>>>>>>
>>>>>> This update includes the fix so color will work in the
>>>>>> network creation wizard.
>>>>>>
>>>>>> The objective was to get the functionality implemented and
>>>>>> some future effort may be needed to "improve" the
>>>>>> python code.
>>>>>> Signed-off-by: Gene Czarcinski <gene at czarc.net>
>>>>>> ---
>>>>>>     ui/vmm-create-net.ui     | 1518
>>>>>> ++++++++++++++++++++++++++++++++--------------
>>>>>>     virtManager/createnet.py |  612 +++++++++++++++----
>>>>>>     2 files changed, 1583 insertions(+), 547 deletions(-)
>>>>>>
>>>>> A couple bits here:
>>>>>
>>>>> - The color of the createnet header changed: it used to be black.
>>>> What's wrong with blue? ... OK, it is back to black again.
>>> Blue is the color of the other wizards, but the createnet wizard needs to be
>>> really redesigned to have a more consistent look before switching the color.
>> I have tried to be consistent but that does not mean that I am.  If you can
>> point me to some good examples and/or guidelines, I will give it a shot.
>>
> Well it's not a requirement of this patch series to redesign the whole wizard
> :) Eventually I'd like it to look more like the 'new vm', 'new interface', or
> 'clone' wizard. So shrink them down, blue header with icon, no intro screen,
> try to reduce the number of screens in general, etc. While the end result will
> have blue in the header it won't look like it does now, so I just wanted to
> revert to the black before doing things piecemeal.
The wizard as I now have it does basic IPv6 support.  However, it also 
needs to handle things dhcp-host or where dhcp-range is specified for 
"ra-only".  This "network creation wizard" could (and should) also be 
used to edit an existing definition.  But, I want to get the basic 
support in first.
>
>> For now, I have completed redoing all of the gui and wizard stuff
>> incorporating your comments.  Just before wrpaping it up and packaging the
>> patches for submit, I did one more test: create, start, stop, and then
>> delete/undefine a network ... everything worked fine until the delete ... the
>> network was deleted but I got an exception when net_select() tried to access
>> the just deleted network???  This happens with some net-definitions but not
>> with others??
>>
> This may just be a pre-existing bug. I know there is an issue with deleting VM
> hardware that I've hit on the gtk3 branch that didn't seem to exist on master,
> so it might be affecting every dialog that dynamically removes a list row. If
> you can reliably reproduce with the testdriver, please document the steps and
> the backtrace in todo.txt
This may or may not be a pre-existing condition but my changes to 
vmm-host.ui, host.py, and network.py as well as the basic changes to 
createnet.py to use ipaddr instead of IPy appear to exacerbate the 
problem.  To complicate things, this may be a timing or race-condition 
problem.  Nevertheless, I am going to do more debugging on it.

The problem as I now understand it:

Many networks defined ... IPv4 and IPv6 or IPv4 only, it makes no 
difference.  Start virt-manager --debug and then bring up Connection 
Details/Virtual Networks.

Externally with virsh, undefine a network ... everything OK.
Now select another network and then back to default.  Now, with virsh, 
undefine another network ... BANG ... an exception for the deleted 
network by name.

The problem is in net_selected() with:
     net = self.conn.get_net(selected[0].get_value(selected[1], 0))

net_selected() gets called because the is a signal set up "change" in 
"net-list"

I cannot get this to reproduce under the base gtk3.2 branch.

If I make progress today or not, I believe I will submit what I now have 
(v2) later today because this problem (while something that needs to be 
fixed) does not impact running virt-manager.

Gene




More information about the virt-tools-list mailing list