本文整理汇总了Python中karesansui.lib.virt.virt.KaresansuiVirtConnection.import_guest方法的典型用法代码示例。如果您正苦于以下问题:Python KaresansuiVirtConnection.import_guest方法的具体用法?Python KaresansuiVirtConnection.import_guest怎么用?Python KaresansuiVirtConnection.import_guest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类karesansui.lib.virt.virt.KaresansuiVirtConnection
的用法示例。
在下文中一共展示了KaresansuiVirtConnection.import_guest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: process
# 需要导入模块: from karesansui.lib.virt.virt import KaresansuiVirtConnection [as 别名]
# 或者: from karesansui.lib.virt.virt.KaresansuiVirtConnection import import_guest [as 别名]
def process(self):
(opts, args) = getopts()
chkopts(opts)
self.up_progress(10)
conn = KaresansuiVirtConnection(readonly=False)
try:
progresscb = None
if opts.verbose:
try:
from karesansui.lib.progress import ProgressMeter
progresscb = ProgressMeter(command_object=self)
except:
pass
else:
try:
from karesansui.lib.progress import ProgressMeter
progresscb = ProgressMeter(command_object=self,quiet=True)
except:
pass
try:
#inactive_pool = conn.list_inactive_storage_pool()
inactive_pool = []
active_pool = conn.list_active_storage_pool()
pools = inactive_pool + active_pool
if not pools:
raise KssCommandException("Storage pool does not exist, or has been stopped.")
pools.sort()
export = []
for pool_name in pools:
pool = conn.search_kvn_storage_pools(pool_name)
path = pool[0].get_info()["target"]["path"]
if os.path.exists(path):
for _afile in glob.glob("%s/*/info.dat" % (path,)):
e_param = ExportConfigParam()
e_param.load_xml_config(_afile)
if e_param.get_uuid() != opts.exportuuid:
continue
export.append({"dir" : os.path.dirname(_afile),
"uuid" : opts.exportuuid,
})
if len(export) != 1:
raise KssCommandException("There are differences in the export data and real data. - uuid=%s" % opts.exportuuid)
else:
export = export[0]
if os.path.isdir(export["dir"]) is False:
raise KssCommandException("There is no real data. - dir=%s" % export["dir"])
conn.import_guest(export["dir"], uuid=opts.destuuid, progresscb=progresscb)
self.up_progress(40)
self.logger.info('Import guest completed. - export=%s, dest=%s' % (opts.exportuuid, opts.destuuid))
print >>sys.stdout, _('Import guest completed. - export=%s, dest=%s' % (opts.exportuuid, opts.destuuid))
return True
except KaresansuiVirtException, e:
raise KssCommandException('Failed to import guest. - [%s]' \
% (''.join(str(e.args))))
finally:
conn.close()