本文整理汇总了Python中zstacklib.utils.jsonobject.dumps函数的典型用法代码示例。如果您正苦于以下问题:Python dumps函数的具体用法?Python dumps怎么用?Python dumps使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dumps函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: scan_host
def scan_host(self, req):
rsp = ScanRsp()
success = 0
cmd = jsonobject.loads(req[http.REQUEST_BODY])
for i in range(0, cmd.times):
if shell.run("nmap -sP -PI %s | grep 'Host is up'" % cmd.ip) == 0:
success += 1
time.sleep(cmd.interval)
if success == cmd.successTimes:
rsp.result = self.RET_SUCCESS
return jsonobject.dumps(rsp)
if success == 0:
rsp.result = self.RET_FAILURE
return jsonobject.dumps(rsp)
# WE SUCCEED A FEW TIMES, IT SEEMS THE CONNECTION NOT STABLE
success = 0
for i in range(0, cmd.successTimes):
if shell.run("nmap -sP -PI %s | grep 'Host is up'" % cmd.ip) == 0:
success += 1
time.sleep(cmd.successInterval)
if success == cmd.successTimes:
rsp.result = self.RET_SUCCESS
return jsonobject.dumps(rsp)
rsp.result = self.RET_NOT_STABLE
return jsonobject.dumps(rsp)
开发者ID:ShaofeiWang,项目名称:zstack-utility,代码行数:33,代码来源:fusionstor_plugin.py
示例2: create_empty_volume
def create_empty_volume(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = CreateEmptyVolumeResponse()
try:
dirname = os.path.dirname(cmd.installUrl)
if not os.path.exists(dirname):
os.makedirs(dirname)
linux.qcow2_create(cmd.installUrl, cmd.size)
except Exception as e:
logger.warn(linux.get_exception_stacktrace())
rsp.error = 'unable to create empty volume[uuid:%s, name:%s], %s' % (cmd.uuid, cmd.name, str(e))
rsp.success = False
return jsonobject.dumps(rsp)
meta = VolumeMeta()
meta.account_uuid = cmd.accountUuid
meta.hypervisor_type = cmd.hypervisorType
meta.name = cmd.name
meta.uuid = cmd.volumeUuid
meta.size = cmd.size
meta_path = self._json_meta_file_name(cmd.installUrl)
with open(meta_path, 'w') as fd:
fd.write(jsonobject.dumps(meta, pretty=True))
self._set_capacity_to_response(cmd.uuid, rsp)
logger.debug('successfully create empty volume[uuid:%s, name:%s, size:%s] at %s' % (cmd.uuid, cmd.name, cmd.size, cmd.installUrl))
return jsonobject.dumps(rsp)
开发者ID:rynetang,项目名称:zstack-utility,代码行数:28,代码来源:nfs_primarystorage_plugin.py
示例3: setup_heartbeat_file
def setup_heartbeat_file(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = SetupMountablePrimaryStorageHeartbeatResponse()
for hb in cmd.heartbeatFilePaths:
hb_dir = os.path.dirname(hb)
mount_path = os.path.dirname(hb_dir)
if not linux.is_mounted(mount_path):
rsp.error = '%s is not mounted, setup heartbeat file[%s] failed' % (mount_path, hb)
rsp.success = False
return jsonobject.dumps(rsp)
for hb in cmd.heartbeatFilePaths:
t = self.heartbeat_timer.get(hb, None)
if t:
t.cancel()
hb_dir = os.path.dirname(hb)
if not os.path.exists(hb_dir):
os.makedirs(hb_dir, 0755)
t = thread.timer(cmd.heartbeatInterval, self._heartbeat_func, args=[hb], stop_on_exception=False)
t.start()
self.heartbeat_timer[hb] = t
logger.debug('create heartbeat file at[%s]' % hb)
return jsonobject.dumps(rsp)
开发者ID:zstackorg,项目名称:zstack-utility,代码行数:27,代码来源:host_plugin.py
示例4: connect
def connect(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = ConnectResponse()
# page table extension
if shell.run('lscpu | grep -q -w GenuineIntel') == 0:
new_ept = False if cmd.pageTableExtensionDisabled else True
rsp.error = self._set_intel_ept(new_ept)
if rsp.error is not None:
rsp.success = False
return jsonobject.dumps(rsp)
self.host_uuid = cmd.hostUuid
self.config[kvmagent.HOST_UUID] = self.host_uuid
self.config[kvmagent.SEND_COMMAND_URL] = cmd.sendCommandUrl
Report.serverUuid = self.host_uuid
Report.url = cmd.sendCommandUrl
logger.debug(http.path_msg(self.CONNECT_PATH, 'host[uuid: %s] connected' % cmd.hostUuid))
rsp.libvirtVersion = self.libvirt_version
rsp.qemuVersion = self.qemu_version
# create udev rule
self.handle_usb_device_events()
ignore_msrs = 1 if cmd.ignoreMsrs else 0
shell.run("/bin/echo %s > /sys/module/kvm/parameters/ignore_msrs" % ignore_msrs)
vm_plugin.cleanup_stale_vnc_iptable_chains()
apply_iptables_result = self.apply_iptables_rules(cmd.iptablesRules)
rsp.iptablesSucc = apply_iptables_result
return jsonobject.dumps(rsp)
开发者ID:zstackorg,项目名称:zstack-utility,代码行数:31,代码来源:host_plugin.py
示例5: ping
def ping(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = PingRsp()
facts = bash_o('ceph -s -f json')
mon_facts = jsonobject.loads(facts)
found = False
for mon in mon_facts.monmap.mons:
if cmd.monAddr in mon.addr:
found = True
break
if not found:
rsp.success = False
rsp.failure = "MonAddrChanged"
rsp.error = 'The mon addr is changed on the mon server[uuid:%s], not %s anymore.' \
'Reconnect the ceph primary storage' \
' may solve this issue' % (cmd.monUuid, cmd.monAddr)
return jsonobject.dumps(rsp)
create_img = shell.ShellCmd('rbd create %s --image-format 2 --size 1' % cmd.testImagePath)
create_img(False)
if create_img.return_code != 0:
rsp.success = False
rsp.failure = 'UnableToCreateFile'
rsp.error = "%s %s" % (create_img.stderr, create_img.stdout)
else:
rm_img = shell.ShellCmd('rbd rm %s' % cmd.testImagePath)
rm_img(False)
return jsonobject.dumps(rsp)
开发者ID:ShaofeiWang,项目名称:zstack-utility,代码行数:32,代码来源:cephagent.py
示例6: migrate_volume_segment
def migrate_volume_segment(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = AgentResponse()
src_install_path = self._normalize_install_path(cmd.srcInstallPath)
dst_install_path = self._normalize_install_path(cmd.dstInstallPath)
src_size = self._get_file_size(src_install_path)
dst_size = self._get_dst_volume_size(dst_install_path, cmd.dstMonHostname, cmd.dstMonSshUsername, cmd.dstMonSshPassword, cmd.dstMonSshPort)
if dst_size > src_size:
if cmd.isXsky:
# xsky / ceph -> xsky, size must be equal
rsp.success = False
rsp.error = "Failed to migrate volume segment because dst size: %s > src size: %s" % (dst_size, src_size)
return jsonobject.dumps(rsp)
elif isXsky() == False:
# ceph -> ceph, don't check size
rsp.success = True
else:
# xsky -> ceph, not supported
rsp.success = False
rsp.error = "Failed to migrate volume segment because xsky migrate to ceph is not supported now"
return jsonobject.dumps(rsp)
if dst_size < src_size:
ret = self._resize_dst_volume(dst_install_path, src_size, cmd.dstMonHostname, cmd.dstMonSshUsername, cmd.dstMonSshPassword, cmd.dstMonSshPort)
if ret != 0:
rsp.success = False
rsp.error = "Failed to resize volume before migrate."
return jsonobject.dumps(rsp)
ret = self._migrate_volume_segment(cmd.parentUuid, cmd.resourceUuid, cmd.srcInstallPath, cmd.dstInstallPath, cmd.dstMonHostname, cmd.dstMonSshUsername, cmd.dstMonSshPassword, cmd.dstMonSshPort)
if ret != 0:
rsp.success = False
rsp.error = "Failed to migrate volume segment from one ceph primary storage to another."
self._set_capacity_to_response(rsp)
return jsonobject.dumps(rsp)
开发者ID:zstackorg,项目名称:zstack-utility,代码行数:35,代码来源:cephagent.py
示例7: ping
def ping(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = PingRsp()
facts = bash_o('ceph -s -f json')
mon_facts = jsonobject.loads(facts)
found = False
for mon in mon_facts.monmap.mons:
if cmd.monAddr in mon.addr:
found = True
break
if not found:
rsp.success = False
rsp.failure = "MonAddrChanged"
rsp.error = 'The mon addr is changed on the mon server[uuid:%s], not %s anymore.' \
'Reconnect the ceph primary storage' \
' may solve this issue' % (cmd.monUuid, cmd.monAddr)
return jsonobject.dumps(rsp)
pool, objname = cmd.testImagePath.split('/')
create_img = shell.ShellCmd("echo zstack | rados -p '%s' put '%s' -" % (pool, objname))
create_img(False)
if create_img.return_code != 0:
rsp.success = False
rsp.failure = 'UnableToCreateFile'
rsp.error = "%s %s" % (create_img.stderr, create_img.stdout)
else:
shell.run("rados -p '%s' rm '%s'" % (pool, objname))
return jsonobject.dumps(rsp)
开发者ID:zstackorg,项目名称:zstack-utility,代码行数:32,代码来源:cephagent.py
示例8: set_bootstrap_info
def set_bootstrap_info(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
info = jsonobject.dumps(cmd.info, True)
socket_path = cmd.socketPath
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 1)
buf_size = s.getsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF)
info_len = len(info)
if info_len < buf_size:
# as there is no fflush() in python, we have to create a message
# matching to the socket buffer to force it to send the message immediately
padding_len = buf_size - info_len
padding = ' ' * padding_len
info = '%s%s' % (info, padding)
try:
logger.debug('send appliance vm bootstrap info to %s\n%s' % (socket_path, info))
s.connect(socket_path)
s.sendall(info)
finally:
s.close()
rsp = PrepareBootstrapInfoRsp()
return jsonobject.dumps(rsp)
开发者ID:zstackorg,项目名称:zstack-utility,代码行数:25,代码来源:virtualrouter_plugin.py
示例9: _add_zone
def _add_zone(zone, zone_duplication):
action = api_actions.CreateZoneAction()
action.sessionUuid = session_uuid
if zone_duplication == 0:
action.name = zone.name_
action.description = zone.description__
if zone.uuid__:
action.resourceUuid = zone.uuid__
else:
action.name = generate_dup_name(zone.name_, zone_duplication, 'z')
action.description = generate_dup_name(zone.description__, zone_duplication, 'zone')
try:
evt = action.run()
deploy_logger(jsonobject.dumps(evt))
zinv = evt.inventory
except:
exc_info.append(sys.exc_info())
if xmlobject.has_element(zone, 'backupStorageRef'):
for ref in xmlobject.safe_list(zone.backupStorageRef):
bss = res_ops.get_resource(res_ops.BACKUP_STORAGE, session_uuid, name=ref.text_)
bs = get_first_item_from_list(bss, 'Backup Storage', ref.text_, 'attach backup storage to zone')
action = api_actions.AttachBackupStorageToZoneAction()
action.sessionUuid = session_uuid
action.backupStorageUuid = bs.uuid
action.zoneUuid = zinv.uuid
try:
evt = action.run()
deploy_logger(jsonobject.dumps(evt))
except:
exc_info.append(sys.exc_info())
开发者ID:ShaofeiWang,项目名称:zstack-utility,代码行数:33,代码来源:deploy_config.py
示例10: download_image
def download_image(self, req):
#TODO: report percentage to mgmt server
def percentage_callback(percent, url):
logger.debug('Downloading %s ... %s%%' % (url, percent))
def use_wget(url, name, workdir, timeout):
return linux.wget(url, workdir=workdir, rename=name, timeout=timeout, interval=2, callback=percentage_callback, callback_data=url)
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = DownloadResponse()
supported_schemes = [self.URL_HTTP, self.URL_HTTPS, self.URL_FILE]
if cmd.urlScheme not in supported_schemes:
rsp.success = False
rsp.error = 'unsupported url scheme[%s], SimpleSftpBackupStorage only supports %s' % (cmd.urlScheme, supported_schemes)
return jsonobject.dumps(rsp)
path = os.path.dirname(cmd.installPath)
if not os.path.exists(path):
os.makedirs(path, 0777)
image_name = os.path.basename(cmd.installPath)
install_path = cmd.installPath
timeout = cmd.timeout if cmd.timeout else 7200
if cmd.urlScheme in [self.URL_HTTP, self.URL_HTTPS]:
try:
ret = use_wget(cmd.url, image_name, path, timeout)
if ret != 0:
rsp.success = False
rsp.error = 'http/https download failed, [wget -O %s %s] returns value %s' % (image_name, cmd.url, ret)
return jsonobject.dumps(rsp)
except linux.LinuxError as e:
traceback.format_exc()
rsp.success = False
rsp.error = str(e)
return jsonobject.dumps(rsp)
elif cmd.urlScheme == self.URL_FILE:
src_path = cmd.url.lstrip('file:')
src_path = os.path.normpath(src_path)
if not os.path.isfile(src_path):
raise Exception('cannot find the file[%s]' % src_path)
logger.debug("src_path is: %s" % src_path)
shell.call('yes | cp %s %s' % (src_path, install_path))
os.chmod(cmd.installPath, stat.S_IRUSR + stat.S_IRGRP + stat.S_IROTH)
image_format = bash_o("qemu-img info %s | grep -w '^file format' | awk '{print $3}'" % install_path).strip('\n')
size = os.path.getsize(install_path)
md5sum = 'not calculated'
logger.debug('successfully downloaded %s to %s' % (cmd.url, install_path))
(total, avail) = self.get_capacity()
rsp.md5Sum = md5sum
rsp.actualSize = size
rsp.size = linux.qcow2_virtualsize(install_path)
rsp.totalCapacity = total
rsp.availableCapacity = avail
rsp.format = image_format
return jsonobject.dumps(rsp)
开发者ID:ShaofeiWang,项目名称:zstack-utility,代码行数:60,代码来源:sftpbackupstorage.py
示例11: create_root_volume_from_template
def create_root_volume_from_template(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = CreateRootVolumeFromTemplateResponse()
if not os.path.exists(cmd.templatePathInCache):
rsp.error = self.ERR_UNABLE_TO_FIND_IMAGE_IN_CACHE
rsp.success = False
return jsonobject.dumps(rsp)
try:
dirname = os.path.dirname(cmd.installUrl)
if not os.path.exists(dirname):
os.makedirs(dirname, 0775)
linux.qcow2_clone(cmd.templatePathInCache, cmd.installUrl)
logger.debug('successfully create root volume[%s] from template in cache[%s]' % (cmd.installUrl, cmd.templatePathInCache))
meta = VolumeMeta()
meta.account_uuid = cmd.accountUuid
meta.hypervisor_type = cmd.hypervisorType
meta.name = cmd.name
meta.uuid = cmd.volumeUuid
meta.size = os.path.getsize(cmd.templatePathInCache)
meta_path = self._json_meta_file_name(cmd.installUrl)
with open(meta_path, 'w') as fd:
fd.write(jsonobject.dumps(meta, pretty=True))
self._set_capacity_to_response(cmd.uuid, rsp)
logger.debug('successfully create root volume[%s] from template in cache[%s]' % (cmd.installUrl, cmd.templatePathInCache))
except Exception as e:
content = traceback.format_exc()
logger.warn(content)
err = 'unable to clone qcow2 template[%s] to %s' % (cmd.templatePathInCache, cmd.installUrl)
rsp.error = err
rsp.success = False
return jsonobject.dumps(rsp)
开发者ID:rynetang,项目名称:zstack-utility,代码行数:34,代码来源:nfs_primarystorage_plugin.py
示例12: remove_vip
def remove_vip(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
for vip in cmd.vips:
linux.delete_vip_by_ip_if_exists(vip.ip)
logger.debug('removed vip %s' % jsonobject.dumps(vip))
rsp = RemoveVipRsp()
return jsonobject.dumps(rsp)
开发者ID:ShaofeiWang,项目名称:zstack-utility,代码行数:8,代码来源:vip.py
示例13: create_vip
def create_vip(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
for vip in cmd.vips:
linux.create_vip_if_not_exists(vip.ownerEthernetMac, vip.ip, vip.netmask)
logger.debug('created vip %s' % jsonobject.dumps(vip))
rsp = CreateVipRsp()
return jsonobject.dumps(rsp)
开发者ID:ShaofeiWang,项目名称:zstack-utility,代码行数:8,代码来源:vip.py
示例14: ping
def ping(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
facts = bash_o('ceph -s -f json')
mon_facts = jsonobject.loads(facts)
found = False
for mon in mon_facts.monmap.mons:
if cmd.monAddr in mon.addr:
found = True
break
rsp = PingRsp()
if not found:
rsp.success = False
rsp.failure = "MonAddrChanged"
rsp.error = 'The mon addr is changed on the mon server[uuid:%s], not %s anymore.' \
'Reconnect the ceph primary storage' \
' may solve this issue' % (cmd.monUuid, cmd.monAddr)
return jsonobject.dumps(rsp)
def retry(times=3, sleep_time=3):
def wrap(f):
@functools.wraps(f)
def inner(*args, **kwargs):
for i in range(0, times):
try:
return f(*args, **kwargs)
except Exception as e:
logger.error(e)
time.sleep(sleep_time)
rsp.error = ("Still failed after retry. Below is detail:\n %s" % e)
return inner
return wrap
@retry()
def doPing():
# try to delete test file, ignore the result
pool, objname = cmd.testImagePath.split('/')
bash_r("rados -p '%s' rm '%s'" % (pool, objname))
r, o, e = bash_roe("echo zstack | timeout 60 rados -p '%s' put '%s' -" % (pool, objname))
if r != 0:
rsp.success = False
rsp.failure = "UnableToCreateFile"
if r == 124:
# timeout happened
rsp.error = 'failed to create heartbeat object on ceph, timeout after 60s, %s %s' % (e, o)
raise Exception(rsp.error)
else:
rsp.error = "%s %s" % (e, o)
doPing()
self._set_capacity_to_response(rsp)
return jsonobject.dumps(rsp)
开发者ID:zstackorg,项目名称:zstack-utility,代码行数:57,代码来源:cephagent.py
示例15: callback
def callback(self, req):
rsp = jsonobject.loads(req[http.REQUEST_BODY])
print jsonobject.dumps(rsp)
cmd = vm_plugin.RebootVmCmd()
cmd.uuid = self.uuid
cmd.timeout = 30
url = kvmagent._build_url_for_test([vm_plugin.KVM_REBOOT_VM_PATH])
rsp = http.json_dump_post(url, cmd, headers={http.TASK_UUID:uuidhelper.uuid(), http.CALLBACK_URI:self.CALLBACK_URL2})
开发者ID:QiRaining,项目名称:zstack-utility,代码行数:9,代码来源:test_vm_plugin_reboot_vm.py
示例16: _add_cluster
def _add_cluster(action, zone_ref, cluster, cluster_ref):
evt = action.run()
deploy_logger(jsonobject.dumps(evt))
cinv = evt.inventory
try:
if xmlobject.has_element(cluster, 'primaryStorageRef'):
for pref in xmlobject.safe_list(cluster.primaryStorageRef):
ps_name = generate_dup_name(generate_dup_name(pref.text_, zone_ref, 'z'), cluster_ref, 'c')
pinvs = res_ops.get_resource(res_ops.PRIMARY_STORAGE, session_uuid, name=ps_name)
pinv = get_first_item_from_list(pinvs, 'Primary Storage', ps_name, 'Cluster')
action_ps = api_actions.AttachPrimaryStorageToClusterAction()
action_ps.sessionUuid = session_uuid
action_ps.clusterUuid = cinv.uuid
action_ps.primaryStorageUuid = pinv.uuid
evt = action_ps.run()
deploy_logger(jsonobject.dumps(evt))
except:
exc_info.append(sys.exc_info())
if cluster.allL2NetworkRef__ == 'true':
# find all L2 network in zone and attach to cluster
cond = res_ops.gen_query_conditions('zoneUuid', '=',
action.zoneUuid)
l2_count = res_ops.query_resource_count(res_ops.L2_NETWORK,
cond, session_uuid)
l2invs = res_ops.query_resource_fields(res_ops.L2_NETWORK,
[{'name': 'zoneUuid', 'op': '=', 'value': action.zoneUuid}],
session_uuid, ['uuid'], 0, l2_count)
else:
l2invs = []
if xmlobject.has_element(cluster, 'l2NetworkRef'):
for l2ref in xmlobject.safe_list(cluster.l2NetworkRef):
l2_name = generate_dup_name(generate_dup_name(l2ref.text_, zone_ref, 'z'), cluster_ref, 'c')
cond = res_ops.gen_query_conditions('zoneUuid', '=',
action.zoneUuid)
cond = res_ops.gen_query_conditions('name', '=', l2_name,
cond)
l2inv = res_ops.query_resource_fields(res_ops.L2_NETWORK,
cond, session_uuid, ['uuid'])
if not l2inv:
raise DeployError("Can't find l2 network [%s] in database." % l2_name)
l2invs.extend(l2inv)
for l2inv in l2invs:
action = api_actions.AttachL2NetworkToClusterAction()
action.sessionUuid = session_uuid
action.clusterUuid = cinv.uuid
action.l2NetworkUuid = l2inv.uuid
thread = threading.Thread(target=_thread_for_action, args=(action,))
wait_for_thread_queue()
thread.start()
开发者ID:ShaofeiWang,项目名称:zstack-utility,代码行数:56,代码来源:deploy_config.py
示例17: establish_new_proxy
def establish_new_proxy(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = EstablishProxyRsp()
def check_parameters():
if not cmd.targetHostname:
raise ConsoleProxyError('targetHostname cannot be null')
if not cmd.targetPort:
raise ConsoleProxyError('targetPort cannot be null')
if not cmd.token:
raise ConsoleProxyError('token cannot be null')
if not cmd.proxyHostname:
raise ConsoleProxyError('proxyHostname cannot be null')
try:
check_parameters()
except ConsoleProxyError as e:
err = linux.get_exception_stacktrace()
logger.warn(err)
rsp.error = str(e)
rsp.success = False
return jsonobject.dumps(rsp)
proxyPort = linux.get_free_port()
token_file = os.path.join(self.TOKEN_FILE_DIR, self._make_token_file_name(cmd))
with open(token_file, 'w') as fd:
fd.write('%s: %s:%s' % (cmd.token, cmd.targetHostname, cmd.targetPort))
timeout = cmd.idleTimeout
if not timeout:
timeout = 600
log_file = os.path.join(self.PROXY_LOG_DIR, self._make_proxy_log_file_name(cmd))
proxy_cmd = '''python -c "from zstacklib.utils import log; import websockify; log.configure_log('%s'); websockify.websocketproxy.websockify_init()" %s:%s -D --target-config=%s --idle-timeout=%s''' % (log_file, cmd.proxyHostname, proxyPort, token_file, timeout)
logger.debug(proxy_cmd)
shell.call(proxy_cmd)
shell.call("iptables-save | grep -- '-A INPUT -p tcp -m tcp --dport %s' > /dev/null || iptables -I INPUT -p tcp -m tcp --dport %s -j ACCEPT" % (proxyPort, proxyPort))
info = {
'proxyHostname': cmd.proxyHostname,
'proxyPort' : cmd.proxyPort,
'targetHostname' : cmd.targetHostname,
'targetPort': cmd.targetPort,
'token': cmd.token,
'logFile': log_file,
'tokenFile': token_file
}
info_str = jsonobject.dumps(info)
self.db.set(cmd.token, info_str)
rsp.proxyPort = proxyPort
logger.debug('successfully establish new proxy%s' % info_str)
return jsonobject.dumps(rsp)
开发者ID:wolfhml,项目名称:zstack-utility,代码行数:55,代码来源:console_proxy_agent.py
示例18: _do_l3_deploy
def _do_l3_deploy(l3, l2inv_uuid, l3Name, session_uuid):
action = api_actions.CreateL3NetworkAction()
action.sessionUuid = session_uuid
action.description = l3.description__
if l3.system__ and l3.system__ != 'False':
action.system = 'true'
action.l2NetworkUuid = l2inv_uuid
action.name = l3Name
if l3.uuid__:
action.resourceUuid = l3.uuid__
action.type = inventory.L3_BASIC_NETWORK_TYPE
if l3.domain_name__:
action.dnsDomain = l3.domain_name__
try:
evt = action.run()
except:
exc_info.append(sys.exc_info())
deploy_logger(jsonobject.dumps(evt))
l3_inv = evt.inventory
# add dns
if xmlobject.has_element(l3, 'dns'):
for dns in xmlobject.safe_list(l3.dns):
action = api_actions.AddDnsToL3NetworkAction()
action.sessionUuid = session_uuid
action.dns = dns.text_
action.l3NetworkUuid = l3_inv.uuid
try:
evt = action.run()
except:
exc_info.append(sys.exc_info())
deploy_logger(jsonobject.dumps(evt))
# add ip range.
if xmlobject.has_element(l3, 'ipRange'):
do_add_ip_range(l3.ipRange, l3_inv.uuid, session_uuid)
# add network service.
providers = {}
action = api_actions.QueryNetworkServiceProviderAction()
action.sessionUuid = session_uuid
action.conditions = []
try:
reply = action.run()
except:
exc_info.append(sys.exc_info())
for pinv in reply:
providers[pinv.name] = pinv.uuid
if xmlobject.has_element(l3, 'networkService'):
do_add_network_service(l3.networkService, l3_inv.uuid,
providers, session_uuid)
开发者ID:ShaofeiWang,项目名称:zstack-utility,代码行数:54,代码来源:deploy_config.py
示例19: merge_snapshot_to_volume
def merge_snapshot_to_volume(self, req):
rsp = MergeSnapshotRsp()
cmd = jsonobject.loads(req[http.REQUEST_BODY])
vm = get_vm_by_uuid(cmd.vmUuid, exception_if_not_existing=True)
if vm.state != vm.VM_STATE_RUNNING:
rsp.error = 'vm[uuid:%s] is not running, cannot do live snapshot chain merge' % vm.uuid
rsp.success = False
return jsonobject.dumps(rsp)
vm.merge_snapshot(cmd)
return jsonobject.dumps(rsp)
开发者ID:ajmdfeipan,项目名称:zstack-utility,代码行数:12,代码来源:vm_plugin.py
示例20: check_physical_network_interface
def check_physical_network_interface(self, req):
cmd = jsonobject.loads(req[http.REQUEST_BODY])
rsp = CheckPhysicalNetworkInterfaceResponse()
for i in cmd.interfaceNames:
shell_cmd = shell.ShellCmd("ip link | grep '%s'" % i)
shell_cmd(False)
if shell_cmd.return_code != 0:
rsp.failedInterfaceNames = [i]
rsp.success = False
return jsonobject.dumps(rsp)
logger.debug(http.path_msg(CHECK_PHYSICAL_NETWORK_INTERFACE_PATH, 'checked physical interfaces: %s' % cmd.interfaceNames))
return jsonobject.dumps(rsp)
开发者ID:baiyuanlab,项目名称:zstack-utility,代码行数:13,代码来源:network_plugin.py
注:本文中的zstacklib.utils.jsonobject.dumps函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论