Skip to content
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

spec: add attachment and endpoint definitions to specification #1053

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

MikeZappa87
Copy link
Contributor

@MikeZappa87 MikeZappa87 commented Dec 13, 2023

We started this back in #903 however I am closing that and opening this one. Two comments by @dcbw @squeed @henry118 should be reviewed.

@coveralls
Copy link

coveralls commented Dec 13, 2023

Coverage Status

coverage: 70.893%. remained the same
when pulling 082873d on MikeZappa87:improvement/attachmentv2
into 66c292a on containernetworking:main.

SPEC.md Outdated
- _container_ is a network isolation domain, though the actual isolation technology is not defined by the specification. This could be a [network namespace][namespaces] or a virtual machine, for example.
- _network_ refers to a group of endpoints that are uniquely addressable that can communicate amongst each other. This could be either an individual container (as specified above), a machine, or some other network device (e.g. a router). Containers can be conceptually _added to_ or _removed from_ one or more networks.
- _runtime_ is the program responsible for executing CNI plugins.
- _plugin_ is a program that applies a specified network configuration.
- _attachment is the operation of applying a network configuration to a container, which results in an endpoint.
- _endpoint is a uniquely addressable, container-scoped connection to a single network.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't currently use endpoint in the SPEC; we use attachment. For example, see the GC section.

While I think that endpoint is a good bit of verbiage, we don't currently use it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I remove it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another thing that came up in the meeting: the spec makes no statements about addressability; it already has a notion of what is the primary key. So, we should say something like "uniquely identifiable" instead of addressable.

(aside: it's possible to have a container with no IPs at all :-) )

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made the change to say 'identifiable'

SPEC.md Outdated
- _container_ is a network isolation domain, though the actual isolation technology is not defined by the specification. This could be a [network namespace][namespaces] or a virtual machine, for example.
- _network_ refers to a group of endpoints that are uniquely addressable that can communicate amongst each other. This could be either an individual container (as specified above), a machine, or some other network device (e.g. a router). Containers can be conceptually _added to_ or _removed from_ one or more networks.
- _runtime_ is the program responsible for executing CNI plugins.
- _plugin_ is a program that applies a specified network configuration.
- _attachment is the operation of applying a network configuration to a container, which results in an endpoint.
- _endpoint is a uniquely addressable, container-scoped connection to a single network.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_endpoint is a uniquely addressable, container-scoped connection to a single network.

I'm just thinking v4/v6 network (dual-stack). In such case, _endpoint may addressed by two address. Should we change 'uniquely identified', not 'uniquely addressable'?

Signed-off-by: Michael Zappa <[email protected]>
Comment on lines +77 to +78
- _attachment is the operation of applying a network configuration to a container, which results in an endpoint.
- _endpoint is a uniquely identifiable, container-scoped connection to a single network.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

both keywords here are missing the _ suffix and the resulting syntax is not italics. otherwise lgtm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants