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

Elastic Agent ARM package are failling #26246

Closed
ph opened this issue Jun 10, 2021 · 4 comments · Fixed by #26415
Closed

Elastic Agent ARM package are failling #26246

ph opened this issue Jun 10, 2021 · 4 comments · Fixed by #26415
Assignees

Comments

@ph
Copy link
Contributor

ph commented Jun 10, 2021

Reported by @kuisathaverat

We have detected that the ARM package is failing on the CI, and it should be failing on the release process. The ARM package process runs on an ARM machine, the issue here is that mage package will build a binary for elastic-agent ARM64 that is correct, and Filebeat and Metricbeat for AMD64, and here is the issue, we do not have cross-compilers to build Intel binaries on Arm machines and the mage package is trying to use the x86 Docker images on and Arm that is not possible. This blocks the release of the Elastic Agent for ARM because the unified release process uses the same mage package command.

In the meantime, to allow to unlock PRs the ARM package stage is disabled in beats-ci #26240

thinking about this I think that build x86 binaries in the ARM Elastic Agent is not correct, those binaries can not be executed on the host is running the Elastic Agent (ARM) because that meant for a different architecture (x86).

@ph ph assigned kvch Jun 10, 2021
@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Jun 10, 2021
@ph ph added blocker Team:Elastic-Agent Label for the Agent team labels Jun 10, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/agent (Team:Agent)

@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Jun 10, 2021
@urso
Copy link

urso commented Jun 10, 2021

Beats build tools make use of cross compilation when build packages for multiple platforms. These packages are not used by CI. The tools used to build the packages require an x86 docker environment. The ARM packaging itself should not be disabled, but ARM test machines should not attempt to build packages at all.

This might be a little tricky for Agent, but if possible, we should try to follow that model.

@blakerouse
Copy link
Contributor

Could we change the Jenkins execution for ARM to only build ARM binaries? I think the PLATFORMS env will already do the correct thing here, instead of removing the job completely.

@kuisathaverat
Copy link
Contributor

kuisathaverat commented Jun 10, 2021

Jenkins executes PLATFORMS="linux/arm64" PACKAGES=docker mage package on a ARM machine builds a elastic-agent(linux/arm64)+filebeat(linux/amd64)+metricbeat(linux/amd64) the Filebeat and Metricbeat (linux/amd64) can nor run on the same host that the elastic-agent(linux/arm64) because are different architectures. This will fail in the release process because will use the same commands in the same worker type.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment