<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 03/11/2014 06:41 AM, Sheldon wrote:<br>
</div>
<blockquote cite="mid:531EDA5E.7030402@linux.vnet.ibm.com"
type="cite">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<div class="moz-cite-prefix">On 03/10/2014 10:48 PM, Aline Manera
wrote:<br>
</div>
<blockquote cite="mid:531DD0D5.1030902@linux.vnet.ibm.com"
type="cite">On 03/10/2014 10:06 AM, Sheldon wrote: <br>
<blockquote type="cite">On 03/08/2014 02:13 AM, Aline Manera
wrote: <br>
<blockquote type="cite"> <br>
It will not work in most of cases. <br>
</blockquote>
This patch is to fix #302. <br>
<br>
</blockquote>
<br>
Yeap! And I agree with it. <br>
I am suggesting you to also edit the current network default to
an unused address - for the nested virtualization case. <br>
<br>
For example: <br>
<br>
# check default network exists <br>
try: <br>
net = networkLookupByName(default) <br>
except: <br>
# network default does not exist <br>
<create network default using _get_available_address as
you did in this patch set> <br>
<br>
# now we need to make sure the network is active <br>
if net.isActive() == 0: <br>
try: <br>
net.create() <br>
except libvirt.libvirtError, e: <br>
# default network exists but it is using an used address
<br>
# libvir: Network Driver error : internal error Network
is already in use by interface eth0 <br>
try: <br>
<update network address> <br>
</blockquote>
<br>
So how about delete this network and recreate it?<br>
</blockquote>
<br>
It is Ok for me<br>
<br>
<blockquote cite="mid:531EDA5E.7030402@linux.vnet.ibm.com"
type="cite"> <br>
Try network update method for IP modify, it can not work.<br>
This function is not supported by the connection driver<br>
<br>
static int<br>
virNetworkDefUpdateIP(virNetworkDefPtr def,<br>
unsigned int command ATTRIBUTE_UNUSED,<br>
int parentIndex ATTRIBUTE_UNUSED,<br>
xmlXPathContextPtr ctxt ATTRIBUTE_UNUSED,<br>
/* virNetworkUpdateFlags */<br>
unsigned int fflags ATTRIBUTE_UNUSED)<br>
{<br>
<b> virNetworkDefUpdateNoSupport(def, "ip");</b><br>
return -1;<br>
}<br>
<br>
<br>
In [89]: net1.update(libvirt.VIR_NETWORK_UPDATE_COMMAND_MODIFY,<br>
libvirt.VIR_NETWORK_SECTION_IP,<br>
-1, "<ip address='192.168.44.1' />",
flags=0)<br>
libvirt: Network Driver error : this function is not supported by
the connection driver: can't update 'ip' section of network
'test_abc'<br>
---------------------------------------------------------------------------<br>
libvirtError Traceback (most recent
call last)<br>
<ipython-input-89-3ba60f76cce4> in <module>()<br>
1 net1.update(libvirt.VIR_NETWORK_UPDATE_COMMAND_MODIFY,<br>
2 libvirt.VIR_NETWORK_SECTION_IP,<br>
----> 3 -1, "<ip address='192.168.44.1'
/>", flags=0)<br>
<br>
/usr/lib64/python2.7/site-packages/libvirt.pyc in update(self,
command, section, parentIndex, xml, flags)<br>
2363 running state, its persistent configuration, or
both. """<br>
2364 ret = libvirtmod.virNetworkUpdate(self._o,
command, section, parentIndex, xml, flags)<br>
-> 2365 if ret == -1: raise libvirtError
('virNetworkUpdate() failed', net=self)<br>
2366 return ret<br>
2367 <br>
<br>
libvirtError: this function is not supported by the connection
driver: can't update 'ip' section of network 'test_abc'<br>
<br>
<blockquote cite="mid:531DD0D5.1030902@linux.vnet.ibm.com"
type="cite"> <activate network> <br>
except: <br>
cherrypy.log.error("Fatal: Cannot activate default
network " <br>
"because of %s, exit kimchid"
% e.message, <br>
severity=logging.ERROR) <br>
sys.exit(1) <br>
<br>
What do you think about it? <br>
<br>
<blockquote type="cite">I just touch the the related code to
create default network. <br>
I can works in default network missing case. <br>
<br>
As the code says, if nested kvm does not has default network,
then kimchi can choose a network address <br>
and create a default network. <br>
If it has, then it will do not create it. <br>
<br>
I agree, we should not to send patch just for fix issue, we
can consider more. <br>
actually the Issue #302 is caused by the patch fixing the
Issue #22 and Issue #56 <br>
<br>
we can list all cases, and let me fixed this time. <br>
<br>
<blockquote type="cite"> <br>
1. The default network and storage pool is usually created
by libvirt with the default values. <br>
So an kimchi user will face the same issue while running
kimchi on nested virtualization. <br>
I.e, there is not way to fix it. Just warning the user about
the problem. <br>
<br>
2. This issue is in some way related to <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://github.com/kimchi-project/kimchi/issues/265">https://github.com/kimchi-project/kimchi/issues/265</a>
<br>
And why should not the user delete default network/storage
pool? <br>
This limitation should be impose to user when a
network/storage pool is used by a template or vm. <br>
Otherwise, the user can remove it. <br>
<br>
Usually the default network/storage pool is created by
libvirt. <br>
But some time ago, we identified it did not happen in some
distros. <br>
And as the Kimchi default configuration for templates is
pointing to those resources we decided to <br>
create them manually on kimchi code to avoid problems while
using the templates. <br>
<br>
So my proposal is: let's revisit all the supported distros
and check if libvirt creates default <br>
network/storage pool by default, and if so remove this code
from kimchi. <br>
Then default network/storage pool will have the same
behavior from other networks/storage pools. <br>
<br>
<br>
On 03/07/2014 06:52 AM, <a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:shaohef@linux.vnet.ibm.com">shaohef@linux.vnet.ibm.com</a>
wrote: <br>
<blockquote type="cite">From: ShaoHe Feng <a
moz-do-not-send="true" class="moz-txt-link-rfc2396E"
href="mailto:shaohef@linux.vnet.ibm.com"><shaohef@linux.vnet.ibm.com></a>
<br>
<br>
let 'create' attr of networks model to create the default
network <br>
<br>
ShaoHe Feng (3): <br>
move _default_network_check from top model to networks
model <br>
add a new function to get an available network address <br>
Issue #302: let 'create' attr of networks model to create
default <br>
network <br>
<br>
src/kimchi/model/model.py | 35
--------------------------------- <br>
src/kimchi/model/networks.py | 46
+++++++++++++++++++++++++++++++++++++------- <br>
src/kimchi/network.py | 7 +++++-- <br>
3 files changed, 44 insertions(+), 44 deletions(-) <br>
<br>
</blockquote>
<br>
<br>
<br>
</blockquote>
<br>
<br>
</blockquote>
<br>
<br>
<br>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Thanks and best regards!
Sheldon Feng(冯少合)<a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:shaohef@linux.vnet.ibm.com"><shaohef@linux.vnet.ibm.com></a>
IBM Linux Technology Center</pre>
</blockquote>
<br>
</body>
</html>