Skip to content

Commit

Permalink
Debugging
Browse files Browse the repository at this point in the history
  • Loading branch information
anupama2501 committed Nov 6, 2024
1 parent 85c4ac0 commit c9f0be5
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 8 deletions.
60 changes: 55 additions & 5 deletions tests/v2/validation/pipeline/Jenkinsfile.release.upgrade.local
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,11 @@ node {
def patchedConfigsDir = "patched-cattle-configs"

def testResultsOut = "results.xml"
def testResultsJSON = "results.json"
def envFile = ".env"
def rancherConfig = "rancher_env.config"
def qaseRun = "testrun"
def testRunConfig = "testrunconfig.yaml"

// rancher
def rancherRepo = scm.getUserRemoteConfigs()[0].getUrl()
Expand Down Expand Up @@ -118,7 +121,8 @@ node {
string(credentialsId: 'RANCHER_VALID_TLS_KEY', variable: 'RANCHER_VALID_TLS_KEY'),
string(credentialsId: 'RANCHER_BYO_TLS_CERT', variable: 'RANCHER_BYO_TLS_CERT'),
string(credentialsId: 'RANCHER_BYO_TLS_KEY', variable: 'RANCHER_BYO_TLS_KEY'),
string(credentialsId: 'RANCHER_LINODE_ACCESSKEY', variable: "RANCHER_LINODE_ACCESSKEY")]) {
string(credentialsId: 'QASE_AUTOMATION_TOKEN', variable: 'QASE_AUTOMATION_TOKEN'),
string(credentialsId: 'RANCHER_LINODE_ACCESSKEY', variable: 'RANCHER_LINODE_ACCESSKEY')]) {
withEnv(paramsMap) {
stage('Checkout') {
deleteDir()
Expand Down Expand Up @@ -172,7 +176,11 @@ node {
stage("Build Environment") {
try {
sh "docker run -v ${validationVolume}:/root --name ${buildTestContainer} -t --env-file ${envFile} " +
"${imageName} sh -c \"${workPath}pipeline/scripts/setup_environment.sh\""
"${imageName} sh -c \"${workPath}pipeline/scripts/setup_environment.sh;${workPath}pipeline/scripts/build_qase_auto_testrun.sh\""

echo "Checking the current working directory and its contents"
echo "${workPath}"

} catch(err) {
sh "docker stop ${buildTestContainer}"
sh "docker rm -v ${buildTestContainer}"
Expand Down Expand Up @@ -227,12 +235,16 @@ node {
returnStdout: true
).trim()


jobs["$it-provisioning"] = {
stage("Parallel Provisioning: $it"){
def containerName = "${job_name}${env.BUILD_NUMBER}_$it-provisioning"
try {
echo "Starting provisioning tests. Getting qase run iD: "
sh "docker run --volumes-from ${buildTestContainer} --name ${containerName} -t -e CATTLE_TEST_CONFIG=\"${absoluteConfigPath}\" " +
"${imageName} sh -c \"gotestsum --format standard-verbose --packages=\"${testsDir}${testPackage}\" --junitfile ${testResultsOut} -- -tags=validation ${testCase} -timeout=\"60m\" -v\""
"${imageName} sh -c \"gotestsum --format standard-verbose --packages=\"${testsDir}${testPackage}\" --junitfile ${testResultsJSON} -- -tags=validation ${testCase} -timeout=\"60m\" -v\""



dir("./${patchedConfigsDir}") {
sh "docker cp ${containerName}:${rootPath}${configsDir}/$it ."
Expand Down Expand Up @@ -280,7 +292,6 @@ node {
stage('Run preupgrade checks') {
try {
jobs = [:]

configFiles.each {
try {
def configPath = "./${configsDir}/$it"
Expand All @@ -295,6 +306,17 @@ node {
script: "./yq '.testCases.upgradeTestCase' ${configPath}",
returnStdout: true
).trim()

echo "Getting the test run ID"
def testRunID
if ("${env.QASE_TEST_RUN_ID}" != "null" && "${env.QASE_TEST_RUN_ID}" != "") {
testRunID = "${env.REPO}"
} else {
testRunID = sh (
script: "./yq '.id' ./${testRunConfig}",
returnStdout: true
).trim()
}

def goValidationParams = [
string(name: 'TIMEOUT', value: "30m"),
Expand All @@ -304,6 +326,7 @@ node {
string(name: 'TEST_PACKAGE', value: "${testPackage}"),
string(name: 'TAGS', value: "${defaultTag}"),
string(name: 'GOTEST_TESTCASE', value: "${testCase}"),
string(name: 'QASE_TEST_RUN_ID', value: "${testRunID}"),
string(name: 'RKE_VERSION', value: "${env.RKE_VERSION}")
]

Expand All @@ -317,7 +340,9 @@ node {
} catch(err) {
echo "Pre upgrade tests had failures: " + err
}
sh "./${qaseRun} --startRun=false"
}

stage('Upgrade local cluster version') {
try {
def configPath = "./${configsDir}/${localConfigFileName}"
Expand All @@ -333,6 +358,17 @@ node {
returnStdout: true
).trim()

echo "Getting the test run ID in upgrade local cluster"
def testRunID
if ("${env.QASE_TEST_RUN_ID}" != "null" && "${env.QASE_TEST_RUN_ID}" != "") {
testRunID = "${env.REPO}"
} else {
testRunID = sh (
script: "./yq '.id' ./${testRunConfig}",
returnStdout: true
).trim()
}

def goValidationParams = [
string(name: 'TIMEOUT', value: "2h"),
text(name: 'CONFIG', value: configYaml),
Expand All @@ -341,6 +377,7 @@ node {
string(name: 'TEST_PACKAGE', value: "${testPackage}"),
string(name: 'TAGS', value: "${defaultTag}"),
string(name: 'GOTEST_TESTCASE', value: "${testCase}" ),
string(name: 'QASE_TEST_RUN_ID', value: "${testRunID}"),
string(name: 'RKE_VERSION', value: "${env.RKE_VERSION}")
]

Expand Down Expand Up @@ -368,6 +405,18 @@ node {
returnStdout: true
).trim()

echo "Getting the test run ID in post upgrade checks"
def testRunID
if ("${env.QASE_TEST_RUN_ID}" != "null" && "${env.QASE_TEST_RUN_ID}" != "") {
testRunID = "${env.REPO}"
} else {
testRunID = sh (
script: "./yq '.id' ./${testRunConfig}",
returnStdout: true
).trim()
}


def goValidationParams = [
string(name: 'TIMEOUT', value: "30m"),
text(name: 'CONFIG', value: configYaml),
Expand All @@ -376,6 +425,7 @@ node {
string(name: 'TEST_PACKAGE', value: "${testPackage}"),
string(name: 'TAGS', value: "${defaultTag}"),
string(name: 'GOTEST_TESTCASE', value: "${testCase}"),
string(name: 'QASE_TEST_RUN_ID', value: "${testRunID}"),
string(name: 'RKE_VERSION', value: "${env.RKE_VERSION}")
]

Expand Down Expand Up @@ -453,4 +503,4 @@ node {
} // creds
} // folder properties
} // wrap
} // node
} // node
8 changes: 6 additions & 2 deletions tests/v2/validation/pipeline/qase/testrun/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const (
)

var (
testRunName = os.Getenv(qasedefaults.TestRunNameEnvVar)
testRunName = "Anu test run"
qaseToken = os.Getenv(qasedefaults.QaseTokenEnvVar)
)

Expand All @@ -36,6 +36,8 @@ func main() {
cfg.AddDefaultHeader("Token", qaseToken)
client := qase.NewAPIClient(cfg)

logrus.Info("starting qase test run script.")

if *startRun {
// create test run
resp, err := createTestRun(client, testRunName)
Expand Down Expand Up @@ -72,11 +74,13 @@ func createTestRun(client *qase.APIClient, testRunName string) (*qase.IdResponse
fmt.Sprintf("%d", runSourceID): fmt.Sprintf("%d", recurringRunID),
},
}

idResponse, _, err := client.RunsApi.CreateRun(context.TODO(), runCreateBody, qasedefaults.RancherManagerProjectID)

if err != nil {
fmt.Println("Unable to create a test run, here's the error", err)
return nil, err
}
fmt.Println("Successfully created qase test run, here is the ID", idResponse.Result.Id)

return &idResponse, nil
}
Expand Down
13 changes: 12 additions & 1 deletion tests/v2/validation/pipeline/scripts/build_qase_auto_testrun.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,16 @@
set -e
cd $(dirname $0)/../../../../../

echo "Current directory after cd command:"
pwd

echo "building qase auto testrun bin"
env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o tests/v2/validation/testrun ./tests/v2/validation/pipeline/qase/testrun
env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o tests/v2/validation/testrun ./tests/v2/validation/pipeline/qase/testrun

if [ $? -ne 0 ]; then
echo "Failed to build Qase auto testrun binary" >&2
exit 1
else
echo "Successfully built Qase auto testrun binary"
ls tests/v2/validation/
fi

0 comments on commit c9f0be5

Please sign in to comment.