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

test composefs on rawhide #22425

Merged
merged 1 commit into from
Jul 11, 2024

Conversation

edsantiago
Copy link
Member

@edsantiago edsantiago commented Apr 18, 2024

Run root e2e & system tests using composefs on rawhide.

Write magic settings to storage.conf. That part is easy.

e2e tests, however, ignore storage.conf. They require everything
to be specified on the command line. And "everything", in the
case of composefs, includes a long complicated --pull-options
string which in turn requires containers-storage PR 1966
which, as of this writing, is finally vendored into podman.

Signed-off-by: Ed Santiago santiago@redhat.com

None

@openshift-ci openshift-ci bot added release-note-none approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Apr 18, 2024
@rhatdan
Copy link
Member

rhatdan commented Apr 18, 2024

Thanks @edsantiago LGTM

Copy link

Ephemeral COPR build failed. @containers/packit-build please check.

@edsantiago
Copy link
Member Author

Failures so far:

mkcomposefs: Invalid integer 628
  • int (all of them):
# podman [options] save -o /tmp/quay.io-libpod-cirros-latest.tar quay.io/libpod/cirros:latest
Copying blob sha256:b993cfcfd8fdc2731b308222fce8b5ce7a681780ab276b6a23e1b0fe3ce06bbb
Copying blob sha256:aa107a40759291c596cd432ca14cf15e781b91cf82121dc5a335eb734cafe1c4
Copying blob sha256:858d98ac489379d0c34c20811558091180c724d7d185693c3a601ba8c0a1cedf
Error: writing blob: archive/tar: write too long
# podman-remote --url unix:///tmp/podman_tmp_ijkO run -d --name myweb -p 5054:80 -v /tmp/podman_bats.CpsvZW/myimage-D4TDFZjD.tar:/var/www/image.tar:Z -w /var/www quay.io/libpod/testimage:20240123 /bin/busybox-extras httpd -f -p 80
Trying to pull quay.io/libpod/testimage:20240123...
...
Writing manifest to image destination
Error: committing the finished image: \
     failed to put layer using a partial pull: \
          rename /var/lib/containers/storage/overlay/staging/2508350620 /var/lib/containers/storage/overlay/SHA/diff: no such file or directory

@Luap99
Copy link
Member

Luap99 commented Apr 18, 2024

Failures so far:

* [Swagger](https://cirrus-ci.com/task/5151327842467840):
mkcomposefs: Invalid integer 628

Tacked in #22422

Maybe file new issues for the other ones

@edsantiago
Copy link
Member Author

mkcomposefs: Invalid integer 628

I'm like 90% sure that 628 is a valid integer, but I don't have enough fingers and toes to confirm.

@edsantiago edsantiago force-pushed the test-composefs branch 4 times, most recently from 569e322 to d694396 Compare April 26, 2024 01:17
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 27, 2024
@edsantiago edsantiago force-pushed the test-composefs branch 2 times, most recently from 9b2045e to 1dfde92 Compare April 29, 2024 14:06
@openshift-merge-robot openshift-merge-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Apr 29, 2024
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 1, 2024
@edsantiago edsantiago added the bloat_approved Approve a PR in which binary file size grows by over 50k label May 2, 2024
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 10, 2024
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 10, 2024
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 13, 2024
@edsantiago
Copy link
Member Author

Failing rootless:

Error: configure storage: composefs is not supported in user namespaces

This is with c-storage @ main as of this morning.

@giuseppe
Copy link
Member

Failing rootless:

Error: configure storage: composefs is not supported in user namespaces

This is with c-storage @ main as of this morning.

that is expected. composefs doesn't work with rootless as it needs to mount EROFS

@edsantiago edsantiago force-pushed the test-composefs branch 2 times, most recently from 69f7e01 to b316833 Compare June 18, 2024 13:54
@edsantiago edsantiago force-pushed the test-composefs branch 2 times, most recently from 4c382de to 0360870 Compare June 18, 2024 14:55
@edsantiago
Copy link
Member Author

Vendoring in c-image, storage, common @ main yields:

CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build \
         \
        -ldflags '-X github.com/containers/podman/v5/libpod/define.gitCommit=cb98e769e6be7dc22662889580e49b41ae64817b -X github.com/containers/podman/v5/libpod/define.buildInfo=1720019889 -X github.com/containers/podman/v5/libpod/config._installPrefix=/usr/local -X github.com/containers/podman/v5/libpod/config._etcDir=/etc -X github.com/containers/podman/v5/pkg/systemd/quadlet._binDir=/home/esm/bin/x86_64 -X github.com/containers/common/pkg/config.additionalHelperBinariesDir= ' \
        -tags "   systemd libsubid exclude_graphdriver_devicemapper seccomp " \
        -o bin/podman ./cmd/podman
# github.com/containers/podman/v5/pkg/api/handlers/compat
pkg/api/handlers/compat/containers.go:394:16: cannot use struct{NetworkMode string `json:",omitempty"`}{…} (value of type struct{NetworkMode string "json:\",omitempty\""}) as struct{NetworkMode string "json:\",omitempty\""; Annotations map[string]string "json:\",omitempty\""} value in struct literal
pkg/api/handlers/compat/networks.go:201:24: cannot use networkCreate.EnableIPv6 (variable of type *bool) as bool value in assignment
pkg/api/handlers/compat/system.go:60:16: cannot use struct{NetworkMode string `json:",omitempty"`}{} (value of type struct{NetworkMode string "json:\",omitempty\""}) as struct{NetworkMode string "json:\",omitempty\""; Annotations map[string]string "json:\",omitempty\""} value in struct literal
make: *** [Makefile:380: bin/podman] Error 1

cc @mheon

@Luap99
Copy link
Member

Luap99 commented Jul 3, 2024

That is the docker update: #23093

Run root e2e & system tests using composefs on rawhide.

Write magic settings to storage.conf. That part is easy.

e2e tests, however, ignore storage.conf. They require everything
to be specified on the command line. And "everything", in the
case of composefs, includes a long complicated --pull-options
string which in turn requires containers-storage PR 1966
which, as of this writing, is finally vendored into podman.

Signed-off-by: Ed Santiago <santiago@redhat.com>
@edsantiago edsantiago changed the title [DO NOT MERGE] test composefs test composefs on rawhide Jul 10, 2024
@edsantiago edsantiago removed the bloat_approved Approve a PR in which binary file size grows by over 50k label Jul 10, 2024
Copy link
Member Author

@edsantiago edsantiago left a comment

Choose a reason for hiding this comment

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

This is ready for review, although I foresee (and welcome!) challenges to some of my decisions.

@@ -263,7 +263,7 @@ Set default `--storage-driver` value.

#### **STORAGE_OPTS**

Set default `--storage-opts` value.
Set default `--storage-opt` value.
Copy link
Member Author

Choose a reason for hiding this comment

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

Completely unrelated to my PR, I'm just sneaking this in as a drive-by fix

Comment on lines +317 to +321
// Look for STORAGE_OPTIONS_OVERLAY / STORAGE_OPTIONS_VFS
extraOptions := os.Getenv("STORAGE_OPTIONS_" + strings.ToUpper(storageFs))
if extraOptions != "" {
storageOptions += " --storage-opt " + extraOptions
}
Copy link
Member Author

Choose a reason for hiding this comment

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

New behavior. I think it makes sense to require separate envariables for each storage fs, but please shoot down if you disagree.

STORAGE_FS = "overlay" //nolint:revive,stylecheck
STORAGE_OPTIONS = "--storage-driver overlay" //nolint:revive,stylecheck
ROOTLESS_STORAGE_FS = "overlay" //nolint:revive,stylecheck
ROOTLESS_STORAGE_OPTIONS = "--storage-driver overlay" //nolint:revive,stylecheck
Copy link
Member Author

Choose a reason for hiding this comment

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

ROOTLESS_STORAGE_OPTIONS was nuked in #18544. (The rest of this block is whitespace-only. Same with the next two config_xxx.go files).

Copy link
Member

@Luap99 Luap99 left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

@giuseppe giuseppe left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jul 11, 2024
Copy link
Contributor

openshift-ci bot commented Jul 11, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: edsantiago, giuseppe, Luap99

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

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [Luap99,edsantiago,giuseppe]

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

@openshift-merge-bot openshift-merge-bot bot merged commit 7cc9b41 into containers:main Jul 11, 2024
89 checks passed
@edsantiago edsantiago deleted the test-composefs branch July 11, 2024 10:48
@stale-locking-app stale-locking-app bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Oct 10, 2024
@stale-locking-app stale-locking-app bot locked as resolved and limited conversation to collaborators Oct 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. release-note-none
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants