Skip to content

Commit

Permalink
Merge pull request #1750 from AhmedGrati/1748-bug-kompose-should-rais…
Browse files Browse the repository at this point in the history
…e-and-error-when-profiles-are-required

chore: add warning when no service is selected
  • Loading branch information
k8s-ci-robot committed Nov 1, 2023
2 parents 3bbb75f + a4ae9f9 commit 032b61a
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
8 changes: 8 additions & 0 deletions pkg/loader/compose/compose.go
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,14 @@ func (c *Compose) LoadFile(files []string, profiles []string) (kobject.KomposeOb
return kobject.KomposeObject{}, errors.Wrap(err, "Unable to load files")
}

// Finding 0 services means two things:
// 1. The compose project is empty
// 2. The profile that is configured in the compose project is different than the one defined in Kompose convert options
// In both cases we should provide the user with a warning indicating that we didn't find any service.
if len(project.Services) == 0 {
log.Warning("No service selected. The profile specified in services of your compose yaml may not exist.")
}

komposeObject, err := dockerComposeToKomposeMapping(project)
if err != nil {
return kobject.KomposeObject{}, err
Expand Down
5 changes: 5 additions & 0 deletions script/test/cmd/tests_new.sh
Original file line number Diff line number Diff line change
Expand Up @@ -305,3 +305,8 @@ convert::expect_success "$os_cmd" "$os_output" || exit 1
# os_output="$KOMPOSE_ROOT/script/test/fixtures/env-multiple/output-os.yaml"
# convert::expect_success "$k8s_cmd" "$k8s_output" || exit 1
# convert::expect_success "$os_cmd" "$os_output" || exit 1

# Test that if we have no profile a warning should raised
cmd="kompose -f $KOMPOSE_ROOT/script/test/fixtures/no-profile-warning/docker-compose.yaml convert"
convert::expect_warning "$cmd" "No service selected. The profile specified in services of your compose yaml may not exist." || exit 1

8 changes: 8 additions & 0 deletions script/test/fixtures/no-profile-warning/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: '3'
services:
web:
image: nginx
profiles:
- test
ports:
- 80:80

0 comments on commit 032b61a

Please sign in to comment.