Add SPI configurations for the standalone mode (#5476)
* Add SPI configurations for the standalone mode
* Remove disabling scheduler
diff --git a/.github/workflows/4-standalone.yaml b/.github/workflows/4-standalone.yaml
index 009ad35..5c2f59c 100644
--- a/.github/workflows/4-standalone.yaml
+++ b/.github/workflows/4-standalone.yaml
@@ -65,8 +65,6 @@
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Check free space
run: df -h
- - name: Disable the scheduler
- run: "./tools/github/disable-scheduler.sh"
- id: tests
name: Run Tests
run: "./tools/github/run${{ env.TEST_SUITE }}Tests.sh"
diff --git a/core/standalone/src/main/resources/standalone-kcf.conf b/core/standalone/src/main/resources/standalone-kcf.conf
index 9194d80..6f06a85 100644
--- a/core/standalone/src/main/resources/standalone-kcf.conf
+++ b/core/standalone/src/main/resources/standalone-kcf.conf
@@ -21,6 +21,11 @@
spi {
ContainerFactoryProvider = "org.apache.openwhisk.core.containerpool.kubernetes.KubernetesContainerFactoryProvider"
LogStoreProvider = "org.apache.openwhisk.core.containerpool.logging.DockerToActivationLogStoreProvider"
+ LoadBalancerProvider = "org.apache.openwhisk.core.loadBalancer.LeanBalancer"
+ EntitlementSpiProvider = "org.apache.openwhisk.core.entitlement.LocalEntitlementProvider"
+ InvokerProvider = "org.apache.openwhisk.core.invoker.InvokerReactive"
+ InvokerServerProvider = "org.apache.openwhisk.core.invoker.DefaultInvokerServer"
+ DurationCheckerProvider = "org.apache.openwhisk.core.scheduler.queue.NoopDurationCheckerProvider"
}
kubernetes {
timeouts {
diff --git a/core/standalone/src/main/resources/standalone.conf b/core/standalone/src/main/resources/standalone.conf
index 0817680..b6acaac 100644
--- a/core/standalone/src/main/resources/standalone.conf
+++ b/core/standalone/src/main/resources/standalone.conf
@@ -41,6 +41,10 @@
# and does not require root user access
LogStoreProvider = "org.apache.openwhisk.core.containerpool.docker.DockerCliLogStoreProvider"
ContainerFactoryProvider = "org.apache.openwhisk.core.containerpool.docker.StandaloneDockerContainerFactoryProvider"
+ EntitlementSpiProvider = "org.apache.openwhisk.core.entitlement.LocalEntitlementProvider"
+ InvokerProvider = "org.apache.openwhisk.core.invoker.InvokerReactive"
+ InvokerServerProvider = "org.apache.openwhisk.core.invoker.DefaultInvokerServer"
+ DurationCheckerProvider = "org.apache.openwhisk.core.scheduler.queue.NoopDurationCheckerProvider"
}
info {
diff --git a/tools/github/disable-scheduler.sh b/tools/github/disable-scheduler.sh
deleted file mode 100755
index 950f81e..0000000
--- a/tools/github/disable-scheduler.sh
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# 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.
-#
-
-set -e
-
-cat > ${GITHUB_WORKSPACE}/common/scala/src/main/resources/reference.conf << EOL
-#
-# 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.
-#
-
-include "s3-reference.conf"
-
-whisk.spi {
- ArtifactStoreProvider = org.apache.openwhisk.core.database.CouchDbStoreProvider
- ActivationStoreProvider = org.apache.openwhisk.core.database.ArtifactActivationStoreProvider
- MessagingProvider = org.apache.openwhisk.connector.kafka.KafkaMessagingProvider
- ContainerFactoryProvider = org.apache.openwhisk.core.containerpool.docker.DockerContainerFactoryProvider
- LogStoreProvider = org.apache.openwhisk.core.containerpool.logging.DockerToActivationLogStoreProvider
- LoadBalancerProvider = org.apache.openwhisk.core.loadBalancer.ShardingContainerPoolBalancer
- EntitlementSpiProvider = org.apache.openwhisk.core.entitlement.LocalEntitlementProvider
- AuthenticationDirectiveProvider = org.apache.openwhisk.core.controller.BasicAuthenticationDirective
- InvokerProvider = org.apache.openwhisk.core.invoker.InvokerReactive
- InvokerServerProvider = org.apache.openwhisk.core.invoker.DefaultInvokerServer
- DurationCheckerProvider = org.apache.openwhisk.core.scheduler.queue.NoopDurationCheckerProvider
-}
-
-dispatchers {
- # Custom dispatcher for CouchDB Client. Tune as needed.
- couch-dispatcher {
- type = Dispatcher
- executor = "thread-pool-executor"
-
- # Underlying thread pool implementation is java.util.concurrent.ThreadPoolExecutor
- thread-pool-executor {
- # Min number of threads to cap factor-based corePoolSize number to
- core-pool-size-min = 2
-
- # The core-pool-size-factor is used to determine corePoolSize of the
- # ThreadPoolExecutor using the following formula:
- # ceil(available processors * factor).
- # Resulting size is then bounded by the core-pool-size-min and
- # core-pool-size-max values.
- core-pool-size-factor = 2.0
-
- # Max number of threads to cap factor-based corePoolSize number to
- core-pool-size-max = 32
- }
- # Throughput defines the number of messages that are processed in a batch
- # before the thread is returned to the pool. Set to 1 for as fair as possible.
- throughput = 5
- }
-
- # Custom dispatcher for Kafka client. Tune as needed.
- kafka-dispatcher {
- type = Dispatcher
- executor = "thread-pool-executor"
-
- # Underlying thread pool implementation is java.util.concurrent.ThreadPoolExecutor
- thread-pool-executor {
- # Min number of threads to cap factor-based corePoolSize number to
- core-pool-size-min = 2
-
- # The core-pool-size-factor is used to determine corePoolSize of the
- # ThreadPoolExecutor using the following formula:
- # ceil(available processors * factor).
- # Resulting size is then bounded by the core-pool-size-min and
- # core-pool-size-max values.
- core-pool-size-factor = 2.0
-
- # Max number of threads to cap factor-based corePoolSize number to
- core-pool-size-max = 32
- }
-
- # Throughput defines the number of messages that are processed in a batch
- # before the thread is returned to the pool. Set to 1 for as fair as possible.
- throughput = 5
- }
- lease-service-dispatcher {
- type = PinnedDispatcher
- executor = "thread-pool-executor"
- }
-}
-EOL