summaryrefslogtreecommitdiffstats
path: root/src/ncm/pkg/module/network.go
diff options
context:
space:
mode:
authorEric Multanen <eric.w.multanen@intel.com>2020-05-28 17:25:30 -0700
committerEric Multanen <eric.w.multanen@intel.com>2020-06-02 14:00:07 -0700
commita6e2a3a65a6e4f3f1d964578ae4e60c6f9dd1184 (patch)
treeab7fa1157f9b98840b0482592c886da61e62cc6d /src/ncm/pkg/module/network.go
parentad7782cbf83c11f152a6457f3808a4da99a1ae56 (diff)
Reorganize ncm packages to align with architecture
Reorginize the ncm packges to delineate - cluster provider and cluster management - virtual and provider netowrk intent management - intent scheduler - internal ovn4k8s network controller Overall, no code changes, just moving things around. Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I3d43c7e4eb6f285b51c0385ba18626d3511a14f5
Diffstat (limited to 'src/ncm/pkg/module/network.go')
-rw-r--r--src/ncm/pkg/module/network.go180
1 files changed, 0 insertions, 180 deletions
diff --git a/src/ncm/pkg/module/network.go b/src/ncm/pkg/module/network.go
deleted file mode 100644
index e753905e..00000000
--- a/src/ncm/pkg/module/network.go
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright 2020 Intel Corporation, Inc
- *
- * 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 module
-
-import (
- "github.com/onap/multicloud-k8s/src/orchestrator/pkg/infra/db"
-
- pkgerrors "github.com/pkg/errors"
-)
-
-// Network contains the parameters needed for dynamic networks
-type Network struct {
- Metadata Metadata `json:"metadata" yaml:"metadata"`
- Spec NetworkSpec `json:"spec" yaml:"spec"`
-}
-
-type NetworkSpec struct {
- CniType string `json:"cniType" yaml:"cniType"`
- Ipv4Subnets []Ipv4Subnet `json:"ipv4Subnets" yaml:"ipv4Subnets"`
-}
-
-// NetworkKey is the key structure that is used in the database
-type NetworkKey struct {
- ClusterProviderName string `json:"provider"`
- ClusterName string `json:"cluster"`
- NetworkName string `json:"network"`
-}
-
-// structure for the Network Custom Resource
-type CrNetwork struct {
- ApiVersion string `yaml:"apiVersion"`
- Kind string `yaml:"kind"`
- Network Network `yaml:",inline"`
-}
-
-const NETWORK_APIVERSION = "k8s.plugin.opnfv.org/v1alpha1"
-const NETWORK_KIND = "Network"
-
-// Manager is an interface exposing the Network functionality
-type NetworkManager interface {
- CreateNetwork(pr Network, clusterProvider, cluster string, exists bool) (Network, error)
- GetNetwork(name, clusterProvider, cluster string) (Network, error)
- GetNetworks(clusterProvider, cluster string) ([]Network, error)
- DeleteNetwork(name, clusterProvider, cluster string) error
-}
-
-// NetworkClient implements the Manager
-// It will also be used to maintain some localized state
-type NetworkClient struct {
- db ClientDbInfo
-}
-
-// NewNetworkClient returns an instance of the NetworkClient
-// which implements the Manager
-func NewNetworkClient() *NetworkClient {
- return &NetworkClient{
- db: ClientDbInfo{
- storeName: "cluster",
- tagMeta: "networkmetadata",
- },
- }
-}
-
-// CreateNetwork - create a new Network
-func (v *NetworkClient) CreateNetwork(p Network, clusterProvider, cluster string, exists bool) (Network, error) {
-
- //Construct key and tag to select the entry
- key := NetworkKey{
- ClusterProviderName: clusterProvider,
- ClusterName: cluster,
- NetworkName: p.Metadata.Name,
- }
-
- //Check if cluster exists
- _, err := NewClusterClient().GetCluster(clusterProvider, cluster)
- if err != nil {
- return Network{}, pkgerrors.New("Unable to find the cluster")
- }
-
- //Check if this Network already exists
- _, err = v.GetNetwork(p.Metadata.Name, clusterProvider, cluster)
- if err == nil && !exists {
- return Network{}, pkgerrors.New("Network already exists")
- }
-
- err = db.DBconn.Insert(v.db.storeName, key, nil, v.db.tagMeta, p)
- if err != nil {
- return Network{}, pkgerrors.Wrap(err, "Creating DB Entry")
- }
-
- return p, nil
-}
-
-// GetNetwork returns the Network for corresponding name
-func (v *NetworkClient) GetNetwork(name, clusterProvider, cluster string) (Network, error) {
-
- //Construct key and tag to select the entry
- key := NetworkKey{
- ClusterProviderName: clusterProvider,
- ClusterName: cluster,
- NetworkName: name,
- }
-
- value, err := db.DBconn.Find(v.db.storeName, key, v.db.tagMeta)
- if err != nil {
- return Network{}, pkgerrors.Wrap(err, "Get Network")
- }
-
- //value is a byte array
- if value != nil {
- cp := Network{}
- err = db.DBconn.Unmarshal(value[0], &cp)
- if err != nil {
- return Network{}, pkgerrors.Wrap(err, "Unmarshalling Value")
- }
- return cp, nil
- }
-
- return Network{}, pkgerrors.New("Error getting Network")
-}
-
-// GetNetworkList returns all of the Network for corresponding name
-func (v *NetworkClient) GetNetworks(clusterProvider, cluster string) ([]Network, error) {
-
- //Construct key and tag to select the entry
- key := NetworkKey{
- ClusterProviderName: clusterProvider,
- ClusterName: cluster,
- NetworkName: "",
- }
-
- var resp []Network
- values, err := db.DBconn.Find(v.db.storeName, key, v.db.tagMeta)
- if err != nil {
- return []Network{}, pkgerrors.Wrap(err, "Get Networks")
- }
-
- for _, value := range values {
- cp := Network{}
- err = db.DBconn.Unmarshal(value, &cp)
- if err != nil {
- return []Network{}, pkgerrors.Wrap(err, "Unmarshalling Value")
- }
- resp = append(resp, cp)
- }
-
- return resp, nil
-}
-
-// Delete the Network from database
-func (v *NetworkClient) DeleteNetwork(name, clusterProvider, cluster string) error {
-
- //Construct key and tag to select the entry
- key := NetworkKey{
- ClusterProviderName: clusterProvider,
- ClusterName: cluster,
- NetworkName: name,
- }
-
- err := db.DBconn.Remove(v.db.storeName, key)
- if err != nil {
- return pkgerrors.Wrap(err, "Delete Network Entry;")
- }
-
- return nil
-}