-
Notifications
You must be signed in to change notification settings - Fork 64
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
Any plans to support podman 3.0.0 #89
Comments
Hi @chris-rock , thank you for reaching out. Tests with podman 3.0 rc where successful and but it seems that a last minute API change is a show-stopper. See containers/podman#9351 Also there are various ubuntu related setup/upgrade problems which is worse given the fact that only 3.0 is available in their repository, see containers/podman#9358 . For now we're waiting for a point release to see if it improves the API situation. Otherwise we can, of course, react with some version checking and if/else API adapters. |
Thank you for the quick feedback. I using alpine edge and it already ships the latest podman 3 as a package. |
@chris-rock @towe75 The incompatible change was introduced accidentally. It should be fixed in |
@matejvasek : thank you for keeping us posted! |
That is great. Thank you @matejvasek @towe75 Once podman 3.0.1 is alpine, I am going to do another try... |
@matejvasek : 3.0.1 is out and i checked if our plugin "just works". I can see that the podman gh issue is resolved but it's a long, convoluted thread and i can not see if the API request works now as planed. Fact is that i still have to adopt our codebase. We're using "/v1.0.0/libpod/containers/%s/wait?condition=%s" but only "/v1.0.0/libpod/containers/%s/wait?condition[]=%s" (note the brackets!) seems to do the job. Should i open another issue or is it what you want to do in this API? It's a bit annoying to add the brackets even if i only wait on one state. |
@towe75 hmm, let me check, I tried it with something like |
the brackets break functionality for me: |
how did you figure to put it there, I mean brackets? |
I think that |
I see only call is |
@matejvasek : my bad, sorry. I ran into a combination of:
I will improve the unit test and recheck. Thank you again for checking! 🍻 |
AFAIK collection via URI can be passed as |
How long running it the container in question? Maybe it starts and ends so fast the |
IMO the |
Something like: // ContainerStart starts a container via id or name
func (c *API) ContainerStart(ctx context.Context, name string) error {
waitErrChan := make(chan error, 1)
go func() {
// wait max 10 seconds for running state
// TODO: make timeout configurable
timeout, cancel := context.WithTimeout(ctx, time.Second*10)
defer cancel()
waitErrChan <- c.ContainerWait(timeout, name, "running")
}()
res, err := c.Post(ctx, fmt.Sprintf("/v1.0.0/libpod/containers/%s/start", name), nil)
if err != nil {
return err
}
defer res.Body.Close()
if res.StatusCode != http.StatusNoContent {
body, _ := ioutil.ReadAll(res.Body)
return fmt.Errorf("unknown error, status code: %d: %s", res.StatusCode, body)
}
return <-waitErrChan
} |
If the issues is short living container then you could try adding |
@matejvasek : yes, my problem is indeed related to (very) short living test containers. |
Important: |
It's bug but not new to podman v3, as far as I can tell. |
@towe75 How short living the container is? |
@matejvasek : i improved the code slightly via #91 . The real fix is part of the fundamental changes in #80 where we subscribe to the podman event stream instead of polling stats etc. @chris-rock : sorry for some noise in this issue. You can give it another try with podman 3.0.1 and the latest 0.2.0 plugin release. |
Hello, I'm using the 0.2.0 release of the plugin, and Podman version 3.0.1: still, I'm having issues starting a container. The error message I get is the following: I call this an issue because before updating the Podman binary, the very same Nomad job would run without this error, on Podman version 2.2.1. |
@Procsiab : i did not see such behavior in any test setup, sorry. Does the same container/image work if you start it manually? do you use any "special" flags when you run it without nomad? |
Speaking about how am I running the job: is the 3 container setup for a NextCloud install; I am using the
By "starting manually" you mean trying to run it from the Podman CLI? In that case, I tried a simpler test first:
After these experiments, I have a good feeling that the new Podman version requires some tweaking for limiting CPU and RAM resources in a rootless configuration, speaking of which: I have a dedicated unprivileged account called EDIT: I found the solution by enabling CPU limit delegation, as explained in the official Podman troubleshooting guide. |
Podman 3.0.0 has just landed and I was wondering if nomad is going to support the latest version?
The text was updated successfully, but these errors were encountered: