run hack/update-bazel.sh and go fmt and BUILD.bazel file in addons

This commit is contained in:
David Siecinski 2019-11-22 12:37:37 +01:00
parent 013f8799fa
commit 5bc52c08c0
4 changed files with 132 additions and 113 deletions

View File

@ -0,0 +1,5 @@
filegroup(
name = "exported_testdata",
srcs = glob(["**"]),
visibility = ["//visibility:public"],
)

View File

@ -105,6 +105,7 @@ go_test(
"populateinstancegroup_test.go", "populateinstancegroup_test.go",
"subnets_test.go", "subnets_test.go",
"tagbuilder_test.go", "tagbuilder_test.go",
"template_functions_test.go",
"validation_test.go", "validation_test.go",
], ],
data = [ data = [
@ -116,6 +117,7 @@ go_test(
"//pkg/apis/kops/validation:go_default_library", "//pkg/apis/kops/validation:go_default_library",
"//pkg/assets:go_default_library", "//pkg/assets:go_default_library",
"//pkg/client/simple/vfsclientset:go_default_library", "//pkg/client/simple/vfsclientset:go_default_library",
"//pkg/featureflag:go_default_library",
"//pkg/kopscodecs:go_default_library", "//pkg/kopscodecs:go_default_library",
"//pkg/model:go_default_library", "//pkg/model:go_default_library",
"//pkg/templates:go_default_library", "//pkg/templates:go_default_library",
@ -127,5 +129,6 @@ go_test(
"//util/pkg/vfs:go_default_library", "//util/pkg/vfs:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam:go_default_library",
], ],
) )

View File

@ -208,8 +208,8 @@ func (tf *TemplateFunctions) CloudControllerConfigArgv() ([]string, error) {
} else { } else {
argv = append(argv, "--v=2") argv = append(argv, "--v=2")
} }
if tf.cluster.Spec.ExternalCloudControllerManager.CloudProvider !=""{ if tf.cluster.Spec.ExternalCloudControllerManager.CloudProvider != "" {
argv = append(argv, fmt.Sprintf("--cloud-provider=%s", tf.cluster.Spec.ExternalCloudControllerManager.CloudProvider)) argv = append(argv, fmt.Sprintf("--cloud-provider=%s", tf.cluster.Spec.ExternalCloudControllerManager.CloudProvider))
} else if tf.cluster.Spec.CloudProvider != "" { } else if tf.cluster.Spec.CloudProvider != "" {
argv = append(argv, fmt.Sprintf("--cloud-provider=%s", tf.cluster.Spec.CloudProvider)) argv = append(argv, fmt.Sprintf("--cloud-provider=%s", tf.cluster.Spec.CloudProvider))
} else { } else {
@ -227,13 +227,13 @@ func (tf *TemplateFunctions) CloudControllerConfigArgv() ([]string, error) {
if tf.cluster.Spec.ExternalCloudControllerManager.ConfigureCloudRoutes != nil { if tf.cluster.Spec.ExternalCloudControllerManager.ConfigureCloudRoutes != nil {
argv = append(argv, fmt.Sprintf("--configure-cloud-routes=%t", *tf.cluster.Spec.ExternalCloudControllerManager.ConfigureCloudRoutes)) argv = append(argv, fmt.Sprintf("--configure-cloud-routes=%t", *tf.cluster.Spec.ExternalCloudControllerManager.ConfigureCloudRoutes))
} }
if tf.cluster.Spec.ExternalCloudControllerManager.CIDRAllocatorType != nil && *tf.cluster.Spec.ExternalCloudControllerManager.CIDRAllocatorType != ""{ if tf.cluster.Spec.ExternalCloudControllerManager.CIDRAllocatorType != nil && *tf.cluster.Spec.ExternalCloudControllerManager.CIDRAllocatorType != "" {
argv = append(argv, fmt.Sprintf("--cidr-allocator-type=%s", *tf.cluster.Spec.ExternalCloudControllerManager.CIDRAllocatorType)) argv = append(argv, fmt.Sprintf("--cidr-allocator-type=%s", *tf.cluster.Spec.ExternalCloudControllerManager.CIDRAllocatorType))
} }
if tf.cluster.Spec.ExternalCloudControllerManager.UseServiceAccountCredentials != nil { if tf.cluster.Spec.ExternalCloudControllerManager.UseServiceAccountCredentials != nil {
argv = append(argv, fmt.Sprintf("--use-service-account-credentials=%t", *tf.cluster.Spec.ExternalCloudControllerManager.UseServiceAccountCredentials )) argv = append(argv, fmt.Sprintf("--use-service-account-credentials=%t", *tf.cluster.Spec.ExternalCloudControllerManager.UseServiceAccountCredentials))
} else { } else {
argv = append(argv, fmt.Sprintf("--use-service-account-credentials=%t", true )) argv = append(argv, fmt.Sprintf("--use-service-account-credentials=%t", true))
} }
return argv, nil return argv, nil

View File

@ -1,33 +1,48 @@
/*
Copyright 2019 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package cloudup package cloudup
import ( import (
"k8s.io/kops/pkg/featureflag"
"path/filepath"
"io/ioutil"
"bytes" "bytes"
"text/template"
"k8s.io/kops/pkg/apis/kops"
"reflect"
"testing"
"fmt" "fmt"
"strings" "io/ioutil"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/pkg/featureflag"
"k8s.io/kops/upup/pkg/fi" "k8s.io/kops/upup/pkg/fi"
"k8s.io/kubernetes/pkg/controller/nodeipam/ipam" "k8s.io/kubernetes/pkg/controller/nodeipam/ipam"
"path/filepath"
"reflect"
"strings"
"testing"
"text/template"
) )
func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) { func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) {
tests := []struct { tests := []struct {
desc string desc string
cluster *kops.Cluster cluster *kops.Cluster
expectedArgv []string expectedArgv []string
expectedError error expectedError error
}{ }{
{ {
desc: "Default Configuration", desc: "Default Configuration",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{ cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{}, ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{},
}}, }},
expectedArgv: []string{ expectedArgv: []string{
"--v=2", "--v=2",
@ -57,7 +72,7 @@ func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) {
Spec: kops.ClusterSpec{ Spec: kops.ClusterSpec{
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
LogLevel: 3, LogLevel: 3,
}, },
}, },
}, },
@ -85,8 +100,6 @@ func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) {
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
ClusterName: "k8s", ClusterName: "k8s",
}, },
}}, }},
expectedArgv: []string{ expectedArgv: []string{
"--v=2", "--v=2",
@ -98,7 +111,7 @@ func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) {
{ {
desc: "Default Configuration", desc: "Default Configuration",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{ cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
Master: "127.0.0.1", Master: "127.0.0.1",
}, },
@ -113,7 +126,7 @@ func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) {
{ {
desc: "Cluster-cidr Configuration", desc: "Cluster-cidr Configuration",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{ cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
ClusterCIDR: "10.0.0.0/24", ClusterCIDR: "10.0.0.0/24",
}, },
@ -128,7 +141,7 @@ func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) {
{ {
desc: "AllocateNodeCIDRs Configuration", desc: "AllocateNodeCIDRs Configuration",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{ cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
AllocateNodeCIDRs: fi.Bool(true), AllocateNodeCIDRs: fi.Bool(true),
}, },
@ -138,53 +151,52 @@ func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) {
"--cloud-provider=openstack", "--cloud-provider=openstack",
"--allocate-node-cidrs=true", "--allocate-node-cidrs=true",
"--use-service-account-credentials=true", "--use-service-account-credentials=true",
}, },
}, },
{ {
desc: "ConfigureCloudRoutes Configuration", desc: "ConfigureCloudRoutes Configuration",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{ cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
ConfigureCloudRoutes: fi.Bool(true), ConfigureCloudRoutes: fi.Bool(true),
}, },
}}, }},
expectedArgv: []string{ expectedArgv: []string{
"--v=2", "--v=2",
"--cloud-provider=openstack", "--cloud-provider=openstack",
"--configure-cloud-routes=true", "--configure-cloud-routes=true",
"--use-service-account-credentials=true", "--use-service-account-credentials=true",
}, },
}, },
{ {
desc: "CIDRAllocatorType Configuration", desc: "CIDRAllocatorType Configuration",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{ cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
CIDRAllocatorType: fi.String(string(ipam.RangeAllocatorType)), CIDRAllocatorType: fi.String(string(ipam.RangeAllocatorType)),
}, },
}}, }},
expectedArgv: []string{ expectedArgv: []string{
"--v=2", "--v=2",
"--cloud-provider=openstack", "--cloud-provider=openstack",
"--cidr-allocator-type=RangeAllocator", "--cidr-allocator-type=RangeAllocator",
"--use-service-account-credentials=true", "--use-service-account-credentials=true",
}, },
}, },
{ {
desc: "CIDRAllocatorType Configuration", desc: "CIDRAllocatorType Configuration",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{ cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
UseServiceAccountCredentials: fi.Bool(false), UseServiceAccountCredentials: fi.Bool(false),
}, },
}}, }},
expectedArgv: []string{ expectedArgv: []string{
"--v=2", "--v=2",
"--cloud-provider=openstack", "--cloud-provider=openstack",
"--use-service-account-credentials=false", "--use-service-account-credentials=false",
}, },
}, },
} }
for _, testCase := range tests { for _, testCase := range tests {
t.Run(testCase.desc, func(t *testing.T) { t.Run(testCase.desc, func(t *testing.T) {
@ -202,41 +214,40 @@ func Test_TemplateFunctions_CloudControllerConfigArgv(t *testing.T) {
} }
} }
func Test_executeTemplate(t *testing.T) {
func Test_executeTemplate(t *testing.T ) { tests := []struct {
tests := []struct{ desc string
desc string cluster *kops.Cluster
cluster *kops.Cluster templateFilename string
templateFilename string expectedManifestPath string
expectedManifestPath string
}{ }{
{ {
desc: "test cloud controller template", desc: "test cloud controller template",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{ cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack), CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{ ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
ClusterName: "k8s", ClusterName: "k8s",
Image: "docker.io/k8scloudprovider/openstack-cloud-controller-manager:1.13", Image: "docker.io/k8scloudprovider/openstack-cloud-controller-manager:1.13",
},
},
},
templateFilename: "../../../models/cloudup/resources/addons/openstack.addons.k8s.io/k8s-1.13.yaml.template",
expectedManifestPath: "./tests/manifests/k8s-1.13.yaml",
},
{
desc: "test cloud controller template",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
ClusterName: "k8s",
Image: "docker.io/k8scloudprovider/openstack-cloud-controller-manager:1.13",
}, },
}, },
},
templateFilename: "../../../models/cloudup/resources/addons/openstack.addons.k8s.io/k8s-1.13.yaml.template",
expectedManifestPath: "./tests/manifests/k8s-1.13.yaml",
}, },
templateFilename: "../../../models/cloudup/resources/addons/openstack.addons.k8s.io/k8s-1.11.yaml.template", {
expectedManifestPath: "./tests/manifests/k8s-1.11.yaml", desc: "test cloud controller template",
cluster: &kops.Cluster{Spec: kops.ClusterSpec{
CloudProvider: string(kops.CloudProviderOpenstack),
ExternalCloudControllerManager: &kops.CloudControllerManagerConfig{
ClusterName: "k8s",
Image: "docker.io/k8scloudprovider/openstack-cloud-controller-manager:1.13",
},
},
},
templateFilename: "../../../models/cloudup/resources/addons/openstack.addons.k8s.io/k8s-1.11.yaml.template",
expectedManifestPath: "./tests/manifests/k8s-1.11.yaml",
}, },
} }
for _, testCase := range tests { for _, testCase := range tests {
t.Run(testCase.desc, func(t *testing.T) { t.Run(testCase.desc, func(t *testing.T) {
@ -246,7 +257,7 @@ func Test_executeTemplate(t *testing.T ) {
t.Fatalf("error getting path to template: %v", filePathError) t.Fatalf("error getting path to template: %v", filePathError)
} }
tpl := template.New(filepath.Base(templateFileAbsolutePath)) tpl := template.New(filepath.Base(templateFileAbsolutePath))
funcMap := make(template.FuncMap) funcMap := make(template.FuncMap)
templateFunctions := TemplateFunctions{cluster: testCase.cluster} templateFunctions := TemplateFunctions{cluster: testCase.cluster}
@ -254,25 +265,25 @@ func Test_executeTemplate(t *testing.T ) {
tpl.Funcs(funcMap) tpl.Funcs(funcMap)
tpl.Option("missingkey=zero") tpl.Option("missingkey=zero")
_, err := tpl.ParseFiles(templateFileAbsolutePath) _, err := tpl.ParseFiles(templateFileAbsolutePath)
if err != nil { if err != nil {
t.Fatalf("error parsing template %q: %v", "template", err) t.Fatalf("error parsing template %q: %v", "template", err)
} }
var buffer bytes.Buffer var buffer bytes.Buffer
err = tpl.Execute(&buffer, testCase.cluster.Spec) err = tpl.Execute(&buffer, testCase.cluster.Spec)
if err != nil { if err != nil {
t.Fatalf("error executing template %q: %v", "template", err) t.Fatalf("error executing template %q: %v", "template", err)
} }
actualManifest := buffer.Bytes() actualManifest := buffer.Bytes()
expectedFileAbsolutePath, _ := filepath.Abs(testCase.expectedManifestPath) expectedFileAbsolutePath, _ := filepath.Abs(testCase.expectedManifestPath)
expectedManifest, _ := ioutil.ReadFile( expectedFileAbsolutePath ) expectedManifest, _ := ioutil.ReadFile(expectedFileAbsolutePath)
actualString := strings.TrimSpace(string(actualManifest)) actualString := strings.TrimSpace(string(actualManifest))
expectedString := strings.TrimSpace(string(expectedManifest)) expectedString := strings.TrimSpace(string(expectedManifest))
if !reflect.DeepEqual(actualString,expectedString,) { if !reflect.DeepEqual(actualString, expectedString) {
t.Fatalf("Manifests differs: %+v instead of %+v", actualString, expectedString ) t.Fatalf("Manifests differs: %+v instead of %+v", actualString, expectedString)
} }
}) })
} }
} }