delimitrou / DeathStarBench

Open-source benchmark suite for cloud microservices
Apache License 2.0
721 stars 399 forks source link

hotel-reservation failed to create shim task #343

Open yinfangchen opened 2 months ago

yinfangchen commented 2 months ago

I got the following error from the events when deploying the hotel-reservation:


Normal Created 1s (x2 over 3s) kubelet Created container hotel-reserv-frontend │ Warning Failed 1s (x2 over 3s) kubelet Error: failed to start container "hotel-reserv-frontend": Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "./frontend": stat ./frontend: no such file or directory: unknown


This error appears in every service: fontend, geo, profile, rate, recommendation, reservation, search, user.

marvin-steinke commented 1 month ago

I'm currently experiencing the same issue. Steps to reproduce:

helm install hotelreservation DeathStarBench/hotelReservation/helm-chart/hotelreservation \
    --namespace hotelreservation \
    --create-namespace

kubectl describe pod -l app=frontend-hotelreservation -n hotelreservation

Pod Description ``` Name: frontend-hotelreservation-d7c56744d-v568z Namespace: hotelreservation Priority: 0 Service Account: default Node: fedora/192.168.2.155 Start Time: Thu, 18 Jul 2024 13:18:08 +0200 Labels: app=frontend-hotelreservation app.kubernetes.io/instance=hotelreservation app.kubernetes.io/managed-by=Helm app.kubernetes.io/name=frontend app.kubernetes.io/version=0.1.0 helm.sh/chart=frontend-0.1.0 pod-template-hash=d7c56744d service=frontend-hotelreservation Annotations: Status: Running IP: 10.42.0.52 IPs: IP: 10.42.0.52 Controlled By: ReplicaSet/frontend-hotelreservation-d7c56744d Containers: hotel-reserv-frontend: Container ID: containerd://b573b727e25d44d49da6acbc7eee959e2b738dfef81b854bc982e4fb946bdf29 Image: docker.io/deathstarbench/hotel-reservation:latest Image ID: docker.io/deathstarbench/hotel-reservation@sha256:488d8980c81eeae337d089185f2dd2643dec589809e102c2abf65a4d6e9bb436 Port: 5000/TCP Host Port: 0/TCP Command: ./frontend State: Waiting Reason: CrashLoopBackOff Last State: Terminated Reason: StartError Message: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "./frontend": stat ./frontend: no such file or directory: unknown Exit Code: 128 Started: Thu, 01 Jan 1970 01:00:00 +0100 Finished: Thu, 18 Jul 2024 13:19:47 +0200 Ready: False Restart Count: 4 Environment: GC: 100 JAEGER_SAMPLE_RATIO: 0.01 LOG_LEVEL: INFO MEMC_TIMEOUT: 2 TLS: 0 Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-tlvx9 (ro) config.json from frontend-hotelreservation-config (rw,path="service-config.json") Conditions: Type Status PodReadyToStartContainers True Initialized True Ready False ContainersReady False PodScheduled True Volumes: frontend-hotelreservation-config: Type: ConfigMap (a volume populated by a ConfigMap) Name: frontend-hotelreservation Optional: false kube-api-access-tlvx9: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: DownwardAPI: true QoS Class: BestEffort Node-Selectors: Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m55s default-scheduler Successfully assigned hotelreservation/frontend-hotelreservation-d7c56744d-v568z to fedora Normal Pulled 78s (x5 over 2m55s) kubelet Container image "docker.io/deathstarbench/hotel-reservation:latest" already present on machine Normal Created 77s (x5 over 2m54s) kubelet Created container hotel-reserv-frontend Warning Failed 77s (x5 over 2m54s) kubelet Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "./frontend": stat ./frontend: no such file or directory: unknown Warning BackOff 63s (x10 over 2m51s) kubelet Back-off restarting failed container hotel-reserv-frontend in pod frontend-hotelreservation-d7c56744d-v568z_hotelreservation(df1ec86e-b77a-4f66-a1fc-6e09e72d00c6) ```

K8s Version:

Client Version: v1.29.6
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.3+k3s1
abmuslim commented 2 weeks ago

Access the frontend pod, run which frontend to find the executable path inside the pod, and then update the frontend deployment file with this path under command:. Thats how I solved my issue.

KonstantinosChanioglou commented 2 weeks ago

Access the frontend pod, run which frontend to find the executable path inside the pod, and then update the frontend deployment file with this path under command:. Thats how I solved my issue.

This solved my case as well, now all the pods are running! Thanks @abmuslim!

SeeYouStellar commented 2 days ago

I got the same error, have you solve this error @yinfangchen

SeeYouStellar commented 2 days ago

I got the same error, have you solve this error @yinfangchen

The container's startup path is /workspace, and the container startup command in the geo-deployment.yaml file is ./geo, which results in a "file not found" error. The Go-compiled executable files are located in the GOPATH/bin directory, which in my case is /go/bin. Therefore, I changed ./geo to /go/bin/geo. Additionally, I noticed that the container.image in the cloned geo-deployment.yaml file is not the service image that was built in the previous steps, so I changed it directly to the service image geo that was built earlier. image

Service deployed successfully image image