Implement, build and unit test NF topology controller. The code will reside in nephio-controllers repo.
This controller processes the NFTopology resources, emitting PackageVariant[Set] resources as well as other NF-specific resources.The NFTopology resource captures a set of network function configurations, as well as the clusters (or perhaps sites) in which those functions, with those specifications, should be deployed and operational.The NFTopology resource itself may point to other, NF-specific resources for the details of those configurations.
The key is that the NF configuration captured here is that aspect which is invariant across the sites. Variance across the sites is introduced via injection.
In the PoC, this was called the FiveGCoreTopologyController. This is a more generalized version of that, which we may reconsider if there is some 5G Core semantics we want built in; however, at this point it does not seem necessary.
In the PoC, this controller use a very sparse seed package as the upstream when it created PackageDeployment (the predecessor of PackageVariant[Set]), and the actual NF configuration was then injected by the NF Injector Controller. An alternative would be for this controller to combine the sparse seed with knowledge built into this to create a new package, and then use that package as the upstream in the PackageVariant[Set]. This is the approach taken in the Google seed code.
This is an umbrella issue This issue comprises of following tasks