deployments-k8s
deployments-k8s copied to clipboard
Need for new cmd-ipam-singlepoint elemet
Question
Currently the cmd-nse-remote-vlan element provides IPAM function using singlepointipam
The singlepointipam
- Updates
SrcIpAddrs
andDstIpAddrs
inIpContext
and - assign one IP to NSE (per NS not per connection), but since the nse-remote-vlan is not part of the data plane this will not be assigned to any interface in the NSE. Only the
DstIpAddress
will be set in NSC interface.
It is a basic requirement to support the scaling of this NSE type. To improve the high availability of cmd-nse-remote-vlan element the IPAM functionality should be moved to a separate entity.
The following options has been taken into account: 1/ Usage of a CNI IPAM plugin by it's API, but this needs additional permissions for the NSE and requirements for user environment 2/ Store the assigned IPs using some database back-end or etcd storage 3/ Follow similar aproach as cmd-ipam-vl3, achieving data synchronization between IPAM instances using stream API. The cmd-ipam-vl3 does not really fit for nse-remote-vlan's needs - without modifications (e.g. vl3-ipam modifies the routes on IpContext). Instead modifying cmd-ipam-vl3, a new 'cmd-ipam-...' should be created (keeping things clean).
@denis-tingaikin and @edwarnicke This 3rd option seems most feasible, but I would ask your thoughts and suggestions.
Context
https://github.com/networkservicemesh/deployments-k8s/tree/main/examples/remotevlan#nsm-remote-vlan-examples https://github.com/Nordix/nsm-test/blob/b2bf3401df8e7ca934437ae01fe6394ea850f17d/doc/vrm.svg
Example
https://github.com/Nordix/nsm-test/blob/bb2023025eb60f5278f65ae822025e47b38a2d96/doc/singlepoint-ipam.svg
Option 3 sounds good to me
/cc @fkautz
@edwarnicke , @ljkiraly I think it was a correct note that we may to consider better naming.
I'd like to suggest these names:
- cmd-ipam-vlan
- cmd-ipam-singular
- cmd-ipam-one-point
@denis-tingaikin , @edwarnicke 'cmd-ipam-one-point' is OK. I will detail the use case in the README.md
@edwarnicke Don't you mind if we create 'cmd-ipam-one-point' repository for @ljkiraly ?