def test_meta(self): print "test vps meta" logger = Log("test", config=conf) vpsops = VPSOps(logger) vps = XenVPS(0) vps.setup(os_id=50001, vcpu=1, mem_m=500000, disk_g=7, ip="10.10.1.2", netmask="255.255.255.0", gateway="10.10.1.1", root_pw="fdfdfd") vps.add_extra_storage(disk_id=1, size_g=1, fs_type='ext3') vps.add_netinf('vps0_inter', "10.10.3.2", '255.255.255.0', 'xenbr0', None) vps.data_disks['xvdc1']._set_expire_days(1) print "trash_date", vps.data_disks['xvdc1'].trash_date print "expire_date", vps.data_disks['xvdc1'].expire_date vpsops.save_vps_meta(vps) _vps = vpsops.load_vps_meta(0) self.assertEqual(_vps.vps_id, vps.vps_id) self.assertEqual(_vps.os_id, vps.os_id) self.assertEqual(_vps.vcpu, vps.vcpu) self.assertEqual(_vps.mem_m, vps.mem_m) self.assertEqual(_vps.ip, vps.ip) self.assertEqual(_vps.netmask, vps.netmask) self.assertEqual(_vps.gateway, vps.gateway) self.assertEqual(_vps.root_store.size_g, vps.root_store.size_g) self.assertEqual(_vps.swap_store.size_g, vps.swap_store.size_g) self.assertEqual(_vps.data_disks['xvdc1'].size_g, 1) self.assertEqual(_vps.data_disks['xvdc1'].fs_type, 'ext3') self.assertEqual(_vps.data_disks['xvdc1'].mount_point, '/mnt/data1') self.assertEqual(_vps.data_disks['xvdc1'].xen_dev, 'xvdc1') self.assertEqual(_vps.data_disks['xvdc1'].trash_date, vps.data_disks['xvdc1'].trash_date) self.assertEqual(_vps.data_disks['xvdc1'].expire_date, vps.data_disks['xvdc1'].expire_date) print _vps.data_disks['xvdc1'].__class__.__name__ self.assertEqual(len(_vps.vifs.values()), 2) self.assertEqual(_vps.vifs['vps0_inter'].ip, '10.10.3.2') self.assertEqual(_vps.vifs['vps0_inter'].netmask, '255.255.255.0') self.assertEqual(_vps.vifs['vps0_inter'].bridge, 'xenbr0') self.assertEqual(_vps.vifs['vps0_inter'].mac, vps.vifs['vps0_inter'].mac) print "test trash expire date None" vps.data_disks['xvdc1']._set_expire_days(None) self.assertEqual(vps.data_disks['xvdc1'].trash_date, None) self.assertEqual(vps.data_disks['xvdc1'].expire_date, None) vpsops.save_vps_meta(vps) _vps = vpsops.load_vps_meta(0) self.assertEqual(_vps.data_disks['xvdc1'].trash_date, None) self.assertEqual(_vps.data_disks['xvdc1'].expire_date, None)
def test_meta (self): print "test vps meta" logger = Log ("test", config=conf) vpsops = VPSOps (logger) vps = XenVPS (0) vps.setup (os_id=50001, vcpu=1, mem_m=500000, disk_g=7, ip="10.10.1.2", netmask="255.255.255.0", gateway="10.10.1.1", root_pw="fdfdfd") vps.add_extra_storage (disk_id=1, size_g=1, fs_type='ext3') vps.add_netinf ('vps0_inter', "10.10.3.2", '255.255.255.0', 'xenbr0', None) vps.data_disks['xvdc1']._set_expire_days (1) print "trash_date", vps.data_disks['xvdc1'].trash_date print "expire_date", vps.data_disks['xvdc1'].expire_date vpsops.save_vps_meta (vps) _vps = vpsops.load_vps_meta (0) self.assertEqual (_vps.vps_id, vps.vps_id) self.assertEqual (_vps.os_id, vps.os_id) self.assertEqual (_vps.vcpu, vps.vcpu) self.assertEqual (_vps.mem_m, vps.mem_m) self.assertEqual (_vps.ip, vps.ip) self.assertEqual (_vps.netmask, vps.netmask) self.assertEqual (_vps.gateway, vps.gateway) self.assertEqual (_vps.root_store.size_g, vps.root_store.size_g) self.assertEqual (_vps.swap_store.size_g, vps.swap_store.size_g) self.assertEqual (_vps.data_disks['xvdc1'].size_g, 1) self.assertEqual (_vps.data_disks['xvdc1'].fs_type, 'ext3') self.assertEqual (_vps.data_disks['xvdc1'].mount_point, '/mnt/data1') self.assertEqual (_vps.data_disks['xvdc1'].xen_dev, 'xvdc1') self.assertEqual (_vps.data_disks['xvdc1'].trash_date, vps.data_disks['xvdc1'].trash_date) self.assertEqual (_vps.data_disks['xvdc1'].expire_date, vps.data_disks['xvdc1'].expire_date) print _vps.data_disks['xvdc1'].__class__.__name__ self.assertEqual (len (_vps.vifs.values ()), 2) self.assertEqual (_vps.vifs['vps0_inter'].ip, '10.10.3.2') self.assertEqual (_vps.vifs['vps0_inter'].netmask, '255.255.255.0') self.assertEqual (_vps.vifs['vps0_inter'].bridge, 'xenbr0') self.assertEqual (_vps.vifs['vps0_inter'].mac, vps.vifs['vps0_inter'].mac) print "test trash expire date None" vps.data_disks['xvdc1']._set_expire_days (None) self.assertEqual (vps.data_disks['xvdc1'].trash_date, None) self.assertEqual (vps.data_disks['xvdc1'].expire_date, None) vpsops.save_vps_meta (vps) _vps = vpsops.load_vps_meta (0) self.assertEqual (_vps.data_disks['xvdc1'].trash_date, None) self.assertEqual (_vps.data_disks['xvdc1'].expire_date, None)
def main(): bridge = args[0] vif_name = args[1] logger = Log("vps_mgr", config=conf) vpsops = VPSOps(logger) logger.debug("set %s" % vif_name) try: ovsops = OVSOps() om = re.match(r'^\w+?(\d+)\w*?$', vif_name) if not om: print >> sys.stderr, "wrong vif format %s" % (vif_name) return 1 vps_id = int(om.group(1)) xv = vpsops.load_vps_meta(vps_id) vif = xv.vifs.get(vif_name) if not vif: logger.error("no vif %s in metadata of %s" % (vif_name, vps_id)) return 1 ofport = ovsops.find_ofport_by_name(vif_name) if ofport < 0: logger.error( "vif %s ofport=%s, fix it by delete the port from bridge " % (vif_name, ofport)) ovsops.del_port_from_bridge(bridge, vif_name) ovsops.add_port_to_bridge(bridge, vif_name) ofport = ovsops.find_ofport_by_name(vif_name) if ofport < 0: logger.error("vif %s ofport=%s, impossible " % (vif_name, ofport)) if ofport >= 0: ovsops.set_mac_filter(bridge, ofport, vif.ip_dict.keys()) ovsops.unset_traffic_limit(vif_name) bandwidth = float(vif.bandwidth or 0) ovsops.set_traffic_limit(vif_name, int(bandwidth * 1000)) print "set vif %s bandwidth %sm/s" % (vif_name, vif.bandwidth) return 0 except Exception, e: logger.exception(e) print >> sys.stderr, str(e) return 1
def main(): bridge = args[0] vif_name = args[1] logger = Log("vps_mgr", config=conf) vpsops = VPSOps(logger) logger.debug("set %s" % vif_name) try: ovsops = OVSOps() om = re.match(r"^\w+?(\d+)\w*?$", vif_name) if not om: print >> sys.stderr, "wrong vif format %s" % (vif_name) return 1 vps_id = int(om.group(1)) xv = vpsops.load_vps_meta(vps_id) vif = xv.vifs.get(vif_name) if not vif: logger.error("no vif %s in metadata of %s" % (vif_name, vps_id)) return 1 ofport = ovsops.find_ofport_by_name(vif_name) if ofport < 0: logger.error("vif %s ofport=%s, fix it by delete the port from bridge " % (vif_name, ofport)) ovsops.del_port_from_bridge(bridge, vif_name) ovsops.add_port_to_bridge(bridge, vif_name) ofport = ovsops.find_ofport_by_name(vif_name) if ofport < 0: logger.error("vif %s ofport=%s, impossible " % (vif_name, ofport)) if ofport >= 0: ovsops.set_mac_filter(bridge, ofport, vif.ip_dict.keys()) ovsops.unset_traffic_limit(vif_name) bandwidth = float(vif.bandwidth or 0) ovsops.set_traffic_limit(vif_name, int(bandwidth * 1000)) print "set vif %s bandwidth %sm/s" % (vif_name, vif.bandwidth) return 0 except Exception, e: logger.exception(e) print >> sys.stderr, str(e) return 1