Skip to content

Commit a5ab59e

Browse files
Merge pull request #9273 from mheon/backport_api_changes
[v3.0] Backport final breaking API change to v3.0
2 parents bcf7d43 + f645880 commit a5ab59e

File tree

148 files changed

+2348
-3038
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+2348
-3038
lines changed

cmd/podman/common/create.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -474,29 +474,29 @@ func DefineCreateFlags(cmd *cobra.Command, cf *ContainerCLIOpts) {
474474
)
475475
_ = cmd.RegisterFlagCompletionFunc(oomScoreAdjFlagName, completion.AutocompleteNone)
476476

477-
overrideArchFlagName := "override-arch"
477+
archFlagName := "arch"
478478
createFlags.StringVar(
479-
&cf.OverrideArch,
480-
overrideArchFlagName, "",
479+
&cf.Arch,
480+
archFlagName, "",
481481
"use `ARCH` instead of the architecture of the machine for choosing images",
482482
)
483-
_ = cmd.RegisterFlagCompletionFunc(overrideArchFlagName, completion.AutocompleteNone)
483+
_ = cmd.RegisterFlagCompletionFunc(archFlagName, completion.AutocompleteArch)
484484

485-
overrideOSFlagName := "override-os"
485+
osFlagName := "os"
486486
createFlags.StringVar(
487-
&cf.OverrideOS,
488-
overrideOSFlagName, "",
487+
&cf.OS,
488+
osFlagName, "",
489489
"use `OS` instead of the running OS for choosing images",
490490
)
491-
_ = cmd.RegisterFlagCompletionFunc(overrideOSFlagName, completion.AutocompleteNone)
491+
_ = cmd.RegisterFlagCompletionFunc(osFlagName, completion.AutocompleteOS)
492492

493-
overrideVariantFlagName := "override-variant"
493+
variantFlagName := "variant"
494494
createFlags.StringVar(
495-
&cf.OverrideVariant,
496-
overrideVariantFlagName, "",
495+
&cf.Variant,
496+
variantFlagName, "",
497497
"Use _VARIANT_ instead of the running architecture variant for choosing images",
498498
)
499-
_ = cmd.RegisterFlagCompletionFunc(overrideVariantFlagName, completion.AutocompleteNone)
499+
_ = cmd.RegisterFlagCompletionFunc(variantFlagName, completion.AutocompleteNone)
500500

501501
pidFlagName := "pid"
502502
createFlags.String(
@@ -516,7 +516,7 @@ func DefineCreateFlags(cmd *cobra.Command, cf *ContainerCLIOpts) {
516516
createFlags.StringVar(
517517
&cf.Platform,
518518
platformFlagName, "",
519-
"Specify the platform for selecting the image. (Conflicts with override-arch and override-os)",
519+
"Specify the platform for selecting the image. (Conflicts with --arch and --os)",
520520
)
521521
_ = cmd.RegisterFlagCompletionFunc(platformFlagName, completion.AutocompleteNone)
522522

cmd/podman/common/create_opts.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ type ContainerCLIOpts struct {
7474
NoHealthCheck bool
7575
OOMKillDisable bool
7676
OOMScoreAdj int
77-
OverrideArch string
78-
OverrideOS string
79-
OverrideVariant string
77+
Arch string
78+
OS string
79+
Variant string
8080
PID string
8181
PIDsLimit *int64
8282
Platform string
@@ -347,9 +347,9 @@ func ContainerCreateToContainerCLIOpts(cc handlers.CreateContainerConfig, cgroup
347347
LogOptions: stringMaptoArray(cc.HostConfig.LogConfig.Config),
348348
Name: cc.Name,
349349
OOMScoreAdj: cc.HostConfig.OomScoreAdj,
350-
OverrideArch: "",
351-
OverrideOS: "",
352-
OverrideVariant: "",
350+
Arch: "",
351+
OS: "",
352+
Variant: "",
353353
PID: string(cc.HostConfig.PidMode),
354354
PIDsLimit: cc.HostConfig.PidsLimit,
355355
Privileged: cc.HostConfig.Privileged,

cmd/podman/containers/create.go

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -237,17 +237,20 @@ func pullImage(imageName string) (string, error) {
237237
imageMissing = !br.Value
238238
}
239239

240-
if cliVals.Platform != "" {
241-
if cliVals.OverrideArch != "" || cliVals.OverrideOS != "" {
242-
return "", errors.Errorf("--platform option can not be specified with --override-arch or --override-os")
243-
}
244-
split := strings.SplitN(cliVals.Platform, "/", 2)
245-
cliVals.OverrideOS = split[0]
246-
if len(split) > 1 {
247-
cliVals.OverrideArch = split[1]
240+
if cliVals.Platform != "" || cliVals.Arch != "" || cliVals.OS != "" {
241+
if cliVals.Platform != "" {
242+
if cliVals.Arch != "" || cliVals.OS != "" {
243+
return "", errors.Errorf("--platform option can not be specified with --arch or --os")
244+
}
245+
split := strings.SplitN(cliVals.Platform, "/", 2)
246+
cliVals.OS = split[0]
247+
if len(split) > 1 {
248+
cliVals.Arch = split[1]
249+
}
248250
}
251+
249252
if pullPolicy != config.PullImageAlways {
250-
logrus.Info("--platform causes the pull policy to be \"always\"")
253+
logrus.Info("--platform --arch and --os causes the pull policy to be \"always\"")
251254
pullPolicy = config.PullImageAlways
252255
}
253256
}
@@ -259,9 +262,9 @@ func pullImage(imageName string) (string, error) {
259262
pullReport, pullErr := registry.ImageEngine().Pull(registry.GetContext(), imageName, entities.ImagePullOptions{
260263
Authfile: cliVals.Authfile,
261264
Quiet: cliVals.Quiet,
262-
OverrideArch: cliVals.OverrideArch,
263-
OverrideOS: cliVals.OverrideOS,
264-
OverrideVariant: cliVals.OverrideVariant,
265+
Arch: cliVals.Arch,
266+
OS: cliVals.OS,
267+
Variant: cliVals.Variant,
265268
SignaturePolicy: cliVals.SignaturePolicy,
266269
PullPolicy: pullPolicy,
267270
})

cmd/podman/containers/kill.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ package containers
22

33
import (
44
"context"
5-
"errors"
65
"fmt"
6+
"io/ioutil"
7+
"strings"
78

89
"github.com/containers/common/pkg/completion"
910
"github.com/containers/podman/v2/cmd/podman/common"
@@ -12,6 +13,7 @@ import (
1213
"github.com/containers/podman/v2/cmd/podman/validate"
1314
"github.com/containers/podman/v2/pkg/domain/entities"
1415
"github.com/containers/podman/v2/pkg/signal"
16+
"github.com/pkg/errors"
1517
"github.com/spf13/cobra"
1618
)
1719

@@ -59,7 +61,7 @@ func killFlags(cmd *cobra.Command) {
5961
flags.StringVarP(&killOptions.Signal, signalFlagName, "s", "KILL", "Signal to send to the container")
6062
_ = cmd.RegisterFlagCompletionFunc(signalFlagName, common.AutocompleteStopSignal)
6163
cidfileFlagName := "cidfile"
62-
flags.StringArrayVar(&killOptions.CIDFiles, cidfileFlagName, []string{}, "Read the container ID from the file")
64+
flags.StringArrayVar(&cidFiles, cidfileFlagName, []string{}, "Read the container ID from the file")
6365
_ = cmd.RegisterFlagCompletionFunc(cidfileFlagName, completion.AutocompleteDefault)
6466
}
6567

@@ -94,6 +96,15 @@ func kill(_ *cobra.Command, args []string) error {
9496
if sig < 1 || sig > 64 {
9597
return errors.New("valid signals are 1 through 64")
9698
}
99+
for _, cidFile := range cidFiles {
100+
content, err := ioutil.ReadFile(string(cidFile))
101+
if err != nil {
102+
return errors.Wrap(err, "error reading CIDFile")
103+
}
104+
id := strings.Split(string(content), "\n")[0]
105+
args = append(args, id)
106+
}
107+
97108
responses, err := registry.ContainerEngine().ContainerKill(context.Background(), args, killOptions)
98109
if err != nil {
99110
return err

cmd/podman/containers/ps.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func listFlagSet(cmd *cobra.Command) {
7878
flags := cmd.Flags()
7979

8080
flags.BoolVarP(&listOpts.All, "all", "a", false, "Show all the containers, default is only running containers")
81-
flags.BoolVar(&listOpts.Storage, "external", false, "Show containers in storage not controlled by Podman")
81+
flags.BoolVar(&listOpts.External, "external", false, "Show containers in storage not controlled by Podman")
8282

8383
filterFlagName := "filter"
8484
flags.StringSliceVarP(&filters, filterFlagName, "f", []string{}, "Filter output based on conditions given")
@@ -132,10 +132,10 @@ func checkFlags(c *cobra.Command) error {
132132
}
133133
cfg := registry.PodmanConfig()
134134
if cfg.Engine.Namespace != "" {
135-
if c.Flag("storage").Changed && listOpts.Storage {
136-
return errors.New("--namespace and --storage flags can not both be set")
135+
if c.Flag("storage").Changed && listOpts.External {
136+
return errors.New("--namespace and --external flags can not both be set")
137137
}
138-
listOpts.Storage = false
138+
listOpts.External = false
139139
}
140140

141141
return nil

cmd/podman/containers/rm.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package containers
33
import (
44
"context"
55
"fmt"
6+
"io/ioutil"
67
"strings"
78

89
"github.com/containers/common/pkg/completion"
@@ -54,6 +55,7 @@ var (
5455

5556
var (
5657
rmOptions = entities.RmOptions{}
58+
cidFiles = []string{}
5759
)
5860

5961
func rmFlags(cmd *cobra.Command) {
@@ -65,7 +67,7 @@ func rmFlags(cmd *cobra.Command) {
6567
flags.BoolVarP(&rmOptions.Volumes, "volumes", "v", false, "Remove anonymous volumes associated with the container")
6668

6769
cidfileFlagName := "cidfile"
68-
flags.StringArrayVarP(&rmOptions.CIDFiles, cidfileFlagName, "", nil, "Read the container ID from the file")
70+
flags.StringArrayVar(&cidFiles, cidfileFlagName, nil, "Read the container ID from the file")
6971
_ = cmd.RegisterFlagCompletionFunc(cidfileFlagName, completion.AutocompleteDefault)
7072

7173
if !registry.IsRemote() {
@@ -92,7 +94,16 @@ func init() {
9294
validate.AddLatestFlag(containerRmCommand, &rmOptions.Latest)
9395
}
9496

95-
func rm(_ *cobra.Command, args []string) error {
97+
func rm(cmd *cobra.Command, args []string) error {
98+
for _, cidFile := range cidFiles {
99+
content, err := ioutil.ReadFile(string(cidFile))
100+
if err != nil {
101+
return errors.Wrap(err, "error reading CIDFile")
102+
}
103+
id := strings.Split(string(content), "\n")[0]
104+
args = append(args, id)
105+
}
106+
96107
return removeContainers(args, rmOptions, true)
97108
}
98109

@@ -129,6 +140,10 @@ func removeContainers(namesOrIDs []string, rmOptions entities.RmOptions, setExit
129140
}
130141

131142
func setExitCode(err error) {
143+
// If error is set to no such container, do not reset
144+
if registry.GetExitCode() == 1 {
145+
return
146+
}
132147
cause := errors.Cause(err)
133148
switch {
134149
case cause == define.ErrNoSuchCtr:

cmd/podman/containers/stop.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ package containers
33
import (
44
"context"
55
"fmt"
6+
"io/ioutil"
7+
"strings"
68

79
"github.com/containers/common/pkg/completion"
810
"github.com/containers/podman/v2/cmd/podman/common"
911
"github.com/containers/podman/v2/cmd/podman/registry"
1012
"github.com/containers/podman/v2/cmd/podman/utils"
1113
"github.com/containers/podman/v2/cmd/podman/validate"
1214
"github.com/containers/podman/v2/pkg/domain/entities"
15+
"github.com/pkg/errors"
1316
"github.com/spf13/cobra"
1417
)
1518

@@ -58,7 +61,7 @@ func stopFlags(cmd *cobra.Command) {
5861
flags.BoolVarP(&stopOptions.Ignore, "ignore", "i", false, "Ignore errors when a specified container is missing")
5962

6063
cidfileFlagName := "cidfile"
61-
flags.StringArrayVarP(&stopOptions.CIDFiles, cidfileFlagName, "", nil, "Read the container ID from the file")
64+
flags.StringArrayVar(&cidFiles, cidfileFlagName, nil, "Read the container ID from the file")
6265
_ = cmd.RegisterFlagCompletionFunc(cidfileFlagName, completion.AutocompleteDefault)
6366

6467
timeFlagName := "time"
@@ -97,6 +100,15 @@ func stop(cmd *cobra.Command, args []string) error {
97100
stopOptions.Timeout = &stopTimeout
98101
}
99102

103+
for _, cidFile := range cidFiles {
104+
content, err := ioutil.ReadFile(string(cidFile))
105+
if err != nil {
106+
return errors.Wrap(err, "error reading CIDFile")
107+
}
108+
id := strings.Split(string(content), "\n")[0]
109+
args = append(args, id)
110+
}
111+
100112
responses, err := registry.ContainerEngine().ContainerStop(context.Background(), args, stopOptions)
101113
if err != nil {
102114
return err

cmd/podman/containers/wait.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func waitFlags(cmd *cobra.Command) {
5050
flags := cmd.Flags()
5151

5252
intervalFlagName := "interval"
53-
flags.StringVarP(&waitInterval, intervalFlagName, "i", "250ns", "Time Interval to wait before polling for completion")
53+
flags.StringVarP(&waitInterval, intervalFlagName, "i", "250ms", "Time Interval to wait before polling for completion")
5454
_ = cmd.RegisterFlagCompletionFunc(intervalFlagName, completion.AutocompleteNone)
5555

5656
conditionFlagName := "condition"
@@ -95,10 +95,11 @@ func wait(cmd *cobra.Command, args []string) error {
9595
return errors.New("--latest and containers cannot be used together")
9696
}
9797

98-
waitOptions.Condition, err = define.StringToContainerStatus(waitCondition)
98+
cond, err := define.StringToContainerStatus(waitCondition)
9999
if err != nil {
100100
return err
101101
}
102+
waitOptions.Condition = []define.ContainerStatus{cond}
102103

103104
responses, err := registry.ContainerEngine().ContainerWait(context.Background(), args, waitOptions)
104105
if err != nil {

cmd/podman/images/pull.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -84,20 +84,20 @@ func pullFlags(cmd *cobra.Command) {
8484
flags.StringVar(&pullOptions.CredentialsCLI, credsFlagName, "", "`Credentials` (USERNAME:PASSWORD) to use for authenticating to a registry")
8585
_ = cmd.RegisterFlagCompletionFunc(credsFlagName, completion.AutocompleteNone)
8686

87-
overrideArchFlagName := "override-arch"
88-
flags.StringVar(&pullOptions.OverrideArch, overrideArchFlagName, "", "Use `ARCH` instead of the architecture of the machine for choosing images")
89-
_ = cmd.RegisterFlagCompletionFunc(overrideArchFlagName, completion.AutocompleteNone)
87+
archFlagName := "arch"
88+
flags.StringVar(&pullOptions.Arch, archFlagName, "", "Use `ARCH` instead of the architecture of the machine for choosing images")
89+
_ = cmd.RegisterFlagCompletionFunc(archFlagName, completion.AutocompleteArch)
9090

91-
overrideOsFlagName := "override-os"
92-
flags.StringVar(&pullOptions.OverrideOS, overrideOsFlagName, "", "Use `OS` instead of the running OS for choosing images")
93-
_ = cmd.RegisterFlagCompletionFunc(overrideOsFlagName, completion.AutocompleteNone)
91+
osFlagName := "os"
92+
flags.StringVar(&pullOptions.OS, osFlagName, "", "Use `OS` instead of the running OS for choosing images")
93+
_ = cmd.RegisterFlagCompletionFunc(osFlagName, completion.AutocompleteOS)
9494

95-
overrideVariantFlagName := "override-variant"
96-
flags.StringVar(&pullOptions.OverrideVariant, overrideVariantFlagName, "", " use VARIANT instead of the running architecture variant for choosing images")
97-
_ = cmd.RegisterFlagCompletionFunc(overrideVariantFlagName, completion.AutocompleteNone)
95+
variantFlagName := "variant"
96+
flags.StringVar(&pullOptions.Variant, variantFlagName, "", " use VARIANT instead of the running architecture variant for choosing images")
97+
_ = cmd.RegisterFlagCompletionFunc(variantFlagName, completion.AutocompleteNone)
9898

9999
platformFlagName := "platform"
100-
flags.String(platformFlagName, "", "Specify the platform for selecting the image. (Conflicts with override-arch and override-os)")
100+
flags.String(platformFlagName, "", "Specify the platform for selecting the image. (Conflicts with arch and os)")
101101
_ = cmd.RegisterFlagCompletionFunc(platformFlagName, completion.AutocompleteNone)
102102

103103
flags.Bool("disable-content-trust", false, "This is a Docker specific option and is a NOOP")
@@ -138,13 +138,13 @@ func imagePull(cmd *cobra.Command, args []string) error {
138138
return err
139139
}
140140
if platform != "" {
141-
if pullOptions.OverrideArch != "" || pullOptions.OverrideOS != "" {
142-
return errors.Errorf("--platform option can not be specified with --override-arch or --override-os")
141+
if pullOptions.Arch != "" || pullOptions.OS != "" {
142+
return errors.Errorf("--platform option can not be specified with --arch or --os")
143143
}
144144
split := strings.SplitN(platform, "/", 2)
145-
pullOptions.OverrideOS = split[0]
145+
pullOptions.OS = split[0]
146146
if len(split) > 1 {
147-
pullOptions.OverrideArch = split[1]
147+
pullOptions.Arch = split[1]
148148
}
149149
}
150150

cmd/podman/images/push.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,11 @@ func pushFlags(cmd *cobra.Command) {
114114
if registry.IsRemote() {
115115
_ = flags.MarkHidden("cert-dir")
116116
_ = flags.MarkHidden("compress")
117+
_ = flags.MarkHidden("digestfile")
118+
_ = flags.MarkHidden("format")
117119
_ = flags.MarkHidden("quiet")
120+
_ = flags.MarkHidden("remove-signatures")
121+
_ = flags.MarkHidden("sign-by")
118122
}
119123
_ = flags.MarkHidden("signature-policy")
120124
}

0 commit comments

Comments
 (0)