fix restore API endpoint

restore endpoint was totally ignoring --pod, it was missing from the schema and from query handling
on the api handlers side. add support for it here.

resolves #15018

Signed-off-by: cdoern <cbdoer23@g.holycross.edu>
This commit is contained in:
cdoern
2022-09-22 15:05:43 -04:00
parent 08993516a9
commit 2478e32ca3
3 changed files with 6 additions and 4 deletions

View File

@ -305,6 +305,7 @@ func Restore(w http.ResponseWriter, r *http.Request) {
PrintStats bool `schema:"printStats"`
FileLocks bool `schema:"fileLocks"`
PublishPorts string `schema:"publishPorts"`
Pod string `schema:"pod"`
}{
// override any golang type defaults
}
@ -324,6 +325,7 @@ func Restore(w http.ResponseWriter, r *http.Request) {
PrintStats: query.PrintStats,
FileLocks: query.FileLocks,
PublishPorts: strings.Fields(query.PublishPorts),
Pod: query.Pod,
}
var names []string

View File

@ -1516,6 +1516,10 @@ func (s *APIServer) registerContainersHandlers(r *mux.Router) error {
// name: printStats
// type: boolean
// description: add restore statistics to the returned RestoreReport
// - in: query
// name: pod
// type: string
// description: pod to restore into
// produces:
// - application/json
// responses:

View File

@ -1170,10 +1170,6 @@ var _ = Describe("Podman checkpoint", func() {
share := share // copy into local scope, for use inside function
It(testName, func() {
if podmanTest.Host.Distribution == "ubuntu" && IsRemote() {
Skip("FIXME: #15018. Cannot restore --pod under cgroupsV1 and remote")
}
if !criu.CheckForCriu(criu.PodCriuVersion) {
Skip("CRIU is missing or too old.")
}