--
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+unsubscribe@onosproject.org.
To post to this group, send email to onos...@onosproject.org.
Visit this group at https://groups.google.com/a/onosproject.org/group/onos-dev/.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-dev/CA%2BMS2e67RxuzYzn9ZkEBRLkDQotnAFmtgc%3Di5zCKjXuvdPanPw%40mail.gmail.com.
Meant to reply to the group:The MeterManager adds meters asynchronously. I'm not sure what the rationale is for that, but you should add a listener (using addListener) to the MeterService rather than polling it. Then you can block on the listener using a CountDownLatch or something like that rather than polling.
Maybe we want to consider blocking in submit() or at least providing a blocking version of the API though.
Hi Jordan, Ali, Jordi, Jonathan, Brian, Thomas, Marc, Ray and All,
Formerly, I encountered the same ConsistentMapException$Timeout problem on ONOS 1.6.1 while installing flows referencing a meter. I used only one ONOS instance and don't form a cluster.
The process I made:
1. create a meterRequest and then submit it;
2. I just check whether the return value of MeterService.submit() is null while not checking if it is added;
3. if the return value is not null, I'll put it into a ConsistentMap for management; (And I sometimes encountered ConsistentMapException$Timeout at this step)
4. Add flow rules referring the meter.
management ConsistentMap:
//
service
meter
private
ConsistentMap<TrafficSchedulerSvcNameInfo,
MeterId>
svcMeterSet;
public final class TrafficSchedulerSvcNameInfo {
private final String svcName;
private final DeviceId dvcId;
And after the operation, I print the store and see the item is added actually.
onos> trafficscheduler:list-svc-meter-store
svcMeterSet: {TrafficSchedulerSvcNameInfo{svcName=subscriber1, dvcId=of:0000001e08000fe3}=2}
log:
2017-01-17 17:44:05,915 | WARN | tp1740749102-531
| ServerErrorMapper | 127 - org.onosproject.onlab-rest - 1.6.1.SNAPSHOT | Unhandled REST exception
org.onosproject.store.service.ConsistentMapException$Timeout
at org.onosproject.store.primitives.DefaultConsistentMap.complete(DefaultConsistentMap.java:228)[75:org.onosproject.onos-api:1.6.1.SNAPSHOT]
at org.onosproject.store.primitives.DefaultConsistentMap.put(DefaultConsistentMap.java:118)[75:org.onosproject.onos-api:1.6.1.SNAPSHOT]
at org.onosproject.trafficscheduler.DistributedTrafficSchedulerStore.addSvcNameInfoToMeterMapping(DistributedTrafficSchedulerStore.java:673)[180:org.onosproject.onos-app-trafficscheduler:1.6.1.SNAPSHOT]
// The line marked red corresponds to
step 3 above
at org.onosproject.trafficscheduler.flowinstaller.TrafficSchedulerFlowInstaller.calcMeterId(TrafficSchedulerFlowInstaller.java:277)[180:org.onosproject.onos-app-trafficscheduler:1.6.1.SNAPSHOT]
at org.onosproject.trafficscheduler.flowinstaller.GroupSingleTableFlowInstaller.generateTractionFlow(GroupSingleTableFlowInstaller.java:122)[180:org.onosproject.onos-app-trafficscheduler:1.6.1.SNAPSHOT]
at org.onosproject.trafficscheduler.flowinstaller.TrafficSchedulerFlowInstaller.generateFlow(TrafficSchedulerFlowInstaller.java:239)[180:org.onosproject.onos-app-trafficscheduler:1.6.1.SNAPSHOT]
at org.onosproject.trafficscheduler.TrafficSchedulerManager.addSvcCfg(TrafficSchedulerManager.java:840)[180:org.onosproject.onos-app-trafficscheduler:1.6.1.SNAPSHOT]
at org.onosproject.trafficscheduler.web.TrafficSchedulerWebResource.addSvcCfg(TrafficSchedulerWebResource.java:538)[180:org.onosproject.onos-app-trafficscheduler:1.6.1.SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_101]
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)[110:org.glassfish.jersey.core.jersey-common:2.22.2]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)[110:org.glassfish.jersey.core.jersey-common:2.22.2]
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)[110:org.glassfish.jersey.core.jersey-common:2.22.2]
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)[110:org.glassfish.jersey.core.jersey-common:2.22.2]
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)[110:org.glassfish.jersey.core.jersey-common:2.22.2]
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)[110:org.glassfish.jersey.core.jersey-common:2.22.2]
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)[118:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)[124:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)[124:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)[124:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)[124:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)[124:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[93:org.ops4j.pax.web.pax-web-jetty:3.2.6]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:522)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[93:org.ops4j.pax.web.pax-web-jetty:3.2.6]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[93:org.ops4j.pax.web.pax-web-jetty:3.2.6]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.Server.handle(Server.java:370)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[84:org.eclipse.jetty.aggregate.jetty-all-server:8.1.17.v20150415]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
2017-01-17 17:44:05,917 | WARN | t-client-event-1 | LocalCache | 43 - com.google.guava - 19.0.0 | Exception thrown by removal listener
org.onosproject.store.service.ConsistentMapException$Timeout
at org.onosproject.store.primitives.DefaultConsistentMap.complete(DefaultConsistentMap.java:228)
at org.onosproject.store.primitives.DefaultConsistentMap.lambda$computeIf$2(DefaultConsistentMap.java:110)
at org.onlab.util.Tools.lambda$null$2(Tools.java:395)
at org.onlab.util.RetryingFunction.apply(RetryingFunction.java:52)
at org.onlab.util.Tools.lambda$retryable$3(Tools.java:398)
at org.onosproject.store.primitives.DefaultConsistentMap.computeIf(DefaultConsistentMap.java:113)
at org.onosproject.store.primitives.DefaultConsistentMap.computeIfPresent(DefaultConsistentMap.java:97)
at org.onosproject.incubator.store.meter.impl.DistributedMeterStore.failedMeter(DistributedMeterStore.java:207)
at org.onosproject.incubator.net.meter.impl.MeterManager$InternalMeterProviderService.meterOperationFailed(MeterManager.java:223)
at org.onosproject.provider.of.meter.impl.OpenFlowMeterProvider.lambda$activate$0(OpenFlowMeterProvider.java:121)
at com.google.common.cache.LocalCache.processPendingNotifications(LocalCache.java:1960)
at com.google.common.cache.LocalCache$Segment.runUnlockedCleanup(LocalCache.java:3475)
at com.google.common.cache.LocalCache$Segment.postWriteCleanup(LocalCache.java:3451)
at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:2906)
at com.google.common.cache.LocalCache.put(LocalCache.java:4164)
at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:4805)
at org.onosproject.provider.of.meter.impl.OpenFlowMeterProvider.performOperation(OpenFlowMeterProvider.java:175)
at org.onosproject.provider.of.meter.impl.OpenFlowMeterProvider.performMeterOperation(OpenFlowMeterProvider.java:169)
at org.onosproject.incubator.net.meter.impl.MeterManager$InternalMeterStoreDelegate.notify(MeterManager.java:257)
at org.onosproject.incubator.net.meter.impl.MeterManager$InternalMeterStoreDelegate.notify(MeterManager.java:249)
at org.onosproject.store.AbstractStore.notifyDelegate(AbstractStore.java:58)
at org.onosproject.incubator.store.meter.impl.DistributedMeterStore.access$300(DistributedMeterStore.java:66)
at org.onosproject.incubator.store.meter.impl.DistributedMeterStore$InternalMapEventListener.event(DistributedMeterStore.java:231)
at org.onosproject.store.primitives.impl.MeteredAsyncConsistentMap$InternalMeteredMapEventListener.event(MeteredAsyncConsistentMap.java:291)
at org.onosproject.store.primitives.impl.TranscodingAsyncConsistentMap$InternalBackingMapEventListener.event(TranscodingAsyncConsistentMap.java:311)
at org.onosproject.store.primitives.resources.impl.AtomixConsistentMap.lambda$null$2(AtomixConsistentMap.java:100)[141:org.onosproject.onos-core-primitives:1.6.1.SNAPSHOT]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:456)[43:com.google.guava:19.0.0]
at org.onosproject.store.primitives.resources.impl.AtomixConsistentMap.lambda$null$3(AtomixConsistentMap.java:100)[141:org.onosproject.onos-core-primitives:1.6.1.SNAPSHOT]
at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1597)[:1.8.0_101]
at org.onosproject.store.primitives.resources.impl.AtomixConsistentMap.lambda$handleEvent$4(AtomixConsistentMap.java:100)[141:org.onosproject.onos-core-primitives:1.6.1.SNAPSHOT]
at java.util.ArrayList.forEach(ArrayList.java:1249)[:1.8.0_101]
at org.onosproject.store.primitives.resources.impl.AtomixConsistentMap.handleEvent(AtomixConsistentMap.java:99)[141:org.onosproject.onos-core-primitives:1.6.1.SNAPSHOT]
at io.atomix.manager.resource.internal.InstanceClient$EventListener.accept(InstanceClient.java:274)
at io.atomix.manager.resource.internal.InstanceClient.handleEvent(InstanceClient.java:180)
at io.atomix.manager.resource.internal.InstanceClient.lambda$onEvent$6(InstanceClient.java:163)
at io.atomix.copycat.client.DefaultCopycatClient$EventListener.lambda$accept$61(DefaultCopycatClient.java:373)
at io.atomix.catalyst.concurrent.Runnables.lambda$logFailure$2(Runnables.java:20)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_101]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_101]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_101]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
2017-01-17 17:44:05,935 | ERROR | of-event-stats-6 | OpenFlowControllerImpl | 162 - org.onosproject.onos-of-ctl - 1.6.1.SNAPSHOT | Uncaught exception on onos-of-event-stats-6
org.onosproject.store.service.ConsistentMapException$Timeout
at org.onosproject.store.primitives.DefaultConsistentMap.complete(DefaultConsistentMap.java:228)[75:org.onosproject.onos-api:1.6.1.SNAPSHOT]
at org.onosproject.store.primitives.DefaultConsistentMap.values(DefaultConsistentMap.java:143)[75:org.onosproject.onos-api:1.6.1.SNAPSHOT]
at org.onosproject.store.primitives.ConsistentMapBackedJavaMap.values(ConsistentMapBackedJavaMap.java:141)[75:org.onosproject.onos-api:1.6.1.SNAPSHOT]
at org.onosproject.store.group.impl.DistributedGroupStore.getStoredGroups(DistributedGroupStore.java:324)[140:org.onosproject.onos-core-dist:1.6.1.SNAPSHOT]
at org.onosproject.store.group.impl.DistributedGroupStore.pushGroupMetrics(DistributedGroupStore.java:1272)[140:org.onosproject.onos-core-dist:1.6.1.SNAPSHOT]
at org.onosproject.net.group.impl.GroupManager$InternalGroupProviderService.pushGroupMetrics(GroupManager.java:347)[138:org.onosproject.onos-core-net:1.6.1.SNAPSHOT]
at org.onosproject.provider.of.group.impl.OpenFlowGroupProvider.pushGroupMetrics(OpenFlowGroupProvider.java:236)[166:org.onosproject.onos-of-provider-group:1.6.1.SNAPSHOT]
at org.onosproject.provider.of.group.impl.OpenFlowGroupProvider.access$100(OpenFlowGroupProvider.java:81)[166:org.onosproject.onos-of-provider-group:1.6.1.SNAPSHOT]
at org.onosproject.provider.of.group.impl.OpenFlowGroupProvider$InternalGroupProvider.handleMessage(OpenFlowGroupProvider.java:333)[166:org.onosproject.onos-of-provider-group:1.6.1.SNAPSHOT]
at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OFMessageHandler.run(OpenFlowControllerImpl.java:674)[162:org.onosproject.onos-of-ctl:1.6.1.SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_101]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
BR,
Zhenhua
Hi Jordan, Ali, Jordi, Jonathan, Brian, Thomas, Marc, Ray and All,
Formerly, ONOS 1.6.1 runs well on my machine. However, I failed to start it use ok. Two strange points:
1.Failed to register Bandwidth
2. all bundles are stopped finally.
1.Failed to register Bandwidth
However, I'm able to see every ports of the switch on ONOS GUI.
2. all bundles are stopped finally
2017-03-21 06:09:41,075 | INFO | FelixShutdown |BlueprintExtender | 15 - org.apache.aries.blueprint.core - 1.4.4 | Destroying BlueprintContainer for bundle org.apache.karaf.service.command/3.0.5
2017-03-21 06:09:41,079 | INFO | FelixShutdown |BlueprintExtender | 15 - org.apache.aries.blueprint.core - 1.4.4 | Destroying BlueprintContainer for bundle org.apache.karaf.service.core/3.0.5
2017-03-21 06:09:41,090 | INFO | FelixShutdown |BlueprintExtender | 15 - org.apache.aries.blueprint.core - 1.4.4 | Destroying BlueprintContainer for bundle org.apache.karaf.log.command/3.0.5
2017-03-21 06:09:41,096 | INFO | FelixShutdown |BlueprintExtender | 15 - org.apache.aries.blueprint.core - 1.4.4 | Destroying BlueprintContainer for bundle org.apache.karaf.diagnostic.command/3.0.5
2017-03-21 06:09:41,099 | INFO | FelixShutdown |BlueprintExtender | 15 - org.apache.aries.blueprint.core - 1.4.4 | Destroying BlueprintContainer for bundle org.apache.karaf.diagnostic.core/3.0.5
2017-03-21 06:09:41,101 | INFO | FelixShutdown |BlueprintExtender | 15 - org.apache.aries.blueprint.core - 1.4.4 | Destroying BlueprintContainer for bundle org.apache.karaf.jaas.command/3.0.5
2017-03-21 06:09:41,137 | INFO | FelixShutdown |BlueprintExtender | 15 - org.apache.aries.blueprint.core - 1.4.4 | Destroying BlueprintContainer for bundle org.apache.karaf.instance.command/3.0.5
2017-03-21 06:09:41,155 | INFO | FelixShutdown |BlueprintExtender | 15 - org.apache.aries.blueprint.core - 1.4.4 | Destroying BlueprintContainer for bundle org.apache.karaf.instance.core/3.0.5
...
Any advice is appreciated.
BR,
Zhenhua
Luca,
We've done quite a lot of work on ONOS, not just writing app, but also extend core and etc. And stability is also very important for a commercial system. We test extensively on ONOS 1.6.1 and it's of risk to move to the latest branch.
Zhenhua
-------- 原始邮件 --------
主题:Re: [onos-dev] I failed to start ONOS 1.6.1 use ok. Two strange
points: 1.Failed to register Bandwidth 2. all bundles are stopped finally.
发件人:Luca Prete
收件人:Ali Al-Shabibi ,Jordan Halterman ,Jordi Ortiz ,MA Zhenhua ,ONOS Developers ,bo...@onlab.us," jo...@onlab.us" ,ma...@onlab.us,r...@onlab.us," t...@onlab.us"
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/brigade-northbound/HK2PR03MB1523530F2DF86402E268CEE2AA310%40HK2PR03MB1523.apcprd03.prod.outlook.com.--
You received this message because you are subscribed to the Google Groups "Northbound brigade" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brigade-northbound+unsub...@onosproject.org.
To post to this group, send email to brigade-northbound@onosproject.org.
Visit this group at https://groups.google.com/a/onosproject.org/group/brigade-northbound/.