本文整理汇总了Python中remote.remote_util.RemoteMachineShellConnection.find_build_version方法的典型用法代码示例。如果您正苦于以下问题:Python RemoteMachineShellConnection.find_build_version方法的具体用法?Python RemoteMachineShellConnection.find_build_version怎么用?Python RemoteMachineShellConnection.find_build_version使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类remote.remote_util.RemoteMachineShellConnection
的用法示例。
在下文中一共展示了RemoteMachineShellConnection.find_build_version方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _save_snapshot
# 需要导入模块: from remote.remote_util import RemoteMachineShellConnection [as 别名]
# 或者: from remote.remote_util.RemoteMachineShellConnection import find_build_version [as 别名]
def _save_snapshot(self, server, bucket, file_base=None):
"""Save data files to a snapshot"""
src_data_path = os.path.dirname(server.data_path or
testconstants.COUCHBASE_DATA_PATH)
dest_data_path = "{0}-snapshots".format(src_data_path)
print "[perf: _save_snapshot] server = {0} , src_data_path = {1}, dest_data_path = {2}"\
.format(server.ip, src_data_path, dest_data_path)
shell = RemoteMachineShellConnection(server)
build_name, short_version, full_version = \
shell.find_build_version("/opt/couchbase/", "VERSION.txt", "cb")
dest_file = self._build_tar_name(bucket, full_version, file_base)
self._exec_and_log(shell, "mkdir -p {0}".format(dest_data_path))
# save as gzip file, if file exsits, overwrite
# TODO: multiple buckets
zip_cmd = "cd {0}; tar -cvzf {1}/{2} {3} {3}-data _*"\
.format(src_data_path, dest_data_path, dest_file, bucket)
self._exec_and_log(shell, zip_cmd)
shell.disconnect()
return True
示例2: _load_snapshot
# 需要导入模块: from remote.remote_util import RemoteMachineShellConnection [as 别名]
# 或者: from remote.remote_util.RemoteMachineShellConnection import find_build_version [as 别名]
def _load_snapshot(self, server, bucket, file_base=None, overwrite=True):
"""Load data files from a snapshot"""
dest_data_path = os.path.dirname(server.data_path or
testconstants.COUCHBASE_DATA_PATH)
src_data_path = "{0}-snapshots".format(dest_data_path)
print "[perf: _load_snapshot] server = {0} , src_data_path = {1}, dest_data_path = {2}"\
.format(server.ip, src_data_path, dest_data_path)
shell = RemoteMachineShellConnection(server)
build_name, short_version, full_version = \
shell.find_build_version("/opt/couchbase/", "VERSION.txt", "cb")
src_file = self._build_tar_name(bucket, full_version, file_base)
if not shell.file_exists(src_data_path, src_file):
print "[perf: _load_snapshot] file '{0}/{1}' does not exist"\
.format(src_data_path, src_file)
shell.disconnect()
return False
if not overwrite:
self._save_snapshot(server, bucket,
"{0}.tar.gz".format(
time.strftime(PerfDefaults.strftime))) # TODO: filename
rm_cmd = "rm -rf {0}/{1} {0}/{1}-data {0}/_*".format(dest_data_path,
bucket)
self._exec_and_log(shell, rm_cmd)
unzip_cmd = "cd {0}; tar -xvzf {1}/{2}".format(dest_data_path,
src_data_path, src_file)
self._exec_and_log(shell, unzip_cmd)
shell.disconnect()
return True
示例3: test_win_uninstall_standalone
# 需要导入模块: from remote.remote_util import RemoteMachineShellConnection [as 别名]
# 或者: from remote.remote_util.RemoteMachineShellConnection import find_build_version [as 别名]
def test_win_uninstall_standalone(self):
query = BuildQuery()
builds, changes = query.get_all_builds()
os_version = self.input.test_params['win']
task = 'uninstall'
ex_type = 'exe'
bat_file = 'uninstall.bat'
version_file = 'VERSION.txt'
if self.input.test_params["ostype"] == '64':
Arch = 'x86_64'
os_type = '64'
elif self.input.test_params["ostype"] == '32':
Arch = 'x86'
os_type = '32'
else:
ok = False
self.log.error("Unknown os version.")
product = self.input.test_params["product"]
if product == 'cse':
name = 'couchbase-server-enterprise'
elif product == 'csse':
name = 'couchbase-single-server-enterprise'
elif product == 'csc':
name = 'couchbase-server-community'
elif product == 'cssc':
name = 'couchbase-single-server-community'
else:
self.log.error("Unknon product type.")
# no need later
cb_server_alias = ['cse','csc']
cb_single_alias = ['csse','cssc']
if product in cb_server_alias:
server_path = "/cygdrive/c/Program Files/Couchbase/Server/"
elif product in cb_single_alias:
server_path = "/cygdrive/c/Program Files (x86)/Couchbase/Server/"
for serverInfo in self.servers:
remote_client = RemoteMachineShellConnection(serverInfo)
info = RemoteMachineShellConnection(serverInfo).extract_remote_info()
exist = remote_client.file_exists(server_path, version_file)
if exist:
build_name, version = remote_client.find_build_version(server_path, version_file)
self.log.info('build needed to do auto uninstall {0}'.format(build_name))
# find installed build in tmp directory
build_name = build_name.rstrip() + ".exe"
self.log.info('Check if {0} is in tmp directory'.format(build_name))
exist = remote_client.file_exists("/cygdrive/c/tmp/", build_name)
if not exist:
build = query.find_build(builds, name, ex_type, Arch, version)
downloaded = remote_client.download_binary_in_win(build.url,product,version)
if downloaded:
self.log.info('Successful download {0}_{1}.exe'.format(product, version))
else:
self.log.error('Download {0}_{1}.exe failed'.format(product, version))
# modify uninstall bat file to change build name.
remote_client.modify_bat_file('/cygdrive/c/automation', bat_file,
product, os_type, os_version, version, task)
self.log.info('sleep for 5 seconds before running task schedule uninstall')
time.sleep(5)
# run task schedule to uninstall Couchbase Server
self.log.info('Start to uninstall couchbase {0}_{1}'.format(product, version))
output, error = remote_client.execute_command("cmd /c schtasks /run /tn removeme")
remote_client.log_command_output(output, error)
remote_client.wait_till_file_deleted(server_path, version_file, timeout_in_seconds=600)
self.log.info('sleep 15 seconds before running the next job ...')
time.sleep(15)
else:
self.log.info('Couchbase server may not install on this server')