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

Mismatch between quadlet options and kube play options? #18661

Closed
void-spark opened this issue May 23, 2023 · 6 comments
Closed

Mismatch between quadlet options and kube play options? #18661

void-spark opened this issue May 23, 2023 · 6 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. quadlet

Comments

@void-spark
Copy link

Feature request description

Actually more of a question than a real request.

I noticed that podman play kube supports more options on the commandline, than can be provided using a 'kube' unit with quadlet, I think...
A example that stands out in my case is '--ip', but also '--log-driver' if I'm not mistaken.
I think there are several more?
I wonder if this is intentional, unfinished, or accidental, or am I just missing something? :)
I can see this being a intentional design choice, I don't have enough overview yet to understand that.
Or maybe I've missed something in the manual :)

Suggest potential solution

If this is not by design, additional options could be added to the 'kube' unit file for all missing arguments that play kube supports.
Or if kube play moves quicker than quadlet, it's possible to add a 'ExtraArgs' option or such which gets passed directly to kube

Have you considered any alternatives?

A workaround is to just copy the generated systemd unit file, and manually modify that.
You don't use quadlet anymore then, but I don't think that makes much difference at the moment?

Additional context

No response

@void-spark void-spark added the kind/feature Categorizes issue or PR as related to a new feature. label May 23, 2023
@Luap99
Copy link
Member

Luap99 commented May 23, 2023

I would not recommend using --ip, you can set the ip via the network options: --network name:ip=.... this is important when you use more then one network which will not work when using --ip.

Regardless IP= is supported in the container unit so there shouldn't be a reason to not add it to the kube unit as well. Also there is already a PodmanArgs= key in the container unit to set arbitrary args, I guess we should support the same for kube?

cc @vrothberg @ygalblum

@Luap99 Luap99 added the quadlet label May 23, 2023
@ygalblum
Copy link
Contributor

Some entries were not implemented initially because Quadlet started off more opinionated that it currently is. Now that it is un-opinionated, I don't think there is any formal reason not to implement the support of any of the keys.

Having said that, we do not wish to mandate that each and every argument be supported (to avoid release issues). So, users are more than welcomed to open PRs adding new keys. Please note that the support for LogDriver was already added to the code base.

One thing though, I think we should add the support for the PodmanArgs= key to the Kube section to provide a workaround for any missing key.

@ygalblum
Copy link
Contributor

I've opened #18670 to address the missing PodmanArgs key in .kube, .network and .volume files.

Should I add that it resolves this issue, or is there anything else we want to address for this one?

@void-spark
Copy link
Author

For me (OP :)) I have all my answers at least, I didn't realize instead of --ip I could use --network, so the Network key in quadlet-kube, that helps!
And knowing LogDriver will be in the next version is helpful, also I'm figuring out if the current hard default from quadlet 'passthrough' would be a acceptable/better option for us, right now we use journald, I kinda get what passthrough does now, it literally passes through to the calling process, which is systemd, so that systemd now handles the logs. On 4.4.1-rhel (the one we use now, it would have been nice if it actually shows that in the version instead of 4.4.1 :) ) it will break podman log commands, but I think we're ok with just journalctl. Just figuring out which -u or -t options to use with it to get the different logs, and how/if that is different from using journald :)

@ygalblum
Copy link
Contributor

Following @void-spark's comment and the merge of #18670, I'm closing this issue.

@Luap99
Copy link
Member

Luap99 commented May 24, 2023

it will break podman log commands, but I think we're ok with just journalctl.

It will work with v4.5+ (#17502)

@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Aug 23, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/feature Categorizes issue or PR as related to a new feature. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. quadlet
Projects
None yet
Development

No branches or pull requests

3 participants