Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/binary-compatibility-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions: {}
jobs:
check-binary-compatibility:
name: Check / Binary Compatibility
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
strategy:
fail-fast: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-test-prValidation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
javafmtCheckAll
pull-request-validation:
name: Check / Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generate-doc-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ permissions:
jobs:
generate-doc-check:
name: Generate doc check
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/headers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ permissions: {}
jobs:
check-headers:
name: Check headers
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/link-validator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
validate-links:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly-builds-aeron.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:

pekko-artery-aeron-tests:
name: Pekko Artery Aeron Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
strategy:
fail-fast: false
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/nightly-builds-latest-jdks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ permissions: {}
jobs:
pekko-cluster-metrics-sigar:
name: Pekko Cluster Metrics Test with Sigar
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
steps:
- name: Checkout
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:

pekko-classic-remoting-tests:
name: Pekko Classic Remoting Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
strategy:
fail-fast: false
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:

jdk-nightly-build:
name: JDK ${{ matrix.javaVersion }} / Scala ${{ matrix.scalaVersion }}
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
strategy:
fail-fast: false
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/nightly-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions: {}
jobs:
pekko-cluster-metrics-sigar:
name: Pekko Cluster Metrics Test with Sigar
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
steps:
- name: Checkout
Expand Down Expand Up @@ -76,7 +76,7 @@ jobs:

pekko-classic-remoting-tests:
name: Pekko Classic Remoting Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
strategy:
fail-fast: false
Expand Down Expand Up @@ -136,7 +136,7 @@ jobs:

jdk-nightly-build:
name: JDK ${{ matrix.javaVersion }} / Scala ${{ matrix.scalaVersion }}
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
strategy:
fail-fast: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-1.0-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ permissions:
jobs:
publish:
name: Publish 1.0 docs
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
steps:
# TODO we will need to change to use a release tag in future
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ permissions:
jobs:
publish-nightly:
name: Publish nightly
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scala3-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ concurrency:
jobs:
test:
name: Test
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
strategy:
matrix:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scala3-compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ concurrency:
jobs:
compile:
name: Compile
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
strategy:
matrix:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/timing-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:

pekko-timing-sensitive-tests:
name: Pekko Tests taggedAs TimingTest
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
steps:

Expand Down
2 changes: 1 addition & 1 deletion cluster/src/main/resources/reference.conf
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ pekko {
"socksNonProxyHosts", "http.nonProxyHosts", "ftp.nonProxyHosts",
"pekko.remote.secure-cookie",
"pekko.remote.classic.netty.ssl.security",
# Pre 2.6 path, keep around to avoid sending things misconfigured with old paths
# Pre Akka 2.6 path, keep around to avoid sending things misconfigured with old paths
"pekko.remote.netty.ssl.security",
"pekko.remote.artery.ssl"
]
Expand Down
Binary file added cluster/src/test/resources/keystore
Binary file not shown.
4 changes: 4 additions & 0 deletions cluster/src/test/resources/keystore.readme
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# SPDX-License-Identifier: Apache-2.0

The keystore and truststore are copies of the remote/src/test/resources files.
There is a Makefile in remote/src/test/resources that describes how to create new keystore and truststore.
Binary file added cluster/src/test/resources/truststore
Binary file not shown.
92 changes: 92 additions & 0 deletions cluster/src/test/scala/org/apache/pekko/cluster/ClusterJoinSpec
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.apache.pekko.cluster

import com.typesafe.config.{ Config, ConfigFactory }

import org.apache.pekko
import pekko.testkit.{ LongRunningTest, PekkoSpec }

object ClusterJoinSpec {

import PekkoSpec._

val baseConfig: Config =
ConfigFactory.parseString("""
pekko.actor.provider = "cluster"
pekko.coordinated-shutdown.terminate-actor-system = on

pekko.remote.artery.canonical.port = 0
pekko.remote.classic.netty.tcp.port = 0
pekko.remote.artery.advanced.aeron.idle-cpu-level = 3

pekko.cluster.jmx.multi-mbeans-in-same-jvm = on
pekko.cluster.configuration-compatibility-check.enforce-on-join = off""")


val configWithNetty: Config =
ConfigFactory.parseString("""
pekko.remote.artery.enabled = false
pekko.remote.classic {
enabled-transports = ["pekko.remote.classic.netty.tcp"]
}
""").withFallback(baseConfig)

val configWithNettySsl: Config =
ConfigFactory.parseString(s"""
pekko.remote.classic {
enabled-transports = ["pekko.remote.classic.netty.ssl"]
netty.ssl.hostname = "localhost"
netty.ssl.port = 0
netty.ssl.security = {
key-store = "${resourcePath("keystore")}"
trust-store = "${resourcePath("truststore")}"
key-store-password = "changeme"
key-password = "changeme"
trust-store-password = "changeme"
protocol = "TLSv1.2"
enabled-algorithms = [TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384]
}
}
""").withFallback(configWithNetty)
}

class ClusterJoinSpec extends PekkoSpec with ClusterTestKit {

import ClusterJoinSpec._

"Cluster Forming" must {

"allow a cluster with just pekko nodes (netty ssl)" taggedAs LongRunningTest in {
val clusterTestUtil = new ClusterTestUtil(system.name)
try {
// create the first node with the "pekko" protocol
clusterTestUtil.newActorSystem(configWithPekkoNettySsl)

// have a node using the "pekko" protocol join
val joiningNode = clusterTestUtil.newActorSystem(configWithPekkoNettySsl)
clusterTestUtil.formCluster()

awaitCond(clusterTestUtil.isMemberUp(joiningNode), message = "awaiting joining node to be 'Up'")
} finally {
clusterTestUtil.shutdownAll()
}
}

}
}
1 change: 1 addition & 0 deletions docs/src/main/paradox/project/migration-guides.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ These migration notes are designed for users migrating from Akka 2.6 to Pekko 1.
* The Pekko node URLs use different URL schemes.
* `pekko://` instead of `akka://`
* `pekko.tcp://` instead of `akka.tcp://`
* `pekko.ssl.tcp://` instead of `akka.ssl.tcp://`
* We have changed the default ports used by the pekko-remote module.
* With @ref:[Classic Remoting](../remoting.md), Akka defaults to 2552, while Pekko defaults to 7355.
* With @ref:[Artery Remoting](../remoting-artery.md), Akka defaults to 25520, while Pekko defaults to 17355.
Expand Down
Loading