summaryrefslogtreecommitdiffstats
path: root/src/k8splugin/plugins/network/plugin.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/k8splugin/plugins/network/plugin.go')
-rw-r--r--src/k8splugin/plugins/network/plugin.go111
1 files changed, 0 insertions, 111 deletions
diff --git a/src/k8splugin/plugins/network/plugin.go b/src/k8splugin/plugins/network/plugin.go
deleted file mode 100644
index aa0d584b..00000000
--- a/src/k8splugin/plugins/network/plugin.go
+++ /dev/null
@@ -1,111 +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 main
-
-import (
- "regexp"
-
- v1 "github.com/onap/multicloud-k8s/src/k8splugin/plugins/network/v1"
-
- utils "github.com/onap/multicloud-k8s/src/k8splugin/internal"
- "github.com/onap/multicloud-k8s/src/k8splugin/internal/helm"
- "github.com/onap/multicloud-k8s/src/k8splugin/internal/plugin"
-
- pkgerrors "github.com/pkg/errors"
- "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-// Compile time check to see if networkPlugin implements the correct interface
-var _ plugin.Reference = networkPlugin{}
-
-// ExportedVariable is what we will look for when calling the plugin
-var ExportedVariable networkPlugin
-
-type networkPlugin struct {
-}
-
-func extractData(data string) (cniType, networkName string, err error) {
- re := regexp.MustCompile("_")
- split := re.Split(data, -1)
- if len(split) != 2 {
- err = pkgerrors.New("Couldn't split resource '" + data +
- "' into CNI type and Network name")
- return
- }
- cniType = split[0]
- networkName = split[1]
- return
-}
-
-// Create an ONAP Network object
-func (p networkPlugin) Create(yamlFilePath string, namespace string, client plugin.KubernetesConnector) (string, error) {
- network := &v1.OnapNetwork{}
- if _, err := utils.DecodeYAML(yamlFilePath, network); err != nil {
- return "", pkgerrors.Wrap(err, "Decode network object error")
- }
-
- cniType := network.Spec.CniType
- typePlugin, ok := utils.LoadedPlugins[cniType+"-network"]
- if !ok {
- return "", pkgerrors.New("No plugin for resource " + cniType + " found")
- }
-
- symCreateNetworkFunc, err := typePlugin.Lookup("CreateNetwork")
- if err != nil {
- return "", pkgerrors.Wrap(err, "Error fetching "+cniType+" plugin")
- }
-
- name, err := symCreateNetworkFunc.(func(*v1.OnapNetwork) (string, error))(network)
- if err != nil {
- return "", pkgerrors.Wrap(err, "Error during the creation for "+cniType+" plugin")
- }
-
- return cniType + "_" + name, nil
-}
-
-// Get a Network
-func (p networkPlugin) Get(resource helm.KubernetesResource, namespace string, client plugin.KubernetesConnector) (string, error) {
- return "", nil
-}
-
-// List of Networks
-func (p networkPlugin) List(gvk schema.GroupVersionKind, namespace string,
- client plugin.KubernetesConnector) ([]helm.KubernetesResource, error) {
-
- return nil, nil
-}
-
-// Delete an existing Network
-func (p networkPlugin) Delete(resource helm.KubernetesResource, namespace string, client plugin.KubernetesConnector) error {
- cniType, networkName, err := extractData(resource.Name)
- if err != nil {
- return pkgerrors.Wrap(err, "Error extracting CNI type from resource")
- }
-
- typePlugin, ok := utils.LoadedPlugins[cniType+"-network"]
- if !ok {
- return pkgerrors.New("No plugin for resource " + cniType + " found")
- }
-
- symDeleteNetworkFunc, err := typePlugin.Lookup("DeleteNetwork")
- if err != nil {
- return pkgerrors.Wrap(err, "Error fetching "+cniType+" plugin")
- }
-
- if err := symDeleteNetworkFunc.(func(string) error)(networkName); err != nil {
- return pkgerrors.Wrap(err, "Error during the deletion for "+cniType+" plugin")
- }
-
- return nil
-}