Re: [openstack-dev] [Kuryr] [Neutron] Waiting until Neutron Port is Active
Hi Mohammad, Why is the blocking needed? Is it to report some kind of status back to Docker/Kubernetes, or to allow some follow-on action to happen? When using networking-calico as the driver, I think that only option (1) would work, out of the options you've suggested below. (3) doesn't work, as you say, because Calico doesn't involve an L2 agent. Also Calico doesn't use the RPC message queue for reporting port status, because we've found that that message queue is in itself a scalability bottleneck. I guess another option would be for the using system to determine for itself when the port appears to be working, e.g. by the host pinging the container/pod's IP address. Regards, Neil On Wed, Jun 8, 2016 at 4:23 PM Mohammad Banikazemi wrote: > For the Kuryr project, in order to support blocking until vifs are plugged > in (that is adding config options similar to the following options define > in Nova: vif_plugging_is_fatal and vif_plugging_timeout), we need to detect > that the Neutron plugin being used is done with plugging a given vif. > > Here are a few options: > > 1- The simplest approach seems to be polling for the status of the Neutron > port to become Active. (This may lead to scalability issues but short of > having a specific goal for scalability, it is not clear that will be the > case.) > 2- Alternatively, We could subscribe to the message queue and wait for > such a port update event. > 3- It was also suggested that we could use l2 agent extension to detect > such an event but that seems to limit us to certain Neutron plugins and > therefore not acceptable. > > I was wondering if there are other and better options. > > Best, > > Mohammad > __ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Kuryr] [Neutron] Waiting until Neutron Port is Active
Neutron has the ability already of sending an event as a REST call to notify a third party that a port became active [1] This is used by Nova to hold on booting instances until network has been wired. Perhaps kuryr could leverage this without having to tap into the AMQP bus, as that would be implementation-specific - since there would be an assumption about having a plugin that communicates with the reference impl l2 agent. Salvatore [1] http://git.openstack.org/cgit/openstack/neutron/tree/neutron/notifiers/nova.py On 8 June 2016 at 17:23, Mohammad Banikazemi wrote: > For the Kuryr project, in order to support blocking until vifs are plugged > in (that is adding config options similar to the following options define > in Nova: vif_plugging_is_fatal and vif_plugging_timeout), we need to detect > that the Neutron plugin being used is done with plugging a given vif. > > Here are a few options: > > 1- The simplest approach seems to be polling for the status of the Neutron > port to become Active. (This may lead to scalability issues but short of > having a specific goal for scalability, it is not clear that will be the > case.) > 2- Alternatively, We could subscribe to the message queue and wait for > such a port update event. > 3- It was also suggested that we could use l2 agent extension to detect > such an event but that seems to limit us to certain Neutron plugins and > therefore not acceptable. > > I was wondering if there are other and better options. > > Best, > > Mohammad > > __ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [Kuryr] [Neutron] Waiting until Neutron Port is Active
For the Kuryr project, in order to support blocking until vifs are plugged in (that is adding config options similar to the following options define in Nova: vif_plugging_is_fatal and vif_plugging_timeout), we need to detect that the Neutron plugin being used is done with plugging a given vif. Here are a few options: 1- The simplest approach seems to be polling for the status of the Neutron port to become Active. (This may lead to scalability issues but short of having a specific goal for scalability, it is not clear that will be the case.) 2- Alternatively, We could subscribe to the message queue and wait for such a port update event. 3- It was also suggested that we could use l2 agent extension to detect such an event but that seems to limit us to certain Neutron plugins and therefore not acceptable. I was wondering if there are other and better options. Best, Mohammad __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev