<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body dir="auto">
<div>That's clear, thanks Gal. The feature benchmark should be parity with how the majority of other (complete) remote drivers for libnetwork behave. >From a Magnum perspective we value consistency from an end user perspective when you use containers on OpenStack
 compared to when you run them outside of an OpenStack cloud environment. </div>
<div><br>
</div>
<div>If we offer extra features that's okay, but we do need to be careful not to to leave feature gaps where things hat work elsewhere don't work on OpenStack. Do we know if there are other libnetwork remote drivers that support port mapping, or have a statement
 of intent to implement it? That should help guide us here. Is it too early to know?<br>
<br>
--
<div>Adrian</div>
</div>
<div><br>
On Aug 14, 2015, at 8:09 AM, Gal Sagie <<a href="mailto:gal.sagie@gmail.com">gal.sagie@gmail.com</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div dir="ltr">Hi Adrian,
<div><br>
</div>
<div>Thanks for the explanation, i agree with you that we shouldn't break anything useful in docker, but from what i understand</div>
<div>(and please correct me if i am wrong) you are describing an implementation detail of docker networking (at its default current state).</div>
<div><br>
</div>
<div>Kuryr is not an implementation of containers networking, it is meant to allow docker networking to be</div>
<div>constructed using Neutron plugins and solutions.</div>
<div><br>
</div>
<div>For the point i was trying to make, lets take the simple case of connecting containers in a host (not the nested VM case), assuming</div>
<div>we use with Kuryr the L2 OVS agent and L3 agent (Neutron reference implementation) and we are able to plug</div>
<div>containers to a neutron network and define a floating ip to it, why would we need port mapping? (the iptables</div>
<div>translation is already happening as we have NAT)</div>
<div><br>
</div>
<div>Hope that make sense, and please correct me if i am saying nonsense or i didn't grasp the full</div>
<div>use case of port mapping.</div>
<div>But none the less, we will need to allow anything that docker allows and keep compatibility with all the available tooling</div>
<div>that depends on it as you mention (and of course be flexible to use Kuryr in the same environment with other </div>
<div>docker remote drivers)</div>
<div><br>
</div>
<div>Gal</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Aug 14, 2015 at 5:26 PM, Adrian Otto <span dir="ltr">
<<a href="mailto:adrian.otto@rackspace.com" target="_blank">adrian.otto@rackspace.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto">
<div>The port mapping feature is the -p flag on the "docker run" command. It determines which ports in the network namespace of the container are exposed to the root namespace. It configures iptables rules and docker proxy capabilities to achieve the desired
 result. This feature is essential, so we must not break it.</div>
<div><br>
</div>
<div>In other words, this feature is what allows a network port within a container to be externally accessed, and on what IP address(es) and port number(s) on the host.</div>
<div><br>
</div>
<div>Example:</div>
<div><br>
</div>
<div>docker run -d -p 12.34.56.7:8000:80 nginx:latest</div>
<div><br>
</div>
<div>This runs the nginx container and exposes top port 80 from inside the container to tcp port 8000 on 12.34.56.7 on the host. Without this feature docker is rather useless for running network services unless you use -net host or an equivalent workaround.
 This could break a lot of tooling that depends on -p.<br>
<br>
--
<div>Adrian</div>
</div>
<div>
<div class="h5">
<div><br>
On Aug 14, 2015, at 6:57 AM, Gal Sagie <<a href="mailto:gal.sagie@gmail.com" target="_blank">gal.sagie@gmail.com</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div dir="ltr">Hi feisky,
<div><br>
</div>
<div>I think thats a great question, not because of port-mapping in particular :) but because</div>
<div>we need to think on a feature by feature basis and map all the features the dockers API allow which</div>
<div>we cannot support directly with Neutron API or its services sub-projects API.</div>
<div>(apuimedo, maybe we need to set this as a future task for us)</div>
<div><br>
</div>
<div>But we also need to understand the use cases for supporting these API's so we can address them</div>
<div>and give them priorities (and this is something we as a community need to decide how to handle).</div>
<div><br>
</div>
<div>For your question, given that we have network isolation and security from neutron API's and given</div>
<div>we have NAT support (by Neutron API and the plugins implementing the network) , what do you see as a use case to use the port-mapping ? </div>
<div><br>
</div>
<div>I welcome you and everyone else to raise and describe these use cases so the Neutron/Kuryr community can think</div>
<div>how to solve and help, and if needed also adjust or add extensions for support.</div>
<div><br>
</div>
<div>Thanks</div>
<div>Gal.</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Aug 14, 2015 at 7:28 AM, feisky <span dir="ltr">
<<a href="mailto:feiskyer@gmail.com" target="_blank">feiskyer@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Will Kuryr supports docker's port-mapping?<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://openstack.10931.n7.nabble.com/neutron-kuryr-magnum-Design-Specification-for-Kuryr-tp82256p82299.html" rel="noreferrer" target="_blank">
http://openstack.10931.n7.nabble.com/neutron-kuryr-magnum-Design-Specification-for-Kuryr-tp82256p82299.html</a><br>
Sent from the Developer mailing list archive at <a href="http://Nabble.com" target="_blank">
Nabble.com</a>.<br>
<div>
<div><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div>Best Regards ,<br>
<br>
The G. </div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>__________________________________________________________________________</span><br>
<span>OpenStack Development Mailing List (not for usage questions)</span><br>
<span>Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" target="_blank">
OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe</span><br>
<span><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></span><br>
</div>
</blockquote>
</div>
</div>
</div>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature">Best Regards ,<br>
<br>
The G. </div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>__________________________________________________________________________</span><br>
<span>OpenStack Development Mailing List (not for usage questions)</span><br>
<span>Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe</span><br>
<span><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></span><br>
</div>
</blockquote>
</body>
</html>