Revert "Rewrite managing of virtualenvs"
This reverts commit 1dcc7b6852ca1d6e2b72cf2e8d4a7f7bf7e2602d.
Reason for revert: merged by mistake
Change-Id: I6ec48448d9f4f8c3a81a508c246b0848bd5e12b0
diff --git a/src/com/mirantis/system_qa/SharedPipeline.groovy b/src/com/mirantis/system_qa/SharedPipeline.groovy
index c937fbe..8390c1b 100644
--- a/src/com/mirantis/system_qa/SharedPipeline.groovy
+++ b/src/com/mirantis/system_qa/SharedPipeline.groovy
@@ -686,42 +686,8 @@
writeFile(file: filename, text: script, encoding: "UTF-8")
}
-
-def withVirtualEnv(name, pythonVersion, installRepo = "", command = "") {
- /// name - str, name of virtualenv, name of folder which will be located in /home/jenkins
- /// pythonVersion - str, version of python defined through the ShiningPanda settings in the Jenkins (Jenkins ->
- //Manage Jenkins -> Global Tool Configuration -> Python Installations)
- /// installRepo - repo with tool which should be installed in that virtualenv
- def homeDir = "/home/jenkins"
- venvPath = "${homeDir}/${name}"
- // check if venv exists
-
- withPythonEnv("${pythonVersion}") {
- if (!fileExists(venvPath)) {
- sh """
- set -x;
- virtualenv ${venvPath};
- source ${venvPath}/bin/activate;
- pip install -U ${installRepo};
- """
- }
- sh """
- set -x;
- source ${venvPath}/bin/activate;
- ${command};
- deactivate;
-
- """
- }
- // if no - create folder, install specific python, install repo
-
- // if yes - launch command
-
-
-}
-
-
def upload_results_to_testrail(report_name, testPlanName, testSuiteName, methodname, testrail_name_template, reporter_extra_options=[]) {
+ def venvPath = '/home/jenkins/venv_testrail_reporter'
def testPlanDesc = env.LAB_CONFIG_NAME
def testrailURL = "https://mirantis.testrail.com"
def testrailProject = "Mirantis Cloud Platform"
@@ -747,6 +713,8 @@
] + reporter_extra_options
def script = """
+ . ${venvPath}/bin/activate
+ set -ex
report ${reporterOptions.join(' ')} ${report_name}
"""
@@ -758,26 +726,17 @@
passwordVariable: 'TESTRAIL_PASSWORD',
usernameVariable: 'TESTRAIL_USER']
]) {
-
- def ret = [:]
- ret.stdout = ''
- ret.exception = ''
- try {
- sshagent(credentials: ['maintenance-team-ssh']) {
- withVirtualEnv(
- name: "venv_testrail_reporter",
- pythonVersion: "python3.7",
- installRepo: "git+ssh://maintenance-ci-robot@gerrit.mcp.mirantis.com:29418/mcp/testrail-reporter",
- command: script
- )}
-// ret.stdout = run_cmd_stdout(script)
- } catch (Exception ex) {
- ret.exception = ("""\
- ##### Report to '${testSuiteName}' failed: #####\n""" + ex.message + "\n\n")
- }
-
- return ret
- }
+ def ret = [:]
+ ret.stdout = ''
+ ret.exception = ''
+ try {
+ ret.stdout = run_cmd_stdout(script)
+ } catch (Exception ex) {
+ ret.exception = ("""\
+##### Report to '${testSuiteName}' failed: #####\n""" + ex.message + "\n\n")
+ }
+ return ret
+ }
}
@@ -791,13 +750,16 @@
}
def mark_test_results(testPlanName, testSuiteName) {
+ def venvPath = '/home/jenkins/venv_testrail_analyzer'
def testrailURL = "https://mirantis.testrail.com"
def testrailProject = "Mirantis Cloud Platform"
def configName = env.LAB_CONFIG_NAME
def testRunName = "${configName} <${testSuiteName}>"
def script = """
- export TESTRAIL_URL=${testrailURL};
+ . ${venvPath}/bin/activate
+ set -ex
+ export TESTRAIL_URL=${testrailURL}
testrail-reporter analyze -p "${testrailProject}" -t "${testPlanName}" -r "${testRunName}" checklist.yaml
"""
@@ -807,17 +769,13 @@
[$class : 'UsernamePasswordMultiBinding',
credentialsId : testrail_cred_id,
passwordVariable: 'TESTRAIL_PASSWORD',
- usernameVariable: 'TESTRAIL_USER'
+ usernameVariable: 'TESTRAIL_USER']
]) {
def ret = [:]
ret.stdout = ''
ret.exception = ''
try {
- withVirtualEnv( name: "venv_testrail_analyzer",
- pythonVersion: "python3.7",
- installRepo: "git+https://review.gerrithub.io/ibumarskov/testrail-reporter",
- command: script)
-// ret.stdout = run_cmd_stdout(script)
+ ret.stdout = run_cmd_stdout(script)
} catch (Exception ex) {
ret.exception = ("""\
##### Report to '${testRunName}' failed: #####\n""" + ex.message + "\n\n")
@@ -825,7 +783,6 @@
return ret
}
}
-
def reboot_hardware_nodes(creds_name) {
bm_ips_file = readFile("tcp_tests/templates/${creds_name}")
bm_ips = bm_ips_file.split("\n")