zeiss / enterprise-wasm Goto Github PK
View Code? Open in Web Editor NEWEvaluate various WebAssembly back-end frameworks and tool-chains for enterprise workloads
License: MIT License
Evaluate various WebAssembly back-end frameworks and tool-chains for enterprise workloads
License: MIT License
When executing /samples/spin-dapr-ts/test-spin-dapr-aks.sh
after a complete deployment with commit 55d3143, Spin service is not able to call into Dapr Ambient service:
::: Dapr metadata indirect from Spin service :::
* Trying 127.0.0.1:8080...
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> GET /dapr-metadata HTTP/1.1
> Host: 127.0.0.1:8080
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 500 Internal Server Error
< content-length: 106
< date: Sat, 30 Dec 2023 14:56:25 GMT
<
* Connection #0 to host 127.0.0.1 left intact
internal error InternalError: runtime-error (error 4) when accessing http://distributor-dapr/v1.0/metadata
although HTTP outbound is allowed in spin.toml
[component.spin-dapr-ts]
source = "target/spin-dapr-ts.wasm"
allowed_outbound_hosts = [ "http://distributor-dapr" ]
exclude_files = ["**/node_modules"]
service is available
$ k get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
distributor-dapr ClusterIP 10.0.103.207 <none> 80/TCP,50001/TCP,50002/TCP,9090/TCP 4h
distributor-svc ClusterIP 10.0.151.135 <none> 80/TCP 4h1m
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 4h12m
receiver-express-svc ClusterIP 10.0.245.124 <none> 80/TCP 4h1m
receiver-standard-svc ClusterIP 10.0.166.224 <none> 80/TCP 4h1m
and distributor-dapr
can be called directly
::: Dapr metadata direct :::
* Trying 127.0.0.1:8081...
* Connected to 127.0.0.1 (127.0.0.1) port 8081 (#0)
> GET /v1.0/metadata HTTP/1.1
> Host: 127.0.0.1:8081
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Sat, 30 Dec 2023 15:05:40 GMT
< Content-Type: application/json
< Content-Length: 713
< Traceparent: 00-00000000000000000000000000000000-0000000000000000-00
<
* Connection #0 to host 127.0.0.1 left intact
{"id":"distributor","actors":[],"extended":{"daprRuntimeVersion":"1.11.6"},"components":[{"name":"kubernetes","type":"secretstores.kubernetes","version":"v1","capabilities":[]},{"name":"secretstore","type":"secretstores.kubernetes","version":"v1","capabilities":[]},{"name":"q-order-ingress","type":"bindings.azure.servicebusqueues",...
When running [run-tests.sh](https://github.com/ZEISS/enterprise-wasm/blob/main/run-tests.sh)
for the first time, had to do a manual npm install
in the helpers/orderdata-ts/` directory. Would it make sense to add this to the run-tests.sh script?
Given a running configuration
NAME READY STATUS RESTARTS AGE
distributor-7f7769c8f6-7wxhx 1/1 Running 0 24m
distributor-dapr-w968l 1/1 Running 0 24m
receiver-express-69c989476f-5w854 1/1 Running 0 9m2s
receiver-express-dapr-vlbp9 1/1 Running 0 9m
receiver-standard-69d6797586-rspx8 1/1 Running 0 9m2s
receiver-standard-dapr-vrv5v 1/1 Running 0 8m59s
after changing the workload and redeploying, previous pods stay in Terminating
NAME READY STATUS RESTARTS AGE
distributor-7f7769c8f6-7wxhx 1/1 Running 0 29m
distributor-dapr-w968l 1/1 Running 0 29m
receiver-express-69c989476f-5w854 1/1 Terminating 0 14m
receiver-express-dapr-vlbp9 1/1 Running 0 14m
receiver-express-fb667dd79-tnn9g 1/1 Running 0 3m22s
receiver-standard-69d6797586-rspx8 1/1 Terminating 0 14m
receiver-standard-c8b8577b4-49c8j 1/1 Running 0 3m22s
receiver-standard-dapr-vrv5v 1/1 Running 0 14m
Observation:
running multiple consecutive tests shows that environment is stuck for quite some while processing all messages:
timestamp | records | ms | case |
---|---|---|---|
2024-01-21T10:55:47.266Z | 10000 | 67 | baseline commit 6a9b6ca Rust 3:9 Dapr shared/Spin |
2024-01-21T11:01:41.232Z | 10000 | 958 | baseline commit 6a9b6ca Rust 3:9 Dapr shared/Spin |
2024-01-21T11:22:23.934Z | 10000 | 68 | baseline commit 6a9b6ca Rust 3:9 Dapr shared/Spin |
2024-01-21T11:28:24.763Z | 10000 | 67 | baseline commit 6a9b6ca Rust 3:9 Dapr shared/Spin |
2024-01-21T11:34:06.341Z | 10000 | 75 | baseline commit 6a9b6ca Rust 3:9 Dapr shared/Spin |
2024-01-22T08:01:57.007Z | 10000 | 46 | commit fe4aa83 Rust 9:9 Dapr sidecar/Spin |
2024-01-22T08:07:23.679Z | 10000 | 48 | commit fe4aa83 Rust 9:9 Dapr sidecar/Spin |
2024-01-22T08:12:49.803Z | 10000 | 44 | commit fe4aa83 Rust 9:9 Dapr sidecar/Spin |
2024-01-22T08:17:58.016Z | 10000 | 958 | commit fe4aa83 Rust 9:9 Dapr sidecar/Spin |
2024-01-22T08:38:40.129Z | 10000 | 56 | commit fe4aa83 Rust 9:9 Dapr sidecar/Spin |
checking logs
ContainerLogV2
| where PodName matches regex "^(distributor|receiver)"
| where LogMessage.level == "error"
| where TimeGenerated between (todatetime('2024-01-22T08:17:58.016Z') .. todatetime('2024-01-22T08:38:40.129Z'))
| project TimeGenerated, LogMessage
| order by TimeGenerated desc
reveals this type of timeout error (8 instances)
{"level":"error","msg":"App handler returned an error for message ae7fcbc858cc4704b995ba18f56c8494 on queue q-order-ingress-spin: error invoking app: Post \"http://distributor-svc:80/q-order-ingress\": read tcp 10.244.3.14:36726->10.0.186.69:80: read: no route to host","time":"2024-01-22T08:33:29.3785529Z","app_id":"distributor","instance":"distributor-dapr-5665b78b46-hq89v","scope":"dapr.contrib","type":"log","ver":"1.12.3","component":"q-order-ingress (bindings.azure.servicebusqueues/v1)"}
Given a running configuration
NAME READY STATUS RESTARTS AGE
distributor-7f7769c8f6-7wxhx 1/1 Running 0 35m
distributor-dapr-w968l 1/1 Running 0 35m
receiver-express-dapr-vlbp9 1/1 Running 0 20m
receiver-express-fb667dd79-tnn9g 1/1 Running 0 10m
receiver-standard-c8b8577b4-49c8j 1/1 Running 0 10m
receiver-standard-dapr-vrv5v 1/1 Running 0 20m
when trying to restart ambient Dapr deployment
kubectl rollout restart daemonset/receiver-express-dapr
pod does not initialize
NAME READY STATUS RESTARTS AGE
distributor-7f7769c8f6-7wxhx 1/1 Running 0 37m
distributor-dapr-w968l 1/1 Running 0 37m
receiver-express-dapr-z7nhs 0/1 Init:Error 1 (4s ago) 5s
receiver-express-fb667dd79-tnn9g 1/1 Running 0 11m
receiver-standard-c8b8577b4-49c8j 1/1 Running 0 11m
receiver-standard-dapr-vrv5v 1/1 Running 0 22m
later
NAME READY STATUS RESTARTS AGE
distributor-7f7769c8f6-7wxhx 1/1 Running 0 42m
distributor-dapr-w968l 1/1 Running 0 42m
receiver-express-dapr-z7nhs 0/1 Init:CrashLoopBackOff 5 (98s ago) 4m37s
receiver-express-fb667dd79-tnn9g 1/1 Running 0 16m
receiver-standard-c8b8577b4-49c8j 1/1 Running 0 16m
receiver-standard-dapr-vrv5v 1/1 Running 0 26m
pod events show
Warning BackOff 2m52s (x6 over 4m) kubelet Back-off restarting failed container ambient-init-container in pod receiver-express-dapr-z7nhs_default(4f4ae10b-c02a-43a1-9b0b-aab3b546ae64)
filed also in original repository : dapr/dapr-shared#36
More details to be provided by @KaiWalter based on testing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.