opensearch-project / opensearch-build

🧰 OpenSearch / OpenSearch-Dashboards Build Systems
Apache License 2.0
137 stars 272 forks source link

[BUG] (re-)enable support for more ARM processors #4620

Open mrboogiee opened 5 months ago

mrboogiee commented 5 months ago

Describe the bug

Deployment on current generally accessible ARM chips for SOC systems fails due to the Amazon base image used. Please (re-)enable support for more accessible ARM chips. System I have been trying to run Opensearch on with the current images is based upon a Rockchip RK3588 (approx. 2 years old) and that gives the following error (I expect the same on several Raspberry PIs btw):

Fatal glibc error: This version of Amazon Linux requires a newer ARM64 processor
                   compliant with at least ARM architecture 8.2-a with Cryptographic
                   extensions. On EC2 this is Graviton 2 or later.

Related component

Build

To Reproduce

Run the current images on a Rockchip RK3588 or other consumer friendly SOC and check the logs. The Amazon Linux image requires specific ARM architectures using fe:

helm install --namespace=opensearch --create-namespace opensearch opensearch/opensearch --values=values.yaml
kubectl logs -n opensearch statefulsets/opensearch-cluster-master configfile

Expected behavior

I expected Opensearch to run on my k8s environment where the base image would be more open to chipsets commonly used or desired by the community. I don't know if there is any specific reason why Amazon Linux is being used but I personally would have expected something like Alpine as the base image.

Additional Details

Plugins Please list all plugins currently enabled.

Screenshots If applicable, add screenshots to help explain your problem.

Host/Environment (please complete the following information): Helm Version: v3.13.1 Kubernetes Version: v1.29.2 CPU: Rockchip RK3588 Compute Module: TuringPi RK1

Additional context I have been able to backtrace the issue till helm chart version 2.14.0 so far but then in the pods instead of in the statefulset. I also created an issue in the helm-charts repository (https://github.com/opensearch-project/helm-charts/issues/534) but that was closed with a pointer to this repository

kotwanikunal commented 5 months ago

@opensearch-project/admin Can you please move this to opensearch-build?

peterzhuamazon commented 5 months ago

Hi @mrboogiee,

Which version is the last version that support older arm processor? Do you know if there a particular EC2 instance still support such processor?

As of now 1.x is using AL2 and 2.x is using AL2023 (with some older versions still on AL2). Would you be able to describe your use case so we can take a look?

Thanks.

mrboogiee commented 5 months ago

Hi @peterzhuamazon,

When deploying the helm template I can run helm template version 2.13.0 for the opensearch cluster which runs opensearchproject/opensearch:2.8.0 as image for the cluster nodes.

The helm template for dashboard works from version 2.12.0 down, where 2.11.0 runs the same image release (opensearchproject/opensearch-dashboards:2.8.0)

Which base images are being used for those releases I haven't looked into yet.

As to the question of which AWS EC2 instances run on older ARM processors I unfortunately am unable to help.

My use case is to run a logging environment in my home lab for multiple purposes (hardware used there is the TuringPi RK1). One of the simplest is to have long(er) term logging of the pods in my K8s cluster, another is to create some dashboards for my firewall logs.

I hope this provides you with some more information.