summaryrefslogtreecommitdiffstats
path: root/src/orchestrator
AgeCommit message (Collapse)AuthorFilesLines
2020-09-24Let instructions exist under /subresource levelIgor D.C1-1/+1
Instructions (order/dependency) can now belong to an app, a resource or a subresource. Issue-ID: MULTICLOUD-1143 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com> Change-Id: Iee55c2bbb569de242e66f5a5456ac52025a00f0e
2020-09-24Cleanup tmp resources after instantiationRajamohan Raj2-10/+65
In this patch,we clean up the tmp files and directories generated during the process of instantiation. They include the tmp dirs with prefix : /tmp/helm-tmpl and /tmp/k8s-ext Issue-ID: MULTICLOUD-1206 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I02d11bb2f8d920e35aae7343f041a53b1cd3f057
2020-09-22Fix missing operator-sdk dependency goautonegIgor D.C2-418/+285
goautoneg used to be available from bitbucket.org/ww/goautoneg but not anymore. operator-sdk has been importing it from github.com/munnerz/goautoneg for some time now but since we were using operator-sdk v0.9.0, it was still pointing at the old (now deleted) repository. This patch bumps operator-sdk to v0.19.0 (which doesn't use goautoneg from bitbucket), controller-runtime to v0.5.11, helm to v2.16.12 and all k8s.io dependencies to v0.16.9 (consistent with the k8s v1.16.9 we use). Code changes have been made to make all modules compatible with the new dependencies. All src go.sums have been cleaned (deleted and re-built). Issue-ID: MULTICLOUD-1143 Change-Id: I89fc39e9595b4a6a38dd90028b161bcecd3ef349 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
2020-09-15Delete issues error code 404 when project name is invalidAditya Sharoff3-4/+21
Issue-ID: MULTICLOUD-1147 Signed-off-by: Aditya Sharoff <aditya.sharoff@intel.com> Change-Id: I659dfcb00b3f15bcf787ac3947f8755737b1fc39
2020-09-11Merge "Adding validations for all JSON data across modules"Ritu Sood28-429/+44
2020-09-10Merge "Add log level support for orchestrator"Eric Multanen5-22/+47
2020-09-10Adding validations for all JSON data across modulesRajamohan Raj28-429/+44
Issue-ID: MULTICLOUD-1198 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Idc2fbfd6e875bd7b662c7d60925aeb776b3f7bea
2020-09-10Merge "Changes to add state and retry logic to rsync"Eric Multanen3-14/+52
2020-09-09Changes to add state and retry logic to rsyncManjunath Ranganathaiah3-14/+52
- Adds retry watcher and related functionality. - Adds code to update, get the status from appcontext. - Adds logic to handle state transition during terminate. Issue-ID: MULTICLOUD-1005 Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com> Change-Id: I2ed76efd9d8b6f40fec547bbe8b7d8a86f69ce07
2020-09-09Add log level support for orchestratorRajamohan Raj5-22/+47
In this patch, a new config item for log-level is added, default log-level is set as "warn", for detailed logs, set log-level as "info" Issue-ID: MULTICLOUD-1200 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I3205ce110a492ecc6a7c680e3d35e173a5624bb0
2020-09-04GET project Returns 404 instead of 500Aditya Sharoff2-3/+3
Issue-ID: MULTICLOUD-1148 Signed-off-by: Aditya Sharoff <aditya.sharoff@intel.com> Change-Id: I482cb8ff06ebf945020c5fc185479d9911aa946a
2020-08-31Enhance the status query APIEric Multanen7-69/+688
This patch enhances the status query API. - The ResourceBundleState CRD is modified to just use the k8s Pod structure instead of a customized struct. - Status queries can either present results showing the rsync status of the composite app and resources or from information received from the cluster via the ResourceBundleState CR - Query parameters are provided to the API call to customize the query and response - Support for querying status of cluster network intents is added Issue-ID: MULTICLOUD-1042 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Icca4cdd901e2f2b446414fade256fc24d87594cd
2020-08-27Remove the need for rysnc registration in orchestratorRajamohan Raj2-18/+75
Removed dependency of rsync registration from orchestrator.RSYNC shall have a function NewRsyncInfo to initiate a new rsync independent of the orchestrator and make gRPC calls. Issue-ID: MULTICLOUD-1196 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I16bbac6a6865cf3c4ee7b763dac72abe2ed1ad0a
2020-08-20Add Validation for API'sRitu Sood28-39/+1627
Adding input validations for API based on Json schemas Issue-ID: MULTICLOUD-1096 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: If6591bdef6305f87cbce7ef56d894376f687c6c1
2020-08-11Add appcontext state, status and resource statusEric Multanen9-120/+321
Add support in the AppContext for managing an AppContext (composite app level) status value. Also adds support for tracking rsync status at the resource level. A mechanism for tracking history at the controlling resource level (i.e. DeploymentGroupIntnt or Cluster) is added, in part, so that all AppContexts associated can be deleted when the resource is eventually deleted. Issue-ID: MULTICLOUD-1042 Change-Id: I3d0a9a97ea45ca11f9f873104476e4b67521e56a Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
2020-08-03Add StateInfo structure synced resourcesEric Multanen7-39/+207
Add a StateInfo structure to the Cluster and Deployment-Intent-Group resources to keep track of the lifecycle state of these resources. Moved the appcontext id that was being kept into this structure as well. Enabled the approve state (and API) for the deployment intent group. Issue-ID: MULTICLOUD-1042 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I36602d8a0658d9d6d37b8799f9a372a7d1042496
2020-08-03Sanity test script for new releases.Rajamohan Raj1-1/+1
Developed a script which can be used to test a new release and confirm that the minimum components like clm, instantiation by orchestrator and rsync are working fine after the code change. Issue-ID: MULTICLOUD-1174 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I7d519fa88b71fb34d13b7d61f3f8b36edc9fa5f3
2020-07-24Adds PUT api to v2/projectsLarry Sachs6-7/+257
Add functionality to support the PUT api for v2/projects/{project-name} Also add unit tests for the PUT api Issue-ID: MULTICLOUD-1130 Change-Id: Ia271569c5f0dec3152952e64171fd5a182aaa333 Signed-off-by: Larry Sachs <larry.j.sachs@intel.com>
2020-07-21Add newline to end of orchestrator/scripts/build.shLarry Sachs1-1/+2
Fixes the build warning 'E004 File did not end with a newline' Issue-ID: MULTICLOUD-1131 Signed-off-by: Larry Sachs <larry.j.sachs@intel.com> Change-Id: I0a69fe25f93feb6a700c140c9dae9c214d5d4dd0
2020-07-17Merge "Move status tracking CR to rsync"Ritu Sood2-49/+0
2020-07-17Add APIs for getAll DeploymentIntents and GetAll GenericPlacemnetIntentsRajamohan Raj5-2/+145
In this patch, implemented two separate routes for getting all genericPlacemnetIntents and getting all deployment intents. Issue-ID: MULTICLOUD-1128 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I81fadb126752788da7c459aa43896fafa583310e
2020-07-17Add API to query all composite apps under a projectRajamohan Raj4-1/+61
In this patch implemented a new route to query all compApps under a project. Issue-ID: MULTICLOUD-1127 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I5d5d4861539edd2ca0eccff16d94b75439e14db7
2020-07-16Implement GetAll projects handlerRajamohan Raj4-0/+54
In this patch implement the route: /v2/projects. Issue-ID: MULTICLOUD-1126 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Ia38aa560a74c26b8528d6bd579038c1b80b4d3c9
2020-07-16Move status tracking CR to rsyncEric Multanen2-50/+1
Handle creation and deletion of the ResourceBundleState Custom Resource per app/cluster in the rsync microservice instead of adding it to the resources of the composite application in the orchestrator service. Issue-ID: MULTICLOUD-1125 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Id0c0639ff62e788628e78f972107a7603c27abfb
2020-07-15Merge "Update Rsync"Eric Multanen2-1/+237
2020-07-10Update RsyncRitu Sood2-1/+237
Changed Rsync to use ordered install. Changed to use cli-runtime instead of go-client. Based on code from repo https://github.com/johandry/klient Issue-ID: MULTICLOUD-1005 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: I4c2537cb74bd4d24a409cc1f0b7f9ee0875a4e39
2020-07-09Fixing the triple dash issue in YAML.Rajamohan Raj1-0/+5
In this patch, identified the root cause of failure due to triple dash and fixed it. Also reverted back to original helm charts for M3db operator. Issue-ID: MULTICLOUD-1114 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I175cd134cc751bf4b59e72c9c79e0e658a62f348
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 Multanen9-23/+314
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-28Merge "Change the error message for orchestrator startup"Ritu Sood1-1/+1
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-25Change the error message for orchestrator startupRajamohan Raj1-1/+1
In this patch, changed the error message for orchestrator startup without the TLS. Earlier the message was bit ambiguous. Issue-ID: MULTICLOUD-1099 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Idbeefdf5b725f46a52b13ff76981e4dadbe5c86f
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 Multanen8-87/+300
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 Multanen3-4/+370
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-02Create OVN network action controller from ncmEric Multanen1-0/+2
Split out part of ncm microservice to act as the Onv4k8s network action controller for the orchestrator. No code changes really - just moving around to fit the architectural plan. Issue-ID: MULTICLOUD-1029 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I17292ac72d041050269f05fc4a0c2a6ca741aeb5
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-28Update go.mod files of services to use local codeEric Multanen2-5/+106
Change go.mod files to replace usage of services in this repo with local code instead of upstream builds. Fix a couple resulting issues. Issue-ID: MULTICLOUD-1077 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: I597c7bf98beac3fcee9e37699966cbe839335bf2
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 Raj6-48/+160
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 Sood4-35/+338
2020-05-12Move controller module into separate packageEric Multanen8-83/+109
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 Raj4-35/+338
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 Multanen10-37/+910
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 Sood10-51/+190
2020-04-22Controller API supportEric Multanen7-48/+296
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