Age | Commit message (Collapse) | Author | Files | Lines |
|
Issue-ID: MULTICLOUD-1239
Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>
Change-Id: Ibf7c7d2a64889b72cdc67a587548fb6a0dac6ba0
|
|
|
|
|
|
|
|
Restore the previously commented-out unit test TestDeleteLogicalCloud.
That test was disabled due to a failure introduced by interacting with
AppContext for the first time in module/logicalcloud.go and it not
being ready to do so.
This commit restores it and modifies code so dependent mocks can plug
in correctly. This was done in order to keep testing the code that was
previously being tested, not so much to add additional coverage.
Although it would be a significant undertaking, the different types and
interfaces in pkg/module should be redesigned to achieve better
decoupling and thus make unit testing more straightforward.
Issue-ID: MULTICLOUD-1143
Change-Id: I1e6b7bb9111fc6883f0c9cee887329a9e0b27fbd
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
Update emco_apis.yaml with all new API paths provided by DCM and
its /logical-clouds URL prefix. Update schemas and parameters too.
Issue-ID: MULTICLOUD-1143
Change-Id: I9d94cb2954c2f0131ffb8c3061a87a6b6a235cba
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
Fixes the mispelled "currentcontext" with the right key name
"current-context" which was introduced as a regression with or
before the latest version of the kubeconfig code (probably a bad
search/replace).
This 1-character long bug was preventing the generated kubeconfigs
from being correctly interpreted by kubectl. Thus, kubectl couldn't
set any context of the kubeconfig as the current context.
Observable output before this fix:
$ kubectl get pods
The connection to the server localhost:8080 was refused - did you
specify the right host or port?
Issue-ID: MULTICLOUD-1143
Change-Id: I617d1e20b7be2567729b84d3746b22e4ceaf8b9d
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
API definition updated to add
generic placemnent intent under
deployment group
Issue-ID: MULTICLOUD-1096
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
Change-Id: Ida830de0f17038925651bc604440b11547b7320d
|
|
|
|
Add k8splugin file for 0.7.0
Issue-ID: MULTICLOUD-1213
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Change-Id: I54d7610f39be4d05e176ff7e2f67bd7594e50677
|
|
|
|
Update image version of k8splugin to 0.7.0-SNAPSHOT
This will be then be used to create the release image
Issue-ID: MULTICLOUD-1213
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Change-Id: Ice57a61bc98397a2bbb5c313452459b02ec86139
|
|
DCM's apply function had a lot of error handling code that cleans up
the AppContext if something goes wrong while adding to AppContext.
Most of that handling was using multiline duplicate code with the only
change being in the log/error strings. This commit attempts to reuse
all that error handling code and make it easier to follow main code.
Issue-ID: MULTICLOUD-1143
Change-Id: I3a35387b1ed46279c1b973dbd852352276ff5cc8
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
|
|
Mostly just make the identifiers consistent with each other
so copy-paste works without surprises. No more rel- prefix, just emco-.
Additionally suggest a 2nd workaround to the persistentvolumes issue.
Issue-ID: MULTICLOUD-1143
Change-Id: I7ad1d3a4b20f7563226a9d487c388275e56429b5
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
Also add DCM to cleanup-emco.sh.
Issue-ID: MULTICLOUD-1143
Change-Id: I2496c1fef2e2588c1c8e750105568afc210d54c3
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
|
|
|
|
|
|
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
|
|
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
|
|
A set of small fixes after discovery during DCM's end-to-end testing:
- properly detect that a cert hasn't been issued yet (don't crash)
- in Monitor, don't pass namespace when querying for CSRs
- fixed incorrect /kubeconfig file encoding from yaml to json
Issue-ID: MULTICLOUD-1143
Change-Id: Ie813e377070b0751f0bfdabac8da50e3288090de
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
|
|
|
|
Remove the set of unused (legacy from v1) mongo
db methods so that they are not used in the emco
code base.
Issue-ID: MULTICLOUD-1227
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Change-Id: Ibe94892e5b1d0f33192be7ea3db5c55b3f8cbf60
|
|
Previously the DCM K8s resources in appcontext were in the format:
<logical cloud name>+<resource type>
Now they are in the correct format:
<resource name>+<ResourceType>
Issue-ID: MULTICLOUD-1143
Change-Id: I271c70587244921cc2ffb7ad571ad8eb162cb10f
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
This also includes modifying Apply and Delete, since there are
strict conditions that need to be met in each, to prevent
Logical Clouds (LCs) from entering a bad state.
Summary of what's being done here:
- When applying:
- set tag 'lccontext' in the LC to the context ID (was already done)
- and let rsync know about the appcontext (grpc) (was already done)
- if tag was already set, check current context /status
- if context /status is actually Terminated, 'lccontext' is set to
new context ID and previous AppContext deleted
- When terminating:
- lets rsync know about the termination request (grpc)
- When deleting:
- checks whether the current context /status is Terminated
- if it is, then it will remove the latest LC context
This particular commit disables the TestDeleteLogicalCloud test
until a known issue behind the test is resolved.
This commit does not leverage the full capacity of the Status
framework, but is sufficient to support all operations. A future
patch will entirely migrate DCM to the Status framework. Until
then, a known issue exists where DCM will forget about context IDs
previously associated to a particular Logical Cloud (only keeps last).
Issue-ID: MULTICLOUD-1143
Change-Id: I7a6034eba543c2a27daa41b7fe6298cb2a85f9ce
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
Update rsync to be able to approve CSR
Issue-ID: MULTICLOUD-1143
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
Change-Id: I0b2bec3475a3453a2d8fc9c2e87cfc4531b0e2f3
|
|
Adds apply and terminate operations, while decoupling them in two
different script branches.
Add kubeconfig test into a third script branch.
Also, $cluster_2_name wasn't defined, so this fixes that.
Issue-ID: MULTICLOUD-1143
Change-Id: I574934078644ec83224bcac74b5b17783330aaaa
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
|
|
Fix rsync to only retry reaching clusters until the
timeout occurs.
Issue-ID: MULTICLOUD-1226
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Change-Id: I5e8202358cfd8cdd15c9feb4fcbefe2683b7139a
|
|
In DCM.
Essentially refactored two different areas:
- rename apply/terminate functions in module to clarify what they do
- split gets from getAlls in API code of the 5 DCM resource types
And cleaned up here and there.
Issue-ID: MULTICLOUD-1143
Change-Id: I9b72c77ba34a1febd5df4a339e87968ddc4a7891
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
The previous commits were merged in the wrong order, which caused a bad
3-way merge resulting in the arg mismatch as witnessed below:
k8s/src/dcm/pkg/modulepkg/module/cluster.go:263:57: not enough arguments
in call to lcClient.GetLogicalCloudContext
have (string)
want (string, string)
Makefile:13: recipe for target 'all' failed
make: *** [all] Error 2
The CI merge job doesn't run tests before merging, so this slipped in.
Issue-ID: MULTICLOUD-1143
Change-Id: I0168345af6bac7886cba32d958f241687ab24a81
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
|
|
|
|
|
|
Update ResourceBundleState CRD and monitor-deploy.yaml with
csrStatuses.
This was missing from the previous patch implementing CSR support
in Monitor. Depending on how the environment was brought up, attempting
to read the CSR would result in forbidden access.
Issue-ID: MULTICLOUD-1143
Change-Id: I86ffb8df8faa045e57fd553e5784d308e1900ee4
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
|
|
Issue-ID: MULTICLOUD-1150
Change-Id: I04c9584e35672b6b40047a67be4d2026002204e1
Signed-off-by: Aditya Sharoff <aditya.sharoff@intel.com>
|
|
Issue-ID: MULTICLOUD-1143
Change-Id: Iaca9bd6cb3614e0ae825d9231476524ce09db550
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
Provide information about instance resources and Pods inside status
response.
Issue-ID: MULTICLOUD-1177
Signed-off-by: Konrad Bańka <k.banka@samsung.com>
Change-Id: Iee6fd56120d091dddfa6b6d0e4aa7eb36d40e888
|
|
DCM apply/terminate code was still using a hardcoded "test-project"
string for the project name that logical clouds should associate to.
This simple patch makes DCM use the project name provided by the API.
It also checks that the project exists before creating a Logical Cloud.
Issue-ID: MULTICLOUD-1143
Change-Id: I05c8a2309ed07a7c96da30bf2461c43abaccc9d5
Signed-off-by: Igor D.C <igor.duarte.cardoso@intel.com>
|
|
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>
|