diff options
author | Valentin Rothberg <rothberg@redhat.com> | 2020-06-10 11:05:41 +0200 |
---|---|---|
committer | Valentin Rothberg <rothberg@redhat.com> | 2020-06-11 11:01:13 +0200 |
commit | 05713fbbf30a8c10f9aa290723efec5f3846a113 (patch) | |
tree | 2e12f8bc857ea3151bc5da767b8c50399734d9b8 | |
parent | 139f82933deceda569c30d3364bba585fa925f5a (diff) | |
download | podman-05713fbbf30a8c10f9aa290723efec5f3846a113.tar.gz podman-05713fbbf30a8c10f9aa290723efec5f3846a113.tar.bz2 podman-05713fbbf30a8c10f9aa290723efec5f3846a113.zip |
generate systemd: wrap pod/ctr lookup errors
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
-rw-r--r-- | pkg/domain/infra/abi/generate.go | 7 | ||||
-rw-r--r-- | pkg/systemd/generate/common.go | 2 | ||||
-rw-r--r-- | pkg/systemd/generate/pods.go | 4 |
3 files changed, 7 insertions, 6 deletions
diff --git a/pkg/domain/infra/abi/generate.go b/pkg/domain/infra/abi/generate.go index fa0cfb389..8853303d5 100644 --- a/pkg/domain/infra/abi/generate.go +++ b/pkg/domain/infra/abi/generate.go @@ -16,8 +16,8 @@ import ( func (ic *ContainerEngine) GenerateSystemd(ctx context.Context, nameOrID string, options entities.GenerateSystemdOptions) (*entities.GenerateSystemdReport, error) { // First assume it's a container. - ctr, err := ic.Libpod.LookupContainer(nameOrID) - if err == nil { + ctr, ctrErr := ic.Libpod.LookupContainer(nameOrID) + if ctrErr == nil { // Generate the unit for the container. s, err := generate.ContainerUnit(ctr, options) if err == nil { @@ -28,7 +28,8 @@ func (ic *ContainerEngine) GenerateSystemd(ctx context.Context, nameOrID string, // If it's not a container, we either have a pod or garbage. pod, err := ic.Libpod.LookupPod(nameOrID) if err != nil { - return nil, errors.Errorf("%q does not refer to a container or pod", nameOrID) + err = errors.Wrap(ctrErr, err.Error()) + return nil, errors.Wrapf(err, "%s does not refer to a container or pod", nameOrID) } // Generate the units for the pod and all its containers. diff --git a/pkg/systemd/generate/common.go b/pkg/systemd/generate/common.go index 4f995be96..fe56dc874 100644 --- a/pkg/systemd/generate/common.go +++ b/pkg/systemd/generate/common.go @@ -41,7 +41,7 @@ func filterPodFlags(command []string) []string { for i := 0; i < len(command); i++ { s := command[i] if s == "--pod" || s == "--pod-id-file" { - i += 1 + i++ continue } processed = append(processed, s) diff --git a/pkg/systemd/generate/pods.go b/pkg/systemd/generate/pods.go index 355103df8..5cfd5ab0a 100644 --- a/pkg/systemd/generate/pods.go +++ b/pkg/systemd/generate/pods.go @@ -99,7 +99,7 @@ func PodUnits(pod *libpod.Pod, options entities.GenerateSystemdOptions) (string, // Error out if the pod has no infra container, which we require to be the // main service. if !pod.HasInfraContainer() { - return "", fmt.Errorf("error generating systemd unit files: Pod %q has no infra container", pod.Name()) + return "", errors.Errorf("error generating systemd unit files: Pod %q has no infra container", pod.Name()) } podInfo, err := generatePodInfo(pod, options) @@ -118,7 +118,7 @@ func PodUnits(pod *libpod.Pod, options entities.GenerateSystemdOptions) (string, return "", err } if len(containers) == 0 { - return "", fmt.Errorf("error generating systemd unit files: Pod %q has no containers", pod.Name()) + return "", errors.Errorf("error generating systemd unit files: Pod %q has no containers", pod.Name()) } graph, err := libpod.BuildContainerGraph(containers) if err != nil { |