
Reviewed-by: Royce Lv<lvroyce@linux.vnet.ibm.com> On 2014年03月12日 13:06, shaohef@linux.vnet.ibm.com wrote:
From: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
Top model should load other model and structure preparing.
The default network check is network function, move to networks model is more reasonable.
And the important: it is more convenient to call attr of networks model
Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com> --- src/kimchi/model/model.py | 35 ----------------------------------- src/kimchi/model/networks.py | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 35 deletions(-)
diff --git a/src/kimchi/model/model.py b/src/kimchi/model/model.py index aa5eab5..a7d843e 100644 --- a/src/kimchi/model/model.py +++ b/src/kimchi/model/model.py @@ -39,7 +39,6 @@ class Model(BaseModel):
if 'qemu:///' in libvirt_uri: self._default_pool_check() - self._default_network_check()
this = os.path.basename(__file__) this_mod = os.path.splitext(this)[0] @@ -58,40 +57,6 @@ class Model(BaseModel):
return super(Model, self).__init__(models)
- def _default_network_check(self): - conn = self.conn.get() - xml = """ - <network> - <name>default</name> - <forward mode='nat'/> - <bridge name='virbr0' stp='on' delay='0' /> - <ip address='192.168.122.1' netmask='255.255.255.0'> - <dhcp> - <range start='192.168.122.2' end='192.168.122.254' /> - </dhcp> - </ip> - </network> - """ - try: - net = conn.networkLookupByName("default") - except libvirt.libvirtError: - try: - net = conn.networkDefineXML(xml) - except libvirt.libvirtError, e: - cherrypy.log.error("Fatal: Cannot create default network " - "because of %s, exit kimchid" % e.message, - severity=logging.ERROR) - sys.exit(1) - - if net.isActive() == 0: - try: - net.create() - except libvirt.libvirtError, e: - cherrypy.log.error("Fatal: Cannot activate default network " - "because of %s, exit kimchid" % e.message, - severity=logging.ERROR) - sys.exit(1) - def _default_pool_check(self): conn = self.conn.get() xml = """ diff --git a/src/kimchi/model/networks.py b/src/kimchi/model/networks.py index 0d6ccec..a9b4e77 100644 --- a/src/kimchi/model/networks.py +++ b/src/kimchi/model/networks.py @@ -32,6 +32,42 @@ from kimchi.rollbackcontext import RollbackContext class NetworksModel(object): def __init__(self, **kargs): self.conn = kargs['conn'] + if 'qemu:///' in self.conn.get().getURI(): + self._default_network_check() + + def _default_network_check(self): + conn = self.conn.get() + xml = """ + <network> + <name>default</name> + <forward mode='nat'/> + <bridge name='virbr0' stp='on' delay='0' /> + <ip address='192.168.122.1' netmask='255.255.255.0'> + <dhcp> + <range start='192.168.122.2' end='192.168.122.254' /> + </dhcp> + </ip> + </network> + """ + try: + net = conn.networkLookupByName("default") + except libvirt.libvirtError: + try: + net = conn.networkDefineXML(xml) + except libvirt.libvirtError, e: + cherrypy.log.error("Fatal: Cannot create default network " + "because of %s, exit kimchid" % e.message, + severity=logging.ERROR) + sys.exit(1) + + if net.isActive() == 0: + try: + net.create() + except libvirt.libvirtError, e: + cherrypy.log.error("Fatal: Cannot activate default network " + "because of %s, exit kimchid" % e.message, + severity=logging.ERROR) + sys.exit(1)
def create(self, params): conn = self.conn.get()