diff options
Diffstat (limited to 'src/k8splugin/krd')
-rw-r--r-- | src/k8splugin/krd/krd.go | 44 | ||||
-rw-r--r-- | src/k8splugin/krd/krd_test.go | 36 | ||||
-rw-r--r-- | src/k8splugin/krd/plugins.go | 63 | ||||
-rw-r--r-- | src/k8splugin/krd/plugins_test.go | 95 |
4 files changed, 0 insertions, 238 deletions
diff --git a/src/k8splugin/krd/krd.go b/src/k8splugin/krd/krd.go deleted file mode 100644 index 2d06e104..00000000 --- a/src/k8splugin/krd/krd.go +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright 2018 Intel Corporation. -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 krd - -import ( - "errors" - - pkgerrors "github.com/pkg/errors" - - "k8s.io/client-go/kubernetes" - "k8s.io/client-go/tools/clientcmd" -) - -// GetKubeClient loads the Kubernetes configuation values stored into the local configuration file -var GetKubeClient = func(configPath string) (kubernetes.Clientset, error) { - var clientset *kubernetes.Clientset - - if configPath == "" { - return *clientset, errors.New("config not passed and is not found in ~/.kube. ") - } - - config, err := clientcmd.BuildConfigFromFlags("", configPath) - if err != nil { - return kubernetes.Clientset{}, pkgerrors.Wrap(err, "setConfig: Build config from flags raised an error") - } - - clientset, err = kubernetes.NewForConfig(config) - if err != nil { - return *clientset, err - } - - return *clientset, nil -} diff --git a/src/k8splugin/krd/krd_test.go b/src/k8splugin/krd/krd_test.go deleted file mode 100644 index ad52f7e4..00000000 --- a/src/k8splugin/krd/krd_test.go +++ /dev/null @@ -1,36 +0,0 @@ -// +build unit - -/* -Copyright 2018 Intel Corporation. -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 krd - -import ( - "reflect" - "testing" -) - -func TestGetKubeClient(t *testing.T) { - t.Run("Successfully create Kube Client", func(t *testing.T) { - - clientset, err := GetKubeClient("../mock_files/mock_configs/mock_config") - if err != nil { - t.Fatalf("TestGetKubeClient returned an error (%s)", err) - } - - if reflect.TypeOf(clientset).Name() != "Clientset" { - t.Fatalf("TestGetKubeClient returned :\n result=%v\n expected=%v", clientset, "Clientset") - } - - }) -} diff --git a/src/k8splugin/krd/plugins.go b/src/k8splugin/krd/plugins.go deleted file mode 100644 index 1086a2bb..00000000 --- a/src/k8splugin/krd/plugins.go +++ /dev/null @@ -1,63 +0,0 @@ -/* -Copyright 2018 Intel Corporation. -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 krd - -import ( - "io/ioutil" - "log" - "os" - "plugin" - - pkgerrors "github.com/pkg/errors" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/client-go/kubernetes/scheme" -) - -// LoadedPlugins stores references to the stored plugins -var LoadedPlugins = map[string]*plugin.Plugin{} - -const ResourcesListLimit = 10 - -// ResourceData stores all supported Kubernetes plugin types -type ResourceData struct { - YamlFilePath string - Namespace string - VnfId string -} - -// DecodeYAML reads a YAMl file to extract the Kubernetes object definition -var DecodeYAML = func(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") - } else { - return nil, pkgerrors.Wrap(err, "Stat file error") - } - } - - log.Println("Reading YAML file") - rawBytes, err := ioutil.ReadFile(path) - if err != nil { - return nil, pkgerrors.Wrap(err, "Read YAML file error") - } - - log.Println("Decoding deployment YAML") - decode := scheme.Codecs.UniversalDeserializer().Decode - obj, _, err := decode(rawBytes, nil, into) - if err != nil { - return nil, pkgerrors.Wrap(err, "Deserialize YAML error") - } - - return obj, nil -} diff --git a/src/k8splugin/krd/plugins_test.go b/src/k8splugin/krd/plugins_test.go deleted file mode 100644 index 46499adb..00000000 --- a/src/k8splugin/krd/plugins_test.go +++ /dev/null @@ -1,95 +0,0 @@ -// +build unit - -/* -Copyright 2018 Intel Corporation. -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 krd - -import ( - "strings" - "testing" - - appsV1 "k8s.io/api/apps/v1" - coreV1 "k8s.io/api/core/v1" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" -) - -func TestDecodeYAML(t *testing.T) { - testCases := []struct { - label string - input string - expectedResult runtime.Object - expectedError string - }{ - { - label: "Fail to read non-existing YAML file", - input: "unexisting-file.yaml", - expectedError: "not found", - }, - { - label: "Fail to read invalid YAML format", - input: "./plugins_test.go", - expectedError: "mapping values are not allowed in this contex", - }, - { - label: "Successfully read YAML file", - input: "../mock_files/mock_yamls/deployment.yaml", - expectedResult: &appsV1.Deployment{ - ObjectMeta: metaV1.ObjectMeta{ - Name: "mock-deployment", - }, - Spec: appsV1.DeploymentSpec{ - Template: coreV1.PodTemplateSpec{ - ObjectMeta: metaV1.ObjectMeta{ - Labels: map[string]string{"app": "sise"}, - }, - Spec: coreV1.PodSpec{ - Containers: []coreV1.Container{ - coreV1.Container{ - Name: "sise", - Image: "mhausenblas/simpleservice:0.5.0", - }, - }, - }, - }, - }, - }, - }, - } - - for _, testCase := range testCases { - t.Run(testCase.label, func(t *testing.T) { - result, err := DecodeYAML(testCase.input, nil) - if err != nil { - if testCase.expectedError == "" { - t.Fatalf("Decode YAML method return an un-expected (%s)", err) - } - if !strings.Contains(string(err.Error()), testCase.expectedError) { - t.Fatalf("Decode YAML method returned an error (%s)", err) - } - } else { - if testCase.expectedError != "" && testCase.expectedResult == nil { - t.Fatalf("Decode YAML method was expecting \"%s\" error message", testCase.expectedError) - } - if result == nil { - t.Fatal("Decode YAML method returned nil result") - } - // if !reflect.DeepEqual(testCase.expectedResult, result) { - - // t.Fatalf("Decode YAML method returned: \n%v\n and it was expected: \n%v", result, testCase.expectedResult) - // } - } - }) - } -} |