-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding NF CRDs in workload cluster package #10
Conversation
- NFConfig - NFDeployment - ConfigRef
@johnbelamaric I'm also not sure about the right place to allocate these CRDs, any idea? |
Questions:
Assuming the answer to 1) is "management" and to 2) is "general", then these should be included with the Nephio controller manager package. In general, CRDs should be included with the reconciler that owns the corresponding CRs. If the CR may be managed by multiple controllers (say, depending on class), then they probably belong in their own package (or, for example, with the core Nephio controller manager). I don't think we have built packages for "Nephio core" yet, outside of the R1 "nephio-example-packages" repository. The plan is that those packages would move to here: https://github.com/nephio-project/catalog/tree/main/nephio/core |
These CRDs are used in specialisation on mgmt cluster but are not actuated on the k8s API. |
These CRDs are needed on the workload cluster and in R2 both RAN and Core controllers need them. The core controllers and packages reside in the OAI GitHub repository and the RAN controller and packages reside in the catalog repository. So we need a common location from where they can be applied on the workload cluster. |
A couple things:
|
There is nothing OAI specific we can move but I am not sure if
Ah okay now I somewhat understand your point. I will create a separate package and its PV. Where should that package and its PV should reside? |
The package for provisioning a workload cluster should live in The "nephio-workload-cluster" package would then include a PV that installs that package on all new workload clusters. |
@johnbelamaric Do you mean something like this? Also, will we change the locations of other packages too? like kindnet, multus which are required by workload cluster? Right now they are in examples. |
Yes, that's the right idea. The main thing is to separate out the platform from the use case. So:
The "repo" for the various PVs won't be "catalog". Instead, we need to register the directories as individual repositories, in any particular opinionated installation. See for example the repo-*.yaml files here: https://github.com/nephio-project/catalog/tree/main/distros/gcp/nephio-mgmt for the ones I register for the GCP installation. We may want to include a package of repositories in the "optional" directory, much like the "nephio-stock-repositories" package in examples. This would register a bunch of The |
@johnbelamaric @henderiw @tliron @electrocucaracha so I am moving the packages from Is everyone okay with this move?
In I was thinking of mentioning the Is this okay? Did I understand it correctly? I just want to double-check before making the commit because once I committed I want to test and have to make changes in |
Maybe we can do it in several PRs to facilitate the review |
Generally this looks OK. Gitea and metal-lb are sandbox choices, and are distinct from "capi". Similarly while cert-manager is needed for CAPI it's needed for other things too, so I think it should be in distros. So: The following should move from infra/capi to distros/sandbox: cert-manager, gitea, metallb, repository The following should move from nephio/core to nephio/optional: network-config The following should move from workloads/oai to distros/sandbox: network I think "multus" also is needed in infra/capi. "vlanindex" probably is good in infra/capi, although maybe that belongs in distros/sandbox. We will also I think eventually clone things from nephio/core and nephio/optional into distros/sandbox. This is how I did the distros/gcp, for example. Take the base Nephio package, and then customize it for the specific distro. |
What about creating a |
It's not a workload, it's a part of the cluster infrastructure, and applies specifically to CAPI clusters. It may be used by workloads, but for example it cannot be installed in GKE. And other cluster provisioners (e.g., OpenShift) probably have their own opinionated version and way to install it. |
I think that we can merge this as it is and create another PRs for moving the rest of the packages /lgtm |
…tions - oai ran and core repository - workload crd repo
/lgtm |
/approve |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: arora-sagar, electrocucaracha, johnbelamaric The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Currently, we are not installing CRDs via the workload package. It is being done via NF operators. Doing it as part of the workload cluster package is probably a good practice.
If this is not a good place to put the CRDs then we can think of making a separate package.