dapr / quickstarts

Dapr quickstart code samples and tutorials showcasing core Dapr capabilities
Apache License 2.0
1.04k stars 526 forks source link

Tutorials in Linux ARM64 k8s fail #739

Open RyanLettieri opened 2 years ago

RyanLettieri commented 2 years ago

Expected Behavior

There are multiple issues with the tutorials:

  1. Running through the tutorials with the proper packages and programs installed should yield a successful run. However, there is an issue present when running tests in kubernetes that rely on a redis statestore (explained more below)
  2. The pub-sub tutorial requires dotnet to be installed but the README does not list it as required,
  3. The tutorials do not wait for dapr to fully initialize and continue on when a "HEALTHY" status of "False" is present on dapr

Actual Behavior

A failed run occurs when running any of the tutorials that require a redis statestore due to the fact that redis is not started when dapr is deployed to a kubernetes cluster.

Steps to Reproduce the Problem

Problem 1: Redis not being deployed in the cluster

  1. Install the required programs listed in the various README files from the tutorials.
  2. Start docker sudo dockerd
  3. Create a cluster (minikube was used in the discovery of this issue and the following command was used: minikube start)
  4. Initialize dapr in the cluster: dapr init -k --runtime-version 1.9.0-rc.3
  5. Run a tutorial that requires redis. For this example the "hello-kubernetes" tutorial was used cd quickstarts/tutorials/hello-kubernetes; make validate
  6. Observe the failure

Problem 3: False status for "HEALTHY" on dapr

  1. Start docker sudo dockerd
  2. Create a cluster (minikube was used in the discovery of this issue and the following command was used: minikube start)
  3. Initialize dapr in the cluster: dapr init -k --runtime-version 1.9.0-rc.3
  4. Immediately start one of the tutorials and notice that the "HEALTHY" status is "False" yet the "Step: Check dapr status" still passes

Here's a link on how to setup redis: https://docs.dapr.io/getting-started/tutorials/configure-state-pubsub/#step-1-create-a-redis-store

amulyavarote commented 2 years ago

@RyanLettieri Will you pick up this issue?

artursouza commented 1 year ago

We should have a valid automation for ARM64 too.

paulyuk commented 1 year ago

Per #791 I'd like to understand who needs this [i.e. arm64 on the server support for Dapr] and why. It's a fairly heavy lift, and I've seen no hard asks. @artursouza @msfussell

msfussell commented 1 year ago

@artursouza - Can we close this issue?

artursouza commented 1 year ago

Has this been fixed? M1 Mac has ARM64 architecture, so this is a way to make sure QuickStarts work on those.

paulyuk commented 9 months ago

We actually test Mac M1/apple silicon as a part of quickstarts release. This particular test has never in my knowledge helped us find issues for Mac's ARM. Also this goes steps further to be a linux arm + k8s scenario. I just don't see this as a priority. if you'd like to contribute it, that's cool.

joebowbeer commented 3 months ago

Close this?

dapr init -k --dev installs bitnami/redis - https://github.com/dapr/cli/pull/1333

and arm64 was added to bitnami/redis - https://github.com/bitnami/charts/issues/7305