-
Notifications
You must be signed in to change notification settings - Fork 308
Verify TMC Integration works for registering TCE clusters #2992
Comments
@berndtj are you and/or someone from your team able to look at this proposal and let us know if it makes sense based on your understanding of needs for TCE+TMC interop? |
Overall this looks like what I would expect, at least from a product perspective. I have a few questions just to confirm things though. I see an Issue titled: "TMC must be able to use the tanzu-framework library to create TCE-specific workload clusters" but don't understand enough of the actual issue under it #2716 to know if that will solve the tile description. I assume it will since you linked them though? Will TMC also be able to understand that the workload clusters are TCE workload clusters or is it just the management clusters? I'd vote for both if possible. |
@mfine30 thanks for the follow-up.
Yes, #2716 aims to solve a case where the tanzu I'd need guidance from TMC if more than this is needed.
Based on the current plumbing, TMC will know that the workload clusters came from TMC by nature of being registered to t he management cluster that made them. However, it will not be obvious in the same way by looking only at the workload cluster. Can ya'll expand on whether this is a requirement or more-so a nice to have? |
I think what @mfine30 is getting at is that ideally a workload cluster attached only (i.e. registered management cluster) should also be detectable by TMC as coming from TCE (or TKG for that matter). cc: @steven-zou |
Here are the user stories that I have in mind driving this:
|
Yes I'd consider 4 and 5 as required as well. I worry that only doing 1-3 creates a sub-par UX that looks to customers like we forgot to finish it. |
@joshrosso – thanks for pushing on that and making us think through it. From chatting with @berndtj, I realized that I thought we did more in TMC than TMC does today. TMC currently only shows the cloud vs the provider for an attached cluster (i.e. it's a vSphere cluster for an attached cluster). I think that means for this track of work:
|
From the TMC LCM engineering perspective, we'd like the current TKG LCM extension can also support managing the LCM of TCE clusters to reduce efforts and code complexities. To achieve this goal, there are some needs that need to be met. The first and top thing is the PRIMARY NEED2 of this proposal:
It should be noted here that the current TKG LCM extension is referring to the client library in the mirror tanzu framework gitlab repository Then some metadata for detecting and identifying TKG/TCE clusters, might include:
cc @berndtj and @renmaosheng |
Additionally, story |
Who can figure this compatibility question out? As part of this work, we'll ensure the upstream libs (tanzu-framework) have this capability. Who will own the reconciliation of the mirror/downstream dep? |
There might be some commits differences between these two repos. I think it might be a little hard to use human efforts to ensure compatibility. Maybe via the automation pipelines? |
@Maharshi Bhatt is the major contact from TKG downstream side, we can confirm with Maharshi on the compatibility questions. to Echo Steven Zou's point, we want the TKG/TCE release can share the same tanzu-framework sha, so that TMC doesn't need to treat TKG/TCE separately. we are also working with TKG to define an API instead of using the client library code, we want to align with TCE as well to use the same API in a long-term perspective. |
Unfortunately, this will not be possible. Tanzu-framework should provide backwards compatibility guarantees. We cannot pin the community project on versions of our downstream product. |
Moving this out to re-evaluate in v0.12.0. We've decided to take a slightly different approach to ensure we can ship v0.11.0. That work is tracked here: #3285 |
The original intent of registration compatibility was solved for the |
Summary
As part of our
v0.12.0
release, we are required to ensure TMC can attach and register to TCE clusters. Attach has historically worked, but register had specific requirements that have been resolved in newer versions of TKG/Tanzu-Framework.Proposal
In order to achieve the above, there are two primary needs:
tanzu
CLI to interact with TCE management clustersIdentify a TCE Management Cluster
When TMC registers to a management-cluster, it needs a way to detect that the management-cluster was produced by TCE. This enables knowledge of things like:
In order to accomplish this, we'll ensure TCE-created clusters receive an
edtion: tce
annotation. TheTKGVERSION
annotation will continue to work and will indicate the version of our Bill of Materials. An example structure is.By default, this may also mean
edition: tkg
is detectable. However, the TCE project does not make any guarantees as to what TKG propagates for this value.Use the same
tanzu
CLI to interact with TCE management clustersHistorically, we've compiled binaries from tanzu framework to support TCE-specific needs. However, TMC needs to be able to use the same CLI in order to interact with TCE management clusters. We will support this model by setting configuration:
tanzu config set cli.edition tce
This corresponds to the clientConfig found in
~/.config/tanzu/config.yaml
A notable impact of running the command above is that it will:
~/.config/tanzu/tkg/compatibility
file.projects.registry.vmware.com/tce/tkg-compatibility
The above will ensure all management-cluster interactions going forward work off the TCE-specific BOM files.
Issue Tracking:
TMC must be able to detect a management-cluster came from TCE
TMC must be able to use the tanzu-framework library to create TCE-specific workload clusters
To support the above, TCE must build with the newest version of Framework
TKG_DEFAULT_IMAGE_REPOSITORY
andTKG_DEFAULT_COMPATIBILITY_IMAGE_PATH
should come from~/.config/tanzu/config.yaml
and not from build time tanzu-framework#1602The text was updated successfully, but these errors were encountered: