diff --git a/test/extended/cluster/cl.go b/test/extended/cluster/cl.go index 8b35657c2f3e..3e227306c9aa 100644 --- a/test/extended/cluster/cl.go +++ b/test/extended/cluster/cl.go @@ -92,15 +92,15 @@ var _ = g.Describe("[Feature:Performance][Serial][Slow] Load cluster", func() { } allArgs = append(allArgs, templateObj.Name) - if template.Parameters == (ParameterConfigType{}) { - e2e.Logf("Pod environment variables will not be modified.") + if template.Parameters == nil { + e2e.Logf("Template environment variables will not be modified.") } else { params := convertVariablesToString(template.Parameters) allArgs = append(allArgs, params...) } config, err := oc.AdminTemplateClient().Template().Templates(nsName).Create(templateObj) - e2e.Logf("Template %v created, config: %+v", templateObj.Name, config) + e2e.Logf("Template %v created, arguments: %v, config: %+v", templateObj.Name, allArgs, config) err = oc.SetNamespace(nsName).Run("new-app").Args(allArgs...).Execute() o.Expect(err).NotTo(o.HaveOccurred()) @@ -110,7 +110,7 @@ var _ = g.Describe("[Feature:Performance][Serial][Slow] Load cluster", func() { // Parse Pod file into struct config := ParsePods(mkPath(pod.File)) // Check if environment variables are defined in CL config - if pod.Parameters == (ParameterConfigType{}) { + if pod.Parameters == nil { e2e.Logf("Pod environment variables will not be modified.") } else { // Override environment variables for Pod using ConfigMap diff --git a/test/extended/cluster/context.go b/test/extended/cluster/context.go index 4803429de866..d29b14ec3528 100644 --- a/test/extended/cluster/context.go +++ b/test/extended/cluster/context.go @@ -33,16 +33,7 @@ type ClusterLoaderObjectType struct { Image string Basename string File string - Parameters ParameterConfigType -} - -// ParameterConfigType contains config parameters for each object -type ParameterConfigType struct { - Run string `mapstructure:"run"` - RouterIP string `mapstructure:"router_ip"` - TargetHost string `mapstructure:"target_host"` - DurationSec int `mapstructure:"duration"` - Megabytes int + Parameters map[string]interface{} } // TuningSetType is nested type for controlling Cluster Loader deployment pattern diff --git a/test/extended/cluster/utils.go b/test/extended/cluster/utils.go index 7e9601b345e8..3285c7030ae5 100644 --- a/test/extended/cluster/utils.go +++ b/test/extended/cluster/utils.go @@ -13,8 +13,6 @@ import ( "time" "unicode" - "github.com/fatih/structs" - kapiv1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" @@ -165,10 +163,9 @@ func firstLowercase(s string) string { } // convertVariables takes our loaded struct and converts it into a map[string]string. -func convertVariablesToMap(params ParameterConfigType) map[string]string { - m := structs.Map(params) +func convertVariablesToMap(params map[string]interface{}) map[string]string { values := make(map[string]string) - for k, v := range m { + for k, v := range params { k = firstLowercase(k) if v != 0 && v != "" { if _, ok := v.(int); ok { @@ -181,9 +178,8 @@ func convertVariablesToMap(params ParameterConfigType) map[string]string { return values } -func convertVariablesToString(params ParameterConfigType) (args []string) { - m := structs.Map(params) - for k, v := range m { +func convertVariablesToString(params map[string]interface{}) (args []string) { + for k, v := range params { k = strings.ToUpper(k) if v != 0 && v != "" { args = append(args, "-p") @@ -194,7 +190,7 @@ func convertVariablesToString(params ParameterConfigType) (args []string) { } // InjectConfigMap modifies the pod struct and replaces the environment variables. -func InjectConfigMap(c kclientset.Interface, ns string, vars ParameterConfigType, config kapiv1.Pod) string { +func InjectConfigMap(c kclientset.Interface, ns string, vars map[string]interface{}, config kapiv1.Pod) string { configMapName := ns + "-configmap" freshConfigVars := convertVariablesToMap(vars) dirtyConfigVars := getClusterData(c, freshConfigVars)