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

[Build] Make mage-linux-amd64 statically compiled. #20827

Merged
merged 3 commits into from
Aug 27, 2020
Merged

Conversation

ph
Copy link
Contributor

@ph ph commented Aug 27, 2020

When I've upgraded my arch system, they have upgraded the libc library,
that libary is much newer than the library used in the crossbuild
docker images. This made building beats impossible because the
mage-linux-amd64 is compiled dynamically and used in all our docker
build.

This PR make the mage binary to be statically compiled so it doesn't
rely on any installed libraries.

What does this PR do?

Why is it important?

Checklist

  • My code follows the style guidelines of this project
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

Author's Checklist

  • [ ]

How to test this PR locally

Run mage package in any beats.

Related issues

Use cases

Screenshots

Logs

When I've upgraded my arch system, they have upgraded the libc library,
that libary is much newer than the library used in the crossbuild
docker images. This made building beats impossible because the
mage-linux-amd64 is compiled dynamically and used in all our docker
build.

This PR make the mage binary to be statically compiled so it doesn't
rely on any installed libraries.
@ph ph added review needs_backport PR is waiting to be backported to other branches. [zube]: In Review Team:Services (Deprecated) Label for the former Integrations-Services team Team:Platforms Label for the Integrations - Platforms team labels Aug 27, 2020
@ph ph requested a review from andrewkroh August 27, 2020 13:52
@elasticmachine
Copy link
Collaborator

Pinging @elastic/integrations-services (Team:Services)

@elasticmachine
Copy link
Collaborator

Pinging @elastic/integrations-platforms (Team:Platforms)

@botelastic botelastic bot added needs_team Indicates that the issue/PR needs a Team:* label and removed needs_team Indicates that the issue/PR needs a Team:* label labels Aug 27, 2020
@ph
Copy link
Contributor Author

ph commented Aug 27, 2020

Need to be backported to 7.x, 7.9.

@@ -20,6 +20,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- Ensure dynamic template names are unique for the same field. {pull}18849[18849]
- Remove the deprecated `xpack.monitoring.*` settings. Going forward only `monitoring.*` settings may be used. {issue}9424[9424] {pull}18608[18608]
- Added `certificate` TLS verification mode to ignore server name mismatch. {issue}12283[12283] {pull}20293[20293]
- Make the mage binary used by the build process in the docker container to be statically compiled. {pull}20827[20827]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this belongs in the developer changelog.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point, changing that.

Copy link
Member

@andrewkroh andrewkroh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM.

@elasticmachine
Copy link
Collaborator

elasticmachine commented Aug 27, 2020

💔 Tests Failed

Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: [Pull request #20827 updated]

  • Start Time: 2020-08-27T16:35:12.915+0000

  • Duration: 79 min 33 sec

Test stats 🧪

Test Results
Failed 1
Passed 19625
Skipped 1830
Total 21456

Test errors

Expand to view the tests failures

  • Name: Build and Test / Elastic Agent Mac OS X / TestConfigurableService – operation

    • Age: 1
    • Duration: 0
    • Error Details: Failed

Steps errors

Expand to view the steps failures

  • Name: Mage build unitTest

    • Description: mage build unitTest

    • Duration: 51 min 17 sec

    • Start Time: 2020-08-27T17:01:13.427+0000

    • log

  • Name: Recursively delete the current directory from the workspace

    • Description: script returned exit code 1

    • Duration: 0 min 9 sec

    • Start Time: 2020-08-27T17:52:38.454+0000

    • log

Log output

Expand to view the last 100 lines of log output

[2020-08-27T17:53:17.607Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats
[2020-08-27T17:53:17.628Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Lint
[2020-08-27T17:53:17.714Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Winlogbeat-oss
[2020-08-27T17:53:17.793Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Elastic-Agent-x-pack
[2020-08-27T17:53:17.878Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Auditbeat-crosscompile
[2020-08-27T17:53:17.954Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Auditbeat-oss-Mac-OS-X
[2020-08-27T17:53:18.031Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/dockerlogbeat
[2020-08-27T17:53:18.111Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Journalbeat
[2020-08-27T17:53:18.187Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Heartbeat-Mac-OS-X
[2020-08-27T17:53:18.269Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Functionbeat-x-pack
[2020-08-27T17:53:18.346Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Generators-Metricbeat-Linux
[2020-08-27T17:53:18.423Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Filebeat-Mac-OS-X
[2020-08-27T17:53:18.497Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Packetbeat-Linux
[2020-08-27T17:53:18.573Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-OSS-Unit-tests
[2020-08-27T17:53:18.651Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Elastic-Agent-x-pack-Windows
[2020-08-27T17:53:18.728Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Auditbeat-x-pack-Mac-OS-X
[2020-08-27T17:53:18.810Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Heartbeat-oss
[2020-08-27T17:53:18.897Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-Mac-OS-X
[2020-08-27T17:53:18.971Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Heartbeat-Windows
[2020-08-27T17:53:19.045Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Auditbeat-x-pack
[2020-08-27T17:53:19.127Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Auditbeat-oss-Windows
[2020-08-27T17:53:19.205Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Auditbeat-oss-Linux
[2020-08-27T17:53:19.280Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Winlogbeat-Windows-x-pack
[2020-08-27T17:53:19.362Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Auditbeat-x-pack-Windows
[2020-08-27T17:53:19.439Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Filebeat-x-pack-Windows
[2020-08-27T17:53:19.515Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Winlogbeat-Windows
[2020-08-27T17:53:19.595Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Packetbeat-Mac-OS-X
[2020-08-27T17:53:19.671Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Libbeat-x-pack
[2020-08-27T17:53:19.753Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Packetbeat-Windows
[2020-08-27T17:53:19.836Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-x-pack-Mac-OS-X
[2020-08-27T17:53:19.919Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-crosscompile
[2020-08-27T17:53:19.996Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Filebeat-Windows
[2020-08-27T17:53:20.072Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Functionbeat-Windows
[2020-08-27T17:53:20.147Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Generators-Metricbeat-Mac-OS-X
[2020-08-27T17:53:20.225Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-x-pack-Windows
[2020-08-27T17:53:20.299Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-Windows
[2020-08-27T17:53:20.383Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Functionbeat-Mac-OS-X-x-pack
[2020-08-27T17:53:20.456Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Generators-Beat-Linux
[2020-08-27T17:53:20.536Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Generators-Beat-Mac-OS-X
[2020-08-27T17:53:20.612Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Filebeat-x-pack-Mac-OS-X
[2020-08-27T17:53:20.690Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Filebeat-x-pack
[2020-08-27T17:53:20.766Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Filebeat-oss
[2020-08-27T17:53:20.841Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Libbeat-oss
[2020-08-27T17:53:20.918Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Libbeat-crosscompile
[2020-08-27T17:53:20.998Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-OSS-Go-Integration-tests
[2020-08-27T17:53:21.072Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Libbeat-stress-tests
[2020-08-27T17:53:21.147Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-x-pack
[2020-08-27T17:53:21.225Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-OSS-Python-Integration-tests
[2020-08-27T17:53:21.301Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Elastic-Agent-Mac-OS-X
[2020-08-27T17:53:21.702Z] + cat
[2020-08-27T17:53:21.702Z] + /usr/local/bin/runbld ./runbld-script --job-name elastic+beats+pull-request
[2020-08-27T17:53:21.702Z] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
[2020-08-27T17:53:28.314Z] runbld>>> runbld started
[2020-08-27T17:53:28.314Z] runbld>>> 1.6.12/f45d832f2ba0aa2722ab4ec1fda8ad140f027f8b
[2020-08-27T17:53:30.869Z] runbld>>> The following profiles matched the job 'elastic+beats+pull-request' in order of occurrence in the config (last value wins).
[2020-08-27T17:53:30.869Z] runbld>>> Matches in the system config:
[2020-08-27T17:53:30.869Z] runbld>>> - Matched ^elastic\+beats
[2020-08-27T17:53:30.869Z] runbld>>> - Matched ^elastic\+beats\+pull-request
[2020-08-27T17:53:31.816Z] runbld>>> Debug logging enabled.
[2020-08-27T17:53:31.816Z] runbld>>> Storing result
[2020-08-27T17:53:32.079Z] runbld>>> Store result: created {:total 2, :successful 2, :failed 0} 1
[2020-08-27T17:53:32.079Z] runbld>>> BUILD: https://c150076387b5421f9154dfbf536e5c60.us-west1.gcp.cloud.es.io:9243/build-1597739501209/t/20200827175331-2F875054
[2020-08-27T17:53:32.079Z] runbld>>> Adding system facts.
[2020-08-27T17:53:33.030Z] runbld>>> Adding vcs info for the latest commit:  2e5b6016c2da7ec816527a9119706507b5d144b8
[2020-08-27T17:53:33.030Z] runbld>>> >>>>>>>>>>>> SCRIPT EXECUTION BEGIN >>>>>>>>>>>>
[2020-08-27T17:53:33.030Z] runbld>>> Adding /usr/lib/jvm/java-8-openjdk-amd64/bin to the path.
[2020-08-27T17:53:33.296Z] Processing JUnit reports with runbld...
[2020-08-27T17:53:33.296Z] + echo 'Processing JUnit reports with runbld...'
[2020-08-27T17:53:33.561Z] runbld>>> <<<<<<<<<<<< SCRIPT EXECUTION END <<<<<<<<<<<<
[2020-08-27T17:53:33.561Z] runbld>>> DURATION: 29ms
[2020-08-27T17:53:33.561Z] runbld>>> STDOUT: 40 bytes
[2020-08-27T17:53:33.561Z] runbld>>> STDERR: 49 bytes
[2020-08-27T17:53:33.561Z] runbld>>> WRAPPED PROCESS: SUCCESS (0)
[2020-08-27T17:53:33.561Z] runbld>>> Searching for build metadata in /var/lib/jenkins/workspace/Beats_beats_PR-20827
[2020-08-27T17:53:34.512Z] runbld>>> Storing build metadata: 
[2020-08-27T17:53:34.512Z] runbld>>> Adding test report.
[2020-08-27T17:53:34.512Z] runbld>>> Searching for junit test output files with the pattern: TEST-.*\.xml$ in: /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats
[2020-08-27T17:53:35.086Z] runbld>>> Found 140 test output files
[2020-08-27T17:53:37.641Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-iis.xml
[2020-08-27T17:53:37.641Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-openmetrics.xml
[2020-08-27T17:53:37.641Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-activemq.xml
[2020-08-27T17:53:37.641Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-istio.xml
[2020-08-27T17:53:37.903Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-tomcat.xml
[2020-08-27T17:53:38.476Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-OSS-Go-Integration-tests/metricbeat/build/TEST-go-integration-graphite.xml
[2020-08-27T17:53:38.476Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats_PR-20827/src/github.com/elastic/beats/Metricbeat-OSS-Go-Integration-tests/metricbeat/build/TEST-go-integration-windows.xml
[2020-08-27T17:53:38.737Z] runbld>>> Test output logs contained: Errors: 0 Failures: 1 Tests: 21303 Skipped: 1560
[2020-08-27T17:53:38.998Z] runbld>>> Storing result
[2020-08-27T17:53:38.998Z] runbld>>> FAILURES: 1
[2020-08-27T17:53:39.581Z] runbld>>> Store result: updated {:total 2, :successful 2, :failed 0} 2
[2020-08-27T17:53:39.581Z] runbld>>> BUILD: https://c150076387b5421f9154dfbf536e5c60.us-west1.gcp.cloud.es.io:9243/build-1597739501209/t/20200827175331-2F875054
[2020-08-27T17:53:39.581Z] runbld>>> Email notification disabled by environment variable.
[2020-08-27T17:53:39.581Z] runbld>>> Slack notification disabled by environment variable.
[2020-08-27T17:53:45.065Z] Running on Jenkins in /var/lib/jenkins/workspace/Beats_beats_PR-20827
[2020-08-27T17:53:45.167Z] [INFO] getVaultSecret: Getting secrets
[2020-08-27T17:53:45.227Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2020-08-27T17:53:45.967Z] + chmod 755 generate-build-data.sh
[2020-08-27T17:53:45.967Z] + ./generate-build-data.sh https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-20827/ https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-20827/runs/3 FAILURE 4712793
[2020-08-27T17:53:45.967Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-20827/runs/3/steps/?limit=10000 -o steps-info.json
[2020-08-27T17:53:49.196Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-20827/runs/3/tests/?status=FAILED -o tests-errors.json
[2020-08-27T17:53:49.196Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-20827/runs/3/log/ -o pipeline-log.txt

@ph
Copy link
Contributor Author

ph commented Aug 27, 2020

The failures in the macOS X seems valid, but not related to this changes created a follow issue.
#20836

@ph ph merged commit 273ecae into elastic:master Aug 27, 2020
ph added a commit to ph/beats that referenced this pull request Aug 27, 2020
* [Build] Make mage-linux-amd64 statically compiled.

When I've upgraded my arch system, they have upgraded the libc library,
that libary is much newer than the library used in the crossbuild
docker images. This made building beats impossible because the
mage-linux-amd64 is compiled dynamically and used in all our docker
build.

This PR make the mage binary to be statically compiled so it doesn't
rely on any installed libraries.

(cherry picked from commit 273ecae)
@ph ph added v7.10.0 and removed needs_backport PR is waiting to be backported to other branches. labels Aug 27, 2020
ph added a commit to ph/beats that referenced this pull request Aug 27, 2020
* [Build] Make mage-linux-amd64 statically compiled.

When I've upgraded my arch system, they have upgraded the libc library,
that libary is much newer than the library used in the crossbuild
docker images. This made building beats impossible because the
mage-linux-amd64 is compiled dynamically and used in all our docker
build.

This PR make the mage binary to be statically compiled so it doesn't
rely on any installed libraries.

(cherry picked from commit 273ecae)
@ph ph added the v7.9.1 label Aug 27, 2020
ph added a commit that referenced this pull request Aug 31, 2020
* [Build] Make mage-linux-amd64 statically compiled.

When I've upgraded my arch system, they have upgraded the libc library,
that libary is much newer than the library used in the crossbuild
docker images. This made building beats impossible because the
mage-linux-amd64 is compiled dynamically and used in all our docker
build.

This PR make the mage binary to be statically compiled so it doesn't
rely on any installed libraries.

(cherry picked from commit 273ecae)
ph added a commit that referenced this pull request Sep 2, 2020
…ompiled. (#20838)

* [Build] Make mage-linux-amd64 statically compiled. (#20827)

* [Build] Make mage-linux-amd64 statically compiled.

When I've upgraded my arch system, they have upgraded the libc library,
that libary is much newer than the library used in the crossbuild
docker images. This made building beats impossible because the
mage-linux-amd64 is compiled dynamically and used in all our docker
build.

This PR make the mage binary to be statically compiled so it doesn't
rely on any installed libraries.

(cherry picked from commit 273ecae)

* changelog quirks
melchiormoulin pushed a commit to melchiormoulin/beats that referenced this pull request Oct 14, 2020
* [Build] Make mage-linux-amd64 statically compiled.

When I've upgraded my arch system, they have upgraded the libc library,
that libary is much newer than the library used in the crossbuild
docker images. This made building beats impossible because the
mage-linux-amd64 is compiled dynamically and used in all our docker
build.

This PR make the mage binary to be statically compiled so it doesn't
rely on any installed libraries.
leweafan pushed a commit to leweafan/beats that referenced this pull request Apr 28, 2023
…cally compiled. (elastic#20838)

* [Build] Make mage-linux-amd64 statically compiled. (elastic#20827)

* [Build] Make mage-linux-amd64 statically compiled.

When I've upgraded my arch system, they have upgraded the libc library,
that libary is much newer than the library used in the crossbuild
docker images. This made building beats impossible because the
mage-linux-amd64 is compiled dynamically and used in all our docker
build.

This PR make the mage binary to be statically compiled so it doesn't
rely on any installed libraries.

(cherry picked from commit 777eece)

* changelog quirks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review Team:Platforms Label for the Integrations - Platforms team Team:Services (Deprecated) Label for the former Integrations-Services team v7.9.1 v7.10.0 [zube]: In Review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants