From 9b66188144cc9a0d4173fee16800eadc2fa9696d Mon Sep 17 00:00:00 2001 From: xianlubird Date: Tue, 7 Nov 2017 11:03:55 +0800 Subject: [PATCH] Ignore links attribute and print warning message Signed-off-by: xianlubird@gmail.com --- pkg/loader/compose/compose.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkg/loader/compose/compose.go b/pkg/loader/compose/compose.go index a61c9be6..093607f9 100644 --- a/pkg/loader/compose/compose.go +++ b/pkg/loader/compose/compose.go @@ -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 }