Skip to content
This repository was archived by the owner on Feb 24, 2020. It is now read-only.

Conversation

@jonboulle
Copy link
Contributor

Make it explicit that the DHCP daemon being referred to is the one
that's part of the special CNI DHCP plugin.

@venekamp
Copy link

venekamp commented Oct 29, 2016

I think the changes help a bit in the understanding the special nature of the dhcp daemon command. However, I think we can do better here. Adding that dhcp executable with daemon option is relaying messages back and forth between another DHCP server on the network and the client inside the container.

### dhcp

DHCP type requires a daemon to be running on the host.
The DHCP type requires a special DHCP daemon, part of the [CNI DHCP plugin][cni-dhcp], to be running on the host.
Copy link
Member

Choose a reason for hiding this comment

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

I think we could avoid a lot of confusion here if we stop calling this a DHCP daemon. While the name is technically correct, everybody expects this to mean "the DHCP service which manages all addresses in the subnet", while in our case it is just a middleman service.

Can we perhaps call it a DHCP (host) agent?

@lucab
Copy link
Member

lucab commented Nov 1, 2016

@venekamp thanks for the feedback! What you are describing above sounds like a DHCP proxy, but I don't think it is the case for the current plugin. This one should just register itself as a DHCP endpoint (client) and hand out the assigned network config via CNI semantics (paging @squeed just to confirm I'm not wrong here).

If the above statement is correct, I think it is better described as a "DHCP (host) agent" more than a daemon or a proxy.

@squeed
Copy link
Contributor

squeed commented Nov 1, 2016

Well, it's a dhcp client daemon. It's a bit more than a proxy; it also keeps the leases alive while the container is running.

My suggested wording would be:

The DHCP IPAM plugin needs a client daemon to be running on the host.

@venekamp
Copy link

venekamp commented Nov 1, 2016

@lucab, @squeed My first understanding was that it was a fully operational DHCP server, then I thought it was a proxying client and now I understand it to be more than just relaying DHCP messages. I would try to clarify what this "thing" does and what it expects. My try would be:

The DHCP IPAM plugin acts as a proxy between a dhcp client running inside the container and a dhcp service already running on the network. At the same time the plugin keeps the leases alive while the container is running. It can do this, because it still has the appropriate capabilities set.

You can omit the last sentence. At least I think this is why the plugin can renew leases and such things, while processes inside the container do no-longer have the capabilities to make changes to the interface.

Make it explicit that the DHCP daemon being referred to is the one
that's part of the special CNI DHCP plugin.
@jonboulle
Copy link
Contributor Author

updated, ptal


The DHCP plugin binary can be executed in the daemon mode by launching it with `daemon` argument.
However the DHCP plugin is bundled in stage1.aci so this requires extracting the binary from it:
However in rkt the DHCP plugin is bundled in stage1.aci so this requires extracting the binary from it:
Copy link
Member

Choose a reason for hiding this comment

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

nit, I think there should be a , after however.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ack

@euank
Copy link
Member

euank commented Nov 1, 2016

I think it reads well.

```

For more information about DHCP plugin, see [CNI docs](https://github.com/appc/cni/blob/master/Documentation/dhcp.md).
For more information about DHCP plugin, see the [CNI docs][cni-dhcp].
Copy link

Choose a reason for hiding this comment

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

... about [the] DHCP plugin ... ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

where'd you come from? ;-)

@jonboulle jonboulle merged commit 3b7e607 into rkt:master Nov 2, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants