-
Notifications
You must be signed in to change notification settings - Fork 31
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
connect fn and resource injections #54
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@@ -16,6 +16,10 @@ spec: | |||
injectors: | |||
- kind: WorkloadCluster |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trying to map from the command output of kubectl explain PackageVariant.spec.injectors
and what you have in L17 and L22. I am getting the impression that kind
and name
are repeated twice, I could be reading this wrong
ubuntu@nephio-r1-e2e-vish:~$ kubectl explain PackageVariant.spec.injectors
KIND: PackageVariant
VERSION: config.porch.kpt.dev/v1alpha1
RESOURCE: injectors <[]Object>
DESCRIPTION:
InjectionSelector specifies how to select in-cluster objects for resolving
injection points.
FIELDS:
group <string>
kind <string>
name <string> -required-
version <string>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Never mind, the injectors is a list of Objects and not a single object
/hold Let's hold off a bit on the dynamic network piece until we have specialization working for the current AMF, SMF packages. |
this adds to the cluster the connectivity to the network. It specifies a link that represents the connectivity to the network. The nodes are the network devices to which the link is supported.
The connect-fn uses the names to find the ports on the switch/router.
so I use edge01, edge02, edge03, edge04
edge w/o a number is the same as edge01
edge01, uses port 1-4
edge02, uses port 5-8
edge03: uses port 9-12
edge04: uses port 13-16
regional e/o a number is the same as regional01
regional01, uses port 17-20
regional02, uses port 21-24
regional03: uses port 25-28
regional04: uses port 29-32
The connect fn takes care of this. I allow dual homing and single homing. Up to 4 nodes in a cluster and max 4 edge sites and max 4 regional sites. We can do other scenario's but this is what the connect-fn supports right now.
the node that is injected is provisioned already during install scripts.
this is what we should add to the install script. deploying the node is still through clab but we will create an operator going fwd. clap installs a bunch of things like CERT, network for mgmt, default config for ssh/gnmi/etc etc. So this is why we should retain it for now. Will replace it with an operator. I give it a fixed ip from the docker kind bridge. we can change it.
besides crab we provision a secret to connect to the device and 2 CR(s) to make the controllers aware about the existence of the node. The node will be used in config injection. The target is used by the controller to configure the config of the switch.
So this should be added to the install.
sudo clab deploy -t clab/srl-nephio.yaml