Skip to content

[release-v0.12] Allow dynamic linking of binaries#214

Merged
kubevirt-bot merged 3 commits intokubevirt:release-v0.12from
awels:dll_012
Jun 20, 2023
Merged

[release-v0.12] Allow dynamic linking of binaries#214
kubevirt-bot merged 3 commits intokubevirt:release-v0.12from
awels:dll_012

Conversation

@awels
Copy link
Copy Markdown
Member

@awels awels commented Jun 16, 2023

  • Allow dynamic linking of binaries

The release was creating statically linked binaries and there is no particular reason for this. Doing
dynamically linked binaries would decrase the container size.

  • Updated fedora to 37 so it has a recent enough glibc Added glibc to the Dockerfile so the binaries can run Fixed failing functional test that was not calculating the size properly from the df -Bk command. It was calculating from 1000 instead of 1024 and the size was wrong because of it.

What this PR does / why we need it:
Backport of #205
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Special notes for your reviewer:

Release note:

NONE

* Allow dynamic linking of binaries

The release was creating statically linked binaries
and there is no particular reason for this. Doing
dynamically linked binaries would decrase the container
size.

Signed-off-by: Alexander Wels <awels@redhat.com>

* Updated fedora to 37 so it has a recent enough glibc
Added glibc to the Dockerfile so the binaries can run
Fixed failing functional test that was not calculating
the size properly from the `df -Bk` command. It was
calculating from 1000 instead of 1024 and the size was
wrong because of it.

Signed-off-by: Alexander Wels <awels@redhat.com>

---------

Signed-off-by: Alexander Wels <awels@redhat.com>
@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. labels Jun 16, 2023
@kubevirt-bot kubevirt-bot requested review from aglitke and maya-r June 16, 2023 19:36
* Instead of passing environment variables, export them in Makefile

This passes them to all subprocesses, but they can still be overridden
due to the ?= construct.

Signed-off-by: Maya Rashish <mrashish@redhat.com>

* Build sanity.test statically

Avoid failure when the binary is built with Fedora 36 and thus
requires newer glibc symbols than the container.

Signed-off-by: Maya Rashish <mrashish@redhat.com>

* Switch to buildah & podman, enable multi-arch builds

Now we can run:
make clean && \
GOARCH=arm64 make manifest && GOARCH=amd64 make manifest && \
make manifest-push

And spit out a manifest for both arm64 and amd64, in the same image.

Caveats:
- We have a special 'manifest-clean' target, as we can add arbitrarily
  many images to a manifest and don't want the old ones.
  Delete old image in case a regular non-manifest image exists by the
  same name, too.
- The push and image/manifest creation are split, so we can run the
  image creation for more than one architecture and push the combined
  manifest including both.
- We keep `make push` behaving the same to avoid breaking CI.
- Full DOCKER_REPO name is used, as podman-like tools have odd behavior
  with short names.

Signed-off-by: Maya Rashish <mrashish@redhat.com>

* Tolerate docker instead of podman

Signed-off-by: Maya Rashish <mrashish@redhat.com>

* Only add --tls-verify=false if the registry matches localhost*

Add a message about this, too

Signed-off-by: Maya Rashish <mrashish@redhat.com>
Signed-off-by: Alexander Wels <awels@redhat.com>
@awels
Copy link
Copy Markdown
Member Author

awels commented Jun 20, 2023

/approve

@kubevirt-bot
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: awels

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubevirt-bot kubevirt-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 20, 2023
@awels
Copy link
Copy Markdown
Member Author

awels commented Jun 20, 2023

/override pull-hostpath-provisioner-k8s-e2e-storage

@kubevirt-bot
Copy link
Copy Markdown

@awels: Overrode contexts on behalf of awels: pull-hostpath-provisioner-k8s-e2e-storage

Details

In response to this:

/override pull-hostpath-provisioner-k8s-e2e-storage

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@akalenyu
Copy link
Copy Markdown
Collaborator

/lgtm

@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Jun 20, 2023
@kubevirt-bot kubevirt-bot merged commit 5f90aeb into kubevirt:release-v0.12 Jun 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. lgtm Indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note. size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants