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

Improve platform specific URL handling in podman compose for machines #23827

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

arixmkii
Copy link
Contributor

Use filepath utility instead of generic string replace to convert path on Windows. This also separates OS specific implementations to separate compilation sources and removes redundant check for virtualization provider on Windows platform.

Decision to use transport protocol is based on platform, not virtualization provider. podman-compose and docker-compose are external tools, which are virtualization provider agnostic. It is logical to separate the implementation into exclusive compilation units.

filepath transformation with prepend of the protocol looks more in line with how the thing is implemented for Unix sockets,

There should be no functional changes, so, no new tests provided. It should be regression tested if podman compose for machines was previously covered by e2e tests.

Does this PR introduce a user-facing change?

None

Copy link
Contributor

openshift-ci bot commented Aug 31, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: arixmkii
Once this PR has been reviewed and has the lgtm label, please assign ygalblum for approval. For more information see the Kubernetes Code Review Process.

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

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

Use filepath utility instead of generic string replace to convert path
on Windows. This also separates OS specific implementations to separate
compilation sources and removes redundant check for virtualization
provider on Windows platform.

Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
@arixmkii
Copy link
Contributor Author

arixmkii commented Sep 1, 2024

There is no e2e tests for machine using compose. One could be created, but first of all there should be a principal decision on how to handle docker-compose tool download (per platform) - from test source, from build script (similar to how it is done for gvproxy) or just assume that tool will be there in the CI runners. Next step would be to add some simple compose yaml into test sources to pass as a parameter to the commands of podman compose up --wait and podman compose down.

There is possibility that this sort of test was not added in the first place to save on network traffic and CI time.

@Luap99
Copy link
Member

Luap99 commented Sep 2, 2024

There is possibility that this sort of test was not added in the first place to save on network traffic and CI time.

Yes that is a big concern, machine tests are already slow enough we should not add a ton of other stuff there.
podman compose is already tested in the compose test linux only and without machine integration of course.

One option is to mock docker-compose (like in test/system/850-compose.bats) and then just ensure DOCKER_HOST is set correctly for all the machine providers without actually spinning up containers because that is already tested in the compose test.

Copy link

github-actions bot commented Oct 3, 2024

A friendly reminder that this PR had no activity for 30 days.

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

Successfully merging this pull request may close these issues.

2 participants