Merge branch 'release/os/4.4' of https://github.com/corda/corda into raz/os44to45

This commit is contained in:
Schife 2020-06-12 15:35:33 +01:00
commit b39aaacd3a
5 changed files with 62 additions and 41 deletions

View File

@ -23,51 +23,57 @@ pipeline {
} }
stages { stages {
stage('Corda Pull Request - Generate Build Image') { stage('Deploy Nodes') {
steps { steps {
withCredentials([string(credentialsId: 'container_reg_passwd', variable: 'DOCKER_PUSH_PWD')]) { sh "./gradlew --no-daemon jar deployNodes"
sh "./gradlew " +
"-Dkubenetize=true " +
"-Ddocker.push.password=\"\${DOCKER_PUSH_PWD}\" " +
"-Ddocker.work.dir=\"/tmp/\${EXECUTOR_NUMBER}\" " +
"-Ddocker.build.tag=\"\${DOCKER_TAG_TO_USE}\"" +
" clean jar deployNodes install pushBuildImage --stacktrace"
}
sh "kubectl auth can-i get pods"
}
} }
}
stage('Testing phase') { stage('Generate Build Image') {
parallel { steps {
stage('Regression Test') { withCredentials([string(credentialsId: 'container_reg_passwd', variable: 'DOCKER_PUSH_PWD')]) {
steps { sh "./gradlew " +
sh "./gradlew " + "-Dkubenetize=true " +
"-DbuildId=\"\${BUILD_ID}\" " + "-Ddocker.push.password=\"\${DOCKER_PUSH_PWD}\" " +
"-Dkubenetize=true " + "-Ddocker.work.dir=\"/tmp/\${EXECUTOR_NUMBER}\" " +
"-Ddocker.run.tag=\"\${DOCKER_TAG_TO_USE}\" " + "-Ddocker.build.tag=\"\${DOCKER_TAG_TO_USE}\"" +
"-Dartifactory.username=\"\${ARTIFACTORY_CREDENTIALS_USR}\" " + " clean pushBuildImage --stacktrace"
"-Dartifactory.password=\"\${ARTIFACTORY_CREDENTIALS_PSW}\" " + }
"-Dgit.branch=\"\${GIT_BRANCH}\" " + sh "kubectl auth can-i get pods"
"-Dgit.target.branch=\"\${GIT_BRANCH}\" " + }
" parallelRegressionTest --stacktrace" }
}
stage('Testing phase') {
parallel {
stage('Regression Test') {
steps {
sh "./gradlew " +
"-DbuildId=\"\${BUILD_ID}\" " +
"-Dkubenetize=true " +
"-Ddocker.run.tag=\"\${DOCKER_TAG_TO_USE}\" " +
"-Dartifactory.username=\"\${ARTIFACTORY_CREDENTIALS_USR}\" " +
"-Dartifactory.password=\"\${ARTIFACTORY_CREDENTIALS_PSW}\" " +
"-Dgit.branch=\"\${GIT_BRANCH}\" " +
"-Dgit.target.branch=\"\${GIT_BRANCH}\" " +
" parallelRegressionTest --stacktrace"
} }
stage('Slow Integration Test') { }
steps { stage('Slow Integration Test') {
sh "./gradlew " + steps {
"-DbuildId=\"\${BUILD_ID}\" " + sh "./gradlew " +
"-Dkubenetize=true " + "-DbuildId=\"\${BUILD_ID}\" " +
"-Ddocker.run.tag=\"\${DOCKER_TAG_TO_USE}\" " + "-Dkubenetize=true " +
"-Dartifactory.username=\"\${ARTIFACTORY_CREDENTIALS_USR}\" " + "-Ddocker.run.tag=\"\${DOCKER_TAG_TO_USE}\" " +
"-Dartifactory.password=\"\${ARTIFACTORY_CREDENTIALS_PSW}\" " + "-Dartifactory.username=\"\${ARTIFACTORY_CREDENTIALS_USR}\" " +
"-Dgit.branch=\"\${GIT_BRANCH}\" " + "-Dartifactory.password=\"\${ARTIFACTORY_CREDENTIALS_PSW}\" " +
"-Dgit.target.branch=\"\${GIT_BRANCH}\" " + "-Dgit.branch=\"\${GIT_BRANCH}\" " +
" allParallelSlowIntegrationTest --stacktrace" "-Dgit.target.branch=\"\${GIT_BRANCH}\" " +
} " allParallelSlowIntegrationTest --stacktrace"
} }
} }
} }
} }
}
post { post {

View File

@ -40,6 +40,12 @@ pipeline {
sh ".ci/check-api-changes.sh" sh ".ci/check-api-changes.sh"
} }
} }
stage('Deploy Nodes') {
steps {
sh "./gradlew --no-daemon jar deployNodes"
}
}
} }
post { post {

View File

@ -19,7 +19,7 @@ pipeline {
} }
stages { stages {
stage('Corda Pull Request - Generate Build Image') { stage('Generate Build Image') {
steps { steps {
withCredentials([string(credentialsId: 'container_reg_passwd', variable: 'DOCKER_PUSH_PWD')]) { withCredentials([string(credentialsId: 'container_reg_passwd', variable: 'DOCKER_PUSH_PWD')]) {
sh "./gradlew " + sh "./gradlew " +
@ -27,7 +27,7 @@ pipeline {
"-Ddocker.push.password=\"\${DOCKER_PUSH_PWD}\" " + "-Ddocker.push.password=\"\${DOCKER_PUSH_PWD}\" " +
"-Ddocker.work.dir=\"/tmp/\${EXECUTOR_NUMBER}\" " + "-Ddocker.work.dir=\"/tmp/\${EXECUTOR_NUMBER}\" " +
"-Ddocker.build.tag=\"\${DOCKER_TAG_TO_USE}\"" + "-Ddocker.build.tag=\"\${DOCKER_TAG_TO_USE}\"" +
" clean jar deployNodes install pushBuildImage --stacktrace" " clean preAllocateForParallelRegressionTest preAllocateForAllSlowIntegrationTest pushBuildImage --stacktrace"
} }
sh "kubectl auth can-i get pods" sh "kubectl auth can-i get pods"
} }

2
Jenkinsfile vendored
View File

@ -27,7 +27,7 @@ pipeline {
"-Ddocker.push.password=\"\${DOCKER_PUSH_PWD}\" " + "-Ddocker.push.password=\"\${DOCKER_PUSH_PWD}\" " +
"-Ddocker.work.dir=\"/tmp/\${EXECUTOR_NUMBER}\" " + "-Ddocker.work.dir=\"/tmp/\${EXECUTOR_NUMBER}\" " +
"-Ddocker.build.tag=\"\${DOCKER_TAG_TO_USE}\"" + "-Ddocker.build.tag=\"\${DOCKER_TAG_TO_USE}\"" +
" clean jar deployNodes pushBuildImage --stacktrace" " clean preAllocateForAllParallelUnitTest preAllocateForAllParallelIntegrationTest pushBuildImage --stacktrace"
} }
sh "kubectl auth can-i get pods" sh "kubectl auth can-i get pods"
} }

View File

@ -7,6 +7,8 @@ import net.corda.core.internal.concurrent.openFuture
import net.corda.core.node.services.CordaServiceCriticalFailureException import net.corda.core.node.services.CordaServiceCriticalFailureException
import net.corda.core.utilities.Try import net.corda.core.utilities.Try
import net.corda.core.utilities.contextLogger import net.corda.core.utilities.contextLogger
import net.corda.nodeapi.internal.persistence.contextDatabase
import net.corda.nodeapi.internal.persistence.contextDatabaseOrNull
import java.io.Closeable import java.io.Closeable
import java.util.Collections.singleton import java.util.Collections.singleton
import java.util.LinkedList import java.util.LinkedList
@ -93,7 +95,14 @@ class NodeLifecycleEventsDistributor : Closeable {
log.warn("Not distributing $event as executor been already shutdown. Double close() case?") log.warn("Not distributing $event as executor been already shutdown. Double close() case?")
result.set(null) result.set(null)
} else { } else {
val passTheDbToTheThread = contextDatabaseOrNull
executor.execute { executor.execute {
if (passTheDbToTheThread != null)
contextDatabase = passTheDbToTheThread
val orderedSnapshot = if (event.reversedPriority) snapshot.reversed() else snapshot val orderedSnapshot = if (event.reversedPriority) snapshot.reversed() else snapshot
orderedSnapshot.forEach { orderedSnapshot.forEach {
log.debug("Distributing event $event to: $it") log.debug("Distributing event $event to: $it")