summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/podman/containers/create.go3
-rw-r--r--cmd/podman/containers/run.go3
-rw-r--r--pkg/specgen/generate/container_create.go2
-rw-r--r--pkg/specgen/specgen.go3
-rw-r--r--test/system/250-systemd.bats3
5 files changed, 12 insertions, 2 deletions
diff --git a/cmd/podman/containers/create.go b/cmd/podman/containers/create.go
index f9d33a223..2de1c9c19 100644
--- a/cmd/podman/containers/create.go
+++ b/cmd/podman/containers/create.go
@@ -110,7 +110,9 @@ func create(cmd *cobra.Command, args []string) error {
}
imageName := args[0]
+ rawImageName := ""
if !cliVals.RootFS {
+ rawImageName = args[0]
name, err := pullImage(args[0])
if err != nil {
return err
@@ -121,6 +123,7 @@ func create(cmd *cobra.Command, args []string) error {
if err := common.FillOutSpecGen(s, &cliVals, args); err != nil {
return err
}
+ s.RawImageName = rawImageName
if _, err := createPodIfNecessary(s, cliVals.Net); err != nil {
return err
diff --git a/cmd/podman/containers/run.go b/cmd/podman/containers/run.go
index 34eea14e1..eadfe3a03 100644
--- a/cmd/podman/containers/run.go
+++ b/cmd/podman/containers/run.go
@@ -130,7 +130,9 @@ func run(cmd *cobra.Command, args []string) error {
}
imageName := args[0]
+ rawImageName := ""
if !cliVals.RootFS {
+ rawImageName = args[0]
name, err := pullImage(args[0])
if err != nil {
return err
@@ -177,6 +179,7 @@ func run(cmd *cobra.Command, args []string) error {
if err := common.FillOutSpecGen(s, &cliVals, args); err != nil {
return err
}
+ s.RawImageName = rawImageName
runOpts.Spec = s
if _, err := createPodIfNecessary(s, cliVals.Net); err != nil {
diff --git a/pkg/specgen/generate/container_create.go b/pkg/specgen/generate/container_create.go
index fda4c098c..2ac3b376f 100644
--- a/pkg/specgen/generate/container_create.go
+++ b/pkg/specgen/generate/container_create.go
@@ -95,7 +95,7 @@ func MakeContainer(ctx context.Context, rt *libpod.Runtime, s *specgen.SpecGener
if len(names) > 0 {
imgName = names[0]
}
- options = append(options, libpod.WithRootFSFromImage(newImage.ID(), imgName, s.Image))
+ options = append(options, libpod.WithRootFSFromImage(newImage.ID(), imgName, s.RawImageName))
}
if err := s.Validate(); err != nil {
return nil, errors.Wrap(err, "invalid config provided")
diff --git a/pkg/specgen/specgen.go b/pkg/specgen/specgen.go
index cca05eddb..b8f37ec7a 100644
--- a/pkg/specgen/specgen.go
+++ b/pkg/specgen/specgen.go
@@ -89,6 +89,9 @@ type ContainerBasicConfig struct {
// If not given, a default location will be used.
// Optional.
ConmonPidFile string `json:"conmon_pid_file,omitempty"`
+ // RawImageName is the user-specified and unprocessed input referring
+ // to a local or a remote image.
+ RawImageName string `json:"raw_image_name,omitempty"`
// RestartPolicy is the container's restart policy - an action which
// will be taken when the container exits.
// If not given, the default policy, which does nothing, will be used.
diff --git a/test/system/250-systemd.bats b/test/system/250-systemd.bats
index bbb5a10fb..9bd3e15a1 100644
--- a/test/system/250-systemd.bats
+++ b/test/system/250-systemd.bats
@@ -41,7 +41,8 @@ function teardown() {
fi
cname=$(random_string)
- run_podman create --name $cname --label "io.containers.autoupdate=image" --detach $IMAGE top
+ # See #7407 for --pull=always.
+ run_podman create --pull=always --name $cname --label "io.containers.autoupdate=image" --detach $IMAGE top
run_podman generate systemd --new $cname
echo "$output" > "$UNIT_FILE"