summaryrefslogtreecommitdiffstats
path: root/src/orchestrator/pkg
AgeCommit message (Collapse)AuthorFilesLines
2020-07-08Add terminate support to orchestrator and ncmEric Multanen4-20/+123
Complete the basic terminate support for the orchestrator and ncm services. 1. When terminate REST API is invoked on a deployment intent group, call the uninstall grpc api to rsync and then remove the app context. 2. When terminate REST API is invoked on a cluster, add the uninstall grpc api call to rsync to remove the network resources from the clusters. Issue-ID: MULTICLOUD-1040 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I181e891a8c7c973970af061f9ff07d80c3bb64f9
2020-07-08Adds composite app status update and queryEric Multanen6-11/+263
This patch provides the basic framework for supporting monitoring of composite application resources in clusters. 1. Updates to the monitor files for use with v2. 2. Invokes the Watcher process per cluster/app when the app is instantiated. 3. Adds a ResourceBundleState CR resource to the cluster/app so that monitor will be able to update status to it. 4. Watcher updates appropriate appcontext status object when updates are made in clusters by monitor 5. Update appcontext library to define a status handle and object at the app/cluster level 6. Labels resources with an appropriate tracking label to coordinate with the ResourceBundleState CR Issue-ID: MULTICLOUD-1042 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: If007c1fd86ca7a65bb941d1776cfd2d3afed766b
2020-06-26Add instruction and rsync call to instantiateEric Multanen4-13/+125
This patch adds app and resource 'order' and 'dependency' instructions to the appcontext, as these are currently expected by rsync. Adds the rsync client and call to rsync to instantiate the appcontext. Issue-ID: MULTICLOUD-1064 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Iae0da9de4a0ae82bd3ab7ccc72da4abf8b7f2295
2020-06-07Make GRPC calls and delete extra cluster handlesRajamohan Raj2-0/+74
The patch makes grpc calls for context updation for a given list of controllers and deletes the extra set of cluster handles for each anyOf cluster after context updation Issue-ID: MULTICLOUD-1064 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I4b946f5f130300628ef4f655213639a2444be2cc
2020-06-05Implement Priority Based Controller listRajamohan Raj4-11/+182
As part of this patch, have implemented a priorityQueue based contoller list which shall contain placement contollers and action contollers listed based on their priority. Issue-ID: MULTICLOUD-1064 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Id1beac6e3b6ec5156f64a169042d171ff28e38d6
2020-06-03Add grpc contextupdate client call to orchestratorEric Multanen5-86/+275
Adds a contextupdate client function that can be invoked for any action or placement controller to process intents for that controller. Adds the corresponding server side handling for the ovnaction controller. Issue-ID: MULTICLOUD-1019 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Ifdfc99e522288a530735bc4c1402d45449f6d057
2020-06-03Move cluster management into its own microserviceEric Multanen1-1/+1
Split out the cluster provider and cluster APIs and packages into a separate microservice to align with the architecture. Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I08f357b5a488004a2389b72a178ae33e101d1540
2020-06-02Reorganize ncm packages to align with architectureEric Multanen1-2/+2
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
2020-06-01Adding cluster meta data and saving in etcdRajamohan Raj6-135/+372
As part of this patch, we assign groupNumbers for the set of clusters which are under anyOf, or in other words are optional for deployement of app. Also refactored the instantiation flow by separating out the etcd interactions Issue-ID: MULTICLOUD-1064 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I21ece189daf6e6b3a7cfdba5df22d57b3d33ca78
2020-05-21InstallApp Grpc proto and server for rsyncManjunath Ranganathaiah2-391/+0
Add the InstallApp GRPC proto file server code to the resource synchronizer. Issue-ID: MULTICLOUD-1005 Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com> Change-Id: I8e586f1b878009fd4df53ef48aae6deded0f64ea
2020-05-20Changing the value type to interfaceRajamohan Raj1-2/+2
Issue-ID: MULTICLOUD-1064 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I50c1fc3ea0110d4d65d53201c62314ea6c74631b
2020-05-15Adding meta data for app in appContextRajamohan Raj5-45/+158
In this patch, modified the appContext and rtc lib by adding functions for setting and getting the meta data associated with the apps. Issue-ID: MULTICLOUD-1064 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I08f91ddda3044f172caf7b2673c069fed16c32c4
2020-05-14Merge "Create appContext and save to etcd"Ritu Sood3-35/+238
2020-05-12Move controller module into separate packageEric Multanen4-47/+70
Move the controller part of the module package into a separate controller package. Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Id07c1012aeff8a72458b37d42671495510cade75
2020-05-12Create appContext and save to etcdRajamohan Raj3-35/+238
In this patch, following tasks are accomplished 1. Creation of appContext and storing the appcontexts for each app in the compositeApp into etcd as part of the instantiation process 2. Added a util method to extract parameters from k8s manifest files. 3. Added a new testing script to auto create NCM artifacts through the NCM APIs 4. Modified the existing plugin_collection_v2.sh to better test the orchestrator APIs. 5. Added logging to appcontext lib 6. Bug fix in the helm charts. Issue-ID: MULTICLOUD-1064 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I1b0e4d1351ad3a083be529239748015ea5db2a41
2020-04-30Add gRPC framework to orchestratorEric Multanen7-36/+896
Adds proto and generated go files for a healtcheck, contextupdate and installapp rpc services. Adds framework for orchestrator as an rpc client to connect to configured controllers. Issue-ID: MULTICLOUD-1019 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Ie66865789fe2146258c91e168cfb8d5933905814
2020-04-24Fix missing key error while getting resource instManjunath Ranganathaiah1-1/+1
Issue-ID: MULTICLOUD-1005 Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com> Change-Id: I79e9090769f9ef2ce979d5f1a3b5264171164ae0
2020-04-23Merge "Added intentResolver"Ritu Sood7-47/+187
2020-04-22Controller API supportEric Multanen4-26/+152
Add controller API support as baseline for adding gRPC framework. Issue-ID: MULTICLOUD-1019 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Ifd522a0eefbb8e54be45cc62003d3809283c9bfe
2020-04-21Orchestrator support for network intent updatesEric Multanen1-0/+32
Adds support code in orchestrator for handling updates to app context resources when ncm handles network intents. Add a get cluster names call to the app context Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Ifdc78488a1e86f43d6fe656c59675862c4818af5
2020-04-17Added intentResolverRajamohan Raj7-47/+187
IntentResolver shall collect the clusterdetails for each of the app where it needs to be deployed. This shall be called by the instantiation code. Issue-ID: MULTICLOUD-1041 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I7d29901e46a5349ef502786c187c1c88bea61a12
2020-04-14Mongo api changesEric Multanen2-3/+31
Add RemoveTag call to allow removal of attribute from a mongo document. Allow find to return and empty list. Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I315efb8a4da485b697727254ccc9a5828f11a0d0
2020-04-13Added query routes for deploymentIntentGroupRajamohan Raj2-13/+79
In this patch added a route which can query allIntents belonging to a DeploymentIntentGroup and another route for querying all intents under an intent in a deploymentIntentGroup Issue-ID: MULTICLOUD-1049 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I06ec4d2ee8dae2aeca77e4db3ca690863014cc62
2020-04-13Merge "Adding query APIs for AppIntents"Ritu Sood6-21/+170
2020-04-13Test cases for resolving the helm templatesRajamohan Raj2-6/+5
Added test cases for overriding values and resolving the helm charts. Also addressed the merge conflicts and review comments Issue-ID: MULTICLOUD-1041 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I511e8e2e71c60e878df434370fc053f09cda1f66
2020-04-11Resolve the helm templatesRajamohan Raj6-7/+152
Resolving the helm templates for each of the apps in the compositeApp by utilizing the helm libraries and thus getting the sorted templates with all values rendered. This is a subtask of adding instantiation APIs. Issue-ID: MULTICLOUD-1041 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Id4fddda69b5276b2409d835723b11367400ab6ea
2020-04-09Adding query APIs for AppIntentsRajamohan Raj8-24/+172
In this patch the following tasks where performed: 1. Added APIs for query Intents for each App in the compositeApp. For example, you can see all intents of collectd or prometheus seperately if both formed a compositeApp Collection. 2. Added 'provider-name' parameter to denote the cluster objects used in all intents. Earlier we had only clusterName and clusterlabel to denote a cluster. Modified the tests also for this. 3. Fixed bugs in the plugin_collection_v2.sh. 4. Fixed some minor logging and formatting bugs. Issue-ID: MULTICLOUD-1048 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Ic452d7ba5d98bb265eb301de84d679d1abe0e34e
2020-04-08Add validation routinesEric Multanen2-4/+57
Splitting out new orchestration validation routines from other patch for ncm which uses them - so these changes can go in first. Should fix build issues. Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I89c4163e1204d444e48a4786acececa20fce1844
2020-04-01Add init and reinit interfaces to context libsManjunath Ranganathaiah4-253/+365
Issue-ID: MULTICLOUD-1005 Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com> Change-Id: I9839d265840c25b2fbfbe0265a65c65388eaebcb
2020-03-25App context library interface for etcdManjunath Ranganathaiah2-0/+573
Issue-ID: MULTICLOUD-1005 Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com> Change-Id: Id4d3357fe851f6653112d24ac5d48b6dbaa6e888 Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com>
2020-03-23Sync up Key json attribute namesEric Multanen10-26/+26
Sync up names used for the Key structures and tagMeta attribute names. This should ensure that the mongo db routines will query properly. Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I05da9de92a22cb73d60a7349c3cc5bd4cedd99a5
2020-03-23Create network service with cluster APIEric Multanen2-542/+0
Creates a new network customization and configuration service. Seed it by moving the cluster-provider and cluster API from the orchestrator service to this new service. More APIs to follow. Just put a Dockerfile in the ncm/scripts directory for now. See: https://wiki.onap.org/pages/viewpage.action?pageId=79201398 Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Iea1b1151e5f87fecaca9cfe8c9746a59eb447a7a
2020-03-20Merge "Add update interface to run time context library"Ritu Sood2-0/+63
2020-03-19Add more validation methodsEric Multanen2-0/+730
Add more validation methods and move to package orchestration/infra/validation Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Id37bbb73fff9ab115ec49c88cdd3e08ee6be3098
2020-03-16Add update interface to run time context libraryManjunath Ranganathaiah2-0/+63
Issue-ID: MULTICLOUD-1005 Change-Id: Ie6a8f5d83f56ea12107fdf81fe6819b1637b252a Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com>
2020-03-12Added getAllApps functionality in App apiSrivahni Chivukula1-0/+29
Issue-ID: MULTICLOUD-994 Signed-off-by: Srivahni Chivukula <srivahni.chivukula@intel.com> Change-Id: I459504c45b9bedea0e6bc15ca57e7876d5f59d28
2020-03-12Modified project api to use new mongodb methodsSrivahni Chivukula1-4/+4
Issue-ID: MULTICLOUD-994 Signed-off-by: Srivahni Chivukula <srivahni.chivukula@intel.com> Change-Id: I8e7e17a1dab164c4ea7d50743b20f0e08958a957
2020-03-12Add apps under composite app APISrivahni Chivukula5-4/+539
Implemented create, get and delete handlers for the apps under composite app. Added unit tests Added remove function to mockdb Handled multipart POST request to upload file along with app data. Issue-ID: MULTICLOUD-998 Signed-off-by: Srivahni Chivukula <srivahni.chivukula@intel.com> Change-Id: I25c1faba1212c0cc881c2cd599e8e66a7b93033e
2020-03-12Added tests to Composite App APISrivahni Chivukula5-6/+242
Issue-ID: MULTICLOUD-994 Signed-off-by: Srivahni Chivukula <srivahni.chivukula@intel.com> Change-Id: I39f3dc28bca3ff7cefda006cb96eb86c2c069efe
2020-03-12Run time context interface libraryManjunath Ranganathaiah2-0/+771
Issue-ID: MULTICLOUD-1005 Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com> Change-Id: I12c55441b5701387ead851b8294088457f4401b7
2020-03-11Add Delete and DeleteAll functionality to etcdRitu Sood2-1/+16
Currently only supports DeleteAll. Issue-ID: MULTICLOUD-871 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: I9ee03648462c5a04481c89bf864cdec35cfd4230
2020-03-06Merge "Adding Remove function to Mongo"Bin Yang4-4/+50
2020-03-06Merge "Change DB Name to accept variable"Ritu Sood2-6/+6
2020-03-05Adding Remove function to MongoRitu Sood4-4/+50
Adding remove function to remove a document only if no child refrences exist. Issue-ID: MULTICLOUD-922 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: I7d199502635170a65f7029360c7436ac0389f2a9
2020-03-05Add API support to handle App ProfilesEric Multanen2-0/+298
Add support for profiles per App under composite profiles. See: https://wiki.onap.org/display/DW/V2+API+Specification#V2APISpecification-Addingprofileperapplication Issue-ID: MULTICLOUD-997 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I8569066d903327d640e315d0de835605ca1779c0
2020-03-05Composite Profile API and HandlerDileep Ranganathan3-4/+372
Implemented Composite Profile API and handler, adding create, get and delete handlers for the composite profile. Issue-ID: MULTICLOUD-997 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com> Change-Id: Iab105cf88ef4635038cd36e90f3251bc900b2faf
2020-03-05Change DB Name to accept variableenyinna12342-6/+6
This enables the initialization of the mongo database name with a variable. Issue-ID: MULTICLOUD-996 Signed-off-by: Enyinna Ochulor <enyinna.ochulor@intel.com> Change-Id: Id3f07b47cedde16235ee7078e1e6f4d287106d29
2020-03-04Add DeploymentIntentGroup APIsRajamohan Raj6-18/+612
Implemented the routes for creation, deletion and getting DeploymentIntentGroup. Added routes for adding, getting and deleting intents. Issue-ID: MULTICLOUD-1002 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I07ba3744107bcf30aa30ed89caa21bf474c0d92a
2020-03-03Implemented AppIntents and GenPlaceIntentsRajamohan Raj7-5/+844
Implemented the routes for creating, getting, and deleting generic placement intents and App intents. Issue-ID: MULTICLOUD-875 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Iecb11c442958a43a517772e066de45213e3d7030
2020-02-28Add v2 cluster registration api to k8s orchestratorEric Multanen2-0/+542
Adds orchestrator API support for creating cluster-providers, registering clusters and their kubeconfig, adding labels to cluster and key value paisr to clusters. See: https://wiki.onap.org/display/DW/V2+API+Specification#V2APISpecification-ClusterRegistrationAPI Issue-ID: MULTICLOUD-922 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I775a308e9ffb19acf65cb0e5752705998bc5b659