Merge pull request #862 from xianlubird/feature/ignore-links

Ignore links attribute and print warning message
This commit is contained in:
Charlie Drage 2017-11-09 11:07:21 -05:00 committed by GitHub
commit b6eddd7a7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -73,6 +73,7 @@ func checkUnsupportedKey(composeProject *project.Project) []string {
"Net": false,
"Sysctls": false,
"Networks": false, // there are special checks for Network in checkUnsupportedKey function
"Links": false,
}
// collect all keys found in project
@ -120,6 +121,26 @@ func checkUnsupportedKey(composeProject *project.Project) []string {
yamlTagName = "networks"
}
}
if linksArray := val.FieldByName(f.Name()); f.Name() == "Links" && linksArray.Kind() == reflect.Slice {
//Links has "SERVICE:ALIAS" style, we don't support SERVICE != ALIAS
findUnsupportedLinksFlag := false
for i := 0; i < linksArray.Len(); i++ {
if tmpLink := linksArray.Index(i); tmpLink.Kind() == reflect.String {
tmpLinkStr := tmpLink.String()
tmpLinkStrSplit := strings.Split(tmpLinkStr, ":")
if len(tmpLinkStrSplit) == 2 && tmpLinkStrSplit[0] != tmpLinkStrSplit[1] {
findUnsupportedLinksFlag = true
break
}
}
}
if !findUnsupportedLinksFlag {
continue
}
}
keysFound = append(keysFound, yamlTagName)
unsupportedKey[f.Name()] = true
}