summaryrefslogtreecommitdiff
path: root/cmd/podman/common/util.go
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2020-05-29 10:35:22 +0200
committerValentin Rothberg <rothberg@redhat.com>2020-06-11 11:01:13 +0200
commitcf89bb671184e453c4ba5f27e26d02216d8fc491 (patch)
treeed707e35dcae297a60e97150bc407d9a5ea5ff80 /cmd/podman/common/util.go
parent7d71d24440afbf30689c53c2c69205072e4b029f (diff)
downloadpodman-cf89bb671184e453c4ba5f27e26d02216d8fc491.tar.gz
podman-cf89bb671184e453c4ba5f27e26d02216d8fc491.tar.bz2
podman-cf89bb671184e453c4ba5f27e26d02216d8fc491.zip
container-{create,run}: add `--pod-id-file`
Allow containers to join an existing pod via the `--pod-id-file` which is already supported by a number of `podman-pod` subcommands. Also add tests to make sure it's working and to prevent future regressions. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'cmd/podman/common/util.go')
-rw-r--r--cmd/podman/common/util.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/cmd/podman/common/util.go b/cmd/podman/common/util.go
index a3626b4e4..422e241af 100644
--- a/cmd/podman/common/util.go
+++ b/cmd/podman/common/util.go
@@ -1,6 +1,7 @@
package common
import (
+ "io/ioutil"
"net"
"strconv"
"strings"
@@ -10,6 +11,30 @@ import (
"github.com/sirupsen/logrus"
)
+// ReadPodIDFile reads the specified file and returns its content (i.e., first
+// line).
+func ReadPodIDFile(path string) (string, error) {
+ content, err := ioutil.ReadFile(path)
+ if err != nil {
+ return "", errors.Wrap(err, "error reading pod ID file")
+ }
+ return strings.Split(string(content), "\n")[0], nil
+}
+
+// ReadPodIDFiles reads the specified files and returns their content (i.e.,
+// first line).
+func ReadPodIDFiles(files []string) ([]string, error) {
+ ids := []string{}
+ for _, file := range files {
+ id, err := ReadPodIDFile(file)
+ if err != nil {
+ return nil, err
+ }
+ ids = append(ids, id)
+ }
+ return ids, nil
+}
+
// createExpose parses user-provided exposed port definitions and converts them
// into SpecGen format.
// TODO: The SpecGen format should really handle ranges more sanely - we could