Validate dockerfilepath in buildconfig

This PR will resolve #594 by validating dockerfilepath based on whether
it is relative path or not.
This commit is contained in:
Suraj Narwade 2017-05-16 19:31:51 +05:30
parent 2a708bcdcf
commit 581e181967
3 changed files with 15 additions and 0 deletions

View File

@ -330,6 +330,11 @@ func (c *Compose) LoadFile(files []string) (kobject.KomposeObject, error) {
envs := loadEnvVars(composeServiceConfig.Environment) envs := loadEnvVars(composeServiceConfig.Environment)
serviceConfig.Environment = envs serviceConfig.Environment = envs
//Validate dockerfile path
if filepath.IsAbs(serviceConfig.Dockerfile) {
log.Fatalf("%q defined in service %q is an absolute path, it must be a relative path.", serviceConfig.Dockerfile, name)
}
// load ports // load ports
ports, err := loadPorts(composeServiceConfig.Ports) ports, err := loadPorts(composeServiceConfig.Ports)
if err != nil { if err != nil {

View File

@ -197,6 +197,8 @@ convert::expect_success_and_warning "kompose -f $KOMPOSE_ROOT/script/test/fixtur
# Openshift Test # Openshift Test
convert::expect_success_and_warning "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/service-name-change/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/service-name-change/output-os.json" "Unsupported root level volumes key - ignoring" convert::expect_success_and_warning "kompose --provider openshift -f $KOMPOSE_ROOT/script/test/fixtures/service-name-change/docker-compose.yml convert --stdout -j" "$KOMPOSE_ROOT/script/test/fixtures/service-name-change/output-os.json" "Unsupported root level volumes key - ignoring"
# Test regarding validating dockerfilepath
convert::expect_failure "kompose -f $KOMPOSE_ROOT/script/test/fixtures/dockerfilepath/docker-compose.yml convert --stdout"
###### ######
# Test the output file behavior of kompose convert # Test the output file behavior of kompose convert

View File

@ -0,0 +1,8 @@
version: "2"
services:
foo:
build:
context: "../../script/test_in_openshift/buildconfig"
dockerfile: "/Dockerfile"
command: "sleep 120"