From d4d3f38018a68c97bd9a748ef3ba109c24743574 Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Sun, 28 Jan 2018 05:59:50 -0500 Subject: Remove libkpod. Replace runtime generation function. Signed-off-by: Matthew Heon --- cmd/podman/utils.go | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 cmd/podman/utils.go (limited to 'cmd/podman/utils.go') diff --git a/cmd/podman/utils.go b/cmd/podman/utils.go new file mode 100644 index 000000000..a002966c8 --- /dev/null +++ b/cmd/podman/utils.go @@ -0,0 +1,53 @@ +package main + +import ( + "github.com/containers/storage" + "github.com/projectatomic/libpod/libpod" + "github.com/urfave/cli" +) + +// Generate a new libpod runtime configured by command line options +func getRuntime(c *cli.Context) (*libpod.Runtime, error) { + options := []libpod.RuntimeOption{} + + if c.GlobalIsSet("root") || c.GlobalIsSet("runroot") || + c.GlobalIsSet("storage-opt") { + storageOpts := storage.DefaultStoreOptions + + if c.GlobalIsSet("root") { + storageOpts.GraphRoot = c.GlobalString("root") + } + if c.GlobalIsSet("runroot") { + storageOpts.RunRoot = c.GlobalString("runroot") + } + // TODO add CLI option to set graph driver + if c.GlobalIsSet("storage-opt") { + storageOpts.GraphDriverOptions = c.GlobalStringSlice("storage-opt") + } + + options = append(options, libpod.WithStorageConfig(storageOpts)) + } + + // TODO CLI flags for image config? + // TODO CLI flag for signature policy? + + if c.GlobalIsSet("runtime") { + options = append(options, libpod.WithOCIRuntime(c.GlobalString("runtime"))) + } + + if c.GlobalIsSet("conmon") { + options = append(options, libpod.WithConmonPath(c.GlobalString("conmon"))) + } + + // TODO flag to set CGroup manager? + // TODO flag to set libpod static dir? + // TODO flag to set libpod tmp dir? + + if c.GlobalIsSet("cni-config-dir") { + options = append(options, libpod.WithCNIConfigDir(c.GlobalString("cni-config-dir"))) + } + + // TODO flag to set CNI plugins dir? + + return libpod.NewRuntime(options...) +} -- cgit v1.2.3-54-g00ecf From aa5798d28fef206e20556a312959dc58bb52f153 Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Sun, 28 Jan 2018 10:08:48 -0500 Subject: Honor storage-driver flag Signed-off-by: Matthew Heon --- .travis.yml | 4 +--- cmd/podman/utils.go | 6 ++++-- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'cmd/podman/utils.go') diff --git a/.travis.yml b/.travis.yml index d71867667..58de2614d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,6 +45,4 @@ jobs: - make integration go: 1.8.x -# Turn off notifications until we have our own channel (After rename) -# notifications: - irc: "chat.freenode.net#podman" +irc: "chat.freenode.net#podman" diff --git a/cmd/podman/utils.go b/cmd/podman/utils.go index a002966c8..4c42c8ff5 100644 --- a/cmd/podman/utils.go +++ b/cmd/podman/utils.go @@ -11,7 +11,7 @@ func getRuntime(c *cli.Context) (*libpod.Runtime, error) { options := []libpod.RuntimeOption{} if c.GlobalIsSet("root") || c.GlobalIsSet("runroot") || - c.GlobalIsSet("storage-opt") { + c.GlobalIsSet("storage-opt") || c.GlobalIsSet("storage-driver") { storageOpts := storage.DefaultStoreOptions if c.GlobalIsSet("root") { @@ -20,7 +20,9 @@ func getRuntime(c *cli.Context) (*libpod.Runtime, error) { if c.GlobalIsSet("runroot") { storageOpts.RunRoot = c.GlobalString("runroot") } - // TODO add CLI option to set graph driver + if c.GlobalIsSet("storage-driver") { + storageOpts.GraphDriverName = c.GlobalString("storage-driver") + } if c.GlobalIsSet("storage-opt") { storageOpts.GraphDriverOptions = c.GlobalStringSlice("storage-opt") } -- cgit v1.2.3-54-g00ecf