summaryrefslogtreecommitdiffstats
path: root/src/orchestrator/pkg/module/instantiation.go
AgeCommit message (Collapse)AuthorFilesLines
2020-10-02Ovnaction and vfw updates for deploy api changeEric Multanen1-8/+8
Update the ovnaction controller APIs to support the api change of including the deployment intent group in the URL. Also fixup: - vfw and other test cases to support the change - updates to emcoctl tool and examples Issue-ID: MULTICLOUD-1218 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Icadacb5ec6d7c238bb3bf8a44a39c30692ecebee
2020-10-02Modify GenericPlacement APIs to include DepIntGrpRajamohan Raj1-1/+1
Modify the genericPlacementIntent API such that deploymentIntentGroup becomes a mandatory parameter. Issue-ID: MULTICLOUD-1218 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I33d2eeac5b60228e9c08921c9347b1b6aa3f8d28
2020-09-24Cleanup tmp resources after instantiationRajamohan Raj1-1/+33
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-08-31Enhance the status query APIEric Multanen1-57/+30
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-11Add appcontext state, status and resource statusEric Multanen1-58/+89
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 Multanen1-21/+90
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-07-16Move status tracking CR to rsyncEric Multanen1-6/+0
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-08Add terminate support to orchestrator and ncmEric Multanen1-9/+32
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 Multanen1-8/+105
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 Multanen1-3/+22
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 Raj1-0/+21
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 Raj1-8/+12
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-01Adding cluster meta data and saving in etcdRajamohan Raj1-116/+7
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-15Adding meta data for app in appContextRajamohan Raj1-22/+29
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-12Create appContext and save to etcdRajamohan Raj1-26/+222
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-17Added intentResolverRajamohan Raj1-2/+48
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-13Test cases for resolving the helm templatesRajamohan Raj1-4/+3
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 Raj1-0/+143
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