diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-11-13 16:44:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-13 16:44:45 +0100 |
commit | 6d9d9fee30b5982858d51a666f0c335ba47323a0 (patch) | |
tree | ef3ceeb9326ca6710a8bbbe7983cd01bafdcd21a | |
parent | 0b1a60ec27928a40ac827148c1517098612616bd (diff) | |
parent | eab0905fa16bf2b5a9efdab3b6e6d6a1e321e4f2 (diff) | |
download | podman-6d9d9fee30b5982858d51a666f0c335ba47323a0.tar.gz podman-6d9d9fee30b5982858d51a666f0c335ba47323a0.tar.bz2 podman-6d9d9fee30b5982858d51a666f0c335ba47323a0.zip |
Merge pull request #8326 from Luap99/fix-build-namespace
Fix namespace flag parsing for podman build
-rw-r--r-- | cmd/podman/images/build.go | 40 | ||||
-rw-r--r-- | docs/source/markdown/podman-build.1.md | 2 |
2 files changed, 3 insertions, 39 deletions
diff --git a/cmd/podman/images/build.go b/cmd/podman/images/build.go index 5d0208c63..ccae25276 100644 --- a/cmd/podman/images/build.go +++ b/cmd/podman/images/build.go @@ -14,7 +14,6 @@ import ( "github.com/containers/podman/v2/cmd/podman/utils" "github.com/containers/podman/v2/pkg/domain/entities" "github.com/docker/go-units" - "github.com/opencontainers/runtime-spec/specs-go" "github.com/pkg/errors" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -128,6 +127,7 @@ func buildFlags(flags *pflag.FlagSet) { } flags.AddFlagSet(&fromAndBudFlags) _ = flags.MarkHidden("signature-policy") + flags.SetNormalizeFunc(buildahCLI.AliasFlags) } // build executes the build command. @@ -314,22 +314,11 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil } } - nsValues, err := getNsValues(flags) + nsValues, networkPolicy, err := parse.NamespaceOptions(c) if err != nil { return nil, err } - networkPolicy := buildah.NetworkDefault - for _, ns := range nsValues { - if ns.Name == "none" { - networkPolicy = buildah.NetworkDisabled - break - } else if !filepath.IsAbs(ns.Path) { - networkPolicy = buildah.NetworkEnabled - break - } - } - // `buildah bud --layers=false` acts like `docker build --squash` does. // That is all of the new layers created during the build process are // condensed into one, any layers present prior to this build are retained @@ -450,28 +439,3 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil return &entities.BuildOptions{BuildOptions: opts}, nil } - -func getNsValues(flags *buildFlagsWrapper) ([]buildah.NamespaceOption, error) { - var ret []buildah.NamespaceOption - if flags.Network != "" { - switch { - case flags.Network == "host": - ret = append(ret, buildah.NamespaceOption{ - Name: string(specs.NetworkNamespace), - Host: true, - }) - case flags.Network == "container": - ret = append(ret, buildah.NamespaceOption{ - Name: string(specs.NetworkNamespace), - }) - case flags.Network[0] == '/': - ret = append(ret, buildah.NamespaceOption{ - Name: string(specs.NetworkNamespace), - Path: flags.Network, - }) - default: - return nil, errors.Errorf("unsupported configuration network=%s", flags.Network) - } - } - return ret, nil -} diff --git a/docs/source/markdown/podman-build.1.md b/docs/source/markdown/podman-build.1.md index 130d3365e..6fdfc6aec 100644 --- a/docs/source/markdown/podman-build.1.md +++ b/docs/source/markdown/podman-build.1.md @@ -394,7 +394,7 @@ The format of `LIMIT` is `<number>[<unit>]`. Unit can be `b` (bytes), `k` (kilobytes), `m` (megabytes), or `g` (gigabytes). If you don't specify a unit, `b` is used. Set LIMIT to `-1` to enable unlimited swap. -#### **--network**=*mode* +#### **--network**=*mode*, **--net** Sets the configuration for network namespaces when handling `RUN` instructions. |