Age | Commit message (Collapse) | Author | Files | Lines |
|
The /kubeconfig API path allows a client to retrieve a kubeconfig
file for a specified cluster reference of a logical cloud.
- includes CA cert, address, user private key and signed cert.
This commit includes the "lazy-loading" implementation of certificate
retrieval per cluster from Rsync (which happens when clients call).
The certificate is read from the cluster status in appcontext.
Thus, Monitor and Rsync need to be configured and running.
Issue-ID: MULTICLOUD-1143
Change-Id: Ie94cd128e14c8a944861eced2bdc886d95fab6ed
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
|
|
Make use of the new /subresource level (under a resource) to
request rsync to process approvals (a K8s subresource) for CSRs.
Generic usage of instructions (order, dependency) for consistency.
This also introduces a 'subresources' package in 'appcontext' with
the first member being the approval subresource. Since subresources
aren't necessarily created with yaml, this package will allow
developers to specify what should be the "interface" in appcontext
for each type of subresource when the different services need to
exchange this data (e.g. DCM and rsync).
Issue-ID: MULTICLOUD-1143
Change-Id: I8c85b4ee8c5654036a1c7ebb39d111ba4518b468
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
|
|
|
|
Before this patch, any resource quotas, say, with a dot (like
limits.cpu), would not be stored properly in the database and thus
unusable and ignored by DCM logical cloud apply operation.
Issue-ID: MULTICLOUD-1143
Change-Id: I178e66756bc9bb2798427233d15196d0e2559a99
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
"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>
|
|
When applying, check whether logical cloud is already applied.
When deleting logical cloud, check if it exists.
Issue-ID: MULTICLOUD-1143
Change-Id: I6aa11d8921db76e3d9e9632f915b55fe7ab8efab
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Issue-ID: MULTICLOUD-996
Signed-off-by: Itohan Ukponmwan <itohan.ukponmwan@intel.com>
Change-Id: I18b75693beeaa5d5fe64e91087ddaa911a553a5f
|
|
This implents the Apply API. When the apply API
is called, this reads from mongodb and creates
resources in ETCD
Issue-ID: MULTICLOUD-996
Signed-off-by: Itohan Ukponmwan <itohan.ukponmwan@intel.com>
Change-Id: I5b9c8b44673e66296d1339b5b3f4afc5f4cae9cc
|
|
This handles RESTful API CRUD operations for logical clouds, CLuster,
User Permissions, Quota, and Key Value pairs.
See: https://wiki.onap.org/x/tAiVB
Issue-ID: MULTICLOUD-996
Signed-off-by: Enyinna Ochulor <enyinna.ochulor@intel.com>
Change-Id: I654a304cd682f762c02cfd92b4483d1edea63fca
|