On 03/10/2014 10:06 AM, Sheldon wrote:
On 03/08/2014 02:13 AM, Aline Manera wrote:
>
> It will not work in most of cases.
This patch is to fix #302.
Yeap! And I agree with it.
I am suggesting you to also edit the current network default to an
unused address - for the nested virtualization case.
For example:
# check default network exists
try:
net = networkLookupByName(default)
except:
# network default does not exist
<create network default using _get_available_address as you did in
this patch set>
# now we need to make sure the network is active
if net.isActive() == 0:
try:
net.create()
except libvirt.libvirtError, e:
# default network exists but it is using an used address
# libvir: Network Driver error : internal error Network is
already in use by interface eth0
try:
<update network address>
<activate network>
except:
cherrypy.log.error("Fatal: Cannot activate default network "
"because of %s, exit kimchid" %
e.message,
severity=logging.ERROR)
sys.exit(1)
What do you think about it?
I just touch the the related code to create default network.
I can works in default network missing case.
As the code says, if nested kvm does not has default network, then
kimchi can choose a network address
and create a default network.
If it has, then it will do not create it.
I agree, we should not to send patch just for fix issue, we can
consider more.
actually the Issue #302 is caused by the patch fixing the Issue #22
and Issue #56
we can list all cases, and let me fixed this time.
>
> 1. The default network and storage pool is usually created by libvirt
> with the default values.
> So an kimchi user will face the same issue while running kimchi on
> nested virtualization.
> I.e, there is not way to fix it. Just warning the user about the
> problem.
>
> 2. This issue is in some way related to
>
https://github.com/kimchi-project/kimchi/issues/265
> And why should not the user delete default network/storage pool?
> This limitation should be impose to user when a network/storage pool
> is used by a template or vm.
> Otherwise, the user can remove it.
>
> Usually the default network/storage pool is created by libvirt.
> But some time ago, we identified it did not happen in some distros.
> And as the Kimchi default configuration for templates is pointing to
> those resources we decided to
> create them manually on kimchi code to avoid problems while using the
> templates.
>
> So my proposal is: let's revisit all the supported distros and check
> if libvirt creates default
> network/storage pool by default, and if so remove this code from kimchi.
> Then default network/storage pool will have the same behavior from
> other networks/storage pools.
>
>
> On 03/07/2014 06:52 AM, shaohef(a)linux.vnet.ibm.com wrote:
>> From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
>>
>> let 'create' attr of networks model to create the default network
>>
>> ShaoHe Feng (3):
>> move _default_network_check from top model to networks model
>> add a new function to get an available network address
>> Issue #302: let 'create' attr of networks model to create default
>> network
>>
>> src/kimchi/model/model.py | 35 ---------------------------------
>> src/kimchi/model/networks.py | 46
>> +++++++++++++++++++++++++++++++++++++-------
>> src/kimchi/network.py | 7 +++++--
>> 3 files changed, 44 insertions(+), 44 deletions(-)
>>
>
>
>