diff options
author | Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com> | 2020-04-21 17:19:34 +0000 |
---|---|---|
committer | Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com> | 2020-09-17 16:25:10 -0700 |
commit | 3de63ee756f9d7c0a4524b40a89e92b918a9249f (patch) | |
tree | 3579bc50aee0a38d7c63c5787fca6205ced7a2df /internal/pkg/config | |
parent | 7f01772cdf3916026a93e9e9ac5ce54d57401476 (diff) |
Adding cnishim and cniserver
- inspired from ovn-kubernetes and sdn openshift - cniserver & cnishim concepts
- removed cni binary to depend on the host ovs binary installation
- encapsulated all the binaries within the ovn and ovs containers
- ovn4nfv-k8s cni server run along with nfn-agent
- cnishim act as the httpclient and cniserver as httpservers
- cnishim wrap all the cni commands to cniserver
- cniserver do the actual network pumping work and send result back to cnishim
- cnishim print the results as per the cni spec requirement
- currently supports only debian installation for ovn daemon
- support for debian kernel installation
- Consolidated all yaml into single ovn4nfv-k8s-plugin
Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: I1e2b114d90f717baa2ee94ff379c849d73b2754e
Diffstat (limited to 'internal/pkg/config')
-rw-r--r-- | internal/pkg/config/config.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/pkg/config/config.go b/internal/pkg/config/config.go index 002ad80..e9ad3e1 100644 --- a/internal/pkg/config/config.go +++ b/internal/pkg/config/config.go @@ -1,6 +1,7 @@ package config import ( + "encoding/json" "fmt" "os" "path/filepath" @@ -8,6 +9,8 @@ import ( "github.com/sirupsen/logrus" "github.com/urfave/cli" + "github.com/containernetworking/cni/pkg/types" + "github.com/containernetworking/cni/pkg/version" gcfg "gopkg.in/gcfg.v1" "k8s.io/client-go/kubernetes" @@ -283,3 +286,17 @@ func NewClientset(conf *KubernetesConfig) (*kubernetes.Clientset, error) { return kubernetes.NewForConfig(kconfig) } + +func ConfigureNetConf(bytes []byte) (*types.NetConf, error) { + conf := &types.NetConf{} + if err := json.Unmarshal(bytes, conf); err != nil { + return nil, fmt.Errorf("failed to load netconf: %v", err) + } + + if conf.RawPrevResult != nil { + if err := version.ParsePrevResult(conf); err != nil { + return nil, err + } + } + return conf, nil +} |