本文整理汇总了Python中vdsm.config.config.getboolean函数的典型用法代码示例。如果您正苦于以下问题:Python getboolean函数的具体用法?Python getboolean怎么用?Python getboolean使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getboolean函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: get
def get():
caps = {}
caps['kvmEnabled'] = \
str(config.getboolean('vars', 'fake_kvm_support') or
os.path.exists('/dev/kvm')).lower()
cpuInfo = CpuInfo()
cpuTopology = CpuTopology()
if config.getboolean('vars', 'report_host_threads_as_cores'):
caps['cpuCores'] = str(cpuTopology.threads())
else:
caps['cpuCores'] = str(cpuTopology.cores())
caps['cpuThreads'] = str(cpuTopology.threads())
caps['cpuSockets'] = str(cpuTopology.sockets())
caps['cpuSpeed'] = cpuInfo.mhz()
if config.getboolean('vars', 'fake_kvm_support'):
caps['cpuModel'] = 'Intel(Fake) CPU'
flags = set(cpuInfo.flags() + ['vmx', 'sse2', 'nx'])
caps['cpuFlags'] = ','.join(flags) + 'model_486,model_pentium,' \
'model_pentium2,model_pentium3,model_pentiumpro,model_qemu32,' \
'model_coreduo,model_core2duo,model_n270,model_Conroe,' \
'model_Penryn,model_Nehalem,model_Opteron_G1'
else:
caps['cpuModel'] = cpuInfo.model()
caps['cpuFlags'] = ','.join(cpuInfo.flags() +
_getCompatibleCpuModels())
caps.update(dsaversion.version_info)
caps.update(netinfo.get())
try:
caps['hooks'] = hooks.installed()
except:
logging.debug('not reporting hooks', exc_info=True)
caps['operatingSystem'] = osversion()
caps['uuid'] = utils.getHostUUID()
caps['packages2'] = _getKeyPackages()
caps['emulatedMachines'] = _getEmulatedMachines()
caps['ISCSIInitiatorName'] = _getIscsiIniName()
caps['HBAInventory'] = storage.hba.HBAInventory()
caps['vmTypes'] = ['kvm']
caps['memSize'] = str(utils.readMemInfo()['MemTotal'] / 1024)
caps['reservedMem'] = str(config.getint('vars', 'host_mem_reserve') +
config.getint('vars', 'extra_mem_reserve'))
caps['guestOverhead'] = config.get('vars', 'guest_ram_overhead')
return caps
开发者ID:edwardbadboy,项目名称:vdsm-ubuntu,代码行数:51,代码来源:caps.py
示例2: _prepareBindings
def _prepareBindings(self):
self.bindings = {}
if config.getboolean('vars', 'xmlrpc_enable'):
try:
self._loadBindingXMLRPC()
except ImportError:
self.log.error('Unable to load the xmlrpc server module. '
'Please make sure it is installed.')
if config.getboolean('vars', 'jsonrpc_enable'):
try:
self._loadBindingJsonRpc()
except ImportError:
self.log.warn('Unable to load the json rpc server module. '
'Please make sure it is installed.')
开发者ID:therealmik,项目名称:vdsm,代码行数:15,代码来源:clientIF.py
示例3: _initIRS
def _initIRS(self):
self.irs = None
if config.getboolean('irs', 'irs_enable'):
try:
self.irs = Dispatcher(HSM())
except:
self.log.error("Error initializing IRS", exc_info=True)
开发者ID:ekohl,项目名称:vdsm,代码行数:7,代码来源:clientIF.py
示例4: _setupVdsConnection
def _setupVdsConnection(self):
if self.hibernating:
return
hostPort = vdscli.cannonizeHostPort(
self._dst,
config.getint('addresses', 'management_port'))
self.remoteHost, port = hostPort.rsplit(':', 1)
try:
client = self._createClient(port)
requestQueues = config.get('addresses', 'request_queues')
requestQueue = requestQueues.split(",")[0]
self._destServer = jsonrpcvdscli.connect(requestQueue, client)
self.log.debug('Initiating connection with destination')
self._destServer.ping()
except (JsonRpcBindingsError, JsonRpcNoResponseError):
if config.getboolean('vars', 'ssl'):
self._destServer = vdscli.connect(
hostPort,
useSSL=True,
TransportClass=kaxmlrpclib.TcpkeepSafeTransport)
else:
self._destServer = kaxmlrpclib.Server('http://' + hostPort)
self.log.debug('Destination server is: ' + hostPort)
开发者ID:mykaul,项目名称:vdsm,代码行数:27,代码来源:migration.py
示例5: start
def start(cif, scheduler):
"""
Starts all the periodic Operations, to be run in one executor.Executor
instance owned by the `periodic` module.
There is no guarantee on the order on which the operations will be
started; this function only guarantees that it will attempt to
start every known Operation.
"""
global _executor
global _operations
_executor = executor.Executor(name="periodic",
workers_count=_WORKERS,
max_tasks=_TASKS,
scheduler=scheduler,
max_workers=_MAX_WORKERS)
_executor.start()
_operations = _create(cif, scheduler)
if config.getboolean('sampling', 'enable'):
host.stats.start()
for op in _operations:
try:
op.start()
except Error as e:
logging.warning('Operation not started: %s', e)
开发者ID:nirs,项目名称:vdsm,代码行数:29,代码来源:periodic.py
示例6: calculate_required_deallocation
def calculate_required_deallocation(vm_hugepages, vm_hugepagesz):
"""
Args:
vm_hugepages: The number of hugepages VM requires.
vm_hugepagesz: VM's hugepage size.
It is a responsibility of the caller to properly handle concurrency.
Returns:
Number of hugepages to be deallocated while making sure not to break
any constraints (reserved and preallocated pages).
"""
# Similar to allocation: hugepagesz == 0 indicates disabled hugepages.
if vm_hugepagesz == 0:
return 0
if not config.getboolean('performance', 'use_preallocated_hugepages'):
return vm_hugepages
nr_hugepages = int(state()[vm_hugepagesz]['nr_hugepages'])
to_deallocate = min(
# At most, deallocate VMs hugepages,
vm_hugepages,
# while making sure we don't touch reserved or preallocated ones. That
# is done since some of the pages initially allocated by VDSM could be
# moved to reserved pages.
nr_hugepages - max(_reserved_hugepages(vm_hugepagesz),
_preallocated_hugepages(vm_hugepagesz))
)
return to_deallocate
开发者ID:nirs,项目名称:vdsm,代码行数:33,代码来源:hugepages.py
示例7: _setupVdsConnection
def _setupVdsConnection(self):
if self.hibernating:
return
# FIXME: The port will depend on the binding being used.
# This assumes xmlrpc
hostPort = vdscli.cannonizeHostPort(
self._dst,
config.getint('addresses', 'management_port'))
self.remoteHost, _ = hostPort.rsplit(':', 1)
if config.getboolean('vars', 'ssl'):
self._destServer = vdscli.connect(
hostPort,
useSSL=True,
TransportClass=kaxmlrpclib.TcpkeepSafeTransport)
else:
self._destServer = kaxmlrpclib.Server('http://' + hostPort)
self.log.debug('Destination server is: ' + hostPort)
try:
self.log.debug('Initiating connection with destination')
status = self._destServer.getVmStats(self._vm.id)
if not status['status']['code']:
self.log.error("Machine already exists on the destination")
self.status = errCode['exist']
except Exception:
self.log.exception("Error initiating connection")
self.status = errCode['noConPeer']
开发者ID:HongweiBi,项目名称:vdsm,代码行数:28,代码来源:migration.py
示例8: _setupVdsConnection
def _setupVdsConnection(self):
if self._mode == 'file': return
self.remoteHost = self._dst.split(':')[0]
# FIXME: The port will depend on the binding being used.
# This assumes xmlrpc
self.remotePort = self._vm.cif.bindings['xmlrpc'].serverPort
try:
self.remotePort = self._dst.split(':')[1]
except:
pass
serverAddress = self.remoteHost + ':' + self.remotePort
if config.getboolean('vars', 'ssl'):
self.destServer = vdscli.connect(serverAddress, useSSL=True,
TransportClass=kaxmlrpclib.TcpkeepSafeTransport)
else:
self.destServer = kaxmlrpclib.Server('http://' + serverAddress)
self.log.debug('Destination server is: ' + serverAddress)
try:
self.log.debug('Initiating connection with destination')
status = self.destServer.getVmStats(self._vm.id)
if not status['status']['code']:
self.log.error("Machine already exists on the destination")
self.status = errCode['exist']
except:
self.log.error("Error initiating connection", exc_info=True)
self.status = errCode['noConPeer']
开发者ID:ekohl,项目名称:vdsm,代码行数:26,代码来源:vm.py
示例9: configure
def configure(self):
if os.getuid() != 0:
raise NotRootError()
self._sysvToUpstart()
if utils.isOvirtNode():
if not os.path.exists(P_VDSM_CERT):
raise InvalidRun(
"vdsm: Missing certificate, vdsm not registered")
validate_ovirt_certs.validate_ovirt_certs()
# Remove a previous configuration (if present)
self.removeConf()
config.read(self._getFile('VDSM_CONF'))
vdsmConfiguration = {
'certs_exist': all(os.path.isfile(f) for f in [
self.CA_FILE,
self.CERT_FILE,
self.KEY_FILE
]),
'ssl_enabled': config.getboolean('vars', 'ssl'),
'sanlock_enabled': SANLOCK_ENABLED,
'libvirt_selinux': LIBVIRT_SELINUX
}
# write configuration
for cfile, content in self.FILES.items():
content['configure'](self, content, vdsmConfiguration)
开发者ID:mpolednik,项目名称:vdsm,代码行数:30,代码来源:configurator.py
示例10: _startUnderlyingMigration
def _startUnderlyingMigration(self, startTime, migrationParams,
machineParams):
if self.hibernating:
self._started = True
self._vm.hibernate(self._dst)
else:
self._vm.prepare_migration()
# Do not measure the time spent for creating the VM on the
# destination. In some cases some expensive operations can cause
# the migration to get cancelled right after the transfer started.
destCreateStartTime = time.time()
result = self._destServer.migrationCreate(machineParams,
self._incomingLimit)
destCreationTime = time.time() - destCreateStartTime
startTime += destCreationTime
self.log.info('Creation of destination VM took: %d seconds',
destCreationTime)
if response.is_error(result):
self.status = result
if response.is_error(result, 'migrateLimit'):
raise MigrationLimitExceeded()
else:
raise MigrationDestinationSetupError(
'migration destination error: ' +
result['status']['message'])
self._started = True
if config.getboolean('vars', 'ssl'):
transport = 'tls'
else:
transport = 'tcp'
duri = 'qemu+{}://{}/system'.format(
transport, normalize_literal_addr(self.remoteHost))
dstqemu = migrationParams['dstqemu']
if dstqemu:
muri = 'tcp://{}'.format(
normalize_literal_addr(dstqemu))
else:
muri = 'tcp://{}'.format(
normalize_literal_addr(self.remoteHost))
self._vm.log.info('starting migration to %s '
'with miguri %s', duri, muri)
self._monitorThread = MonitorThread(self._vm, startTime,
self._convergence_schedule,
self._use_convergence_schedule)
if self._use_convergence_schedule:
self._perform_with_conv_schedule(duri, muri)
else:
self._perform_with_downtime_thread(duri, muri)
self.log.info("migration took %d seconds to complete",
(time.time() - startTime) + destCreationTime)
开发者ID:nirs,项目名称:vdsm,代码行数:59,代码来源:migration.py
示例11: _startUnderlyingMigration
def _startUnderlyingMigration(self, startTime):
if self.hibernating:
hooks.before_vm_hibernate(self._vm._dom.XMLDesc(0), self._vm.conf)
fname = self._vm.cif.prepareVolumePath(self._dst)
try:
self._vm._dom.save(fname)
finally:
self._vm.cif.teardownVolumePath(self._dst)
else:
for dev in self._vm._customDevices():
hooks.before_device_migrate_source(
dev._deviceXML, self._vm.conf, dev.custom)
hooks.before_vm_migrate_source(self._vm._dom.XMLDesc(0),
self._vm.conf)
# Do not measure the time spent for creating the VM on the
# destination. In some cases some expensive operations can cause
# the migration to get cancelled right after the transfer started.
destCreateStartTime = time.time()
result = self._destServer.migrationCreate(self._machineParams,
self._incomingLimit)
destCreationTime = time.time() - destCreateStartTime
startTime += destCreationTime
self.log.info('Creation of destination VM took: %d seconds',
destCreationTime)
if response.is_error(result):
self.status = result
if response.is_error(result, 'migrateLimit'):
raise MigrationLimitExceeded()
else:
raise MigrationDestinationSetupError(
'migration destination error: ' +
result['status']['message'])
if config.getboolean('vars', 'ssl'):
transport = 'tls'
else:
transport = 'tcp'
duri = 'qemu+%s://%s/system' % (transport, self.remoteHost)
if self._vm.conf['_migrationParams']['dstqemu']:
muri = 'tcp://%s' % \
self._vm.conf['_migrationParams']['dstqemu']
else:
muri = 'tcp://%s' % self.remoteHost
self._vm.log.info('starting migration to %s '
'with miguri %s', duri, muri)
self._monitorThread = MonitorThread(self._vm, startTime,
self._convergence_schedule,
self._use_convergence_schedule)
if self._use_convergence_schedule:
self._perform_with_conv_schedule(duri, muri)
else:
self._perform_with_downtime_thread(duri, muri)
self.log.info("migration took %d seconds to complete",
(time.time() - startTime) + destCreationTime)
开发者ID:yingyun001,项目名称:vdsm,代码行数:59,代码来源:migration.py
示例12: resume_paused_vm
def resume_paused_vm(vm_id):
unpause_file = MARK_FOR_UNPAUSE_PATH % vm_id
if os.path.isfile(unpause_file):
use_tls = config.getboolean('vars', 'ssl')
cli = client.connect('localhost', use_tls=use_tls)
with utils.closing(cli):
cli.VM.cont(vmID=vm_id)
os.remove(unpause_file)
开发者ID:EdDev,项目名称:vdsm,代码行数:8,代码来源:after_vm_start.py
示例13: _startUnderlyingMigration
def _startUnderlyingMigration(self, startTime):
if self.hibernating:
hooks.before_vm_hibernate(self._vm._dom.XMLDesc(0), self._vm.conf)
try:
self._vm._vmStats.pause()
fname = self._vm.cif.prepareVolumePath(self._dst)
try:
self._vm._dom.save(fname)
finally:
self._vm.cif.teardownVolumePath(self._dst)
except Exception:
self._vm._vmStats.cont()
raise
else:
for dev in self._vm._customDevices():
hooks.before_device_migrate_source(
dev._deviceXML, self._vm.conf, dev.custom)
hooks.before_vm_migrate_source(self._vm._dom.XMLDesc(0),
self._vm.conf)
# Do not measure the time spent for creating the VM on the
# destination. In some cases some expensive operations can cause
# the migration to get cancelled right after the transfer started.
destCreateStartTime = time.time()
result = self._destServer.migrationCreate(self._machineParams)
destCreationTime = time.time() - destCreateStartTime
startTime += destCreationTime
self.log.info('Creation of destination VM took: %d seconds',
destCreationTime)
if result['status']['code']:
self.status = result
raise RuntimeError('migration destination error: ' +
result['status']['message'])
if config.getboolean('vars', 'ssl'):
transport = 'tls'
else:
transport = 'tcp'
duri = 'qemu+%s://%s/system' % (transport, self.remoteHost)
if self._vm.conf['_migrationParams']['dstqemu']:
muri = 'tcp://%s' % \
self._vm.conf['_migrationParams']['dstqemu']
else:
muri = 'tcp://%s' % self.remoteHost
self._vm.log.info('starting migration to %s '
'with miguri %s', duri, muri)
downtimeThread = DowntimeThread(self._vm, int(self._downtime))
self._monitorThread = MonitorThread(self._vm, startTime)
with utils.running(downtimeThread):
with utils.running(self._monitorThread):
# we need to support python 2.6, so two nested with-s.
self._perform_migration(duri, muri)
self.log.info("migration took %d seconds to complete",
(time.time() - startTime) + destCreationTime)
开发者ID:kripper,项目名称:vdsm,代码行数:57,代码来源:migration.py
示例14: _createSSLContext
def _createSSLContext(self):
sslctx = None
if config.getboolean('vars', 'ssl'):
truststore_path = config.get('vars', 'trust_store_path')
key_file = os.path.join(truststore_path, 'keys', 'vdsmkey.pem')
cert_file = os.path.join(truststore_path, 'certs', 'vdsmcert.pem')
ca_cert = os.path.join(truststore_path, 'certs', 'cacert.pem')
sslctx = SSLContext(cert_file, key_file, ca_cert)
return sslctx
开发者ID:futurice,项目名称:vdsm,代码行数:9,代码来源:clientIF.py
示例15: discard_enabled
def discard_enabled():
"""
Tell if user configured automatic discard of block devices, regardless of
the devices capabilities.
Returns:
bool
"""
return config.getboolean("irs", "discard_enable")
开发者ID:EdDev,项目名称:vdsm,代码行数:9,代码来源:blockdev.py
示例16: __init__
def __init__(self):
api_strict_mode = config.getboolean('devel', 'api_strict_mode')
self._schema = vdsmapi.Schema.vdsm_api(api_strict_mode,
with_gluster=_glusterEnabled)
self._event_schema = vdsmapi.Schema.vdsm_events(api_strict_mode)
self._threadLocal = threading.local()
self.log = logging.getLogger('DynamicBridge')
开发者ID:nirs,项目名称:vdsm,代码行数:9,代码来源:Bridge.py
示例17: _certsExist
def _certsExist():
config.read(
os.path.join(
SYSCONF_PATH,
'vdsm/vdsm.conf'
)
)
return not config.getboolean('vars', 'ssl') or\
os.path.isfile(CERT_FILE)
开发者ID:yingyun001,项目名称:vdsm,代码行数:9,代码来源:certificates.py
示例18: _initIRS
def _initIRS(self):
self.irs = None
if config.getboolean('irs', 'irs_enable'):
try:
self.irs = Dispatcher(HSM())
except:
self.log.error("Error initializing IRS", exc_info=True)
else:
self.irs.registerDomainStateChangeCallback(self.contEIOVms)
开发者ID:doronunu,项目名称:vdsm,代码行数:9,代码来源:clientIF.py
示例19: get
def get():
caps = {}
caps["kvmEnabled"] = str(config.getboolean("vars", "fake_kvm_support") or os.path.exists("/dev/kvm")).lower()
cpuInfo = CpuInfo()
caps["cpuCores"] = str(cpuInfo.cores())
caps["cpuSockets"] = str(cpuInfo.sockets())
caps["cpuSpeed"] = cpuInfo.mhz()
if config.getboolean("vars", "fake_kvm_support"):
caps["cpuModel"] = "Intel(Fake) CPU"
flags = set(cpuInfo.flags() + ["vmx", "sse2", "nx"])
caps["cpuFlags"] = (
",".join(flags) + "model_486,model_pentium,"
"model_pentium2,model_pentium3,model_pentiumpro,model_qemu32,"
"model_coreduo,model_core2duo,model_n270,model_Conroe,"
"model_Penryn,model_Nehalem,model_Opteron_G1"
)
else:
caps["cpuModel"] = cpuInfo.model()
caps["cpuFlags"] = ",".join(cpuInfo.flags() + _getCompatibleCpuModels())
caps.update(dsaversion.version_info)
caps.update(netinfo.get())
try:
caps["hooks"] = hooks.installed()
except:
logging.debug("not reporting hooks", exc_info=True)
caps["operatingSystem"] = osversion()
caps["uuid"] = utils.getHostUUID()
caps["packages2"] = _getKeyPackages()
caps["emulatedMachines"] = _getEmulatedMachines()
caps["ISCSIInitiatorName"] = _getIscsiIniName()
caps["HBAInventory"] = storage.hba.HBAInventory()
caps["vmTypes"] = ["kvm"]
caps["memSize"] = str(utils.readMemInfo()["MemTotal"] / 1024)
caps["reservedMem"] = str(config.getint("vars", "host_mem_reserve") + config.getint("vars", "extra_mem_reserve"))
caps["guestOverhead"] = config.get("vars", "guest_ram_overhead")
return caps
开发者ID:ekohl,项目名称:vdsm,代码行数:43,代码来源:caps.py
示例20: _reserved_hugepages
def _reserved_hugepages(hugepagesz):
reserved_hugepages = 0
if config.getboolean('performance', 'use_preallocated_hugepages'):
reserved_hugepages = (
config.getint('performance', 'reserved_hugepage_count') if
config.get('performance', 'reserved_hugepage_size') ==
str(hugepagesz) else 0
)
return reserved_hugepages
开发者ID:nirs,项目名称:vdsm,代码行数:10,代码来源:hugepages.py
注:本文中的vdsm.config.config.getboolean函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论