ovn4nfv-k8s-plugin.git
4 years agoadding the example folder 47/69847/7
Kuralamudhan Ramakrishan [Sat, 28 Mar 2020 03:56:45 +0000 (03:56 +0000)]
adding the example folder

- adding vlan and provider network

Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: Ic97c61b38b51a7391a4d4b1c2e918c6373bff3b4

4 years agoadding centos 8 dockerfile for ovn & ovn4k8s-nfv images 55/71155/5
Kuralamudhan Ramakrishnan [Wed, 16 Sep 2020 22:14:13 +0000 (15:14 -0700)]
adding centos 8 dockerfile for ovn & ovn4k8s-nfv images

Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: Ib161ea39fc6da9a7649142271a781b3140068d15

4 years agoadding gwipaddress features in network annotation 03/70703/5
Kuralamudhan Ramakrishnan [Mon, 10 Aug 2020 04:38:57 +0000 (21:38 -0700)]
adding gwipaddress features in network annotation

- check defautgateway is true only for one network
- first network with defautgateway is only configured, rest is ignored
- add node network and ovn4nfv0-* route info for eth0 interface

Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: I078dee22627b2fa92e34b6cc4fa2ec7c8cd58220

4 years agoadding the sfc features 57/70657/4
Kuralamudhan Ramakrishnan [Tue, 4 Aug 2020 21:33:21 +0000 (14:33 -0700)]
adding the sfc features

- including the network/iface.go file
- adding the default gw features in pod network namespaces
- fixing insync message bug

Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: I9b595c5cae415cc594f7682f1ffdbdf6291ea909

4 years agoRoute based chaining 56/70656/4
Ritu Sood [Wed, 6 May 2020 20:47:11 +0000 (13:47 -0700)]
Route based chaining

1) Adding controller for route based chaining
2) nfn agent code to insert route in container namespace
3) Calculate routes based on the Chaining Routes

Based on the Ritu(ovn4nfv-k8s-plugin committer) patches

Co-authored-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: I6757f269a5df7d98d650f273468c6ccbcc055d3e

4 years agoAdding node interface, SNAT and OVN Node switch port 92/70492/6
Kuralamudhan Ramakrishnan [Mon, 6 Jul 2020 23:10:19 +0000 (16:10 -0700)]
Adding node interface, SNAT and OVN Node switch port

    - Adding nfn proto for node interface MAC and IP address
    - Adding node switch ports in NFN Operator
    - Adding grpc client in nfn agent to get mac and IP address for node interface
    - Adding feature to create Node interface with OVS internal port
    - Make sure pod controller requeue the pod request for empty node field in pod spec
    - Unique node interface name using SHA and maintain 15 charactor for OVS switch port
    - Adding SNAT for default interface in each node
    - Adding iptables modules for SNAT rules

Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: I6cfa36e45007e796eb651345f9f0751329defcf7

4 years agoAdding cnishim and cniserver 77/69977/9
Kuralamudhan Ramakrishnan [Tue, 21 Apr 2020 17:19:34 +0000 (17:19 +0000)]
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

4 years agoAdding the ovn containerization 76/69976/6
Author Name [Mon, 2 Mar 2020 04:34:42 +0000 (04:34 +0000)]
Adding the ovn containerization

Referred multiple works on ovs and ovn
ovs: https://github.com/openvswitch/ovs/tree/master/utilities/docker
ovn: https://github.com/ovn-org/ovn/tree/master/utilities/docker
ovn-kubernetes: https://github.com/ovn-org/ovn-kubernetes/tree/master/dist/images
kube-ovn:https://github.com/alauda/kube-ovn/tree/master/dist/images

Co-authored-by: Aliasgar Ginwala <aginwala@ebay.com>
Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: I3aee1a9f4ebce702ca22ec2ecba35463523af892

4 years agoadding primary network features 19/69819/7
Kuralamudhan Ramakrishnan [Tue, 17 Mar 2020 05:32:22 +0000 (05:32 +0000)]
adding primary network features

- adding docker build bugfixes
- Removing the dependence on Multus
- ovn4nfv-k8s CNI will be default or cluster networking
- ovn4nfv-k8s creates ovn overlay mutli-networking using pod annotations itself
- remove the outdated unit test

Based on the Ritu(ovn4nfv-k8s-plugin committer) patches
Change-Id: Ic48bd11d746e6339075fb3ba33f12463bb3f218d

Co-authored-by: Ritu Sood <ritu.sood@intel.com>
Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: I9702bbd2d4aa23157052258ef6b363bc7b472a63

4 years agorefactoring Dockerfile 41/69841/3 v0.1.0
Kuralamudhan Ramakrishan [Wed, 25 Mar 2020 19:53:22 +0000 (19:53 +0000)]
refactoring Dockerfile

- building with latest golang version v1.14
- Removing the dependence of CI golang version

Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
Change-Id: Id1ddd154a5e5cf00937ed5adbb7cd8a90d800447

4 years agoadding direct provider network 21/69821/6
Kuralamudhan Ramakrishnan [Wed, 25 Mar 2020 20:03:10 +0000 (20:03 +0000)]
adding direct provider network

- update nfn.proto
- update direct provider network crd and apis
- modified nfn-agent to include the direct provider network
- modified nfnNotify server to include the direct provider network

Change-Id: I9c2d4cc62178088c8908c50c2b734772ed7f99f4
Co-authored-by: Ritu Sood <ritu.sood@intel.com>
Signed-off-by: Kuralamudhan Ramakrishnan <kuralamudhan.ramakrishnan@intel.com>
4 years agoMerge "Update Readme"
Trinath Somanchi [Mon, 16 Mar 2020 17:51:44 +0000 (17:51 +0000)]
Merge "Update Readme"

4 years agoMerge "Update Dockerfile for nfn-agent"
Trinath Somanchi [Mon, 16 Mar 2020 17:51:12 +0000 (17:51 +0000)]
Merge "Update Dockerfile for nfn-agent"

4 years agoMerge "Set vlan interface up"
Trinath Somanchi [Mon, 16 Mar 2020 17:51:01 +0000 (17:51 +0000)]
Merge "Set vlan interface up"

4 years agoAdding generated code for service chaining 65/69465/1
Ritu Sood [Sun, 29 Dec 2019 18:52:06 +0000 (10:52 -0800)]
Adding generated code for service chaining

API and generated code for route based
chaining CRD

Change-Id: I631ec38c08c76059f6e742c5c241763b33597bd4
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
4 years agoUpdate Dockerfile for nfn-agent 49/69449/1
Ritu Sood [Thu, 26 Dec 2019 19:03:19 +0000 (11:03 -0800)]
Update Dockerfile for nfn-agent

Change-Id: Id6091d5a439eff3cde1ac0eeb4cb4541206c955e
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
4 years agoSet vlan interface up 48/69448/1
Ritu Sood [Thu, 26 Dec 2019 18:45:11 +0000 (10:45 -0800)]
Set vlan interface up

Change-Id: I5b9467755b1a996febfa25dbcac14d9786ab58a8
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
4 years agoAdd Provider Network CRD controller 46/68546/5
Ritu Sood [Sun, 29 Sep 2019 13:07:26 +0000 (06:07 -0700)]
Add Provider Network CRD controller

CRD controller watches for Provider
Network CR's and sends messages to all
the nodes that needs to be configured
for provider network, if subsribe message
was already received from the agent
running on the node.

Change-Id: Idc3e2703a309113b325a2fb7c8eb244a02babeb3
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
4 years agonfn agent for configuring nodes 45/68545/4
Ritu Sood [Sun, 29 Sep 2019 12:54:54 +0000 (05:54 -0700)]
nfn agent for configuring nodes

nfn-agent runs on all nodes in cluster
and on starting subscribes for notifications
from gRPC server and waits for message to
configure provider network by adding vlan
interface and ovs-bridge on the node

Change-Id: Ibec7d0fda28db7b444900e13c705d15cf012aa48
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
4 years agoUpdate OVN utils to add provider network support 39/68539/4
Ritu Sood [Fri, 27 Sep 2019 23:55:43 +0000 (16:55 -0700)]
Update OVN utils to add provider network support

Currently provider networks support only VLAN
based networks. Added functions for VLAN
and ovs bridge.

Change-Id: I63ac7266aac92021ee3a44f49644a8a79ce4fed6
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
4 years agoMerge "Add a check for network creation"
Trinath Somanchi [Fri, 15 Nov 2019 09:32:45 +0000 (09:32 +0000)]
Merge "Add a check for network creation"

5 years agoAdding gRPC proto and server 38/68538/7
Ritu Sood [Fri, 27 Sep 2019 19:33:48 +0000 (12:33 -0700)]
Adding gRPC proto and server

gRPC server is required to send updates
to nfn-agent running on all the nodes in
the cluster, to setup provider networks
as defined in the provider network CR. This
patch includes proto file and generated code
along with gRPC server code

Change-Id: I891629d84932ae662ba7545ebfe4d9921448fdc1
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoAdd a check for network creation 47/68547/1
Ritu Sood [Sun, 29 Sep 2019 13:22:17 +0000 (06:22 -0700)]
Add a check for network creation

If network already exists consider
that as not an error

Change-Id: I279338e6e4d6f6ad0d7417bcabbd3f2027ff808e
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoAdd Generated code for CRD 99/68499/3
Ritu Sood [Sat, 21 Sep 2019 14:12:37 +0000 (07:12 -0700)]
Add Generated code for CRD

Adding generated code for Network
and Provider Network CRD.

Change-Id: Iff21107807ba1b5d5aafc3a756edc38c70003332
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoUpdate Readme 33/68533/1
Ritu Sood [Wed, 25 Sep 2019 17:07:22 +0000 (10:07 -0700)]
Update Readme

Updating readme to reflect new functionality

Change-Id: I54c2a024a74c142b854bde8a4eeb1fb5a1a49a84
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoAdd check for annotation presence 05/68405/1
Ritu Sood [Fri, 30 Aug 2019 00:50:51 +0000 (17:50 -0700)]
Add check for annotation presence

If annotation is found on pod then pod
is already processed, stop processing.
This is different from "Failed to add
ports" error.

Change-Id: I101df641c150e007146bc1aeda9c5b372be329ca
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoAdd CRD Controller for Network 31/68331/2
Ritu Sood [Fri, 9 Aug 2019 18:24:26 +0000 (11:24 -0700)]
Add CRD Controller for Network

Add CRD controller functionality for
Network creation and deletion. Related
generated code is uploaded in patch:
https://gerrit.opnfv.org/gerrit/#/c/ovn4nfv-k8s-plugin/+/68324/

Change-Id: Ibd3e652edc56aa1084f684438597e1b978977bbf
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoAdd types and generated code for CRDs 24/68324/2
Ritu Sood [Wed, 7 Aug 2019 04:42:15 +0000 (21:42 -0700)]
Add types and generated code for CRDs

Adding Network CRD and Provider
Network CRD generated code as per the
spec.
https://wiki.onap.org/display/DW/K8s+Plugin+Network+Related+CRD%27s+for+R5

Change-Id: If75885205830cf2cef197754ea8f00b61095a4a1
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoUse controller runtime and operator sdk 23/68323/4
Ritu Sood [Wed, 7 Aug 2019 02:35:42 +0000 (19:35 -0700)]
Use controller runtime and operator sdk

Changing the framework to use controller
runtime and operator sdk. This allows to
add CRD controllers for Network, Provider
Network etc in the same operator. Binary
renamed to nfn-operator (Network funtion
networking).

Change-Id: Ic25a3c3f5f1418fc0614f3aede48b41d9c1156cd
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoConsolidate OVN related code under ovn dir 92/68292/2
Ritu Sood [Tue, 30 Jul 2019 22:40:55 +0000 (15:40 -0700)]
Consolidate OVN related code under ovn dir

This patch is a cleanup patch and doesn't
introduce any fuctionality changes.
Includes removing of unused code and
rearranging code.

Change-Id: Idf4a36e09a6d5c200cf191c995184076ffa0326d
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoFix build issue for go 1.12.5 84/68184/2
Ritu Sood [Tue, 2 Jul 2019 20:50:40 +0000 (13:50 -0700)]
Fix build issue for go 1.12.5

Build fails on go 1.12.5

Change-Id: I7f66e84ebaa3b105ca500426f2ee3851b56541e7
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoFix for format issues 15/68015/1
Ritu Sood [Fri, 7 Jun 2019 20:33:56 +0000 (13:33 -0700)]
Fix for format issues

No code change made. Only corrected
the formatting of some files.

Change-Id: I1ccb4a0fddcc65bd7d3f93312c5417e7830fed5a
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoAdd unit test case 61/65961/2
Ritu Sood [Thu, 20 Dec 2018 16:04:52 +0000 (08:04 -0800)]
Add unit test case

Adding unit test for config package

Change-Id: I6897ac91f3ad55d2e48a0ab9255b224782fef5a5
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoMerge "Add Routes to Pod"
Trinath Somanchi [Wed, 13 Mar 2019 15:36:59 +0000 (15:36 +0000)]
Merge "Add Routes to Pod"

5 years agoFix unit test failure 97/67197/2
Ritu Sood [Thu, 7 Mar 2019 18:31:57 +0000 (10:31 -0800)]
Fix unit test failure

Updating unit test for matching the changes
in another patches

Change-Id: I1a6d7ecf00261a4a7b7514b45456f6ac17993d2e
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoMerge "Code cleanup"
Trinath Somanchi [Thu, 7 Mar 2019 07:48:16 +0000 (07:48 +0000)]
Merge "Code cleanup"

5 years agoMerge "Fixed missing external-ids"
Trinath Somanchi [Thu, 7 Mar 2019 07:48:01 +0000 (07:48 +0000)]
Merge "Fixed missing external-ids"

5 years agoAdd support for Provider network interface 50/67150/3
Ritu Sood [Thu, 28 Feb 2019 20:17:07 +0000 (12:17 -0800)]
Add support for Provider network interface

To support provider networks added a new
netType "provider". Static IP address
required for provider network interface.

Change-Id: I40f508ead2eefc352b735c6d4773d20fa821769a
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoFixed missing external-ids 41/67141/1
Ritu Sood [Thu, 28 Feb 2019 06:52:03 +0000 (22:52 -0800)]
Fixed missing external-ids

Adding external-ids in static IP
address port creation to match dynamic
address port creation. Used to delete
port etc.

Change-Id: Ied6b1ae5091559ba4a593e34dd72cfaa067f44ab
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoAdd Routes to Pod 46/67046/1
Ritu Sood [Sun, 17 Feb 2019 13:58:57 +0000 (05:58 -0800)]
Add Routes to Pod

Based on Pod annotations list ovnNetworkRoutes
routes are added to the Pod namespace

Change-Id: If6b8b6375d798dcbd45e51ccd5adae4b24369c5c
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoCode cleanup 29/65829/7
Ritu Sood [Sun, 16 Dec 2018 03:09:41 +0000 (19:09 -0800)]
Code cleanup

Remove unused options & function parameters
from config

Change-Id: Id4342cc149e6f8c3c83b6116bc38a893b28f25a4
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoUpdate Readme file 31/66331/9
Ritu Sood [Sun, 13 Jan 2019 00:42:29 +0000 (16:42 -0800)]
Update Readme file

Change-Id: Id38ef2e96379ad2a25b639aa7cff6d501ae75342
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
5 years agoSeed code for the Plugin 33/64833/5
Ritu Sood [Sat, 10 Nov 2018 17:56:52 +0000 (09:56 -0800)]
Seed code for the Plugin

The code includes ovn4nfvk8s Plugin & CNI. It implements multiple OVN
interfaces for Pods and assumes Multus (or similar CNI) calls its CNI
not as first CNI.

Change-Id: I524c1d18752eb6dbc8d34addd3b60d5bbaa06ff4
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
Signed-off-by: Victor Morales <victor.morales@intel.com>
6 years agoInitial check-in 85/64285/2
Ritu Sood [Wed, 31 Oct 2018 17:20:39 +0000 (10:20 -0700)]
Initial check-in

Adding readme.rst and empty directory
structure for the project

Change-Id: I483caca5b14481b970a0716bd74c11ef5b3f2158
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
6 years agoInitial empty repository
Trevor Bramwell [Tue, 2 Oct 2018 23:38:35 +0000 (23:38 +0000)]
Initial empty repository