From 2833ec2a88929020322c895efbd2ef67c426d6af Mon Sep 17 00:00:00 2001 From: Shams Asari Date: Wed, 11 Jul 2018 11:36:36 +0100 Subject: [PATCH 1/4] Avoiding starting notaries in driver-based integration tests to speed them up (#3544) --- .../client/rpc/BlacklistKotlinClosureTest.kt | 4 +-- .../client/rpc/FlowsExecutionModeRpcTest.kt | 2 +- .../compat/CashExceptionSerialisationTest.kt | 2 +- .../finance/flows/CashConfigDataFlowTest.kt | 5 +-- .../kotlin/net/corda/node/BootTests.kt | 3 +- .../corda/node/CordappScanningDriverTest.kt | 3 +- .../net/corda/node/NodeUnloadHandlerTests.kt | 13 ++++--- .../net/corda/node/flows/FlowRetryTest.kt | 8 +++-- .../draining/P2PFlowsDrainingModeTest.kt | 8 ++--- .../draining/RpcFlowsDrainingModeTest.kt | 9 ++--- .../node/services/AttachmentLoadingTests.kt | 31 ++++++++-------- .../node/services/network/NetworkMapTest.kt | 1 + .../net/corda/node/services/rpc/RpcSslTest.kt | 8 ++--- .../services/statemachine/HardRestartTest.kt | 36 ++++++++++++++----- .../net/corda/testing/driver/DriverTests.kt | 2 +- .../shell/InteractiveShellIntegrationTest.kt | 17 +++++---- .../net/corda/tools/shell/SSHServerTest.kt | 21 ++++++----- .../corda/webserver/WebserverDriverTests.kt | 3 +- 18 files changed, 96 insertions(+), 80 deletions(-) diff --git a/client/rpc/src/integration-test/kotlin/net/corda/client/rpc/BlacklistKotlinClosureTest.kt b/client/rpc/src/integration-test/kotlin/net/corda/client/rpc/BlacklistKotlinClosureTest.kt index 5a68349f85..f453129886 100644 --- a/client/rpc/src/integration-test/kotlin/net/corda/client/rpc/BlacklistKotlinClosureTest.kt +++ b/client/rpc/src/integration-test/kotlin/net/corda/client/rpc/BlacklistKotlinClosureTest.kt @@ -29,7 +29,7 @@ class BlacklistKotlinClosureTest { @Test fun `closure sent via RPC`() { - driver(DriverParameters(startNodesInProcess = true)) { + driver(DriverParameters(startNodesInProcess = true, notarySpecs = emptyList())) { val rpc = startNode(providedName = ALICE_NAME).getOrThrow().rpc val packet = Packet { EVIL } assertThatExceptionOfType(RPCException::class.java) @@ -37,4 +37,4 @@ class BlacklistKotlinClosureTest { .withMessageContaining("is not on the whitelist or annotated with @CordaSerializable") } } -} \ No newline at end of file +} diff --git a/client/rpc/src/integration-test/kotlin/net/corda/client/rpc/FlowsExecutionModeRpcTest.kt b/client/rpc/src/integration-test/kotlin/net/corda/client/rpc/FlowsExecutionModeRpcTest.kt index 4418c9d6e9..a015db75e7 100644 --- a/client/rpc/src/integration-test/kotlin/net/corda/client/rpc/FlowsExecutionModeRpcTest.kt +++ b/client/rpc/src/integration-test/kotlin/net/corda/client/rpc/FlowsExecutionModeRpcTest.kt @@ -30,7 +30,7 @@ class FlowsExecutionModeRpcTest { assumeFalse(System.getProperty("os.name").toLowerCase().startsWith("win")) val user = User("mark", "dadada", setOf(invokeRpc("setFlowsDrainingModeEnabled"), invokeRpc("isFlowsDrainingModeEnabled"))) - driver(DriverParameters(inMemoryDB = false, startNodesInProcess = true)) { + driver(DriverParameters(inMemoryDB = false, startNodesInProcess = true, notarySpecs = emptyList())) { val nodeName = { val nodeHandle = startNode(rpcUsers = listOf(user)).getOrThrow() val nodeName = nodeHandle.nodeInfo.chooseIdentity().name diff --git a/finance/src/integration-test/kotlin/net/corda/finance/compat/CashExceptionSerialisationTest.kt b/finance/src/integration-test/kotlin/net/corda/finance/compat/CashExceptionSerialisationTest.kt index d26752ee6f..ad7ac19fc8 100644 --- a/finance/src/integration-test/kotlin/net/corda/finance/compat/CashExceptionSerialisationTest.kt +++ b/finance/src/integration-test/kotlin/net/corda/finance/compat/CashExceptionSerialisationTest.kt @@ -16,7 +16,7 @@ import org.junit.Test class CashExceptionSerialisationTest { @Test fun `cash exception with a cause can be serialised with AMQP`() { - driver(DriverParameters(startNodesInProcess = true)) { + driver(DriverParameters(startNodesInProcess = true, notarySpecs = emptyList())) { val node = startNode(rpcUsers = listOf(User("mark", "dadada", setOf(all())))).getOrThrow() val action = { node.rpc.startFlow(::CashExceptionThrowingFlow).returnValue.getOrThrow() } assertThatThrownBy(action).isInstanceOfSatisfying(CashException::class.java) { thrown -> diff --git a/finance/src/integration-test/kotlin/net/corda/finance/flows/CashConfigDataFlowTest.kt b/finance/src/integration-test/kotlin/net/corda/finance/flows/CashConfigDataFlowTest.kt index 70bf28e8d3..4c9374075c 100644 --- a/finance/src/integration-test/kotlin/net/corda/finance/flows/CashConfigDataFlowTest.kt +++ b/finance/src/integration-test/kotlin/net/corda/finance/flows/CashConfigDataFlowTest.kt @@ -4,6 +4,7 @@ import net.corda.core.messaging.startFlow import net.corda.core.utilities.getOrThrow import net.corda.finance.EUR import net.corda.finance.USD +import net.corda.testing.driver.DriverParameters import net.corda.testing.driver.driver import org.assertj.core.api.Assertions.assertThat import org.junit.Test @@ -11,10 +12,10 @@ import org.junit.Test class CashConfigDataFlowTest { @Test fun `issuable currencies are read in from node config`() { - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val node = startNode(customOverrides = mapOf("custom" to mapOf("issuableCurrencies" to listOf("EUR", "USD")))).getOrThrow() val config = node.rpc.startFlow(::CashConfigDataFlow).returnValue.getOrThrow() assertThat(config.issuableCurrencies).containsExactly(EUR, USD) } } -} \ No newline at end of file +} diff --git a/node/src/integration-test/kotlin/net/corda/node/BootTests.kt b/node/src/integration-test/kotlin/net/corda/node/BootTests.kt index fcb56b7c00..23ac0b2cd4 100644 --- a/node/src/integration-test/kotlin/net/corda/node/BootTests.kt +++ b/node/src/integration-test/kotlin/net/corda/node/BootTests.kt @@ -22,10 +22,9 @@ import java.io.* import kotlin.test.assertEquals class BootTests { - @Test fun `java deserialization is disabled`() { - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val user = User("u", "p", setOf(startFlow())) val future = CordaRPCClient(startNode(rpcUsers = listOf(user)).getOrThrow().rpcAddress). start(user.username, user.password).proxy.startFlow(::ObjectInputStreamFlow).returnValue diff --git a/node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt b/node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt index 327cbd06eb..d437e16527 100644 --- a/node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt +++ b/node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt @@ -12,6 +12,7 @@ import net.corda.node.services.Permissions.Companion.startFlow import net.corda.testing.core.ALICE_NAME import net.corda.testing.core.BOB_NAME import net.corda.testing.core.singleIdentity +import net.corda.testing.driver.DriverParameters import net.corda.testing.driver.driver import net.corda.testing.node.User import org.assertj.core.api.Assertions.assertThat @@ -22,7 +23,7 @@ class CordappScanningDriverTest { fun `sub-classed initiated flow pointing to the same initiating flow as its super-class`() { val user = User("u", "p", setOf(startFlow())) // The driver will automatically pick up the annotated flows below - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val (alice, bob) = listOf( startNode(providedName = ALICE_NAME, rpcUsers = listOf(user)), startNode(providedName = BOB_NAME)).transpose().getOrThrow() diff --git a/node/src/integration-test/kotlin/net/corda/node/NodeUnloadHandlerTests.kt b/node/src/integration-test/kotlin/net/corda/node/NodeUnloadHandlerTests.kt index 7d5d0406dd..0efbcf12a1 100644 --- a/node/src/integration-test/kotlin/net/corda/node/NodeUnloadHandlerTests.kt +++ b/node/src/integration-test/kotlin/net/corda/node/NodeUnloadHandlerTests.kt @@ -8,29 +8,28 @@ import net.corda.core.utilities.getOrThrow import net.corda.testing.core.DUMMY_BANK_A_NAME import net.corda.testing.driver.DriverParameters import net.corda.testing.driver.driver -import org.junit.Assert +import org.junit.Assert.assertTrue import org.junit.Test import java.util.concurrent.CountDownLatch import java.util.concurrent.TimeUnit class NodeUnloadHandlerTests { - companion object { val latch = CountDownLatch(1) } @Test fun `should be able to register run on stop lambda`() { - driver(DriverParameters(startNodesInProcess = true, extraCordappPackagesToScan = listOf("net.corda.node"))) { + driver(DriverParameters(startNodesInProcess = true, extraCordappPackagesToScan = listOf("net.corda.node"), notarySpecs = emptyList())) { startNode(providedName = DUMMY_BANK_A_NAME).getOrThrow() // just want to fall off the end of this for the mo... } - Assert.assertTrue("Timed out waiting for AbstractNode to invoke the test service shutdown callback", latch.await(30, TimeUnit.SECONDS)) + assertTrue("Timed out waiting for AbstractNode to invoke the test service shutdown callback", latch.await(30, TimeUnit.SECONDS)) } + @Suppress("unused") @CordaService class RunOnStopTestService(serviceHub: ServiceHub) : SingletonSerializeAsToken() { - companion object { private val log = contextLogger() } @@ -39,9 +38,9 @@ class NodeUnloadHandlerTests { serviceHub.registerUnloadHandler(this::shutdown) } - fun shutdown() { + private fun shutdown() { log.info("shutting down") latch.countDown() } } -} \ No newline at end of file +} diff --git a/node/src/integration-test/kotlin/net/corda/node/flows/FlowRetryTest.kt b/node/src/integration-test/kotlin/net/corda/node/flows/FlowRetryTest.kt index f9064c4795..b1524ff219 100644 --- a/node/src/integration-test/kotlin/net/corda/node/flows/FlowRetryTest.kt +++ b/node/src/integration-test/kotlin/net/corda/node/flows/FlowRetryTest.kt @@ -36,9 +36,11 @@ class FlowRetryTest { val numSessions = 2 val numIterations = 10 val user = User("mark", "dadada", setOf(Permissions.startFlow())) - val result: Any? = driver(DriverParameters(startNodesInProcess = isQuasarAgentSpecified(), - portAllocation = RandomFree)) { - + val result: Any? = driver(DriverParameters( + startNodesInProcess = isQuasarAgentSpecified(), + portAllocation = RandomFree, + notarySpecs = emptyList() + )) { val nodeAHandle = startNode(rpcUsers = listOf(user)).getOrThrow() val nodeBHandle = startNode(rpcUsers = listOf(user)).getOrThrow() diff --git a/node/src/integration-test/kotlin/net/corda/node/modes/draining/P2PFlowsDrainingModeTest.kt b/node/src/integration-test/kotlin/net/corda/node/modes/draining/P2PFlowsDrainingModeTest.kt index 8fe8fbc0a4..22961b1c40 100644 --- a/node/src/integration-test/kotlin/net/corda/node/modes/draining/P2PFlowsDrainingModeTest.kt +++ b/node/src/integration-test/kotlin/net/corda/node/modes/draining/P2PFlowsDrainingModeTest.kt @@ -52,9 +52,7 @@ class P2PFlowsDrainingModeTest { @Test fun `flows draining mode suspends consumption of initial session messages`() { - - driver(DriverParameters(startNodesInProcess = false, portAllocation = portAllocation)) { - + driver(DriverParameters(startNodesInProcess = false, portAllocation = portAllocation, notarySpecs = emptyList())) { val initiatedNode = startNode(providedName = ALICE_NAME).getOrThrow() val initiating = startNode(providedName = BOB_NAME, rpcUsers = users).getOrThrow().rpc val counterParty = initiatedNode.nodeInfo.singleIdentity() @@ -84,9 +82,7 @@ class P2PFlowsDrainingModeTest { @Test fun `clean shutdown by draining`() { - - driver(DriverParameters(startNodesInProcess = true, portAllocation = portAllocation)) { - + driver(DriverParameters(startNodesInProcess = true, portAllocation = portAllocation, notarySpecs = emptyList())) { val nodeA = startNode(providedName = ALICE_NAME, rpcUsers = users).getOrThrow() val nodeB = startNode(providedName = BOB_NAME, rpcUsers = users).getOrThrow() var successful = false diff --git a/node/src/integration-test/kotlin/net/corda/node/modes/draining/RpcFlowsDrainingModeTest.kt b/node/src/integration-test/kotlin/net/corda/node/modes/draining/RpcFlowsDrainingModeTest.kt index 3b5963877c..07c9aca738 100644 --- a/node/src/integration-test/kotlin/net/corda/node/modes/draining/RpcFlowsDrainingModeTest.kt +++ b/node/src/integration-test/kotlin/net/corda/node/modes/draining/RpcFlowsDrainingModeTest.kt @@ -23,11 +23,8 @@ class RpcFlowsDrainingModeTest { @Test fun `flows draining mode rejects start flows commands through rpc`() { - - driver(DriverParameters(startNodesInProcess = false, portAllocation = portAllocation)) { - + driver(DriverParameters(startNodesInProcess = false, portAllocation = portAllocation, notarySpecs = emptyList())) { startNode(rpcUsers = users).getOrThrow().rpc.apply { - setFlowsDrainingModeEnabled(true) val error: Throwable? = catchThrowable { startFlow(RpcFlowsDrainingModeTest::NoOpFlow) } @@ -40,11 +37,9 @@ class RpcFlowsDrainingModeTest { @StartableByRPC class NoOpFlow : FlowLogic() { - @Suspendable override fun call() { - println("NO OP!") } } -} \ No newline at end of file +} diff --git a/node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt b/node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt index 278feceafa..45f584780a 100644 --- a/node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt +++ b/node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt @@ -112,25 +112,28 @@ class AttachmentLoadingTests { } @Test - fun `test that attachments retrieved over the network are not used for code`() = withoutTestSerialization { - driver(DriverParameters(startNodesInProcess = true)) { - installIsolatedCordappTo(bankAName) - val (bankA, bankB) = createTwoNodes() - assertFailsWith("Party C=CH,L=Zurich,O=BankB rejected session request: Don't know net.corda.finance.contracts.isolated.IsolatedDummyFlow\$Initiator") { - bankA.rpc.startFlowDynamic(flowInitiatorClass, bankB.nodeInfo.legalIdentities.first()).returnValue.getOrThrow() + fun `test that attachments retrieved over the network are not used for code`() { + withoutTestSerialization { + driver(DriverParameters(startNodesInProcess = true, notarySpecs = emptyList())) { + installIsolatedCordappTo(bankAName) + val (bankA, bankB) = createTwoNodes() + assertFailsWith("Party C=CH,L=Zurich,O=BankB rejected session request: Don't know net.corda.finance.contracts.isolated.IsolatedDummyFlow\$Initiator") { + bankA.rpc.startFlowDynamic(flowInitiatorClass, bankB.nodeInfo.legalIdentities.first()).returnValue.getOrThrow() + } } + Unit } - Unit } @Test - fun `tests that if the attachment is loaded on both sides already that a flow can run`() = withoutTestSerialization { - driver { - installIsolatedCordappTo(bankAName) - installIsolatedCordappTo(bankBName) - val (bankA, bankB) = createTwoNodes() - bankA.rpc.startFlowDynamic(flowInitiatorClass, bankB.nodeInfo.legalIdentities.first()).returnValue.getOrThrow() + fun `tests that if the attachment is loaded on both sides already that a flow can run`() { + withoutTestSerialization { + driver { + installIsolatedCordappTo(bankAName) + installIsolatedCordappTo(bankBName) + val (bankA, bankB) = createTwoNodes() + bankA.rpc.startFlowDynamic(flowInitiatorClass, bankB.nodeInfo.legalIdentities.first()).returnValue.getOrThrow() + } } - Unit } } diff --git a/node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt b/node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt index d4d6f00519..8605e9cbcd 100644 --- a/node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt +++ b/node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt @@ -221,6 +221,7 @@ class NetworkMapTest(var initFunc: (URL, NetworkMapServer) -> CompatibilityZoneP portAllocation = portAllocation, compatibilityZone = compatibilityZone, initialiseSerialization = false, + notarySpecs = emptyList(), systemProperties = mapOf("net.corda.node.internal.nodeinfo.publish.interval" to 1.seconds.toString()) ) { val aliceNode = startNode(providedName = ALICE_NAME, devMode = false).getOrThrow() diff --git a/node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt b/node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt index 848b2ddb42..ebe2d46f90 100644 --- a/node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt +++ b/node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt @@ -46,7 +46,7 @@ class RpcSslTest { val trustStorePath = saveToTrustStore(tempFolder.root.toPath() / "truststore.jks", cert) val clientSslOptions = ClientRpcSslOptions(trustStorePath, "password") - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { val node = startNode(rpcUsers = listOf(user), customOverrides = brokerSslOptions.useSslRpcOverrides()).getOrThrow() val client = CordaRPCClient.createWithSsl(node.rpcAddress, sslConfiguration = clientSslOptions) val connection = client.start(user.username, user.password) @@ -84,7 +84,7 @@ class RpcSslTest { val trustStorePath = saveToTrustStore(tempFolder.root.toPath() / "truststore.jks", cert1) val clientSslOptions = ClientRpcSslOptions(trustStorePath, "password") - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { val node = startNode(rpcUsers = listOf(user), customOverrides = brokerSslOptions.useSslRpcOverrides()).getOrThrow() Assertions.assertThatThrownBy { val connection = CordaRPCClient.createWithSsl(node.rpcAddress, sslConfiguration = clientSslOptions).start(user.username, user.password) @@ -104,7 +104,7 @@ class RpcSslTest { fun `RPC client not using ssl can run commands`() { val user = User("mark", "dadada", setOf(all())) var successful = false - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { val node = startNode(rpcUsers = listOf(user)).getOrThrow() val connection = CordaRPCClient(node.rpcAddress).start(user.username, user.password) connection.proxy.apply { @@ -124,7 +124,7 @@ class RpcSslTest { val trustStorePath = saveToTrustStore(tempFolder.root.toPath() / "truststore.jks", cert) val clientSslOptions = ClientRpcSslOptions(trustStorePath, "password") - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { val node = startNode(customOverrides = brokerSslOptions.useSslRpcOverrides()).getOrThrow() val client = CordaRPCClient.createWithSsl(node.rpcAddress, sslConfiguration = clientSslOptions) diff --git a/node/src/integration-test/kotlin/net/corda/node/services/statemachine/HardRestartTest.kt b/node/src/integration-test/kotlin/net/corda/node/services/statemachine/HardRestartTest.kt index 2ee4013338..b0ddaacbf9 100644 --- a/node/src/integration-test/kotlin/net/corda/node/services/statemachine/HardRestartTest.kt +++ b/node/src/integration-test/kotlin/net/corda/node/services/statemachine/HardRestartTest.kt @@ -30,7 +30,7 @@ import kotlin.test.assertEquals class HardRestartTest { @StartableByRPC @InitiatingFlow - class Ping(val pongParty: Party, val times: Int) : FlowLogic() { + class Ping(private val pongParty: Party, val times: Int) : FlowLogic() { @Suspendable override fun call() { val pongSession = initiateFlow(pongParty) @@ -43,7 +43,7 @@ class HardRestartTest { } @InitiatedBy(Ping::class) - class Pong(val pingSession: FlowSession) : FlowLogic() { + class Pong(private val pingSession: FlowSession) : FlowLogic() { @Suspendable override fun call() { val times = pingSession.sendAndReceive(Unit).unwrap { it } @@ -61,7 +61,12 @@ class HardRestartTest { @Test fun restartShortPingPongFlowRandomly() { val demoUser = User("demo", "demo", setOf(Permissions.startFlow(), Permissions.all())) - driver(DriverParameters(startNodesInProcess = false, inMemoryDB = false, systemProperties = mapOf("log4j.configurationFile" to logConfigFile.toString()))) { + driver(DriverParameters( + startNodesInProcess = false, + inMemoryDB = false, + notarySpecs = emptyList(), + systemProperties = mapOf("log4j.configurationFile" to logConfigFile.toString()) + )) { val (a, b) = listOf( startNode(providedName = DUMMY_BANK_A_NAME, rpcUsers = listOf(demoUser), customOverrides = mapOf("p2pAddress" to "localhost:30000")), startNode(providedName = DUMMY_BANK_B_NAME, rpcUsers = listOf(demoUser), customOverrides = mapOf("p2pAddress" to "localhost:40000")) @@ -93,7 +98,12 @@ class HardRestartTest { @Test fun restartLongPingPongFlowRandomly() { val demoUser = User("demo", "demo", setOf(Permissions.startFlow(), Permissions.all())) - driver(DriverParameters(startNodesInProcess = false, inMemoryDB = false, systemProperties = mapOf("log4j.configurationFile" to logConfigFile.toString()))) { + driver(DriverParameters( + startNodesInProcess = false, + inMemoryDB = false, + notarySpecs = emptyList(), + systemProperties = mapOf("log4j.configurationFile" to logConfigFile.toString()) + )) { val (a, b) = listOf( startNode(providedName = DUMMY_BANK_A_NAME, rpcUsers = listOf(demoUser), customOverrides = mapOf("p2pAddress" to "localhost:30000")), startNode(providedName = DUMMY_BANK_B_NAME, rpcUsers = listOf(demoUser), customOverrides = mapOf("p2pAddress" to "localhost:40000")) @@ -125,7 +135,12 @@ class HardRestartTest { @Test fun softRestartLongPingPongFlowRandomly() { val demoUser = User("demo", "demo", setOf(Permissions.startFlow(), Permissions.all())) - driver(DriverParameters(startNodesInProcess = false, inMemoryDB = false, systemProperties = mapOf("log4j.configurationFile" to logConfigFile.toString()))) { + driver(DriverParameters( + startNodesInProcess = false, + inMemoryDB = false, + notarySpecs = emptyList(), + systemProperties = mapOf("log4j.configurationFile" to logConfigFile.toString()) + )) { val (a, b) = listOf( startNode(providedName = DUMMY_BANK_A_NAME, rpcUsers = listOf(demoUser), customOverrides = mapOf("p2pAddress" to "localhost:30000")), startNode(providedName = DUMMY_BANK_B_NAME, rpcUsers = listOf(demoUser), customOverrides = mapOf("p2pAddress" to "localhost:40000")) @@ -188,20 +203,25 @@ class HardRestartTest { @InitiatingFlow @InitiatedBy(RecursiveA::class) - class RecursiveB(val otherSession: FlowSession) : FlowLogic() { + class RecursiveB(private val otherSession: FlowSession) : FlowLogic() { @Suspendable override fun call() { val depth = otherSession.receive().unwrap { it } val newSession = initiateFlow(otherSession.counterparty) val string = newSession.sendAndReceive(depth - 1).unwrap { it } - otherSession.send(string + ":" + depth) + otherSession.send("$string:$depth") } } @Test fun restartRecursiveFlowRandomly() { val demoUser = User("demo", "demo", setOf(Permissions.startFlow(), Permissions.all())) - driver(DriverParameters(startNodesInProcess = false, inMemoryDB = false, systemProperties = mapOf("log4j.configurationFile" to logConfigFile.toString()))) { + driver(DriverParameters( + startNodesInProcess = false, + inMemoryDB = false, + notarySpecs = emptyList(), + systemProperties = mapOf("log4j.configurationFile" to logConfigFile.toString()) + )) { val (a, b) = listOf( startNode(providedName = DUMMY_BANK_A_NAME, rpcUsers = listOf(demoUser), customOverrides = mapOf("p2pAddress" to "localhost:30000")), startNode(providedName = DUMMY_BANK_B_NAME, rpcUsers = listOf(demoUser), customOverrides = mapOf("p2pAddress" to "localhost:40000")) diff --git a/testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt b/testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt index 7e9ee5dcf7..617eaf185b 100644 --- a/testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt +++ b/testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt @@ -54,7 +54,7 @@ class DriverTests { @Test fun `simple node startup and shutdown`() { - val handle = driver { + val handle = driver(DriverParameters(notarySpecs = emptyList())) { val node = startNode(providedName = DUMMY_REGULATOR_NAME) nodeMustBeUp(node) } diff --git a/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt b/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt index e9b1636a99..02aed5c099 100644 --- a/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt +++ b/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt @@ -34,17 +34,16 @@ import javax.security.auth.x500.X500Principal import kotlin.test.assertTrue class InteractiveShellIntegrationTest { - @Rule @JvmField val tempFolder = TemporaryFolder() - val testName = X500Principal("CN=Test,O=R3 Ltd,L=London,C=GB") + private val testName = X500Principal("CN=Test,O=R3 Ltd,L=London,C=GB") @Test fun `shell should not log in with invalid credentials`() { val user = User("u", "p", setOf()) - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { val nodeFuture = startNode(providedName = ALICE_NAME, rpcUsers = listOf(user), startInSameProcess = true) val node = nodeFuture.getOrThrow() @@ -60,7 +59,7 @@ class InteractiveShellIntegrationTest { @Test fun `shell should log in with valid credentials`() { val user = User("u", "p", setOf()) - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val nodeFuture = startNode(providedName = ALICE_NAME, rpcUsers = listOf(user), startInSameProcess = true) val node = nodeFuture.getOrThrow() @@ -85,7 +84,7 @@ class InteractiveShellIntegrationTest { val trustStorePath = saveToTrustStore(tempFolder.root.toPath() / "truststore.jks", cert) val clientSslOptions = ClientRpcSslOptions(trustStorePath, "password") - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { startNode(rpcUsers = listOf(user), customOverrides = brokerSslOptions.useSslRpcOverrides()).getOrThrow().use { node -> val conf = ShellConfiguration(commandsDirectory = Files.createTempDir().toPath(), @@ -113,7 +112,7 @@ class InteractiveShellIntegrationTest { val trustStorePath = saveToTrustStore(tempFolder.root.toPath() / "truststore.jks", cert1) val clientSslOptions = ClientRpcSslOptions(trustStorePath, "password") - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { startNode(rpcUsers = listOf(user), customOverrides = brokerSslOptions.useSslRpcOverrides()).getOrThrow().use { node -> val conf = ShellConfiguration(commandsDirectory = Files.createTempDir().toPath(), @@ -130,7 +129,7 @@ class InteractiveShellIntegrationTest { @Test fun `internal shell user should not be able to connect if node started with devMode=false`() { - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { startNode().getOrThrow().use { node -> val conf = (node as NodeHandleInternal).configuration.toShellConfig() InteractiveShell.startShellInternal(conf) @@ -145,7 +144,7 @@ class InteractiveShellIntegrationTest { val user = User("u", "p", setOf(Permissions.startFlow(), Permissions.invokeRpc(CordaRPCOps::registeredFlows), Permissions.invokeRpc(CordaRPCOps::nodeInfo))) - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val nodeFuture = startNode(providedName = ALICE_NAME, rpcUsers = listOf(user), startInSameProcess = true) val node = nodeFuture.getOrThrow() @@ -196,7 +195,7 @@ class InteractiveShellIntegrationTest { val clientSslOptions = ClientRpcSslOptions(trustStorePath, "password") var successful = false - driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree)) { + driver(DriverParameters(startNodesInProcess = true, portAllocation = RandomFree, notarySpecs = emptyList())) { startNode(rpcUsers = listOf(user), customOverrides = brokerSslOptions.useSslRpcOverrides()).getOrThrow().use { node -> val conf = ShellConfiguration(commandsDirectory = Files.createTempDir().toPath(), diff --git a/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/SSHServerTest.kt b/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/SSHServerTest.kt index a68b9d85d7..374d1bba13 100644 --- a/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/SSHServerTest.kt +++ b/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/SSHServerTest.kt @@ -16,24 +16,22 @@ import net.corda.node.services.Permissions.Companion.invokeRpc import net.corda.node.services.Permissions.Companion.startFlow import net.corda.testing.core.ALICE_NAME import net.corda.testing.driver.DriverParameters -import net.corda.testing.node.User import net.corda.testing.driver.driver +import net.corda.testing.node.User import org.assertj.core.api.Assertions.assertThat import org.bouncycastle.util.io.Streams import org.junit.Ignore import org.junit.Test -import java.lang.Thread.sleep import java.net.ConnectException import kotlin.test.assertTrue import kotlin.test.fail class SSHServerTest { - - @Test() + @Test fun `ssh server does not start be default`() { val user = User("u", "p", setOf()) // The driver will automatically pick up the annotated flows below - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val node = startNode(providedName = ALICE_NAME, rpcUsers = listOf(user)) node.getOrThrow() @@ -44,7 +42,7 @@ class SSHServerTest { try { session.connect() fail() - } catch (e:JSchException) { + } catch (e: JSchException) { assertTrue(e.cause is ConnectException) } } @@ -54,7 +52,7 @@ class SSHServerTest { fun `ssh server starts when configured`() { val user = User("u", "p", setOf()) // The driver will automatically pick up the annotated flows below - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val node = startNode(providedName = ALICE_NAME, rpcUsers = listOf(user), customOverrides = mapOf("sshd" to mapOf("port" to 2222)) /*, startInSameProcess = true */) node.getOrThrow() @@ -73,7 +71,7 @@ class SSHServerTest { fun `ssh server verify credentials`() { val user = User("u", "p", setOf()) // The driver will automatically pick up the annotated flows below - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val node = startNode(providedName = ALICE_NAME, rpcUsers = listOf(user), customOverrides = mapOf("sshd" to mapOf("port" to 2222))) node.getOrThrow() @@ -97,7 +95,7 @@ class SSHServerTest { val user = User("u", "p", setOf(startFlow(), invokeRpc(CordaRPCOps::wellKnownPartyFromX500Name))) // The driver will automatically pick up the annotated flows below - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val node = startNode(providedName = ALICE_NAME, rpcUsers = listOf(user), customOverrides = mapOf("sshd" to mapOf("port" to 2222))) node.getOrThrow() @@ -126,7 +124,7 @@ class SSHServerTest { fun `ssh runs flows`() { val user = User("u", "p", setOf(startFlow())) // The driver will automatically pick up the annotated flows below - driver { + driver(DriverParameters(notarySpecs = emptyList())) { val node = startNode(providedName = ALICE_NAME, rpcUsers = listOf(user), customOverrides = mapOf("sshd" to mapOf("port" to 2222))) node.getOrThrow() @@ -171,9 +169,10 @@ class SSHServerTest { override val progressTracker: ProgressTracker? = ProgressTracker(HELLO_STEP) } + @Suppress("unused") @StartableByRPC @InitiatingFlow - class FlowICannotRun(val otherParty: Party) : FlowLogic() { + class FlowICannotRun(private val otherParty: Party) : FlowLogic() { @Suspendable override fun call(): String = initiateFlow(otherParty).receive().unwrap { it } diff --git a/webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt b/webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt index 44892134f2..0a8e34340d 100644 --- a/webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt +++ b/webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt @@ -5,6 +5,7 @@ package net.corda.webserver import net.corda.core.utilities.NetworkHostAndPort import net.corda.core.utilities.getOrThrow import net.corda.testing.core.DUMMY_BANK_A_NAME +import net.corda.testing.driver.DriverParameters import net.corda.testing.driver.WebserverHandle import net.corda.testing.node.internal.addressMustBeBound import net.corda.testing.node.internal.addressMustNotBeBound @@ -28,7 +29,7 @@ class WebserverDriverTests { @Test fun `starting a node and independent web server works`() { - val addr = driver { + val addr = driver(DriverParameters(notarySpecs = emptyList())) { val node = startNode(providedName = DUMMY_BANK_A_NAME).getOrThrow() val webserverHandle = startWebserver(node).getOrThrow() webserverMustBeUp(webserverHandle) From 9503c9684ec5470ddb32f4ca7ee61c53d3d65809 Mon Sep 17 00:00:00 2001 From: Stefano Franz Date: Wed, 11 Jul 2018 13:28:01 +0100 Subject: [PATCH 2/4] CORDA-1747 - Client RPC classloader and Java Generics fixes (#3553) * fix for spring boot rpc and it work with deterministic serialization * really really fix tests * up log level * reenable allWarningsAsErrors --- build.gradle | 12 +-- .../amqp/AMQPClientSerializationScheme.kt | 9 ++- .../common/LocalSerializationRule.kt | 23 +++--- .../core/serialization/SerializationAPI.kt | 1 - .../amqp/AMQPServerSerializationScheme.kt | 7 +- .../RoundTripObservableSerializerTests.kt | 3 +- .../testutils/AMQPTestSerialiationScheme.kt | 3 +- .../amqp/custom/OptionalSerializerTest.kt | 39 ++++++++++ serialization-deterministic/build.gradle | 1 + .../amqp/AMQPSerializationThreadContext.kt | 6 ++ .../internal/amqp/AMQPSerializationScheme.kt | 77 +++++++++++-------- .../amqp/AMQPSerializationThreadContext.kt | 6 ++ .../internal/amqp/AccessOrderLinkedHashMap.kt | 11 +++ .../internal/amqp/SerializationHelper.kt | 2 +- .../internal/amqp/SerializerFactory.kt | 2 +- .../amqp/custom/OptionalSerializer.kt | 24 ++++++ .../internal/amqp/DummyOptional.java | 37 +++++++++ .../AbstractAMQPSerializationSchemeTest.kt | 76 ++++++++++++++++++ .../internal/amqp/CorDappSerializerTests.kt | 8 +- .../amqp/OptionalSerializationTests.kt | 36 +++++++++ .../internal/amqp/SerializationOutputTests.kt | 7 ++ .../internal/amqp/SerializationSchemaTests.kt | 8 +- 22 files changed, 327 insertions(+), 71 deletions(-) create mode 100644 samples/bank-of-corda-demo/src/test/kotlin/net/corda/serialization/internal/amqp/custom/OptionalSerializerTest.kt create mode 100644 serialization-deterministic/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationThreadContext.kt create mode 100644 serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationThreadContext.kt create mode 100644 serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AccessOrderLinkedHashMap.kt create mode 100644 serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OptionalSerializer.kt create mode 100644 serialization/src/test/java/net/corda/serialization/internal/amqp/DummyOptional.java create mode 100644 serialization/src/test/kotlin/net/corda/serialization/internal/amqp/AbstractAMQPSerializationSchemeTest.kt create mode 100644 serialization/src/test/kotlin/net/corda/serialization/internal/amqp/OptionalSerializationTests.kt diff --git a/build.gradle b/build.gradle index c293e7c88a..1c69429c03 100644 --- a/build.gradle +++ b/build.gradle @@ -382,20 +382,20 @@ artifactory { defaults { // Root project applies the plugin (for this block) but does not need to be published - if(project != rootProject) { + if (project != rootProject) { publications(project.extensions.publish.name()) } } } } -task generateApi(type: net.corda.plugins.GenerateApi){ +task generateApi(type: net.corda.plugins.GenerateApi) { baseName = "api-corda" } // This exists to reduce CI build time when the envvar is set (can save up to 40 minutes) -if(file('corda-docs-only-build').exists() || (System.getenv('CORDA_DOCS_ONLY_BUILD') != null)) { - if(file('corda-docs-only-build').exists()) { +if (file('corda-docs-only-build').exists() || (System.getenv('CORDA_DOCS_ONLY_BUILD') != null)) { + if (file('corda-docs-only-build').exists()) { logger.info("Tests are disabled due to presence of file 'corda-docs-only-build' in the project root") } else { logger.info("Tests are disabled due to the presence of envvar CORDA_DOCS_ONLY_BUILD") @@ -407,7 +407,7 @@ if(file('corda-docs-only-build').exists() || (System.getenv('CORDA_DOCS_ONLY_BUI } it.afterEvaluate { - if(it.tasks.findByName("integrationTest") != null) { + if (it.tasks.findByName("integrationTest") != null) { integrationTest { exclude '*/**' } @@ -415,7 +415,7 @@ if(file('corda-docs-only-build').exists() || (System.getenv('CORDA_DOCS_ONLY_BUI } it.afterEvaluate { - if(it.tasks.findByName("smokeTest") != null) { + if (it.tasks.findByName("smokeTest") != null) { smokeTest { exclude '*/**' } diff --git a/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/serialization/amqp/AMQPClientSerializationScheme.kt b/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/serialization/amqp/AMQPClientSerializationScheme.kt index 1f82119356..aa0e6618aa 100644 --- a/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/serialization/amqp/AMQPClientSerializationScheme.kt +++ b/client/rpc/src/main/kotlin/net/corda/client/rpc/internal/serialization/amqp/AMQPClientSerializationScheme.kt @@ -10,6 +10,7 @@ import net.corda.core.serialization.internal.SerializationEnvironmentImpl import net.corda.core.serialization.internal.nodeSerializationEnv import net.corda.serialization.internal.* import net.corda.serialization.internal.amqp.AbstractAMQPSerializationScheme +import net.corda.serialization.internal.amqp.AccessOrderLinkedHashMap import net.corda.serialization.internal.amqp.SerializerFactory import net.corda.serialization.internal.amqp.amqpMagic import net.corda.serialization.internal.amqp.custom.RxNotificationSerializer @@ -21,12 +22,12 @@ import java.util.concurrent.ConcurrentHashMap */ class AMQPClientSerializationScheme( cordappCustomSerializers: Set>, - serializerFactoriesForContexts: MutableMap, SerializerFactory> + serializerFactoriesForContexts: AccessOrderLinkedHashMap, SerializerFactory> ) : AbstractAMQPSerializationScheme(cordappCustomSerializers, serializerFactoriesForContexts) { - constructor(cordapps: List) : this(cordapps.customSerializers, ConcurrentHashMap()) + constructor(cordapps: List) : this(cordapps.customSerializers, AccessOrderLinkedHashMap { 128 }) @Suppress("UNUSED") - constructor() : this(emptySet(), ConcurrentHashMap()) + constructor() : this(emptySet(), AccessOrderLinkedHashMap { 128 }) companion object { /** Call from main only. */ @@ -52,7 +53,7 @@ class AMQPClientSerializationScheme( } override fun rpcClientSerializerFactory(context: SerializationContext): SerializerFactory { - return SerializerFactory(context.whitelist, ClassLoader.getSystemClassLoader(), context.lenientCarpenterEnabled).apply { + return SerializerFactory(context.whitelist, context.deserializationClassLoader, context.lenientCarpenterEnabled).apply { register(RpcClientObservableSerializer) register(RpcClientCordaFutureSerializer(this)) register(RxNotificationSerializer(this)) diff --git a/core-deterministic/testing/common/src/main/kotlin/net/corda/deterministic/common/LocalSerializationRule.kt b/core-deterministic/testing/common/src/main/kotlin/net/corda/deterministic/common/LocalSerializationRule.kt index 184f7f72d9..05c8c3bc5c 100644 --- a/core-deterministic/testing/common/src/main/kotlin/net/corda/deterministic/common/LocalSerializationRule.kt +++ b/core-deterministic/testing/common/src/main/kotlin/net/corda/deterministic/common/LocalSerializationRule.kt @@ -2,12 +2,13 @@ package net.corda.deterministic.common import net.corda.core.serialization.ClassWhitelist import net.corda.core.serialization.SerializationContext -import net.corda.core.serialization.SerializationContext.UseCase.* +import net.corda.core.serialization.SerializationContext.UseCase.P2P import net.corda.core.serialization.SerializationCustomSerializer import net.corda.core.serialization.internal.SerializationEnvironmentImpl import net.corda.core.serialization.internal._contextSerializationEnv import net.corda.serialization.internal.* import net.corda.serialization.internal.amqp.AbstractAMQPSerializationScheme +import net.corda.serialization.internal.amqp.AccessOrderLinkedHashMap import net.corda.serialization.internal.amqp.SerializerFactory import net.corda.serialization.internal.amqp.amqpMagic import org.junit.rules.TestRule @@ -21,13 +22,13 @@ class LocalSerializationRule(private val label: String) : TestRule { private companion object { private val AMQP_P2P_CONTEXT = SerializationContextImpl( - amqpMagic, - LocalSerializationRule::class.java.classLoader, - GlobalTransientClassWhiteList(BuiltInExceptionsWhitelist()), - emptyMap(), - true, - P2P, - null + amqpMagic, + LocalSerializationRule::class.java.classLoader, + GlobalTransientClassWhiteList(BuiltInExceptionsWhitelist()), + emptyMap(), + true, + P2P, + null ) } @@ -59,7 +60,7 @@ class LocalSerializationRule(private val label: String) : TestRule { private fun createTestSerializationEnv(): SerializationEnvironmentImpl { val factory = SerializationFactoryImpl(mutableMapOf()).apply { - registerScheme(AMQPSerializationScheme(emptySet(), mutableMapOf())) + registerScheme(AMQPSerializationScheme(emptySet(), AccessOrderLinkedHashMap(128))) } return object : SerializationEnvironmentImpl(factory, AMQP_P2P_CONTEXT) { override fun toString() = "testSerializationEnv($label)" @@ -67,8 +68,8 @@ class LocalSerializationRule(private val label: String) : TestRule { } private class AMQPSerializationScheme( - cordappCustomSerializers: Set>, - serializerFactoriesForContexts: MutableMap, SerializerFactory> + cordappCustomSerializers: Set>, + serializerFactoriesForContexts: AccessOrderLinkedHashMap, SerializerFactory> ) : AbstractAMQPSerializationScheme(cordappCustomSerializers, serializerFactoriesForContexts) { override fun rpcServerSerializerFactory(context: SerializationContext): SerializerFactory { throw UnsupportedOperationException() diff --git a/core/src/main/kotlin/net/corda/core/serialization/SerializationAPI.kt b/core/src/main/kotlin/net/corda/core/serialization/SerializationAPI.kt index cb6a4f86d0..c1332c8954 100644 --- a/core/src/main/kotlin/net/corda/core/serialization/SerializationAPI.kt +++ b/core/src/main/kotlin/net/corda/core/serialization/SerializationAPI.kt @@ -174,7 +174,6 @@ interface SerializationContext { /** * Helper method to return a new context based on this context with the deserialization class loader changed. */ - @DeleteForDJVM fun withClassLoader(classLoader: ClassLoader): SerializationContext /** diff --git a/node/src/main/kotlin/net/corda/node/serialization/amqp/AMQPServerSerializationScheme.kt b/node/src/main/kotlin/net/corda/node/serialization/amqp/AMQPServerSerializationScheme.kt index 2f28d692a2..e1183be6b7 100644 --- a/node/src/main/kotlin/net/corda/node/serialization/amqp/AMQPServerSerializationScheme.kt +++ b/node/src/main/kotlin/net/corda/node/serialization/amqp/AMQPServerSerializationScheme.kt @@ -6,6 +6,7 @@ import net.corda.core.serialization.SerializationContext import net.corda.core.serialization.SerializationCustomSerializer import net.corda.serialization.internal.CordaSerializationMagic import net.corda.serialization.internal.amqp.AbstractAMQPSerializationScheme +import net.corda.serialization.internal.amqp.AccessOrderLinkedHashMap import net.corda.serialization.internal.amqp.SerializerFactory import net.corda.serialization.internal.amqp.custom.RxNotificationSerializer import java.util.concurrent.ConcurrentHashMap @@ -16,11 +17,11 @@ import java.util.concurrent.ConcurrentHashMap */ class AMQPServerSerializationScheme( cordappCustomSerializers: Set>, - serializerFactoriesForContexts: MutableMap, SerializerFactory> + serializerFactoriesForContexts: AccessOrderLinkedHashMap, SerializerFactory> ) : AbstractAMQPSerializationScheme(cordappCustomSerializers, serializerFactoriesForContexts) { - constructor(cordapps: List) : this(cordapps.customSerializers, ConcurrentHashMap()) + constructor(cordapps: List) : this(cordapps.customSerializers, AccessOrderLinkedHashMap { 128 }) - constructor() : this(emptySet(), ConcurrentHashMap()) + constructor() : this(emptySet(), AccessOrderLinkedHashMap { 128 }) override fun rpcClientSerializerFactory(context: SerializationContext): SerializerFactory { throw UnsupportedOperationException() diff --git a/node/src/test/kotlin/net/corda/node/internal/serialization/RoundTripObservableSerializerTests.kt b/node/src/test/kotlin/net/corda/node/internal/serialization/RoundTripObservableSerializerTests.kt index 0620f0f115..7289a9a959 100644 --- a/node/src/test/kotlin/net/corda/node/internal/serialization/RoundTripObservableSerializerTests.kt +++ b/node/src/test/kotlin/net/corda/node/internal/serialization/RoundTripObservableSerializerTests.kt @@ -13,6 +13,7 @@ import net.corda.node.internal.serialization.testutils.serializationContext import net.corda.node.serialization.amqp.RpcServerObservableSerializer import net.corda.node.services.messaging.ObservableSubscription import net.corda.nodeapi.RPCApi +import net.corda.serialization.internal.amqp.AccessOrderLinkedHashMap import net.corda.serialization.internal.amqp.DeserializationInput import net.corda.serialization.internal.amqp.SerializationOutput import org.apache.activemq.artemis.api.core.SimpleString @@ -59,7 +60,7 @@ class RoundTripObservableSerializerTests { @Test fun roundTripTest1() { val serializationScheme = AMQPRoundTripRPCSerializationScheme( - serializationContext, emptySet(), ConcurrentHashMap()) + serializationContext, emptySet(), AccessOrderLinkedHashMap { 128 }) // Fake up a message ID, needs to be used on both "sides". The server setting it in the subscriptionMap, // the client as a property of the deserializer which, in the actual RPC client, is pulled off of diff --git a/node/src/test/kotlin/net/corda/node/internal/serialization/testutils/AMQPTestSerialiationScheme.kt b/node/src/test/kotlin/net/corda/node/internal/serialization/testutils/AMQPTestSerialiationScheme.kt index 82fb3eaa70..c397920197 100644 --- a/node/src/test/kotlin/net/corda/node/internal/serialization/testutils/AMQPTestSerialiationScheme.kt +++ b/node/src/test/kotlin/net/corda/node/internal/serialization/testutils/AMQPTestSerialiationScheme.kt @@ -11,6 +11,7 @@ import net.corda.serialization.internal.CordaSerializationMagic import net.corda.serialization.internal.amqp.AbstractAMQPSerializationScheme import net.corda.serialization.internal.amqp.SerializerFactory import net.corda.serialization.internal.AllWhitelist +import net.corda.serialization.internal.amqp.AccessOrderLinkedHashMap import net.corda.client.rpc.internal.ObservableContext as ClientObservableContext /** @@ -22,7 +23,7 @@ import net.corda.client.rpc.internal.ObservableContext as ClientObservableContex class AMQPRoundTripRPCSerializationScheme( private val serializationContext: SerializationContext, cordappCustomSerializers: Set>, - serializerFactoriesForContexts: MutableMap, SerializerFactory>) + serializerFactoriesForContexts: AccessOrderLinkedHashMap, SerializerFactory>) : AbstractAMQPSerializationScheme( cordappCustomSerializers, serializerFactoriesForContexts ) { diff --git a/samples/bank-of-corda-demo/src/test/kotlin/net/corda/serialization/internal/amqp/custom/OptionalSerializerTest.kt b/samples/bank-of-corda-demo/src/test/kotlin/net/corda/serialization/internal/amqp/custom/OptionalSerializerTest.kt new file mode 100644 index 0000000000..058f56fe66 --- /dev/null +++ b/samples/bank-of-corda-demo/src/test/kotlin/net/corda/serialization/internal/amqp/custom/OptionalSerializerTest.kt @@ -0,0 +1,39 @@ +package net.corda.serialization.internal.amqp.custom + +import net.corda.serialization.internal.amqp.SerializerFactory +import org.hamcrest.CoreMatchers.`is` +import org.hamcrest.CoreMatchers.nullValue +import org.junit.Assert +import org.junit.Test +import org.mockito.Mockito +import java.util.* + +class OptionalSerializerTest { + @Test + fun `should convert optional with item to proxy`() { + val opt = Optional.of("GenericTestString") + val proxy = OptionalSerializer(Mockito.mock(SerializerFactory::class.java)).toProxy(opt) + Assert.assertThat(proxy.item, `is`("GenericTestString")) + } + + @Test + fun `should convert optional without item to empty proxy`() { + val opt = Optional.ofNullable(null) + val proxy = OptionalSerializer(Mockito.mock(SerializerFactory::class.java)).toProxy(opt) + Assert.assertThat(proxy.item, `is`(nullValue())) + } + + @Test + fun `should convert proxy without item to empty optional `() { + val proxy = OptionalSerializer.OptionalProxy(null) + val opt = OptionalSerializer(Mockito.mock(SerializerFactory::class.java)).fromProxy(proxy) + Assert.assertThat(opt.isPresent, `is`(false)) + } + + @Test + fun `should convert proxy with item to empty optional `() { + val proxy = OptionalSerializer.OptionalProxy("GenericTestString") + val opt = OptionalSerializer(Mockito.mock(SerializerFactory::class.java)).fromProxy(proxy) + Assert.assertThat(opt.get(), `is`("GenericTestString")) + } +} \ No newline at end of file diff --git a/serialization-deterministic/build.gradle b/serialization-deterministic/build.gradle index 28f9059a09..c0c8ccb600 100644 --- a/serialization-deterministic/build.gradle +++ b/serialization-deterministic/build.gradle @@ -49,6 +49,7 @@ task patchSerialization(type: Zip, dependsOn: serializationJarTask) { exclude 'net/corda/serialization/internal/DefaultWhitelist*' exclude 'net/corda/serialization/internal/amqp/AMQPSerializerFactories*' exclude 'net/corda/serialization/internal/amqp/AMQPStreams*' + exclude 'net/corda/serialization/internal/amqp/AMQPSerializationThreadContext*' } reproducibleFileOrder = true diff --git a/serialization-deterministic/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationThreadContext.kt b/serialization-deterministic/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationThreadContext.kt new file mode 100644 index 0000000000..723dda762d --- /dev/null +++ b/serialization-deterministic/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationThreadContext.kt @@ -0,0 +1,6 @@ +@file:JvmName("AMQPSerializationThreadContext") +package net.corda.serialization.internal.amqp + +fun getContextClassLoader(): ClassLoader { + return ClassLoader.getSystemClassLoader() +} diff --git a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationScheme.kt b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationScheme.kt index 10336f96dd..f35c808077 100644 --- a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationScheme.kt +++ b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationScheme.kt @@ -12,10 +12,12 @@ import net.corda.core.internal.uncheckedCast import net.corda.core.serialization.* import net.corda.core.utilities.ByteSequence import net.corda.core.utilities.contextLogger -import net.corda.serialization.internal.* +import net.corda.serialization.internal.CordaSerializationMagic +import net.corda.serialization.internal.DefaultWhitelist +import net.corda.serialization.internal.MutableClassWhitelist +import net.corda.serialization.internal.SerializationScheme import java.lang.reflect.Modifier import java.util.* -import java.util.concurrent.ConcurrentHashMap val AMQP_ENABLED get() = SerializationDefaults.P2P_CONTEXT.preferredSerializationVersion == amqpMagic @@ -37,12 +39,12 @@ interface SerializerFactoryFactory { @KeepForDJVM abstract class AbstractAMQPSerializationScheme( - private val cordappCustomSerializers: Set>, - private val serializerFactoriesForContexts: MutableMap, SerializerFactory>, - val sff: SerializerFactoryFactory = createSerializerFactoryFactory() + private val cordappCustomSerializers: Set>, + private val serializerFactoriesForContexts: AccessOrderLinkedHashMap, SerializerFactory>, + val sff: SerializerFactoryFactory = createSerializerFactoryFactory() ) : SerializationScheme { @DeleteForDJVM - constructor(cordapps: List) : this(cordapps.customSerializers, ConcurrentHashMap()) + constructor(cordapps: List) : this(cordapps.customSerializers, AccessOrderLinkedHashMap(128)) // TODO: This method of initialisation for the Whitelist and plugin serializers will have to change // when we have per-cordapp contexts and dynamic app reloading but for now it's the easiest way @@ -59,26 +61,27 @@ abstract class AbstractAMQPSerializationScheme( val scanSpec: String? = System.getProperty(SCAN_SPEC_PROP_NAME) if (scanSpec == null) { - logger.info ("scanSpec not set, not scanning for Custom Serializers") + logger.debug("scanSpec not set, not scanning for Custom Serializers") emptyList() } else { - logger.info ("scanSpec = \"$scanSpec\", scanning for Custom Serializers") + logger.debug("scanSpec = \"$scanSpec\", scanning for Custom Serializers") scanClasspathForSerializers(scanSpec) } } @StubOutForDJVM private fun scanClasspathForSerializers(scanSpec: String): List> = - this::class.java.classLoader.let { cl -> - FastClasspathScanner(scanSpec).addClassLoader(cl).scan() - .getNamesOfClassesImplementing(SerializationCustomSerializer::class.java) - .map { cl.loadClass(it).asSubclass(SerializationCustomSerializer::class.java) } - .filterNot { Modifier.isAbstract(it.modifiers) } - .map { it.kotlin.objectOrNewInstance() } - } + this::class.java.classLoader.let { cl -> + FastClasspathScanner(scanSpec).addClassLoader(cl).scan() + .getNamesOfClassesImplementing(SerializationCustomSerializer::class.java) + .map { cl.loadClass(it).asSubclass(SerializationCustomSerializer::class.java) } + .filterNot { Modifier.isAbstract(it.modifiers) } + .map { it.kotlin.objectOrNewInstance() } + } @DeleteForDJVM - val List.customSerializers get() = flatMap { it.serializationCustomSerializers }.toSet() + val List.customSerializers + get() = flatMap { it.serializationCustomSerializers }.toSet() } // Parameter "context" is unused directly but passed in by reflection. Removing it will cause failures. @@ -100,6 +103,7 @@ abstract class AbstractAMQPSerializationScheme( register(net.corda.serialization.internal.amqp.custom.ZoneIdSerializer(this)) register(net.corda.serialization.internal.amqp.custom.OffsetTimeSerializer(this)) register(net.corda.serialization.internal.amqp.custom.OffsetDateTimeSerializer(this)) + register(net.corda.serialization.internal.amqp.custom.OptionalSerializer(this)) register(net.corda.serialization.internal.amqp.custom.YearSerializer(this)) register(net.corda.serialization.internal.amqp.custom.YearMonthSerializer(this)) register(net.corda.serialization.internal.amqp.custom.MonthDaySerializer(this)) @@ -126,7 +130,7 @@ abstract class AbstractAMQPSerializationScheme( factory.registerExternal(CorDappCustomSerializer(customSerializer, factory)) } } else { - logger.info("Custom Serializer list loaded - not scanning classpath") + logger.debug("Custom Serializer list loaded - not scanning classpath") cordappCustomSerializers.forEach { customSerializer -> factory.registerExternal(CorDappCustomSerializer(customSerializer, factory)) } @@ -153,32 +157,41 @@ abstract class AbstractAMQPSerializationScheme( protected abstract fun rpcServerSerializerFactory(context: SerializationContext): SerializerFactory // Not used as a simple direct import to facilitate testing - open val publicKeySerializer : CustomSerializer<*> = net.corda.serialization.internal.amqp.custom.PublicKeySerializer + open val publicKeySerializer: CustomSerializer<*> = net.corda.serialization.internal.amqp.custom.PublicKeySerializer private fun getSerializerFactory(context: SerializationContext): SerializerFactory { - return serializerFactoriesForContexts.computeIfAbsent(Pair(context.whitelist, context.deserializationClassLoader)) { - when (context.useCase) { - SerializationContext.UseCase.Checkpoint -> - throw IllegalStateException("AMQP should not be used for checkpoint serialization.") - SerializationContext.UseCase.RPCClient -> - rpcClientSerializerFactory(context) - SerializationContext.UseCase.RPCServer -> - rpcServerSerializerFactory(context) - else -> sff.make(context) - }.also { - registerCustomSerializers(context, it) + return synchronized(serializerFactoriesForContexts) { + serializerFactoriesForContexts.computeIfAbsent(Pair(context.whitelist, context.deserializationClassLoader)) { + when (context.useCase) { + SerializationContext.UseCase.Checkpoint -> + throw IllegalStateException("AMQP should not be used for checkpoint serialization.") + SerializationContext.UseCase.RPCClient -> + rpcClientSerializerFactory(context) + SerializationContext.UseCase.RPCServer -> + rpcServerSerializerFactory(context) + else -> sff.make(context) + }.also { + registerCustomSerializers(context, it) + } } } } override fun deserialize(byteSequence: ByteSequence, clazz: Class, context: SerializationContext): T { - val serializerFactory = getSerializerFactory(context) + var contextToUse = context + if (context.useCase == SerializationContext.UseCase.RPCClient) { + contextToUse = context.withClassLoader(getContextClassLoader()) + } + val serializerFactory = getSerializerFactory(contextToUse) return DeserializationInput(serializerFactory).deserialize(byteSequence, clazz, context) } override fun serialize(obj: T, context: SerializationContext): SerializedBytes { - val serializerFactory = getSerializerFactory(context) - + var contextToUse = context + if (context.useCase == SerializationContext.UseCase.RPCClient) { + contextToUse = context.withClassLoader(getContextClassLoader()) + } + val serializerFactory = getSerializerFactory(contextToUse) return SerializationOutput(serializerFactory).serialize(obj, context) } diff --git a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationThreadContext.kt b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationThreadContext.kt new file mode 100644 index 0000000000..3f8bedfbc4 --- /dev/null +++ b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializationThreadContext.kt @@ -0,0 +1,6 @@ +@file:JvmName("AMQPSerializationThreadContext") +package net.corda.serialization.internal.amqp + +fun getContextClassLoader(): ClassLoader { + return Thread.currentThread().contextClassLoader +} diff --git a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AccessOrderLinkedHashMap.kt b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AccessOrderLinkedHashMap.kt new file mode 100644 index 0000000000..d7e50afa4d --- /dev/null +++ b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AccessOrderLinkedHashMap.kt @@ -0,0 +1,11 @@ +package net.corda.serialization.internal.amqp +import net.corda.core.KeepForDJVM + +@KeepForDJVM +class AccessOrderLinkedHashMap(private val maxSize: Int) : LinkedHashMap(16, 0.75f, true) { + constructor(loader: () -> Int) : this(loader.invoke()) + + override fun removeEldestEntry(eldest: MutableMap.MutableEntry?): Boolean { + return this.size > maxSize + } +} diff --git a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializationHelper.kt b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializationHelper.kt index 9e9edffbf7..4a8605d295 100644 --- a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializationHelper.kt +++ b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializationHelper.kt @@ -276,7 +276,7 @@ internal fun propertiesForSerializationFromConstructor( "in the Java compiler. Alternately, provide a proxy serializer " + "(SerializationCustomSerializer) if recompiling isn't an option") - Pair(PrivatePropertyReader(field, type), field.genericType) + Pair(PrivatePropertyReader(field, type), resolveTypeVariables(field.genericType, type)) } this += PropertyAccessorConstructor( diff --git a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactory.kt b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactory.kt index 20f5ae54c4..bba29c007a 100644 --- a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactory.kt +++ b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactory.kt @@ -140,7 +140,7 @@ open class SerializerFactory( } } Enum::class.java.isAssignableFrom(actualClass ?: declaredClass) -> { - logger.debug("class=[${actualClass?.simpleName} | $declaredClass] is an enumeration " + logger.info("class=[${actualClass?.simpleName} | $declaredClass] is an enumeration " + "declaredType=${declaredType.typeName} " + "isEnum=${declaredType::class.java.isEnum}") diff --git a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OptionalSerializer.kt b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OptionalSerializer.kt new file mode 100644 index 0000000000..632cc4c511 --- /dev/null +++ b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OptionalSerializer.kt @@ -0,0 +1,24 @@ +package net.corda.serialization.internal.amqp.custom + +import net.corda.core.KeepForDJVM +import net.corda.serialization.internal.amqp.CustomSerializer +import net.corda.serialization.internal.amqp.SerializerFactory +import java.time.OffsetTime +import java.util.* + +/** + * A serializer for [OffsetTime] that uses a proxy object to write out the time and zone offset. + */ +class OptionalSerializer(factory: SerializerFactory) : CustomSerializer.Proxy, OptionalSerializer.OptionalProxy>(Optional::class.java, OptionalProxy::class.java, factory) { + + public override fun toProxy(obj: java.util.Optional<*>): OptionalProxy { + return OptionalProxy(obj.orElse(null)) + } + + public override fun fromProxy(proxy: OptionalProxy): Optional<*> { + return Optional.ofNullable(proxy.item) + } + + @KeepForDJVM + data class OptionalProxy(val item: Any?) +} \ No newline at end of file diff --git a/serialization/src/test/java/net/corda/serialization/internal/amqp/DummyOptional.java b/serialization/src/test/java/net/corda/serialization/internal/amqp/DummyOptional.java new file mode 100644 index 0000000000..9bd1f65142 --- /dev/null +++ b/serialization/src/test/java/net/corda/serialization/internal/amqp/DummyOptional.java @@ -0,0 +1,37 @@ +package net.corda.serialization.internal.amqp; + +import net.corda.core.serialization.CordaSerializable; + +import java.util.Objects; + +@CordaSerializable +public class DummyOptional { + + private final T item; + + public boolean isPresent() { + return item != null; + } + + public T get() { + return item; + } + + public DummyOptional(T item) { + this.item = item; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DummyOptional that = (DummyOptional) o; + return Objects.equals(item, that.item); + } + + @Override + public int hashCode() { + + return Objects.hash(item); + } +} \ No newline at end of file diff --git a/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/AbstractAMQPSerializationSchemeTest.kt b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/AbstractAMQPSerializationSchemeTest.kt new file mode 100644 index 0000000000..8c38cbeb26 --- /dev/null +++ b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/AbstractAMQPSerializationSchemeTest.kt @@ -0,0 +1,76 @@ +package net.corda.serialization.internal.amqp + +import net.corda.core.serialization.ClassWhitelist +import net.corda.core.serialization.SerializationContext +import net.corda.core.serialization.deserialize +import net.corda.core.utilities.ByteSequence +import net.corda.serialization.internal.AllWhitelist +import net.corda.serialization.internal.CordaSerializationMagic +import net.corda.serialization.internal.SerializationContextImpl +import net.corda.serialization.internal.amqp.testutils.serializationProperties +import net.corda.testing.core.SerializationEnvironmentRule +import org.hamcrest.CoreMatchers +import org.hamcrest.CoreMatchers.`is` +import org.hamcrest.Matchers +import org.junit.Assert +import org.junit.Rule +import org.junit.Test +import java.net.URLClassLoader +import java.util.concurrent.ThreadLocalRandom +import java.util.stream.IntStream + +class AbstractAMQPSerializationSchemeTest { + + @Rule + @JvmField + val testSerialization = SerializationEnvironmentRule() + + @Test + fun `number of cached factories must be bounded by maxFactories`() { + val genesisContext = SerializationContextImpl( + ByteSequence.of(byteArrayOf('c'.toByte(), 'o'.toByte(), 'r'.toByte(), 'd'.toByte(), 'a'.toByte(), 0.toByte(), 0.toByte(), 1.toByte())), + ClassLoader.getSystemClassLoader(), + AllWhitelist, + serializationProperties, + false, + SerializationContext.UseCase.RPCClient, + null) + + + val factory = TestSerializerFactory(TESTING_CONTEXT.whitelist, TESTING_CONTEXT.deserializationClassLoader) + val maxFactories = 512 + val backingMap = AccessOrderLinkedHashMap, SerializerFactory>({ maxFactories }) + val scheme = object : AbstractAMQPSerializationScheme(emptySet(), backingMap, createSerializerFactoryFactory()) { + override fun rpcClientSerializerFactory(context: SerializationContext): SerializerFactory { + return factory + } + + override fun rpcServerSerializerFactory(context: SerializationContext): SerializerFactory { + return factory + } + + override fun canDeserializeVersion(magic: CordaSerializationMagic, target: SerializationContext.UseCase): Boolean { + return true + } + + } + + + IntStream.range(0, 2048).parallel().forEach { + val context = if (ThreadLocalRandom.current().nextBoolean()) { + genesisContext.withClassLoader(URLClassLoader(emptyArray())) + } else { + genesisContext + } + val testString = "TEST${ThreadLocalRandom.current().nextInt()}" + val serialized = scheme.serialize(testString, context) + val deserialized = serialized.deserialize(context = context, serializationFactory = testSerialization.serializationFactory) + Assert.assertThat(testString, `is`(deserialized)) + Assert.assertThat(backingMap.size, `is`(Matchers.lessThanOrEqualTo(maxFactories))) + } + Assert.assertThat(backingMap.size, CoreMatchers.`is`(Matchers.lessThanOrEqualTo(maxFactories))) + } +} + + + diff --git a/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/CorDappSerializerTests.kt b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/CorDappSerializerTests.kt index 18f0ac5b76..55aa7ca1a8 100644 --- a/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/CorDappSerializerTests.kt +++ b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/CorDappSerializerTests.kt @@ -1,15 +1,11 @@ package net.corda.serialization.internal.amqp -import org.junit.Test import net.corda.core.serialization.ClassWhitelist import net.corda.core.serialization.SerializationCustomSerializer import net.corda.serialization.internal.AllWhitelist -import net.corda.serialization.internal.amqp.testutils.deserializeAndReturnEnvelope -import net.corda.serialization.internal.amqp.testutils.deserialize -import net.corda.serialization.internal.amqp.testutils.serializeAndReturnSchema -import net.corda.serialization.internal.amqp.testutils.serialize -import net.corda.serialization.internal.amqp.testutils.testDefaultFactory +import net.corda.serialization.internal.amqp.testutils.* import org.assertj.core.api.Assertions +import org.junit.Test import java.io.NotSerializableException import kotlin.test.assertEquals diff --git a/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/OptionalSerializationTests.kt b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/OptionalSerializationTests.kt new file mode 100644 index 0000000000..10b154863f --- /dev/null +++ b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/OptionalSerializationTests.kt @@ -0,0 +1,36 @@ +package net.corda.serialization.internal.amqp + +import net.corda.serialization.internal.AllWhitelist +import net.corda.serialization.internal.amqp.custom.OptionalSerializer +import net.corda.serialization.internal.amqp.testutils.TestSerializationOutput +import net.corda.serialization.internal.amqp.testutils.deserialize +import net.corda.serialization.internal.amqp.testutils.testDefaultFactory +import org.hamcrest.Matchers.`is` +import org.hamcrest.Matchers.equalTo +import org.junit.Assert +import org.junit.Test +import java.util.* + +class OptionalSerializationTests { + + @Test + fun setupEnclosedSerializationTest() { + @Test + fun `java optionals should serialize`() { + val factory = SerializerFactory(AllWhitelist, ClassLoader.getSystemClassLoader()) + factory.register(OptionalSerializer(factory)) + val obj = Optional.ofNullable("YES") + val bytes = TestSerializationOutput(true, factory).serialize(obj) + val deserializerFactory = testDefaultFactory().apply { + register(OptionalSerializer(this)) + } + + val deserialized = DeserializationInput(factory).deserialize(bytes) + val deserialized2 = DeserializationInput(deserializerFactory).deserialize(bytes) + Assert.assertThat(deserialized, `is`(equalTo(deserialized2))) + Assert.assertThat(obj, `is`(equalTo(deserialized2))) + } + + `java optionals should serialize`() + } +} \ No newline at end of file diff --git a/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationOutputTests.kt b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationOutputTests.kt index 5a368b8304..c0ffdfc04a 100644 --- a/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationOutputTests.kt +++ b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationOutputTests.kt @@ -510,6 +510,12 @@ class SerializationOutputTests(private val compression: CordaSerializationEncodi serdes(obj, SerializerFactory(EmptyWhitelist, ClassLoader.getSystemClassLoader())) } + @Test + fun `generics from java are supported`() { + val obj = DummyOptional("YES") + serdes(obj, SerializerFactory(EmptyWhitelist, ClassLoader.getSystemClassLoader())) + } + @Test fun `test throwables serialize`() { val factory = SerializerFactory(AllWhitelist, ClassLoader.getSystemClassLoader()) @@ -969,6 +975,7 @@ class SerializationOutputTests(private val compression: CordaSerializationEncodi class Spike private constructor(val a: String) { constructor() : this("a") + override fun equals(other: Any?): Boolean = other is Spike && other.a == this.a override fun hashCode(): Int = a.hashCode() } diff --git a/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationSchemaTests.kt b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationSchemaTests.kt index 7f71b60ae6..a5f4925f24 100644 --- a/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationSchemaTests.kt +++ b/serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationSchemaTests.kt @@ -2,11 +2,11 @@ package net.corda.serialization.internal.amqp import net.corda.core.serialization.* import net.corda.core.utilities.ByteSequence -import net.corda.serialization.internal.* import net.corda.serialization.internal.BuiltInExceptionsWhitelist +import net.corda.serialization.internal.CordaSerializationMagic import net.corda.serialization.internal.GlobalTransientClassWhiteList +import net.corda.serialization.internal.SerializationContextImpl import org.junit.Test -import java.util.concurrent.ConcurrentHashMap import kotlin.test.assertEquals // Make sure all serialization calls in this test don't get stomped on by anything else @@ -46,7 +46,7 @@ class TestSerializerFactoryFactory : SerializerFactoryFactoryImpl() { } } -class AMQPTestSerializationScheme : AbstractAMQPSerializationScheme(emptySet(), ConcurrentHashMap(), TestSerializerFactoryFactory()) { +class AMQPTestSerializationScheme : AbstractAMQPSerializationScheme(emptySet(), AccessOrderLinkedHashMap { 128 }, TestSerializerFactoryFactory()) { override fun rpcClientSerializerFactory(context: SerializationContext): SerializerFactory { throw UnsupportedOperationException() } @@ -91,7 +91,7 @@ class SerializationSchemaTests { val c = C(1) val testSerializationFactory = TestSerializationFactory() - val expectedCustomSerializerCount = 40 + val expectedCustomSerializerCount = 41 assertEquals(0, testFactory.registerCount) c.serialize(testSerializationFactory, TESTING_CONTEXT) From 017ffab60b0fa1c95f3e62f9e0494d2b68e82b40 Mon Sep 17 00:00:00 2001 From: Nick Arini Date: Wed, 11 Jul 2018 14:12:52 +0100 Subject: [PATCH 3/4] Testnet documentation pages (#3287) * added doc page for running Corda on GCP vis Explore * Fix bash code examples * add images * add images * more typos fixed * typo * fix firewall commands * more screenshots * add screenshots for new projewct * scale images * screenshot * added screenshot * Bold steps * more screenshots * added screenshots * upload screenshots * added screenshots * add contents * add azure file * add azure file * updated azure screenshots * updated azure screenshots * more screenshots and text * Updated run commands * Updated run commands * Update azure-vm-explore.rst * Fix urls * add AWS setup for explore * aws screenshots * update test for AWS * aws screenshots * aws screenshots * add screenshots * AWS updates * AWS * aws screenshot * aws screenshots * aws images * aws updates * aws updates * aws screenshot * Updated intro to new branding * Added resoure group docs to azure page * Updated azure screenshots * Updated azure screenshots * Updated azure screenshots * Updated azure screenshots * Updated aws docs * Updated GCP docs * Updated GCP docs * Adding a Testnet overview page * Adding a Testnet overview page * Adding a Testnet overview page * Adding a Testnet overview page * Adding a Testnet overview page * Adding a Testnet overview page * Adding elastic IP to AWS * Adding elastic IP to AWS * Adding elastic IP to AWS * updated dl link * Update aws-vm-explore.rst * update dl link * Update gcp-vm.rst * Fixing changes requested by RGB. * Fixed link * Additional changes requested in review. * Updated based on RGB review comments. * Minor formatting * minor formatting * Address review comments * Address the review comments from RGB * typo * typo * typo * typo * make underlines same length as headers * Fix review comments * Fix review comments * fix review comments * adding to index --- docs/source/aws-vm-explore.rst | 111 ++++++++++++++ docs/source/azure-vm-explore.rst | 135 ++++++++++++++++++ docs/source/corda-networks-index.rst | 4 + docs/source/corda-testnet-intro.rst | 75 ++++++++++ docs/source/gcp-vm.rst | 120 ++++++++++++++++ docs/source/resources/aws-connect.png | Bin 0 -> 227901 bytes docs/source/resources/aws-elastic-actions.png | Bin 0 -> 111692 bytes docs/source/resources/aws-elastic.png | Bin 0 -> 109208 bytes docs/source/resources/aws-firewall.png | Bin 0 -> 275828 bytes docs/source/resources/aws-instance-type.png | Bin 0 -> 443205 bytes .../resources/aws-instances-connect.png | Bin 0 -> 182441 bytes docs/source/resources/aws-instances.png | Bin 0 -> 169674 bytes docs/source/resources/aws-keys.png | Bin 0 -> 220802 bytes docs/source/resources/aws-launch.png | Bin 0 -> 138139 bytes docs/source/resources/aws-storage.png | Bin 0 -> 199081 bytes docs/source/resources/aws_select_ubuntu.png | Bin 0 -> 415302 bytes docs/source/resources/azure-connect-ssh.png | Bin 0 -> 376121 bytes docs/source/resources/azure-connect.png | Bin 0 -> 422035 bytes docs/source/resources/azure-create-vm.png | Bin 0 -> 446127 bytes docs/source/resources/azure-instance-type.png | Bin 0 -> 192882 bytes docs/source/resources/azure-networking.png | Bin 0 -> 431948 bytes docs/source/resources/azure-nsg-2.png | Bin 0 -> 178483 bytes docs/source/resources/azure-nsg.png | Bin 0 -> 346543 bytes docs/source/resources/azure-port-rule.png | Bin 0 -> 495989 bytes docs/source/resources/azure-rg-2.png | Bin 0 -> 123278 bytes docs/source/resources/azure-rg.png | Bin 0 -> 102506 bytes docs/source/resources/azure-screen-form.png | Bin 0 -> 289960 bytes docs/source/resources/azure-select-ubuntu.png | Bin 0 -> 317595 bytes docs/source/resources/azure-set-static-ip.png | Bin 0 -> 470892 bytes docs/source/resources/azure-settings-ok.png | Bin 0 -> 338586 bytes docs/source/resources/azure-shell.png | Bin 0 -> 652085 bytes docs/source/resources/azure-ssh.png | Bin 0 -> 204976 bytes docs/source/resources/azure-vm-form.png | Bin 0 -> 294801 bytes docs/source/resources/azure-vm-settings.png | Bin 0 -> 350656 bytes docs/source/resources/azure-vm-spec.png | Bin 0 -> 396545 bytes docs/source/resources/console2.png | Bin 0 -> 531899 bytes docs/source/resources/consolegcp.png | Bin 0 -> 889531 bytes docs/source/resources/consolegcpcreatevm.png | Bin 0 -> 270143 bytes docs/source/resources/gcpcompute.png | Bin 0 -> 371131 bytes docs/source/resources/gcpconsolelaunchssh.png | Bin 0 -> 260972 bytes .../source/resources/gcpconsolevmsettings.png | Bin 0 -> 324223 bytes docs/source/resources/gcpshell.png | Bin 0 -> 255983 bytes docs/source/resources/newprojectgcp.png | Bin 0 -> 112861 bytes .../source/resources/testnet-account-type.png | Bin 0 -> 1336464 bytes docs/source/resources/testnet-form.png | Bin 0 -> 1645560 bytes docs/source/resources/testnet-landing.png | Bin 0 -> 3633549 bytes .../resources/testnet-platform-clean.png | Bin 0 -> 1447187 bytes docs/source/resources/testnet-platform.png | Bin 0 -> 1449258 bytes docs/source/resources/testnet-signin-auth.png | Bin 0 -> 3522960 bytes docs/source/resources/testnet-signin.png | Bin 0 -> 1640693 bytes docs/source/resources/testnet-terms.png | Bin 0 -> 1675557 bytes 51 files changed, 445 insertions(+) create mode 100644 docs/source/aws-vm-explore.rst create mode 100644 docs/source/azure-vm-explore.rst create mode 100644 docs/source/corda-testnet-intro.rst create mode 100644 docs/source/gcp-vm.rst create mode 100644 docs/source/resources/aws-connect.png create mode 100644 docs/source/resources/aws-elastic-actions.png create mode 100644 docs/source/resources/aws-elastic.png create mode 100644 docs/source/resources/aws-firewall.png create mode 100644 docs/source/resources/aws-instance-type.png create mode 100644 docs/source/resources/aws-instances-connect.png create mode 100644 docs/source/resources/aws-instances.png create mode 100644 docs/source/resources/aws-keys.png create mode 100644 docs/source/resources/aws-launch.png create mode 100644 docs/source/resources/aws-storage.png create mode 100644 docs/source/resources/aws_select_ubuntu.png create mode 100644 docs/source/resources/azure-connect-ssh.png create mode 100644 docs/source/resources/azure-connect.png create mode 100644 docs/source/resources/azure-create-vm.png create mode 100644 docs/source/resources/azure-instance-type.png create mode 100644 docs/source/resources/azure-networking.png create mode 100644 docs/source/resources/azure-nsg-2.png create mode 100644 docs/source/resources/azure-nsg.png create mode 100644 docs/source/resources/azure-port-rule.png create mode 100644 docs/source/resources/azure-rg-2.png create mode 100644 docs/source/resources/azure-rg.png create mode 100644 docs/source/resources/azure-screen-form.png create mode 100644 docs/source/resources/azure-select-ubuntu.png create mode 100644 docs/source/resources/azure-set-static-ip.png create mode 100644 docs/source/resources/azure-settings-ok.png create mode 100644 docs/source/resources/azure-shell.png create mode 100644 docs/source/resources/azure-ssh.png create mode 100644 docs/source/resources/azure-vm-form.png create mode 100644 docs/source/resources/azure-vm-settings.png create mode 100644 docs/source/resources/azure-vm-spec.png create mode 100644 docs/source/resources/console2.png create mode 100644 docs/source/resources/consolegcp.png create mode 100644 docs/source/resources/consolegcpcreatevm.png create mode 100644 docs/source/resources/gcpcompute.png create mode 100644 docs/source/resources/gcpconsolelaunchssh.png create mode 100644 docs/source/resources/gcpconsolevmsettings.png create mode 100644 docs/source/resources/gcpshell.png create mode 100644 docs/source/resources/newprojectgcp.png create mode 100644 docs/source/resources/testnet-account-type.png create mode 100644 docs/source/resources/testnet-form.png create mode 100644 docs/source/resources/testnet-landing.png create mode 100644 docs/source/resources/testnet-platform-clean.png create mode 100644 docs/source/resources/testnet-platform.png create mode 100644 docs/source/resources/testnet-signin-auth.png create mode 100644 docs/source/resources/testnet-signin.png create mode 100644 docs/source/resources/testnet-terms.png diff --git a/docs/source/aws-vm-explore.rst b/docs/source/aws-vm-explore.rst new file mode 100644 index 0000000000..7dcb725fae --- /dev/null +++ b/docs/source/aws-vm-explore.rst @@ -0,0 +1,111 @@ +Deploying Corda to Corda Testnet from an AWS Cloud Platform VM +============================================================== + +.. contents:: + +This document explains how to deploy a Corda node to AWS that can connect directly to the Corda Testnet. +A self service download link can be obtained from https://testnet.corda.network. This +document will describe how to set up a virtual machine on the AWS +Cloud Platform to deploy your pre-configured Corda node and automatically connnect +to Testnet. + +Pre-requisites +-------------- +* Ensure you have a registered Amazon AWS account which can create virtual machines and you are logged on to the AWS console: https://console.aws.amazon.com. + + +Deploy Corda node +----------------- + +Browse to https://console.aws.amazon.com and log in with your AWS account. + + +**STEP 1: Launch a new virtual machine** + +Click on Launch a virtual machine with EC2. + +.. image:: resources/aws-launch.png + +In the quick start wizard scroll down and select the most recent Ubuntu machine image as the Amazon Machine Image (AMI). + +.. image:: resources/aws_select_ubuntu.png + +Select the instance type (for example t2.xlarge). + +.. image:: resources/aws-instance-type.png + +Configure a couple of other settings before we review and launch + +Under the storage tab (Step 4) increase the storage to 40GB: + +.. image:: resources/aws-storage.png + +Configure the security group (Step 6) to open the firewall ports which Corda uses. + +.. image:: resources/aws-firewall.png + +Add a firewall rule for port range 10002-10003 and allow connection from Anywhere. Add another rule for the webserver on port 8080. + +Click on the Review and Launch button then if everything looks ok click Launch. + +You will be prompted to set up keys to securely access the VM remotely over ssh. Select "Create a new key pair" from the drop down and enter a name for the key file. Click download to get the keys and keep them safe on your local machine. + +.. note:: These keys are just for connecting to your VM and are separate from the keys Corda will use to sign transactions. These keys will be generated as part of the download bundle. + +.. image:: resources/aws-keys.png + +Click "Launch Instances". + +Click on the link to go to the Instances pages in the AWS console where after a few minutes you will be able to see your instance running. + +.. image:: resources/aws-instances.png + +**STEP 2: Set up static IP address** + +On AWS a permanent IP address is called an Elastic IP. Click on the +"Elastic IP" link in the navigation panel on the left hand side of the console and then click on "Allocate new address": + +.. image:: resources/aws-elastic.png + +Follow the form then once the address is allocated click on "Actions" +then "Associate address": + +.. image:: resources/aws-elastic-actions.png + +Then select the instance you created for your Corda node to attach the +IP address to. + +**STEP 3: Connect to your VM and set up the environment** + +In the instances console click on "Connect" and follow the instructions to connect to your instance using ssh. + +.. image:: resources/aws-instances-connect.png + +.. image:: resources/aws-connect.png + + +**STEP 4: Download and set up your Corda node** + +Now your AWS environment is configured you can switch back to the Testnet +web application and click on the copy to clipboard button to get a one +time installation script. + +.. note:: If you have not already set up your account on Testnet then please visit https://testnet.corda.network and sign up. + +.. image:: resources/testnet-platform.png + +You can generate as many Testnet identites as you like by refreshing +this page to generate a new one time link. + +In the terminal of your cloud instance paste the command you just copied to install and run +your unique Corda instance on that instance: + +.. code:: bash + + sudo ONE_TIME_DOWNLOAD_KEY=YOUR_UNIQUE_DOWNLOAD_KEY_HERE bash -c "$(curl -L https://testnet.corda.network/api/user/node/install.sh)" + +.. warning:: This command will execute the install script as ROOT on your cloud instance. You may wish to examine the script prior to executing it on your machine. + +You can now navigate to the external web address of the instance and +see any cordapps running on port 8080 (if you have any installed). + diff --git a/docs/source/azure-vm-explore.rst b/docs/source/azure-vm-explore.rst new file mode 100644 index 0000000000..ef64a86782 --- /dev/null +++ b/docs/source/azure-vm-explore.rst @@ -0,0 +1,135 @@ +Deploying Corda to Corda Testnet from an Azure Cloud Platform VM +================================================================ + +.. contents:: + +This document explains how to deploy a Corda node to Azure that can connect directly to the Corda Testnet. A self service download link can be obtained from https://testnet.corda.network. This document will describe how to set up a virtual machine on the Azure Cloud Platform to deploy your pre-configured Corda node and automatically connnect to Testnet. + +Pre-requisites +-------------- +* Ensure you have a registered Microsoft Azure account which can create virtual machines and you are logged on to the Azure portal: https://portal.azure.com. + + +Deploy Corda node +----------------- + +Browse to https://portal.azure.com and log in with your Microsoft account. + + +**STEP 1: Create a Resource Group** + +Click on the "Resource groups" link in the side nav in the Azure +Portal and then click "Add": + +.. image:: resources/azure-rg.png + +Fill in the form and click "Create": + +.. image:: resources/azure-rg-2.png + +**STEP 2: Launch the VM** + +At the top of the left sidenav click on the button with the green cross "Create a resource". + +In this example we are going to use an Ubuntu server so select the latest Ubuntu Server option. + +.. image:: resources/azure-select-ubuntu.png + +Fill in the form: + +.. image:: resources/azure-vm-form.png + +Add a username (to log into the VM) and choose and enter a password. + +Choose the resource group we created earlier from the "Use existing" dropdown. + +Select a cloud region geographically near to your location to host your VM. + +Click on OK. + +Choose the "D4S_V3 Standard" option and click "Select": + +.. image:: resources/azure-instance-type.png + +Click on "Public IP address" to open the settings panel + +.. image:: resources/azure-vm-settings.png + +Set the IP address to "Static" under Assignment. + +.. note:: This is so the IP address for your node does not change rapidly in the global network map. + +.. image:: resources/azure-set-static-ip.png + +Click OK. + +Next click on "Network security group (firewall)": + +.. image:: resources/azure-nsg.png + +Add inbound rules for ports 8080 (webserver), and +10002-10003 for the P2P and RPC ports used by the Corda node +respectively: + +Add 3 rules with the following port, name and priorities: + +.. code:: bash + + Port range: 10002, Priority: 1041 Name: Port_10002 + Port range: 10003, Priority: 1042 Name: Port_10003 + Port range: 8080, Priority: 1043 Name: Port_8080 + +.. note:: The priority has to be unique number in the range 900 + (highest) and 4096 (lowest) priority. Make sure each rule + has a unique priority or there will be a validation failure and error message. + +.. image:: resources/azure-nsg-2.png + +Click OK and OK again on the Settings panel. + +.. image:: resources/azure-settings-ok.png + + +Click "Create" and wait a few minutes for your instance to provision +and start running. + +.. image:: resources/azure-create-vm.png + + + +**STEP 3: Connect to your VM and set up the environment** + +Once your instance is running click on the "Connect" button and copy the ssh command: + +.. image:: resources/azure-ssh.png + +Enter the ssh command into your terminal. At the prompt to continue connecting type yes and then enter the password you configured earlier to log into the remote VM: + +.. image:: resources/azure-shell.png + + +**STEP 4: Download and set up your Corda node** + +Now your Azure environment is configured you can switch to the Testnet +web application and click on the copy to clipboard button to get a one +time installation script. + +.. note:: If you have not already set up your account on Testnet then please visit https://testnet.corda.network and sign up. + + +.. image:: resources/testnet-platform.png + +You can generate as many Testnet identites as you like by refreshing +this page to generate a new one time link. + +In the terminal of your cloud instance paste the command you just copied to install and run +your unique Corda node: + +.. code:: bash + + sudo ONE_TIME_DOWNLOAD_KEY=YOUR_UNIQUE_DOWNLOAD_KEY_HERE bash -c "$(curl -L https://testnet.corda.network/api/user/node/install.sh)" + +.. warning:: This command will execute the install script as ROOT on your cloud instance. You may wish to examine the script prior to executing it on your machine. + +You can now navigate to the external web address of the instance and +see any cordapps running on port 8080 (if you have any installed). diff --git a/docs/source/corda-networks-index.rst b/docs/source/corda-networks-index.rst index cc3e81321e..b16acc006a 100644 --- a/docs/source/corda-networks-index.rst +++ b/docs/source/corda-networks-index.rst @@ -8,4 +8,8 @@ Networks permissioning network-map versioning + corda-testnet-intro + azure-vm-explore + aws-vm-explore + gcp-vm cipher-suites diff --git a/docs/source/corda-testnet-intro.rst b/docs/source/corda-testnet-intro.rst new file mode 100644 index 0000000000..1fb9c58740 --- /dev/null +++ b/docs/source/corda-testnet-intro.rst @@ -0,0 +1,75 @@ +The Corda Testnet +================= + +.. contents:: + +The Corda Testnet is an open public network of Corda nodes on the internet. It is designed to be a complement to *the* Corda Network where any entity can transact real world value with any other counterparty in the context of any application. The Corda Testnet is designed for "non-production" use in a genuine global context of Corda nodes, including but not limited to CorDapp development, multi-party testing, demonstration and showcasing of applications and services, learning, training and development of the Corda platform technology and specific applications of Corda. + +The Corda Testnet is based on exactly the same technology as the main Corda Network, but can be joined on a self-service basis through the automated provisioning system described below. + +The Corda Testnet is currently in private beta. Interested parties can request in invitation to join the Corda Testnet by completing a short request form (see below). + + +Deploying a Corda node to the Corda Testnet +------------------------------------------- + +Access to the Corda Testnet is enabled by visiting https://testnet.corda.network. + +.. image:: resources/testnet-landing.png + :target: https://testnet.corda.network + +Click on "Join the Corda Testnet". + +Select whether you want to register a company or as an individual on the Testnet. + +This will create you an account with the Testnet onboarding application which will enable you to provision and manage multiple Corda nodes on Testnet. You will log in to this account to view and manage you Corda Testnet identitiy certificates. + +.. image:: resources/testnet-account-type.png + +Fill in the form with your details. This helps prioritise requests to join the private beta. + + +.. image:: resources/testnet-form.png + +Note we currently only support federated login using either Google email accounts or Github enabled email accounts. Please ensure the email you use to register is either set up as a Google or Github account and that you use this email to log in with the appropriate service. + +To enable your email for Google please see https://support.google.com/accounts/answer/176347?hl=en + +To set up a Github account please see https://github.com/join + + +Once you have been approved to join the beta you will receive an email. Follow the link in the email to sign in or click on "I have an invitation" on the https://testnet.corda.network + +Sign in using either the Google or Github login services: + +.. image:: resources/testnet-signin.png + +When prompted approve the Testnet application: + +.. image:: resources/testnet-signin-auth.png + +At this point you may need to verify your email address is valid. If prompted check your email and click on the link to validate then return to the sign in page and sign in again. + +Next agree to the terms of service: + +.. image:: resources/testnet-terms.png + +You can now choose how to deploy your Corda node to the Corda Testnet. We strongly recommend hosting your Corda node on a public cloud resource. + +.. note:: If you host your node on your own machine or a corporate server you must ensure it is reachable from the public internet at a specific IP address. This will typically require port forwarding on your router. + +Select the cloud provider you wish to use for documentation on how to specifically configure Corda for that environment. + +.. image:: resources/testnet-platform-clean.png + +Once your cloud instance is set up you can install and run your Testnet pre-provisioned Corda node by clicking on "Copy" and pasting the one time link into your cloud shell. + +The installation script will download the Corda binaries as well as your PKI certificates, private keys and suporting files and will install and run Corda on your fresh cloud VM. Your node will register itself with the Corda Testnet when it first runs and be added to the global network map and be visible to counterparties after approximately 5 minutes. + +Hosting a Corda node locally is possible but will require manually configuring firewall and port forwarding on your local router. If you want this option then click on the "Download" button to download a Zip file with a pre-configured Corda node. + +A note on identities on Corda Testnet +------------------------------------- + +Unlike the main Corda Network, which is designed for verified real world identities, The Corda Testnet automatically assigns a "distinguished name" as your identity on the network. This is to prevent name abuse such as the use of offensive language in the names or name squatting. This allows the provision of a node to be automatic and instantaneous. It also enables the same user to safely generate many nodes without accidental name conflicts. If you require a human readable name then please contact support and a partial organsation name can be approved. + diff --git a/docs/source/gcp-vm.rst b/docs/source/gcp-vm.rst new file mode 100644 index 0000000000..8f5f8e9606 --- /dev/null +++ b/docs/source/gcp-vm.rst @@ -0,0 +1,120 @@ +Deploying Corda to Corda Testnet from a Google Cloud Platform VM +================================================================ + +.. contents:: + +This document explains how to deploy a Corda node to Google Cloud Platform that can connect directly to the Corda Testnet. A self service download link can be obtained from https://testnet.corda.network. This document will describe how to set up a virtual machine on the Google Cloud Platform (GCP) to deploy your pre-configured Corda node and automatically connnect to Testnet. + +Pre-requisites +-------------- +* Ensure you have a registered Google Cloud Platform account with + billing enabled (https://cloud.google.com/billing/docs/how-to/manage-billing-account) which can create virtual machines under your subscription(s) and you are logged on to the GCP console: https://console.cloud.google.com. + + +Deploy Corda node +----------------- + +Browse to https://console.cloud.google.com and log in with your +Google credentials. + +**STEP 1: Create a GCP Project** + +In the project drop down click on the plus icon to create a new +project to house your Corda resources. + +.. image:: resources/consolegcp.png + +.. image:: resources/console2.png + +.. image:: resources/newprojectgcp.png + +Enter a project name and click Create. + +**STEP 2: Launch the VM** + +In the left hand side nav click on Compute Engine. + +.. image:: resources/gcpcompute.png + +Click on Create Instance. + +.. image:: resources/consolegcpcreatevm.png + +Fill in the form with the desired VM specs: + +Recommended minimum 4vCPU with 15GB memory and 40GB Persistent disk. +Ubuntu 16.04 LTS. + +Allow full API access. + +Dont worry about firewall settings as you will configure those later. + +.. image:: resources/gcpconsolevmsettings.png + +Click Create and wait a few sections for your instance to provision +and start running. + +**STEP 3: Connect to your VM and set up the environment** + +Once your instance is running click on the SSH button to launch a +cloud SSH terminal in a new window. + +.. image:: resources/gcpconsolelaunchssh.png + +.. image:: resources/gcpshell.png + +Run the following to configure the firewall to allow Corda traffic + +.. code:: bash + + gcloud compute firewall-rules create nodetonode --allow tcp:10002 + gcloud compute firewall-rules create nodetorpc --allow tcp:10003 + gcloud compute firewall-rules create webserver --allow tcp:8080 + + +Promote the ephemeral IP address associated with this +instance to a static IP address. + +First check the region and select the one you are using from the list: + +.. code:: bash + + gcloud compute regions list + +Find your external IP: + +.. code:: bash + + gcloud compute addresses list + +Run this command with the ephemeral IP address as the argument to +the --addresses flag and the region: + +.. code:: bash + + gcloud compute addresses create corda-node --addresses 35.204.53.61 --region europe-west4 + +**STEP 4: Download and set up your Corda node** + +Now your GCP environment is configured you can switch to the Testnet +web application and click on the copy to clipboard button to get a one +time installation script. + +.. note:: If you have not already set up your account on Testnet then please visit https://testnet.corda.network and sign up. + +.. image:: resources/testnet-platform.png + +You can generate as many Testnet identites as you like by refreshing +this page to generate a new one time link. + +In the terminal of your cloud instance paste the command you just copied to install and run +your unique Corda instance: + +.. code:: bash + + sudo ONE_TIME_DOWNLOAD_KEY=YOUR_UNIQUE_DOWNLOAD_KEY_HERE bash -c "$(curl -L https://testnet.corda.network/api/user/node/install.sh)" + +.. warning:: This command will execute the install script as ROOT on your cloud instance. You may wish to examine the script prior to executing it on your machine. + +You can now navigate to the external web address of the instance and +see any cordapps running on port 8080 (if you have any installed). diff --git a/docs/source/resources/aws-connect.png b/docs/source/resources/aws-connect.png new file mode 100644 index 0000000000000000000000000000000000000000..bc62d4e956c19ce9939cc53833688e3bc284baf4 GIT binary patch literal 227901 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 z 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
tIwHGrq?kY86VwN19UXB|IVj;7?NVUo z%cB(J$|#l{3w59q)1=&{>C`*U42H3%pY1s{KhFu{2e@a1!_B2+mT|i~7^ld4S3YF3hc!HI>d^+G=05+Z8lQnG11HzIGMHf$^%+@#=b$Mt{#tDw>O+Kz! z8ft&hm(1_a=T*Dy1H3CQ@w`r+OIbiYTeVNKLAw7^~vvCwS0m+o8{Qd1>`vcP0xZ4)Dwal#*yh}`Hk zBrP$bzDSr;{(=rV7s=&{3k5#(o3%~fST6Q!AE(Mn?4AB9 zbW^&M-$T1PR)2=qKU2j8A(-h=YnZfay}&;we&(RK@UUJ&YhsY)c5=eMFg{I8qRcS+ zpzf~i_EN%)^JsK(k1Th~_tl62xpBogvB01v&G@`AD^Yk*ew(~y_<(lp8~d+;GR-)h zbeyUMG9EU&vX;TBw>R&}^kmASUOItuTKrMJ%bFZE7E>((sES5f{*w8N7Di}oDDAz6 z!AJ%btfK@-&&m!TKguicYPSLk0vn=?rIh^dpTBN2$9XSO%q@akWAE1yy4oSNI?>^I z0}=HK-y(9?ELC=CU4^tH%iTJ#CB2E!ie8N5`QQ6no?Z(PUeL|$h*h-g=c@g~ArhD) zfbdM%G*9#JL*4#JbY_x#vk14a9b+Y|ZghcBo>^T)qCz<<6p9l1he<3a{1nGOge!M| zJ-7A=x8g!sy8a8H3((i|9%Zwpy;hQ?TJ`54j~C(-z88HMiJ?}v?_p&|^@i=^CT8^_ z-J!!&7aD?vCR&w?Hb5H6XR}m4iFeboLs{3w6ZLFRQB2WsAi$mc#G& z&VG53MSoHo)A+KC8Ci)`F-Zx2+vRp6)*ls#XN8_T!@5gyDfwM&XKNA~h;ySvFP#3N z5^MRr$j*Aw6eIpYW5cOg_rlYj=-e)k)3cx>=R1z&!s6Q15rgvrvl0w8vi8elv2nYN zZ;m`q2b3mm_Eq+=3NG_$ylr#9IW^kk|MskOU9h?!)<1Kqv%;e96VS-`_augr%Yf#ANfcochXEA;?R?h2sxO21ePVZ77TUt4`^mG~EH~3ZGpu z4Oi%D+3QfjH<6?$EtCNFMkva^%~7R9t-t5lS^olk?sp&m4wtF7+vI;lV8Q%1*E z-*mzAwW4c#zlMUjgdYS-Qt9rVkJ@NT!rwaI7udESWO<)4*10!*@KH7*N?&L+B%v<%wsz0Db6(_i_luH#a@gngK7sk| z_n8?ak@;si3QP$ikt~wGm(1*^g5yEh~ej=}Rhs`I1L>e|( zI~BgD>y)2n_eFm$4q19?C;8sw`JI2^onI%xxy^EOm;Z<#vgpIMs(i%ZzbFf}15%H^ zUTZj(e5aCV5ajjA^ZRK789nCiH+gX6IV~FAu7p7&2aLwq`YoNe614LcRJLC;hO4@V znJd3e2*Oword~hy&hS38Qd$lqS6%sKR}Jlm&MKq)%1_R)l$`Izqm;&nQcpJW zHriitBdCk!dY#ff#h#t~W*R`?*DY><{jd=M#fG`$QC|oOu^JqsZAMi56tC~%cX?)! zvd4oH&uVVj<7is#l>>L#6%~1w;iX_V5HaR9VTw3yAQ6W0U3tH`rpJ2x+b8aQkz_q= zy~ns=QAG52k~!MYW?k%vVK(>XJl)JeiEFja?q%5bVu{Xf6_#xC`5I?50zK<0d#cZX zrX6(DekIx6(d+d0Q5TLm>Z0Ap#9cX~a(OTNIh4B~CM3 z#SIHO;W=rxh+vb0f# z1l@Ep8w5Mf5qqCG!`E!fbDN4@mYkKOyfj-TRJ04uZroU&@RyhcOnS66RV-LEFgEcd zYYll!mVkgB+wfIYQ8hx?-OYV{C*JxzlJnp}l$xbzc8nc%AsX7$8_fvivU53%x z35pEdf7c*2A*KJ0(-g03r9 zZGpNE!Q1R^;CwN{{&)}ejq!=(o<|4Yn(V9U!L2twEZ4&J*Aq~sR>B~lLjV0F6Oyml zXWgVif6=T}>mChwvSxF>?@OTbl zD_HGGSkv9iy7w?C%GgH?R&8+4U|JWzCs@;_*ZY10CazYlZ=mkD)aHG7q}L)-_=qMB zid5IZ6*>r!VK8%-pz#D6%e%1|UN>Rk8XV8YNjh(x-*Uyrq_syUupX>lhaF3OwqM2M zE{Vn05D@f~6=5iyz6*$w7cc7EktQ>?h7c>lg{L$N@}*hlfoq>rp80lGm=#a25dT!( zAY_?wxN{{~fkO_fQ!pXg-p|U%r*pLmA*|FNu#aJMDvIW?3rQQ%r{Qlx)ds1?~m41Z*Po34sT5Wcndo2Umv4m>p-zwSard`R+ z>c!#uqUuZCzghPQ2Cvhv8G)vo;^k29rn`HV=@-z`;tYrBr`D1SEe3zvfc)426|D7i zQfLVJp)wi&_T;s+yO$nB&Q&Xf^gf7X?puboHd0ml*QIz;Nhq4yEQf3HT4R@U)kl01s384qoC7kxE0*lgZbu|7MDH zBat|!53RvuJ>&xN;JWD|Ag*jGUm$2!mrj_)ak?>wWv-brhN7p2q3{O4G-%VldJP-f z+D~ocN0je>tQUS{__f%j_X>pdPMr26q-T^e&5}uuJEA8*WY6wP^BQ*&lj3?Hng@rw zO*hu(ubD?X`gqevq}N!thKKuV3cOK2c;?|H4@`C9N1%-?Pj~~N|mhJTw!dane{otHL z>o5-*xH}jgI$4x5Sw4dueK73n^ES3Q0!8b|o1LUmZEIcfEcJ?p42Vr_L*$6gMjc}1 zv)-N0i8-zk zj5uZ2I$F7Cg@YcN`B9|Z4l+lJ%*lJ!O0n*PS|ZM}=@4Sl)!D*mVhL>ytL_`V_5p$H z)>YEz5GU#z1NMk>x1a-EnylD;5FC~1Hgh&Tc1I7^?O~XE)NB9MmbTJp=-WchSZ^e9 zT-9AL`UcHTBQ=t~SupKqxZwDweW#yFX^#gtEYrlYDJ`1QL$%Ba^~0AxjyW+I4OvWf zHY27B60DNPmS`!xJ}DaJBJ?14jyt~mANJlduBxr;1C<6*x>G>umS)qbAR*GFASGSW zCEXz1D&3uu(jiDIAh9U{=}zxl=Y8Uw^FF?x?uYyP-RG0A*{+ytt}(|P;~yrn3AH+1 z#X4}IdnL*iEPIvTY+FJuPFCWS6E$jA&|Gex#p%5WBn$&1UZ$SsM)e5=*_zmT0hIE! zdwhdSHEhN)nSdOv54!+PkWH-y*BRfIBPWig-%^gtf)^sN*P-L zbxk+S5RlenCs^h^v^eBKEb}&cDh(3dsNfU_k{RuUcTR_M-odh0@^>hPpX`2A(_TG~ zybRf@UNI<~-f)ac3pU?nss@ym`ckz`f$3E`6KxmeiSe!Sw$??RE2Xe?mQ3845+3E! zp^1_^I%4B1&*i=iDT3+Y^RMXss_XvH!wWNr+Q7NPNmg&SUhO2(t*AhX>3j!Waln1N80`*H-9}@1o%P_Oc*G^J8an z07J~F5h3m!Y83FVDkI9_Ke0{i1$bZ3b_xI z&7<1m?cVPx|2k6sjLVfBLTPN@N zjnZ;H&|`c?li_o79uA4}ZK}++0^CKb>&8!=m^umj-!69~7>H^b?fS-%ykXD=m7`Cw zk8lYn=UVz%-lE@pEJem}qSiFv*sf_^Yzq_#w>p~ix(``4$GU}}% z;R_4sxC||*Zou-l)n-Bn=wvSM_1HF z;3t&wU>XA3qq?sE4>S7#^8D-uYM^s?l2A1fQrRWPUk5p|e+5W1omupXtn(qWFv#c;#mJ88kLd;E(l~|zsSFPGbf2-4 z;Jc6t*dH>wTVFr(FX;UQs*R=A0W**j2n1UU2hMeMwPG3?Iu^Nbz&l{+vu#@fQHNlG%!fw7CyZ{u{Oejv_I2ifGoBX!`MM>5 z%VVCuoIfSP7Ptq22h%YkeD>{W|!`8H|;5qxU#eFCe*BXa13!zA*e<;q>Fdu z0nh{C5V3|W>MyEre|i`Gc%YbbhS!^#-O#g-S`Fb05fA-%3;8n#a8~UGCvJt?`dsR6 zHG?`rz80v8gzb8te#~9`Cd6qR*kJ21J3F8s5+z6J{LH;UuXnWrlDZCyJ?{Y2-O{gi zop*H+?Yx_3`83MDe*#lfEv&F`5M@|mar?nNy{57c_o5)w<@(g7x*`Y2(r>v@-iuM*Om zU7zpAh8tyd&R2_>ATIoYpjN61BJqS=9=l&4CEfjA@*3=j#F7xL-ML|nXkGU7_On3f zyZ4OD6tOOt+N}Y$eZHQhtjsa3Hf)U5^t+&_mfRj++rC{p>v^tu+6YzQD*CcbHmxz4t$ z!8QWLpG0v3>Y%&2nwlGVcg<51n^O2UXA7T}Rlz%T0eJ!l-4m#}nEa_ubq> z37Omh6f6U`O#qovPX`EoP%5GT+5`!IAffe@-Ui9+0du6Ma{yeOuz^)oO&nXV*3{s- z=xZt#X_xUs&57tzwc4fkUIXFcanaq5pB{YdGi@|gpe z4U1dmS@7c_8RVi!?@t&E1ZUaZ14->G`jC$I;PF}S%5zBWzY=Kd_Ldtk+BYeX-Aq-S)ZkVqyC|=iZZ`Jv+1VQY&0*CQ0+j`Nz$yLM=)wJ3HRZ>nN{OfwA zN13r8-I39Q@UQZaBV#yVEVL~PYW?tr#OGU&OKlTwbZ}wk3Y`WX+mrP34xSTTx(9<@ zuOJ8`h=YzbRX&h0;ds8Xt#$Pq!$snjA2QaL2Y2VVIG40I*E1mkF=B`CnZq!!+MVKi zL{Uc3>eXK#9!RXya5ft4{mgU6F^dH!0z(nQdg@UD$l2%5-l0^2p? ze>gBDgJ-N@f4T);NfMUtSLyvcYDo)e8M!V=0~{pp^m_WE}nK9a#L&u zBE^hUzzcb*5WN|!46pYGG+V1&fvC&vlGleZI=O4T^bX|HSm-6rFF+E@t}i=5seHN% zVnnw~>tRMBA$u=QE0Auwyb^}0Ak%j$*-e) zF}6Ph^D|CHeqD`pn~5H#I8b+9f^=x4Zdoha8&ZU95FIQ6j(At^fy^xXhn?(bn2xi~ zYAgLtHTM#husxSwu048*^fgfYHSp+x9S*78o`up{%jFz2y9M9l>fgPucq9tXAEP&f z1aSb(!QOfOXb&7CFkia3DxnvJxDY3_*bho)+2+-hMb!Twm4INXMgfLP=KG2T;WNSVzdn}jqcDx5B;0jwrkx=ke+ME`drQ~80d@}$)pDX(GULb z6pkZ`Iw03fA_OHmZ;<#IL&=w&K9p$Xd}Nu1z{vyGzauCDWqQupJGhlzC#8kny;7}W zcJp9`Tb0(=yWLg+`PJW+UhBtF{7?r8gqR?yx|P;WG5>+A0zrx0Yy9mxkelRvYgQ7p z3&hahqU|tLyfT0U=RxLM!A5QK*Rb}dWY-wu2a*eGoc(qOGZE&q8`C`B_H?9#f&zf^Be)z5bW!}) z6A6zI%>HguDX( zJ|EmJx(2DDkFFm7eNHRH4abq%L__a$xO2IOzG}VC*YgejYiI-9-H9zWCu9w1kCvq$ z$L{zoT<^Ga10=F847iwg1JOn;sNjP?6~yO=_DeqSB-z6i6yw5zsoV>a`K)!^#PBC~ z9KJ&(rRE#painHIo{8^#O|K0=m$30BnbbWkXf;e~`DtQxLeSR>N-~B$tFW2!P%PCt zJr_WrH4zr77G=QyT(;vr5eZqjiG?tH%fXPkP5pS&GN`u-xu1Gq-Ux9iRyBu=dX zR;c>zj8e*n`vZ`T6C9+HR^L0M=Vt+f)&L+_`ARLT9RT+wiB_`pR}i_4dH8w|GW{Fz zi#f*@Fiv$>u5r6!U=?GKA=&6zgiOr$wQnslf9K}h?=EVA?;au8ziOHl>oQmLQsF+=LGHM zAJMsDeYAOd$~fIrwJP`x=mmyBdGsb<@6XFs4j=7wP#-M4hA3L}SH>95L}gIrbkH-R zUg=m(Yzu^ZO&rvZV5dF^A(#oOAp{{nv#XQh+z{xX9v##T& zTP9SwXd#!5ha5D{0F_kFgZTq{HYv^s?)7D5a>QAd*)W0vTv0L@GjCNP5IWXBq~bjeYRvx9j#&DwmNm)Nc%_P;16{x z7k|Rk5Y^ta&(5FJA;vO)swj1U3$bqL@vcb0G(p+#h-dl%=L_Wdqdb0f15AZu9?p_) zoc72#S&~{^oA$Jw45Is?eEYALBl+2}fLGDj47xo-DY+IE;Ol0wen(V%N#)U~akI}p z{OFMSQfrJxjv_roWpa&9g%a%iL=34^k(XRPNaDjfb=W>X++Am;La!|Rfxo_T9Cr=5 z>QLCQ6{Z2^pPuE%{sbYSIk^iDy0XxF`ll4t)RxP@y~dHj=uwNDxNN*q_w2sj$E=G- z+K~5*ahbk)Sp^WBe6dE;eu%gGFtKnpJ7t~yW{J2YG zAe%BHh7^D_TFL(Uc$ydxiB?pC`cH1>C}hnq zCZj-{@)>;yjx*Rb*VLv=V2i$?8Rq;+y=5K1UGjk8U|CDdMe$>}#~TP>@VSX_=_e>D zx(*^{V4Xww>}KEtv%_$n38#JYFhcZ{4ciuZ4?To@rFcgWSccdDUW>Gq(vK>POs$-< zrp=;mz$TkDZOPC*|K#69L@gyqbsU!_%h_GTUy^uu2;w9BY5dO~M-^Z62mq4O-#Fwu zkk^^WRR-idYqu8Qqc`Yf&$ff~cm_XPC)Ld=So7 zr9WF`O;gs=vy;GXPiV+LFlYb4suMKG}NNEE1${; z+>PZp=xd>=%6&gv#T_|5A{6Jabeg`k0%zN(umu}xTZJm(ts1alsh`TX(KWhj!_$FJ zLrK+u-=1V~^CIMw2d+;x#w~brwyYa$o>WosWH8~d5>FXPG$suzo`s#C5v?o*5Sznc zG_3hF^`bXG=aNgdIU}Mjah@so6tKHk{QNBNfl{)O2$u$$g zj1YOCgJCeuvN+GEUk&SkTld~h1)e9SeZ%i^8E>mmk=IfH4Y zab^iokv84Ne0y9)do>483D5t?;7J)9kE`HZ=Iq|D(sqnbBYd~fm%6uZ&S6lCEeQl8 z?b(wGet3P)z1=wTOVrPF(`B#t>6EYY21TCbPTLB_k@|2i6nZ*!uJ%1cpZHuPMCn|& zQRnz|D79$T{@24pN4#w$>w}jIa(nkV{E>&rYuFuj)laECQTwCU?jrHCL(t3{!ao?Uu>cfpBGoc4}tjQ;rs^)z1sZUzw zJvga%-*R_mJ)qf6hI%5DaY_taM)aGYDwEG^foM_zN{dO9^4=vmaZz8+J9GkH#6sGz zTVyRmRhiYrsR(I89YeE_3!ARU17(YRj)U~XZb&;~K-s-ivt?7=By;)RDM2gtp>dZ* zRa7sphjyMDz4u;dO6U0d3YZyKm6bL3>BkgD9&AGe^slCA);(IUM=g9s{F)+kV`{E8 zw7!V$Nik%Egt=?+ek0Iu#(ny}?iFHd$n*p^o7vc%Ot%Xls-O8H=&7++N}Yejw^zlb zJt3k@<4X8Jx%+*_I$6b0s;D7yTKRcmRO3q>=PglY!s`FYHITL@+JDN}Yu3 zhxJ|+=8kpZSKR>7ggX6vHL6A5FT@B-9E7~azh1JXE%tw8xjV|fn%H0CrH-IVJbioV zmEVOz#s+(>mC%&fEKGS8HjuRO47ZyZaCm{XhzLn``$SAhFlC1Pera6u!EI zpWZs{{1|eoenGYF(hW&iPZ7=wj+%Df%h=<%z9!kNF_(e_4W?S`<{?;g31He9Nq|43Lb=60QvDIHQZ z=tI4C`Jhw^%2UtTfrS87UR;fH>SCN(#k8mdZ1#LNx6d-)B)^I9I^)QN$3!~oC5Vy* zCB%Z!iv%N{sYF&MAcGlj8iSpx(Kok!$dV%4*sX=x?hp0Wj+wEG$$sO_Md&(4)ql#b z1R&E~*7r6#;_KqLKeargdfsol4wd?>Yf#olZ3{Q4c_+Qs-0VHzkc=D(|9rPY9dzr4~Knfx?blnY+vCv5B?vTk?4I!(yPN^l!vE>FyZr|Zll}d_( z^kcNYt_n>1Y}I=+T%Fe)?kq&^VZG1vLiW}}tp`E{#oKaxy-ZRAS=6G1U%G`Z-MviJ z>;r~JIVBCmHcjJxnGx}$Bk3fZI|gDc^+9FS?kpX;LNs1w|m5nb{Rh|^7oKau;1H2 zpL>|c6|@&C0GENE-dygA>6C zb_Xhv-{?ql)}sr+o;yqs4~yZ8RYq})sPGMA`YgO zCd(DJ?(D1{6s$l;^_zH_UScMyMS{CCTx=C?18SL1H?7ni*Xyj`L{aW{d?^vsbZ?G| z7%bBK>1c0IpM01dLVPNqYNz4G>_~vEcrFz+>O<#el5kUUy4d36%@cnWVX}V>zxNzz z2fnzYr%T)3#h`vmmtGYMrdm+%CDsG&uZS6a_fvLon?SqAdAYx8Ue`u5UX|2*^${|v z`jVjMhYw}zcftzyHAXn2J}Hyj=OL9<6}Ko#Jvvad2f`X!c>|dTMIUA9?(GZ6DW2yy zyAKPlM-UOhUka09tCo$OZXRSERSRX~xsA(qjpi^X=7)ahzElr;XwmJ6WIUs85VxoL zsy&c_%UvRUi?QhT^r3bOge1Ydqh}$gN?;L95X@t+u+Z4=pcv=yMR{^$3?-6;II#AW zr*HH`K3v#(S2bA%5+Om%l!@Z3G(JdN))mDfYM~76?Yhlzz`UyOrpiAybc_q<hsKy$Rjw$ z=dtoMq@_%kl2?&8eI(_szDsin!59W)82TrUuASt9Gvf@(l)v!z=SOK>&4ATUR!B>K zE^nl$hjm_#I_`FH6+PK&NWQe4mfk zoST7Ix!U|e7^Xork600RK=GXOH2p!?DX*BMPlRV-P4L^S$0O4lv|!>m?Z396#65!= zC5unuy_$J*y6%0!ndwqk-t7J%)6s>tY;g6MBaAYr67-Dp%byu6clpb%dKnV6VW2h^HU1Z{1K)#-6YL7()1&{ez5U!6E{Z z8SbYrIh^@N2_gh&X9}`9^U8O_MxQ^K*`tnQqjzWONP4RB;Q()>fZ}cM_|?ZN(@*!u zG_*EJ7}&dBNCv-`>Dm=g&5eH15L+p9d_`(z_i~GcTXLJD^`1WGlUbS7#W32`v|E~i zy)I_^qIDPzzQV3@cNSM^>M*A#4Xwo~n$fj?e)@_NX}u?|v|pm&@^oZRHk9D>5r^)**KiX!Vi%Kr1V#v#4p1>{7g?c$8E+v53PEWYehDJecq3SJdn;_*SgAP zt9m@ZLPFz1iXVfrC#y)^DSQ=AHklxAcwXq_nZb_8x2QyHyFP{M*AN(S|EUS}YNQzI zU5tI6Vn$>^HF~m$knp|b@<=29#bt$oROx+hikf^urpH^l$GXQ8hv^^Qn;kmIq`cuM zP^Oqu?grAy5j4yT&IpY>$*leLK>k)6)7i)gJvWyQ}`B< zaYRQWPL0;bElb~NR3^LEeyq%W&yJCb+GJuGwRy~&l+YZ=rC)P-KgzI5+3TqPP?NFY zxF3Siz5MtRtg)isPUI?Iydj_EYyB9%yPRU(_vEGePkt*^1(AC}JxKG>)(YgEn9OoK z2VE!m6k(kr8|}M-Vb^r0%@$he1Ub81p&CEaEMV8N{ZTNv^H|lV6{O0X4oe$!-(u37 z@`19lSX^_yPd7&Lz*~b@Gm_iJdSg#kwJ+v#e9D1FQf_(~_q!Y|PF2FpICfqA3#mnn zHcp9f>0gm?FEeFCSNIR^X3P8(CZYK7^8uAK)%d;UF{1^U;5Vm9LdQ!Z!12ey&%g~R z#+5q^Jqat`iyxJ0yEIse>l5o^KVyv|)bUIbjZ&gF+UFfeoDjZa@WAU+H^UE;MikcE zP=k2#-qFDr4^@U~;YLdx;xoLKr`#mQBtZ#Zvm7>f?uO6%MUbnC$=E(3K1;B1zwy>- zBT(bKMO~{q`R3hN*1F})NPBW+&6bw$97>xx4q$d6wkjOcXC9~E?}P`=E2>W4tq=4HTIZQ**fJcoM*I=hpOQ*D9Cqo^wuI8_*NasF)*QT6yPjiCfC0e_9 zI^Hn~@x>az`@q~Oh)2v`c*ieC7KE$W%>=pc|6IM8*FPC1RPpIE-!ran zhSdAn(PhHO8>64)HmkA6X9zS#?6R$1K6{Z<=Gg&*lg_@x)5?i6S@pwZPLx`*$O`LW zzED|VXn9y#yn@+GaG7_Y9LeY^FKvXF!$UA^OK;D8Buknt;ND}q_wuQ_oQ`=(7@e^( zPdeR55rNNG%9Lx@{eVY2CjLHj27M7BDBN_sHX4(HL56lqDBUJW21Nd^b^%Os zMy`D9dMooA9H$`YH&*nXk(qrI1_}x&A0r_IhQ4 zcQhhkP@jSSjK29m!iFn)pPe#$zbukF!<(#EaaCd=$8*y%UN=akJ9Ii-l={*oV$f@W zFEomS*?71kuz61_msK@CX_|M0E>^>kTwJkyLj+Tt$#!K$N09>_&hM4;jAQEI3Ny9! zgkG3TX1rX8aQxM?)>b8K1aiCl;9AE`zgwT=Kc&6Yid~N`XXAdynL^Dk_`pD~a4l1e zo@ z!ZdvEB<&qWo%WoT5N+b9FR}=s_O{O$o~<#D6wS0Wn^!Pf=stzU0HuXFRkVdmBU*9# zn7HmJ-&1xYu@}dpcxJzdhp7|C|7=8i@Le!D=ozae%6`vdF@Y<9ud@fc~$n@ZU2Z} zf3@MS^1n=w z9UZ%@hx2fnsbDkWmn!?lj5j6n-d1}mSN%#H6j(f_Z*AgUN211523q6Lte!I?S+O%+ z1PqKgx|S7PkK3oU#?VD!^o;`WYa(XZolavhek$vV4phwfM=hAdFuefkzCQV%&-ykL zxUfz)KES_Ri+r{vYva<9E#lVc5pX_LZ;sp{Sx2)V^IAu?aKCu+t7B1iftaS(arry2 z8S#)|DpwCuq{<6l6Vy+2{V~2w6dFoQ{Ohs~gE}n=8Fhp9ZKh)Y&9WgZTVS)cnp5nt zi^Gz@XwXx^aaD1I*=S26 zeTd0GNFpb?m(a3Xp}bHIW2E>FC1cBA?JtevPzaR7l!Je*zxwU1snAN|B+oWq+jyw7 zC-Helm#BKo`C9>M_}i=Jo|2VQZz9L!-3*pCc->PR%dB%IzTjl>HY$rfmZnarae1lV zND_VCd5M!kEH=@D7PzO8jqRvm*X0FzS1i#Ag^$xPRPAZwL%6K}W z>y$qCMoWi2YPR4~{`Ll^Mwk1;VZ|^;1)fjFFO}=RD>LtQE4eV<t76G7#TE8zj+Rltpbh6(G5gf zAx)JgJ+*X)CZ7E-`DsU|$u0|g+Mo~F?=C$Q4X4PYqdxkMT=Bv)`Y?=<+7v8l-mE-i z$#MxLjiJtRHj}EalI46NpiQO4h4;T^fiiM(181xh%~XH@JyW!f2BTvTIVu%BpW-}x z3NhCY-kC^GPek#?F!u{nYk76FI8W46LZV+(e+a6#>!V)F3TI_$3b@8-0|M`l!>;!6sXI2jTB z>T1I~Efe1-3}eo-?Bqno1Z>v=s?<_Q^Rbm;1MQmKEZLHZ8$p! z`ZNgdl9JW4KMXBQEzr#6VsGZiRGiXIjta8KSQlis73swf?Iv?o!*_^qOS5ftvpAxS zmY4E)#cWL^?wo`4A|iJGBSKjHvvR2ehHKpUK#o1DxI5x<;+l(sy}Z(6a?gylvOG5A zb7FUHy-KrDyH?!Dn>V{XqCeYLCggSRJ1$R+1WfaF@LhlLjL|A(tU`8`B#k6N33id; z*hqI&p+gA1DvPQq^&_BtJU)~5_LSjC`bT24gGcN26k}!;pFCumr81W8Ml{$XCfcYeF%UQ- zy_(Y?;CiC@+}NAMWqjS42$N_J#S-NXQfj_Z%Q#O)6DwP8yTqYMTF%j2KB)8K?99lNWEv{ zS+M+FwIA~8x*?8ktDi`ym(LF@#QItuI(@AwCAff&2`g&ktNvohI~m?Xse8sK*fOKt)XVmUzOOihE-N z)O%V-l3^po@yu}Z<)mKA--QS}e$px>$&g zav2>@zdsh88KICU!@K{Zp`rQ)7R+#s5sgicb0k4vTgPG4)qZw2>r-!+@jklQ@p%i2X1vlrP&ko+S7aB zGBgthf1ugxGUip9T56>4rLQSPf{`&DzYH5`nr~Y~;n3RK1ftn>KcmW0=zWY>Bivb= z=by=Ge^KETyN^T|xIOlycb&%o#{PJt+mb^0scjR9?bFjm(q5SrW1V1ox8CTw$ne=! zHzhPH-5&PyVYu){Ln;fMHIP#XUZc8;H&xR%`5D7Vf&|+rYmJn8pCSpn=d<}wX~V)X zuBRM_P0JsQzNOA#kJ7X14f>KF#$(ld=9`UJ)3o=FAASJ;7|tv9coxO~RoV^ND#ypr z#q|Q+9-*FWR&+EuayvT7L$9_APvV7KLoD=rF}P0!jl_+(djilph?s7dHzhEmO47?i zcy&QPbu#-swd8UIVgyu)W;?ni6NWc!MFjV{{mh;ktnyR$6=cV|gp!L@9lt{pVZ3xd z>PsVtR`b4i`cwJaC!Ra^MVirQWtJsg30zI&ixOsQ%*%C`a*w5p$+x^LRBF=ys6c2j z%ecEqex!2(Ikp#%46Ietl1RUnuC9vd4 zY4MyeE4k+`>@j@UHCDl~cM_i!O(ok;^-NYfe{y+Iopo&`k;tuwzT9N#i92UB$BaFB zrZj#@v!_UWaq`_|A@3W16k3+_GKqo5a!*}Ps39qrh;SxsM)BF~8h`OVUAg-A-m253 z5p%2iPogME<*a*M?%>46_*;im%5=dsCmZhmk|r~&2(u4vLL1Q%6;0HYDa>czFOZta zDxO!qlpW`aJcSF0r+`?OU|6E5p015RmW1-*}F~1^j7gX0R3dB+CAfu^J~=}LtkVfPFT|VR#YA+D}}eeeE)VX0!qoN z81)OLUA(B^Mn>LOc$rvzaf|lxzMzX&eZ_d2TK0vc)+CzxR1=G9j6pgqrw1v%@Q1bk z3!p5RmKXh2p)r-DW6Z_uy1x02`Y?n6sy7j~({S0$;0pV)hkBKHn7+;$lA(09TuG$p zZFKoQCZAeYC*~`G_cKyNMh0OfX|Me*`C@y7R^*RDaJS)tR5H7LoYK_iUlx*|kJ`co zyCd8RCH!6wt;&%;3f||a(@&qEQBGC7v$Z+9N=j1cs>7gJptj;TkV*z?S`j%C_S(;} z{*XV~P@bWg&=!Ukf}NFnEpp9irru=zDZ2#T(s1t^J!NkTB7!U3$#(+c3)M{v(K4|( zgV}wN>sNvfF*036H<)cQf+B}jt3XKBA++#pYnZ!rwO0*t{W1B%$a|Nk7Hs)L5 zKAR}Diw}U_m}dK$y|N3ZrbiKet@;eN3Zcc%Hgrg+c6DUp%PHUvx;~R}wLRYfLE9r+PPmOtwL#x>IyA}m`EXc)m zZ*mmldFwDO?lCm1h1ea@sWSV=#O*!4?|R)w7abu{EWp6#`h(gr)HhlsdC*kXJ5V;{ zefmK#mkZEiC-V}-e*txLOSn4}L>_a(0B1=wHy4((NQWUhCn`s+`>$aJUyiyP@4Mk%que_Kc2b@2TEKfZX{3j6lS7S$J;wnt`tC zE+{}A?T56v`AT-bq{&Pp9f_PAlsXg`kT}w4SLx9-DIQ)>6LjhpUbk`isC$l|35S&w z6sRx^&njXdNnO3=n{93bT$lti?hoy(zkJK>t7dhUSNF+8|686g~9PAi+bUddDVsfJTW{K1|4>5x*V`-=|A? zG*>2TG+&y1#B#dlf*-a()xMXs(=IQD=m=_4#P)unFshS^;8NPo)D?Zg;MOKklV@|K zxH~bo3jqI^nTN}~fD_65LLX`I?hN7eDWJl+Fs*-~<{XIenURBJeJZt`Nf%-%_Xl@h zzKQsd1=kOb<8!p+=$$k5!2ft0{CPY)m>}1oFO5Q_k9dwPX9U9pI%5j$#!? z_@mwDPw<+f8g@m(=F~9qjC7BKM}Hh6o?J+vib9GYUVMXvVz5Yh*NwzZut?&9W*KY0 zBk~4&7Xs>|GyxqIGATUSoO-}EseP2^h)FyBnPcXFAskZ`>kT0$YJJ=F_TagGyhr6b z!QG9s=Iv|nV)VSO%|FP`n%qF@3O{(b$qbXSMZi8g0h?cn* zG@27G1uXHK9(y-2e7<#8ZZd^o2g{E3FzKnEfRJnQ(YzH|nO1Gmkoq7dIKG_D-(0HS zBlDqIpkYkgk5=kmXT8LI9BbvO1_czY!~7sM9d@~78yw3=Qo;&o!l3d$YmmU{#2XlK zxQ~i_mu%t}B#;^k0;oenPBA#EM7iL*GlK~2fmx63|+U2o7Uzv z^~RRy^q6uV3mnjF)73BtlNgD~kCPtoqv{<@+z;k{pB|mv>dI{&V&RMA89~wR8mn8- zmw=Jt0Axeiz78nOPSh%=VtJuq*Ev=3mwV+ty6&JVd2)=-$)p&mvO#`yO7BJQWvkOh zN>|*2oj{{0_v8&>{w^;&!RnY%Go|M6oQM9WFKiAMGK%4%V=rTCx6YJiejuo7(jUiQ2}G-f%r>0CzlrmKOl*K{Ctxs*q#>FYD~-n=ELA&i`9p3e`7 zIVROZ)Oyz&Wy178s0Pn@PLCnuVPyf~CDwIW7?Fo}*IbliM0Rj%PmH}+h*0J8&L{;+ z|E`aPqGe6lblBGMnlr8J?1;r2HYda1(Iez;MSm1}k)G$f#E`LQPXufr@g*1EKhHz0 zq2Co6zM}Kxrf9)mL?bvB`V{iCJG*(L$n}CIRbW3t*Q<|V)$kL*-6*irL7H{4r*n#L zdI4T#8O3dHS;?hoocV<{Qaf?BrapD2CEkO4jHSl6!lobkKUPx(huRR@s=kijaZ+$f z65=W>yznJ_?5eM;B07Vw+-8A$9S`g6cfK&pq1nsfcsLxQ@{X(MopiSEp>90Y>^r+M zS3BQJfe%<+gG&n3@Sl@HRHR8aFc=z=YsSgLW4T+TdXo#6`8xzemdET9*PqS|8y(+V;a@Em9==zKAH>}A&1vZIaxT?6tXC^Ic&ouB zbWlsx`98^rSzyy1!!lBXCN50DLzdEK4)KY)j`I>I+BjR(yG`X}eR^osIKuX{roWhZ z2ge%k7&eeLOgZ*lYU5BljhaR{nV4^*oT==Hs*2*B8u~nmyFkf*zdLiUw07FVjxDYalCe+s`dkGtFFYQQ|xMfU< z$eruDL!c|!ZVpi*@EPdi#a$@8Q_cXFfg;t=3zfo-l5z6s??#N1(lSZM7*mB;+bP zTL|to7MhD=pi0?fP{gXG6p0+P-Ney+Gs*APljFbb(Ac!!9M+X}qY?9o2+XRkX*j!J0rIvjMHreb=<@_g1sN z4zqsg*_?m4dmnSWnKsdRWDGW;j6tng7ZQ1fWRit~ed91->6s5K5K0!K_K$#=5|ta` zAw@1lv|FvRCxeS}R<{ST^1Xr1ODo5mk;U!AVkvgYnf0^fXpZ{(#Uo>yK>B|%T%a

<7%7d3cQ-yxv)V(gLO~)vY(PmXS~f8 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�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

pvk= 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 z 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 v#cP=4%x_cD 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 literal 0 HcmV?d00001 diff --git a/docs/source/resources/aws-elastic.png b/docs/source/resources/aws-elastic.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa3c700e88a860c5f31e0b83e8705e89a996402 GIT binary patch literal 109208 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