summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKiran Kamineni <kiran.k.kamineni@intel.com>2019-04-24 11:39:17 -0700
committerKiran Kamineni <kiran.k.kamineni@intel.com>2019-04-25 14:49:19 -0700
commit4095bd620f3ca4f4e6b6042f68829a895471fafa (patch)
tree67906e1a3ef06f6ac9fe65ad04cab7052af009f2
parent6e08385919be58ae316a637d21b43ee7aa8df39c (diff)
Use the unstructured type for decode
Use the unstructured type in the into field. This allows us to remove the convert part of the code and also allows decoding for CRDs. Issue-ID: MULTICLOUD-585 Change-Id: I27ecdba7127ce63137dfbcd1c0a6938343b4e759 Signed-off-by: Kiran Kamineni <kiran.k.kamineni@intel.com>
-rw-r--r--src/k8splugin/internal/utils.go2
-rw-r--r--src/k8splugin/plugins/generic/plugin.go12
2 files changed, 4 insertions, 10 deletions
diff --git a/src/k8splugin/internal/utils.go b/src/k8splugin/internal/utils.go
index 7785733d..681b1b52 100644
--- a/src/k8splugin/internal/utils.go
+++ b/src/k8splugin/internal/utils.go
@@ -42,7 +42,7 @@ type ResourceData struct {
}
// DecodeYAML reads a YAMl file to extract the Kubernetes object definition
-var DecodeYAML = func(path string, into runtime.Object) (runtime.Object, error) {
+func DecodeYAML(path string, into runtime.Object) (runtime.Object, error) {
if _, err := os.Stat(path); err != nil {
if os.IsNotExist(err) {
return nil, pkgerrors.New("File " + path + " not found")
diff --git a/src/k8splugin/plugins/generic/plugin.go b/src/k8splugin/plugins/generic/plugin.go
index f3b2798a..9ecaf68c 100644
--- a/src/k8splugin/plugins/generic/plugin.go
+++ b/src/k8splugin/plugins/generic/plugin.go
@@ -21,7 +21,6 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime/schema"
- "k8s.io/client-go/kubernetes/scheme"
utils "k8splugin/internal"
"k8splugin/internal/app"
@@ -38,16 +37,11 @@ func (g genericPlugin) Create(yamlFilePath string, namespace string, client *app
}
//Decode the yaml file to create a runtime.Object
- obj, err := utils.DecodeYAML(yamlFilePath, nil)
- if err != nil {
- return "", pkgerrors.Wrap(err, "Decode deployment object error")
- }
-
- //Convert the runtime.Object to an unstructured Object
unstruct := &unstructured.Unstructured{}
- err = scheme.Scheme.Convert(obj, unstruct, nil)
+ //Ignore the returned obj as we expect the data in unstruct
+ _, err := utils.DecodeYAML(yamlFilePath, unstruct)
if err != nil {
- return "", pkgerrors.Wrap(err, "Converting to unstructured object")
+ return "", pkgerrors.Wrap(err, "Decode deployment object error")
}
dynClient := client.GetDynamicClient()