From 7b23a3c49c9c82d9f62da96847ce9aadcd3f11d2 Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Thu, 1 Mar 2018 10:07:44 -0800 Subject: [PATCH] Set clusterIP field in all cases --- .../project.cattle.io/v3/schema/service_spec_mapper.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apis/project.cattle.io/v3/schema/service_spec_mapper.go b/apis/project.cattle.io/v3/schema/service_spec_mapper.go index f9192a41..6478d125 100644 --- a/apis/project.cattle.io/v3/schema/service_spec_mapper.go +++ b/apis/project.cattle.io/v3/schema/service_spec_mapper.go @@ -2,6 +2,7 @@ package schema import ( "github.com/rancher/norman/types" + "github.com/rancher/norman/types/convert" ) type ServiceSpecMapper struct { @@ -15,8 +16,13 @@ func (e ServiceSpecMapper) ToInternal(data map[string]interface{}) { return } - data["clusterIp"] = "None" - data["type"] = "ClusterIP" + if convert.IsEmpty(data["hostname"]) { + data["type"] = "ClusterIP" + data["clusterIp"] = "None" + } else { + data["type"] = "ExternalName" + data["clusterIp"] = "" + } } func (e ServiceSpecMapper) ModifySchema(schema *types.Schema, schemas *types.Schemas) error {