diff --git a/internal/pkg/cli/task_run.go b/internal/pkg/cli/task_run.go index 93c31f7466d..6e9d72352ff 100644 --- a/internal/pkg/cli/task_run.go +++ b/internal/pkg/cli/task_run.go @@ -438,6 +438,10 @@ func (o *runTaskOpts) runTask() ([]*task.Task, error) { o.spinner.Start(fmt.Sprintf("Waiting for %s to be running for %s.", english.Plural(o.count, "task", ""), o.groupName)) tasks, err := o.runner.Run() if err != nil { + if errors.Is(err, task.ErrNoSubnetFound) { + log.Warningf("Subnets need to be tagged with %s and %s. Are your subnets tagged?\n", deploy.AppTagKey, deploy.EnvTagKey) + } + o.spinner.Stop(log.Serrorf("Failed to run %s.\n\n", o.groupName)) return nil, fmt.Errorf("run task %s: %w", o.groupName, err) } diff --git a/internal/pkg/task/config_runner.go b/internal/pkg/task/config_runner.go index bd75f7242f1..af94671cdae 100644 --- a/internal/pkg/task/config_runner.go +++ b/internal/pkg/task/config_runner.go @@ -53,7 +53,7 @@ func (r *NetworkConfigRunner) Run() ([]*Task, error) { return nil, fmt.Errorf(fmtErrDefaultSubnets, err) } if len(subnets) == 0 { - return nil, errNoSubnetFound + return nil, ErrNoSubnetFound } r.Subnets = subnets diff --git a/internal/pkg/task/env_runner.go b/internal/pkg/task/env_runner.go index aada4f915ca..39034d7c6bb 100644 --- a/internal/pkg/task/env_runner.go +++ b/internal/pkg/task/env_runner.go @@ -60,7 +60,7 @@ func (r *EnvRunner) Run() ([]*Task, error) { return nil, fmt.Errorf(fmtErrPublicSubnetsFromEnv, r.Env, err) } if len(subnets) == 0 { - return nil, errNoSubnetFound + return nil, ErrNoSubnetFound } // Use only environment security group https://github.com/aws/copilot-cli/issues/1882. diff --git a/internal/pkg/task/env_runner_test.go b/internal/pkg/task/env_runner_test.go index 3d410d1b403..a31ecdc8898 100644 --- a/internal/pkg/task/env_runner_test.go +++ b/internal/pkg/task/env_runner_test.go @@ -83,7 +83,7 @@ func TestEnvRunner_Run(t *testing.T) { m.EXPECT().SecurityGroups(gomock.Any()).AnyTimes() }, mockStarter: mockStarterNotRun, - wantedError: errNoSubnetFound, + wantedError: ErrNoSubnetFound, }, "failed to get security groups": { MockClusterGetter: MockClusterGetter, diff --git a/internal/pkg/task/errors.go b/internal/pkg/task/errors.go index 3269f4da3fb..fc8d84db4df 100644 --- a/internal/pkg/task/errors.go +++ b/internal/pkg/task/errors.go @@ -8,8 +8,9 @@ import ( "fmt" ) +// Errors returned while trying to run a task. var ( - errNoSubnetFound = errors.New("no subnets found") + ErrNoSubnetFound = errors.New("no subnets found") errVPCGetterNil = errors.New("vpc getter is not set") errClusterGetterNil = errors.New("cluster getter is not set")