Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standalone Openwhisk error: Key not found 'etcd' #5475

Open
pprabh2007 opened this issue Apr 8, 2024 · 12 comments
Open

Standalone Openwhisk error: Key not found 'etcd' #5475

pprabh2007 opened this issue Apr 8, 2024 · 12 comments

Comments

@pprabh2007
Copy link

Environment details:

Ubuntu: 22.04

Steps to reproduce the issue:

  1. sudo apt update / sudo apt-get update
  2. Install Docker: curl -fsSL https://get.docker.com | bash
  3. Install nodejs: sudo apt install nodejs
  4. Install OpenJDK8: sudo apt-get install openjdk-8-jdk -y
  5. Clone apache/openwhisk.
  6. Run ./gradlew core:standalone:bootRun (I had to run it with sudo)

Provide the expected results and outputs:

image (2)

Additional information you deem important:

None, consistently get the same error

@style95
Copy link
Member

style95 commented Apr 8, 2024

The standalone mode is not supported with the new scheduler that became a default scheduler.
So you need to disable the scheduler for the standalone mode.

https://github.com/apache/openwhisk/blob/master/ansible/group_vars/all#L501

@Tarik-Kada
Copy link

I have edited https://github.com/apache/openwhisk/blob/master/ansible/group_vars/all#L501 to default to false, but the problem still persists. Are there any follow-up steps before the standalone should work?

@paulzhn
Copy link

paulzhn commented Apr 11, 2024

I had the same issue.

@style95 I don't think the standalone mode uses the Ansible config. The config file for standalone is core/standalone/build/resources/main/standalone.conf, but after I modified it, the problem still exists.

@Tarik-Kada
Copy link

Tarik-Kada commented Apr 11, 2024

I run into the same problem when trying to deploy with Kubernetes in Docker.

When I try to deploy a local build to some of the pods, they keep crashing and will not initialize. Here is an example using the controller component:

[2024-04-09T14:12:48.516Z] [INFO] [#tid_sid_controller] [Controller] starting controller instance 0 [marker:controller_startup0_counter:604]
[2024-04-09T14:12:48.816Z] [INFO] [#tid_sid_dispatcher] [MessageFeed] handler capacity = 128, pipeline fill at = 128, pipeline depth = 256
Exception in thread "main" pureconfig.error.ConfigReaderException: Cannot convert configuration to a org.apache.openwhisk.core.etcd.EtcdConfig. Failures are:
  at 'whisk':
    - Key not found: 'etcd'.

        at pureconfig.package$.getResultOrThrow(package.scala:139)
        at pureconfig.package$.loadConfigOrThrow(package.scala:161)
        at org.apache.openwhisk.core.loadBalancer.FPCPoolBalancer$.instance(FPCPoolBalancer.scala:721)
        at org.apache.openwhisk.core.controller.Controller.<init>(Controller.scala:119)
        at org.apache.openwhisk.core.controller.Controller$.start(Controller.scala:338)
        at org.apache.openwhisk.core.controller.Controller$.main(Controller.scala:291)
        at org.apache.openwhisk.core.controller.Controller.main(Controller.scala)

However, when I deploy openWhisk through:
helm install owdev openwhisk/openwhisk -n openwhisk --create-namespace, Everything initializes nicely and I can create and invoke functions.

I want to use OpenWhisk for my research project, but this is making it hard to start developing.

@style95
Copy link
Member

style95 commented Apr 13, 2024

@paulzhn @pprabh2007 @Tarik-Kada

This is because of the updated spi configurations.
https://github.com/apache/openwhisk/blob/master/common/scala/src/main/resources/reference.conf#L20

I would ponder over how to handle this part.
In the meantime, you guys can configure SPIs like below.

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.LeanBalancer"
  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
}

I confirmed it's working with this.
image

@Tarik-Kada
Copy link

Thanks for your reply!

I have tried the proposed fix, but it still does not work. I updated the SPI like you said, and this is the result of both ./gradlew core:standalone:bootRun and ./gradlew core:standalone:build:

Build using Scala 2.12
Scala sub-project 'gatling_tests' doesn't have Scoverage applied and will be ignored in parent project aggregation

> Task :core:scheduler:compileScala
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:26: object common is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:27: object ConfigKeys is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:28: object http is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:29: object http is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:30: object http is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:45: not found: type BasicRasService
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:46: not found: type RespondWithServerCorsHeaders
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:44: not found: type Logging
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:48: not found: type TransactionId
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:49: value routes is not a member of AnyRef
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:49: not found: value sendCorsHeaders
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:50: not found: value options
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:51: not found: value complete
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:52: not found: value extractCredentials
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:33: object common is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:34: object WhiskConfig is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:36: object connector is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:38: object entity is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:253: not found: type SchedulerInstanceId
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:257: not found: type StatusData
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:55: not found: value path
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:55: not found: value get
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:56: not found: value complete
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:63: not found: value path
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:63: not found: value post
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:66: not found: value complete
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:67: not found: value pathPrefix
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:67: not found: value get
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:68: not found: value pathEndOrSingleSlash
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:69: not found: value complete
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:70: not found: value path
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:70: not found: value get
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:71: not found: value complete
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:73: not found: value path
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:73: value / is not a member of String
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:73: not found: value get
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:74: not found: value pathEndOrSingleSlash
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:75: not found: value complete
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:80: value sum is not a member of Nothing
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:86: not found: value terminate
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:94: not found: value ConfigKeys
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:95: not found: value ConfigKeys
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:100: not found: type BasicRasService
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:100: not found: type Logging
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:21: Unused import
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:26: Unused import
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:26: Unused import
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:27: Unused import
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:28: Unused import
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:29: Unused import
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:30: Unused import
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/FPCSchedulerServer.scala:32: Unused import
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:32: object common is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:35: object ack is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:37: object database is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:39: object etcd is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:40: object etcd is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:41: object etcd is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:45: object service is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:46: object ConfigKeys is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:48: object http is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:49: object spi is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:50: object utils is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:61: not found: type SchedulerInstanceId
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:61: not found: type WhiskConfig
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:63: not found: type Logging
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:66: not found: value WhiskAuthStore
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:68: not found: value SpiLoader
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:68: not found: type MessagingProvider
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:71: not found: value ConfigKeys
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:72: not found: value EtcdClient
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:72: not found: type EtcdConfig
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:72: not found: value ConfigKeys
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:73: not found: value WatcherService
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:75: not found: value LeaseKeepAliveService
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:77: not found: value ConfigKeys
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:79: not found: value WhiskEntityStore
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:81: not found: value SpiLoader
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:81: not found: type ActivationStoreProvider
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:84: not found: value UserEvents
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:84: not found: type UserEventSender
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:85: not found: type MessagingActiveAck
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:89: not found: type TransactionId
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:89: not found: type WhiskActivation
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:89: not found: type UserContext
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:90: not found: type TransactionId
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:96: not found: value SpiLoader
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:99: not found: type SchedulerInstanceId
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/Scheduler.scala:227: not found: value TransactionId
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:26: object common is not a member of package org.apache.openwhisk
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:30: object connector is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:33: object entity is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:37: object service is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:32: object database is not a member of package org.apache.openwhisk.core
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:676: not found: type ArtifactStore
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:677: not found: type ArtifactStore
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:678: not found: type DocId
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:679: not found: type DocRevision
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:681: not found: type WhiskActionMetaData
[Error] /home/tarik/Desktop/scriptie/openwhisk/openwhisk/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/queue/QueueManager.scala:35: object etcd is not a member of package org.apache.openwhisk.core
200 errors found

> Task :core:scheduler:compileScala FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':core:scheduler:compileScala'.
> Compilation failed

It still doesn't boot properly, as you can see. Is there anything I need to do in between editing the code and trying to build/run?

In the end, I hope to be able to use openWhisk to develop on, whether this would be using the standalone version or a version that runs in Kubernetes in Docker doesn't matter.

@style95
Copy link
Member

style95 commented Apr 15, 2024

I believe this is not related to the standalone mode as you can't even compile the code because of not-found errors.
It could be because of wrong classpaths or an incomplete previous build.
Have you tried it after cleaning up(./gradlew clean)?

You may want to try ./gradlew distDocker as well to see if you can compile codes.

@matt-8319
Copy link

I have been stuggling for the last two days to try and get a working environment up and running. Using the devtools quick-start to spin up an environment using Docker Compose. First issue I encountered was the Kafka container failing:

[2024-04-18 08:35:15,092] FATAL (kafka.Kafka$) java.lang.IllegalArgumentException: Error creating broker listeners from 'PLAINTEXT://kafka:': Unable to parse PLAINTEXT://kafka: to a broker endpoint at kafka.utils.CoreUtils$.listenerListToEndPoints(CoreUtils.scala:274) at kafka.server.KafkaConfig.getAdvertisedListeners(KafkaConfig.scala:1115) at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:1075) at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:867) at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:864) at kafka.server.KafkaServerStartable$.fromProps(KafkaServerStartable.scala:28) at kafka.Kafka$.main(Kafka.scala:58) at kafka.Kafka.main(Kafka.scala) Caused by: kafka.common.KafkaException: Unable to parse PLAINTEXT://kafka: to a broker endpoint at kafka.cluster.EndPoint$.createEndPoint(EndPoint.scala:57) at kafka.utils.CoreUtils$.$anonfun$listenerListToEndPoints$6(CoreUtils.scala:271) at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234) at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32) at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29) at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38) at scala.collection.TraversableLike.map(TraversableLike.scala:234) at scala.collection.TraversableLike.map$(TraversableLike.scala:227) at scala.collection.AbstractTraversable.map(Traversable.scala:104) at kafka.utils.CoreUtils$.listenerListToEndPoints(CoreUtils.scala:271) ... 7 more Error response from daemon: {"message":"client version 1.23 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version"}

This appears to be resolved by using the latest image (wurstmeister/kafka:latest).

Other containers start and stay running. The only exceptions are the Controller and Invoker containers. They are both failing with:

'Exception in thread "main" pureconfig.error.ConfigReaderException: Cannot convert configuration to a org.apache.openwhisk.core.etcd.EtcdConfig. Failures are:
at 'whisk':
- Key not found: 'etcd'.

at pureconfig.package$.getResultOrThrow(package.scala:139)
at pureconfig.package$.loadConfigOrThrow(package.scala:161)
at org.apache.openwhisk.core.loadBalancer.FPCPoolBalancer$.instance(FPCPoolBalancer.scala:721)
at org.apache.openwhisk.core.controller.Controller.<init>(Controller.scala:119)
at org.apache.openwhisk.core.controller.Controller$.start(Controller.scala:338)
at org.apache.openwhisk.core.controller.Controller$.main(Controller.scala:291)
at org.apache.openwhisk.core.controller.Controller.main(Controller.scala)'

We are currently evaluating OpenWhisk and it has been quite challenging so far with the current documentation. Could you please point me in the direction as to how I might adjust the SPI's for this deployment configuration? Thanks!

@style95
Copy link
Member

style95 commented Apr 18, 2024

@matt-8319
IIRC, the devtools is not maintained well.
I think the native standalone mode would be easier to try.

@matt-8319
Copy link

@matt-8319 IIRC, the devtools is not maintained well. I think the native standalone mode would be easier to try.

Thanks @style95. Do you know if it is possible to use the admin tools with standalone mode?

@style95
Copy link
Member

style95 commented Apr 18, 2024

@matt-8319
If you are mentioning this tool, I think it would not work as it communicates with the database while the standalone mode is using MemoryArtifactStore.

@Peperud
Copy link

Peperud commented Jul 23, 2024

Getting this as well when trying to up a standalone.

Exception in thread "main" pureconfig.error.ConfigReaderException: Cannot convert configuration to a org.apache.openwhisk.core.etcd.EtcdConfig. Failures are:
  at 'whisk':
    - Key not found: 'etcd'.

        at pureconfig.package$.getResultOrThrow(package.scala:139)
        at pureconfig.package$.loadConfigOrThrow(package.scala:161)
        at org.apache.openwhisk.core.invoker.FPCInvokerReactive.<init>(FPCInvokerReactive.scala:85)
        at org.apache.openwhisk.core.invoker.FPCInvokerReactive$.instance(FPCInvokerReactive.scala:66)
        at org.apache.openwhisk.core.loadBalancer.LeanBalancer.makeALocalThreadedInvoker(LeanBalancer.scala:72)
        at org.apache.openwhisk.core.loadBalancer.LeanBalancer.<init>(LeanBalancer.scala:75)
        at org.apache.openwhisk.core.loadBalancer.LeanBalancer$.instance(LeanBalancer.scala:93)
        at org.apache.openwhisk.core.controller.Controller.<init>(Controller.scala:119)
        at org.apache.openwhisk.core.controller.Controller$.start(Controller.scala:338)
        at org.apache.openwhisk.standalone.StandaloneOpenWhisk$.startController(StandaloneOpenWhisk.scala:337)
        at org.apache.openwhisk.standalone.StandaloneOpenWhisk$.startServer(StandaloneOpenWhisk.scala:282)
        at org.apache.openwhisk.standalone.StandaloneOpenWhisk$.main(StandaloneOpenWhisk.scala:254)
        at org.apache.openwhisk.standalone.StandaloneOpenWhisk.main(StandaloneOpenWhisk.scala)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants