コード例 #1
0
ファイル: gen_metadata.py プロジェクト: wangxiaomo/vps
def main ():
    vps_mgr = VPSMgr ()
    domain_dict = XenStore.domain_name_id_map()
    for k, v in domain_dict.iteritems ():
        om = re.match (r'^vps(\d+)$', k) 
        if om:
            print int(om.group(1))
            gen_meta (vps_mgr, domain_dict, int(om.group (1)))
コード例 #2
0
ファイル: gen_metadata.py プロジェクト: wangxiaomo/vps
def gen_meta (vps_mgr, domain_dict, vps_id):
    xv = XenVPS (vps_id)
    vps = vps_mgr.query_vps (vps_id)
    if not vps_mgr.vps_is_valid (vps):
        print "no backend data for %s " % vps_id
        return
    domain_id = domain_dict[xv.name]
    vif_datas = XenStore.get_vif_by_domain_id (domain_id)
    vps_mgr.setup_vps (xv, vps)
    #xv.add_extra_storage (1, 964) #TEST
    vpsops = VPSOps (vps_mgr.logger)
    if len (vif_datas.values ()) == 1:
        vif_data = vif_datas.values()[0]
        if vif_data['online'] == '1':
            if vif_data.has_key ('vifname'):
                xv.vifs[vif_data['vifname']].mac = vif_data['mac']
            else:
                vif_id = vif_datas.items ()[0][0]
                vif_name = 'vif%s.%s' % (domain_id, vif_id)
                del xv.vifs[xv.name]
                xv.add_netinf (name=vif_name, ip=xv.ip, netmask=xv.netmask,bridge=vif_data['bridge'], mac=vif_data['mac'])
        #vpsops.create_xen_config (xv)
        vpsops.save_vps_meta (xv, override=False)
コード例 #3
0
ファイル: xenstore.py プロジェクト: wangxiaomo/vps
#!/usr/bin/env python

import _env
import pprint
from ops.xen import XenStore

print XenStore.domain_name_id_map ()
#pprint.pprint( XenStore._get_dict ("/local/domain/0/backend/vif/114/0"))
#pprint.pprint( XenStore._get_tree ("/local/domain/0/backend"))


# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 :
コード例 #4
0
#!/usr/bin/env python

import _env
import pprint
from ops.xen import XenStore

print XenStore.domain_name_id_map()
#pprint.pprint( XenStore._get_dict ("/local/domain/0/backend/vif/114/0"))
#pprint.pprint( XenStore._get_tree ("/local/domain/0/backend"))

# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 :