# -*- mode: python; -*-
-from invirt.database import models, connect
+from invirt.database import models, connect, session
from invirt.config import structs as config
import re
n = machine.nics[0]
extra = 'ro noresume'
extra += (' ip=%s::%s:%s:%s:eth0:off'
- % (n.ip, config.dhcp.gateway, config.dhcp.netmask, machine.name))
+ % (n.ip, n.gateway, n.netmask, machine.name))
extra += ' %s' % installer_options
root = '/dev/hdb1'
codepath = None
- memory = max(memory, 512)
+ memory = max(memory, 768)
elif cdrom is not None:
disk.append('phy:/dev/xenvg/image_' + cdrom.cdrom_id + ',hdc:cdrom,r')
boot = 'd'
for n in machine.nics:
+ other_netparams = ''
+ other_action = n.other_action if n.other_action else ''
+ if other_action == 'renumber':
+ (n.ip, n.netmask, n.gateway,
+ n.other_ip, n.other_netmask, n.other_gateway) = (
+ n.other_ip, n.other_netmask, n.other_gateway,
+ n.ip, n.netmask, n.gateway)
+ other_action = n.other_action = 'dnat'
+ session.add(n)
+ session.flush()
+ if other_action == 'dnat':
+ other_netparams = ('other_ip=%s other_gateway=%s'
+ % (n.other_ip, n.other_gateway))
+ if other_action == 'remove':
+ n.other_ip = n.other_netmask = n.other_gateway = n.other_action = None
+ session.add(n)
+ session.flush()
check(re.match('^[0-9a-fA-F:]+$', n.mac_addr) and re.match('^[0-9.]*$', n.ip))
if n.nic_type:
viftype = viftype.replace("pcnet", n.nic_type)
- other_netparams = ('other_ip=%s other_gateway=%s'
- % (n.other_ip, n.other_gateway) if n.other_ip else '')
d = ('%smac=%s, ip=%s, script=vif-invirtroute netdev=%s gateway=%s %s'
% (viftype, n.mac_addr, n.ip, config.xen.iface, n.gateway, other_netparams))
vif.append(d)