From b0a88b5b523b1867038b0d2615fc2cf7b4951972 Mon Sep 17 00:00:00 2001 From: jiangpch Date: Wed, 6 Apr 2022 03:06:24 +0800 Subject: [PATCH] Fix new scheduler error (#5206) --- ansible/group_vars/all | 1 + ansible/roles/controller/tasks/deploy.yml | 2 ++ ansible/roles/invoker/tasks/deploy.yml | 2 ++ ansible/roles/schedulers/tasks/deploy.yml | 3 +++ common/scala/src/main/resources/reference.conf | 5 +++++ 5 files changed, 13 insertions(+) diff --git a/ansible/group_vars/all b/ansible/group_vars/all index 79d7eafef1a..6b82fc35bd8 100644 --- a/ansible/group_vars/all +++ b/ansible/group_vars/all @@ -478,6 +478,7 @@ watcher: eventNotificationDelayMs: "{{ watcher_notification_delay | default('5000 ms') }}" durationChecker: + spi: "{{ duration_checker_spi | default('') }}" timeWindow: "{{ duration_checker_time_window | default('1 d') }}" enable_scheduler: "{{ scheduler_enable | default(false) }}" diff --git a/ansible/roles/controller/tasks/deploy.yml b/ansible/roles/controller/tasks/deploy.yml index 8c99dc9403a..08b1747a16a 100644 --- a/ansible/roles/controller/tasks/deploy.yml +++ b/ansible/roles/controller/tasks/deploy.yml @@ -317,6 +317,8 @@ "CONFIG_whisk_etcd_pool_threads": "{{ etcd.pool_threads }}" "CONFIG_whisk_scheduler_grpc_tls": "{{ scheduler.grpc.tls | default('false') | lower }}" "CONFIG_whisk_scheduler_maxPeek": "{{ scheduler.maxPeek }}" + "CONFIG_whisk_spi_LoadBalancerProvider": "org.apache.openwhisk.core.loadBalancer.FPCPoolBalancer" + "CONFIG_whisk_spi_EntitlementSpiProvider": "org.apache.openwhisk.core.entitlement.FPCEntitlementProvider" when: enable_scheduler - name: merge scheduler env diff --git a/ansible/roles/invoker/tasks/deploy.yml b/ansible/roles/invoker/tasks/deploy.yml index fd837ce3e6e..4d9b395d24f 100644 --- a/ansible/roles/invoker/tasks/deploy.yml +++ b/ansible/roles/invoker/tasks/deploy.yml @@ -336,6 +336,8 @@ "CONFIG_whisk_etcd_pool_threads": "{{ etcd.pool_threads }}" "CONFIG_whisk_scheduler_dataManagementService_retryInterval": "{{ scheduler.dataManagementService.retryInterval }}" "CONFIG_whisk_invoker_containerCreation_maxPeek": "{{ invoker.container.creationMaxPeek }}" + "CONFIG_whisk_spi_InvokerProvider": "org.apache.openwhisk.core.invoker.FPCInvokerReactive" + "CONFIG_whisk_spi_InvokerServerProvider": "org.apache.openwhisk.core.invoker.FPCInvokerServer" when: enable_scheduler - name: merge scheduler env diff --git a/ansible/roles/schedulers/tasks/deploy.yml b/ansible/roles/schedulers/tasks/deploy.yml index 7a976654e59..e5c382a1e9f 100644 --- a/ansible/roles/schedulers/tasks/deploy.yml +++ b/ansible/roles/schedulers/tasks/deploy.yml @@ -216,6 +216,8 @@ "CONFIG_whisk_scheduler_username": "{{ scheduler.username }}" "CONFIG_whisk_scheduler_password": "{{ scheduler.password }}" + "CONFIG_whisk_spi_DurationCheckerProvider": "{{ durationChecker.spi }}" + - name: merge extra env variables set_fact: @@ -236,6 +238,7 @@ "CONFIG_whisk_activationStore_elasticsearch_username": "{{ db.elasticsearch.auth.admin.username }}" "CONFIG_whisk_activationStore_elasticsearch_password": "{{ db.elasticsearch.auth.admin.password }}" "CONFIG_whisk_spi_ActivationStoreProvider": "org.apache.openwhisk.core.database.elasticsearch.ElasticSearchActivationStoreProvider" + "CONFIG_whisk_spi_DurationCheckerProvider": "org.apache.openwhisk.core.scheduler.queue.ElasticSearchDurationCheckerProvider" when: db.activation_store.backend == "ElasticSearch" - name: merge elasticsearch activation store env diff --git a/common/scala/src/main/resources/reference.conf b/common/scala/src/main/resources/reference.conf index 51779cd31f6..d43dd122105 100644 --- a/common/scala/src/main/resources/reference.conf +++ b/common/scala/src/main/resources/reference.conf @@ -28,6 +28,7 @@ whisk.spi { 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 { @@ -81,4 +82,8 @@ dispatchers { # 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" + } }