summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-09-26Implement rest of Apply operation in DCMIgor D.C1-23/+88
"Rest of" meaning the Apply operation now effectively instantiates logical cloud resources on K8s cluster. More specifically, this commit now enables: - DCM calling rsync over gRPC on apply - The following K8s resources are now being created per cluster: - namespace, csr, resourcequotas, roles, rolebindings - Tested-working for multiple clusters simultaneously - Generating and storing logical cloud user private key in MongoDB This commit doesn't include any logic to request or retrieve CSR approvals and signed user certificates. Issue-ID: MULTICLOUD-1143 Change-Id: I92c4270678d05a5cb531791cef199a7dd79403d3 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
2020-09-25Implement Terminate operation in DCMIgor D.C5-7/+179
Also makes minor changes to non-terminate code as a side-effect of supporting the new Terminate operation (such as including tagContext in the LogicalCloudClient implementation of LogicalCloudManager interface). These changes are/will also be leveraged by other operations. Issue-ID: MULTICLOUD-1143 Change-Id: Idbd2ec9f6cf0e5584a0f51cf4c16144db56d9fa0 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
2020-09-25Introduce Monitor support for CSR resourceIgor D.C7-11/+288
These changes allow the Monitor to also track CSR (CertificateSigningResource) resources which will make it possible to know when a certificate has been issued by the K8s cluster signer. In turn, DCM will be able to read, store and use that certificate to generate kubeconfigs. Out-of-tree actions required: - publish monitor's docker image built from this source onto emcov2/monitor:latest Issue-ID: MULTICLOUD-1143 Change-Id: I7facd27bbfe08891151bb3b6a9a19948435e24e4 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
2020-09-25Merge "Enhance error handling and HTTP codes in DCM"Ritu Sood10-19/+74
2020-09-25If getAppContextStatus fails, cancel waitForDoneIgor D.C1-1/+7
And log error appropriately. Essentially, add basic error handling and return from waitForDone. It is possible to trigger this error easily by having an rsync client wipe out etcd right after issuing an InvokeUninstallApp, as demonstrated by DCM (before it was adapted to use the new asynchronous rsync). Issue-ID: MULTICLOUD-1143 Change-Id: Id5c0d8da928738cb3cdc862eaefdb91db2eadf5f Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
2020-09-25Enhance error handling and HTTP codes in DCMIgor D.C10-19/+74
This improves error handling between DCM and the database resources and adds/corrects a lot more HTTP return codes in the API, respectively. Issue-ID: MULTICLOUD-1143 Change-Id: I3abc8025660e042f4c946f8bbfd280e1eb4c9583 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
2020-09-25Merge "Let instructions exist under /subresource level"Ritu Sood1-1/+1
2020-09-24Add default/template config.json for DCMIgor D.C1-0/+14
DCM listening on port 9077 as default. The IP addresses for MongoDB and etcd are what we get by default on docker installations of those using emco deployments. Issue-ID: MULTICLOUD-1143 Change-Id: I9b30b278e3cf4fdb428665986e05c6916000b4e7 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
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.C20-2395/+5643
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-14Provide tests for nested labels provisioningKonrad Bańka3-1/+90
Issue-ID: MULTICLOUD-1179 Signed-off-by: Konrad Bańka <k.banka@samsung.com> Change-Id: I2f8facefc5299408a47dd9f8bdba9410aa8171de
2020-09-11Merge "Adding validations for all JSON data across modules"Ritu Sood41-50/+364
2020-09-10Merge "Add log level support for orchestrator"Eric Multanen5-22/+47
2020-09-10Adding validations for all JSON data across modulesRajamohan Raj41-50/+364
Issue-ID: MULTICLOUD-1198 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Idc2fbfd6e875bd7b662c7d60925aeb776b3f7bea
2020-09-10Merge "Provide capability to specify release-name during instantiation"Eric Multanen5-129/+201
2020-09-10Merge "Changes to add state and retry logic to rsync"Eric Multanen8-37/+426
2020-09-09Changes to add state and retry logic to rsyncManjunath Ranganathaiah8-37/+426
- 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-08Provide capability to specify release-name during instantiationKonrad Bańka5-129/+201
Allow release-name property to be provided during instantiation that, if provided, overrides release-name specified in profile. Additionally updated Makefile to allow easy compilation with different go version easily. Issue-ID: MULTICLOUD-1175 Signed-off-by: Konrad Bańka <k.banka@samsung.com> Change-Id: Id8db484369045cfb0bc99543a80317644fc838f9
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-09-02Merge "Update CLI with complete get implementation"Eric Multanen10-108/+536
2020-09-02Update CLI with complete get implementationRitu Sood10-108/+536
CLI updated with get functionality. Also adding vFw test case Issue-ID: MULTICLOUD-1065 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: I7bd22aca9fac9cb7b1f4c93d0ffad5b07b62cced
2020-09-02Update packages images pathRitu Sood1-1/+1
Issue-ID: MULTICLOUD-1065 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: I1ae50bafe7b4e40811d5d2061460e1c0240e3dde
2020-09-01Merge "Enhance the status query API"Ritu Sood25-93/+870
2020-08-31Merge "Add rsync registration changes to ncm too"Ritu Sood1-2/+66
2020-08-31Enhance the status query APIEric Multanen25-93/+870
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-31Add rsync registration changes to ncm tooEric Multanen1-2/+66
Changes made to remove dependency of rsyn registraion from orchestrator need to be added to ncm as well. Issue-ID: MULTICLOUD-1196 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com> Change-Id: Ie572a127fd87cf50a1bb03163d98d3ebe901437e
2020-08-28Update go.mod for rsyncRajamohan Raj1-6/+2
Issue-ID: MULTICLOUD-1196 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Ib5b59d025151f53d64d089a649a5b25f572d2c60
2020-08-27Remove the need for rysnc registration in orchestratorRajamohan Raj6-64/+80
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-26Improve configure API to support k8s resource updationsvamshi.nemalikonda8-2/+145
Code fore review. Issue-ID: MULTICLOUD-1124 Change-Id: I6bb9786660f6760c15008132f1c254e7f9b39561 Signed-off-by: vamshi.nemalikonda <vn00480215@techmahindra.com> Improve configure API to support k8s resource updations create resource enabled. Issue-ID: MULTICLOUD-1124 Change-Id: I6bb9786660f6760c15008132f1c254e7f9b39561 Signed-off-by: vamshi.nemalikonda <vn00480215@techmahindra.com> Improve configure API to support k8s resource updations code improvements. Issue-ID: MULTICLOUD-1124 Change-Id: I6bb9786660f6760c15008132f1c254e7f9b39561 Signed-off-by: vamshi.nemalikonda <vn00480215@techmahindra.com> Improve configure API to support k8s resource updations fixing unit test failures. Issue-ID: MULTICLOUD-1124 Change-Id: I6bb9786660f6760c15008132f1c254e7f9b39561 Signed-off-by: vamshi.nemalikonda <vn00480215@techmahindra.com>
2020-08-25CLI code for EMCORitu Sood14-0/+1358
Add cli emcoctl as a client utility for EMCO Issue-ID: MULTICLOUD-1065 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: Ie1951910628469b5a7e75550b9daa34ba377d1a4
2020-08-21Expose override parameters usage in KUD API testsKonrad Bańka1-1/+0
Update plugin_fw.sh test script to also check for proper work of override parameters functionality of instance API. Also update instance API response to exclude duplicated override-parameters entry, that's anyway accessible under '.request.override-values' json path. Issue-ID: MULTICLOUD-1176 Signed-off-by: Konrad Bańka <k.banka@samsung.com> Change-Id: Ie1a336ceb7de1a656f77d4c43ee4775c60cb88fb
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-14Merge "Add appcontext state, status and resource status"Ritu Sood18-222/+633
2020-08-14Merge "Rsync change behaviour on error handling"Eric Multanen2-49/+76
2020-08-11Add appcontext state, status and resource statusEric Multanen18-222/+633
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-07Make dcm_call_api.sh test sufficient for applyIgor D.C1-42/+19
dcm_call_api.sh test script for DCM API is now enough to get /apply to work correctly out-of-the-box (i.e., all resource quotas are now in the correct format and apiGroups has been set to "" by default). Issue-ID: MULTICLOUD-1143 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com> Change-Id: Ia44ec3006409542ddd9e50d2345d2f9eaaad3ad5
2020-08-07Rsync change behaviour on error handlingRitu Sood2-49/+76
If error in any resource stop processing and end all goroutines. Also return gRpc call after starting the goroutine. Adds retry checks also Issue-ID: MULTICLOUD-1005 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: I1189e02f0c0426181fdc995a0c4816ceaa64ec7d
2020-08-05DCM - fix code formatting via vscode (II)Igor D.C15-1695/+1680
Part two of fixing code format/syntax with Visual Studio Code. Furthermore, also switched line endings from CRLF to LF (all test files seemed to be ending this way, unlike the other Go files). Issue-ID: MULTICLOUD-1143 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com> Change-Id: Iaae868c780a42ea82ca1208e3cbdc3ec6ffd1f97
2020-08-05Merge "Add cleanup step to dcm_call_api.sh test script"Ritu Sood1-15/+68
2020-08-03Add StateInfo structure synced resourcesEric Multanen14-104/+386
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-29Add cleanup step to dcm_call_api.sh test scriptIgor D.C1-15/+68
dcm_call_api.sh exercises some DCM API calls. This patch adds an optional cleanup phase where it also exercises the API calls to delete resources. Plus added two extra GET calls for individual clusters and minor tweaks like set DCM port to 9077 (prevent conflict with orchestrator). Issue-ID: MULTICLOUD-1143 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com> Change-Id: I7a00edb5c986b26ec4be739bf8b01ac362abec90
2020-07-28Merge "Adds PUT api to v2/projects"Eric Multanen6-7/+257
2020-07-28DCM - fix code formatting via vscodeIgor D.C4-903/+871
Visual Studio Code automatic code formatting was performed on the 4 modified DCM files. Issue-ID: MULTICLOUD-1143 Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com> Change-Id: I24d2b44181b5c0737df7cb4541f9eede0950211a
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 Sood5-65/+107