From c51d59566b5b33941977f6bfaf17b7f018227948 Mon Sep 17 00:00:00 2001 From: exokortex Date: Wed, 7 Jul 2021 08:29:03 +0200 Subject: [PATCH] actually use normalizeNetworkNames to produce valid network names (#1393) --- pkg/loader/compose/compose_test.go | 2 +- pkg/loader/compose/utils.go | 2 +- pkg/loader/compose/v1v2.go | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/loader/compose/compose_test.go b/pkg/loader/compose/compose_test.go index 7b556705..a3fecd1b 100644 --- a/pkg/loader/compose/compose_test.go +++ b/pkg/loader/compose/compose_test.go @@ -453,7 +453,7 @@ func TestNormalizeNetworkNames(t *testing.T) { composeNetworkName string normalizedNetworkName string }{ - {"foo_bar", "foobar"}, + {"foo_bar", "foo-bar"}, {"foo", "foo"}, {"FOO", "foo"}, {"foo.bar", "foo.bar"}, diff --git a/pkg/loader/compose/utils.go b/pkg/loader/compose/utils.go index c67a7166..77c4e4d1 100644 --- a/pkg/loader/compose/utils.go +++ b/pkg/loader/compose/utils.go @@ -151,7 +151,7 @@ func normalizeVolumes(svcName string) string { } func normalizeNetworkNames(netName string) (string, error) { - netval := strings.ToLower(netName) + netval := strings.ToLower(strings.Replace(netName, "_", "-", -1)) regString := ("[^A-Za-z0-9.-]+") reg, err := regexp.Compile(regString) if err != nil { diff --git a/pkg/loader/compose/v1v2.go b/pkg/loader/compose/v1v2.go index a682f464..3d31a4a0 100644 --- a/pkg/loader/compose/v1v2.go +++ b/pkg/loader/compose/v1v2.go @@ -256,7 +256,14 @@ func libComposeToKomposeMapping(composeObject *project.Project) (kobject.Kompose if len(composeServiceConfig.Networks.Networks) > 0 { for _, value := range composeServiceConfig.Networks.Networks { if value.Name != "default" { - serviceConfig.Network = append(serviceConfig.Network, value.RealName) + nomalizedNetworkName, err := normalizeNetworkNames(value.RealName) + if err != nil { + return kobject.KomposeObject{}, errors.Wrap(err, "Error trying to normalize network names") + } + if nomalizedNetworkName != value.RealName { + log.Warnf("Network name in docker-compose has been changed from %q to %q", value.RealName, nomalizedNetworkName) + } + serviceConfig.Network = append(serviceConfig.Network, nomalizedNetworkName) } } }