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
[RA2 Ch4]: Reinstate Chapter 4.5 content in new format #1854
[RA2 Ch4]: Reinstate Chapter 4.5 content in new format #1854
Conversation
closes anuket-project#1637 Signed-off-by: Gergely Csatari <gergely.csatari@nokia.com>
@CsatariGergely Is this only to recapture previous content or can we add/delete? |
@CsatariGergely Some suggestions -- were submitted previously and resubmitting for consideration. |
It is only a reorganisation of the original content. I would prefer to do additions and deletions in different pr-s. |
I would prefer to add only the original content in this pr and modify in subsequent pr-s if needed. Still some comments to the document:
|
@CsatariGergely The standard is based on the charter of the plumbing group and its adoption by kubernetes - and as you know implementations lag behind definition of a standard. A standard is a standard even without an implementation. Re: Multi networking: Support of multiple IPAM-s is in direct contradiction with req.inf.ntw.10 IMO, we should split the SR-IOV Device Pluing and SR-IOV CNI requirements. |
Separating SR-IOV CNI and SR-IOV device plugin requirements. Changing may-s to must-s to be in alignement with requirement wording. Signed-off-by: Gergely Csatari <gergely.csatari@nokia.com>
There is no adoption by Kubernetes. If there would be, then we would not need metaplugins.
Okay, so you mean that we should have a requirement which allows the solution to select from multiple IPAM solutions? With which higher level requirement can we back this requirement?
Done |
|`ra2.ntw.003`|NAT less connectivity|IPVLAN CNI component of DANM or the [MACVLAN CNI](https://github.com/containernetworking/plugins/tree/master/plugins/main/macvlan) may be used|| | ||
|`ra2.ntw.004`|User plane networks|[User Space CNI](https://github.com/intel/userspace-cni-network-plugin) may be used. The User Space CNI may use VPP or OVS-DPDK as a backend.|| | ||
|`ra2.ntw.005`|SR-IOV|SR-IOV CNI plugin and the [SR-IOV Device Plugin](https://github.com/intel/sriov-network-device-plugin) may be used|| | ||
|`ra2.ntw.001`|CNI multiplexer/metaplugin|As the selected CNI multiplexer/metapulgin MUST support other CNI plugins (`req.inf.ntw.06`) and SHOULD provide an API based solution to administer the networks from a central point (`req.inf.ntw.03`) the selected CNI multiplexer/metapulgin must be [DANM](https://github.com/nokia/danm).| [req.inf.ntw.06](./chapter02.md#23-kubernetes-architecture-requirements), [req.inf.ntw.03](./chapter02.md#23-kubernetes-architecture-requirements) | |
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.
How did DAMN become a "must" from a "may" -- before the restructuring exercise there was discussion and both MULTUS and DAMN were to be supported. Secondly, if we are changing the content in this PR then other changes, namely, the Plumbing group recommendations etc. can be out of scope of this PR.
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.
Back in Prague we agreed that we should harden the requirements as this the purpose of making an RA. I've forgot about the language change, that's why applied it in this change. If this does not fit into the restructuring work I can revert those changes.
Yes there were discussions to support additional CNI multiplexers on top of DANM, but there was never a pr created to get an agreement on those changes.
Can you explain a bit more the last comment about the Plumbing group recommendations?
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.
We should keep restructuring free of changes with regards to requirement content or compliance statements such as "may", "must", .... It's otherwise getting tricky with reviews.
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.
Post Prague we have had discussion on this in a previously open PR including language suggested by Taylor.
The Table needs other rows -- as we need to add other requirements, for example, conformance to a standard CRD, support for any CNI plugin, etc. etc.
From, Network Plumbing Working Group
The Network Plumbing Working Group (NPWG) was formed at Kubecon NA '17 in Austin to initially work towards implementing a common standard addressing how one may attach multiple networks to pods in Kubernetes. Our work has culminated in a de-facto standard CRD.
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.
Add DANM and Multus to the RI-2 vs the RA-2. The RA-2 should be about the requirements which implementations such as DANM and Multus can provide solutions for.
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.
See above comments - I think we need to very explicitly document the pros/cons of each approach and document which we take. #1854 (comment)
|`ra2.ntw.005`|SR-IOV|SR-IOV CNI plugin and the [SR-IOV Device Plugin](https://github.com/intel/sriov-network-device-plugin) may be used|| | ||
|`ra2.ntw.001`|CNI multiplexer/metaplugin|As the selected CNI multiplexer/metapulgin MUST support other CNI plugins (`req.inf.ntw.06`) and SHOULD provide an API based solution to administer the networks from a central point (`req.inf.ntw.03`) the selected CNI multiplexer/metapulgin must be [DANM](https://github.com/nokia/danm).| [req.inf.ntw.06](./chapter02.md#23-kubernetes-architecture-requirements), [req.inf.ntw.03](./chapter02.md#23-kubernetes-architecture-requirements) | | ||
|`ra2.ntw.002`|CNI to implement a default network which implements the Kubernetes network model|[Calico](https://github.com/projectcalico/cni-plugin) must be used based on the requirement `req.inf.ntw.08` due to it's capability to handle `NetworkPolicies`|[req.inf.ntw.08](./chapter02.md#23-kubernetes-architecture-requirements)| | ||
|`ra2.ntw.003`|NAT less connectivity|IPVLAN CNI component of DANM or the [MACVLAN CNI](https://github.com/containernetworking/plugins/tree/master/plugins/main/macvlan) must be used|| |
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.
similar to other comments why can't another IPVLAN CNI be used?
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.
As the IPVLAN CNI is not visible for the applications I'm okay to recommend "an IPVLAN CNI".
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.
Same issue as ra2.ntw.001
for the CNI #1854 (comment)
Add DANM and Multus to the RI-2 vs the RA-2. The RA-2 should be about the requirements which implementations such as DANM and Multus can provide solutions for.
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.
In this case this comment is valid as the IPVLAN CNI is not visible in the application artifacts. If we all agree I can change this in this pr to a generic IPVLAN CNI.
Co-authored-by: Tom Kivlin <52716470+tomkivlin@users.noreply.github.com>
Signed-off-by: Gergely Csatari <gergely.csatari@nokia.com>
However I believe that RA shold define hard requirements for components visible for the software or the deployment artefacts of CNF-s and once we made this decision in Prague I change the musts back to mays as there are some concerns about this change in pr anuket-project#1854. The same changes will be submitted in a different pr. Signed-off-by: Gergely Csatari <gergely.csatari@nokia.com>
RA2 Meeting 2020.08.06: @CsatariGergely to change back the "may"-s to their original form. |
I've double checked the |
Looks to me like the requirement statements have been reverted to the original statements. Good for me to merge. As @CsatariGergely mentioned in the call we're still missing an issue or PR to have Multus as another may requirement. |
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.
I have opened #1874 to address the question of whether we want to support / enforce the consistency of deployment artefacts as well as software / container images. Agree with @CsatariGergely to deal with this separately, get this wording in for now and address the additional requirements that @pgoyal01 has created an issue for in subsequent PRs.
@tomkivlin Before the restructuring, if I remember correctly, we had agreed to list both MULTUS and DANM as choices - @taylor had even provided language to that effect. If that is not to be addressed in the restructuring then we should open an issue for it. |
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.
Approved subject to changes to be made w.r.t. the metaplugins to be mentioned in the text.
Ah yes I remember. @CsatariGergely could you address this please? |
@CsatariGergely this was the proposed wording: #1532 (comment). Are you OK updating the wording in this PR, or shall I create a separate issue? |
Moving the original content of Chapter 4.5 to the new structure.
closes #1637