Provide cluster API control messages

This patch includes the protobuf definitions of the methods offered by
the read only API that will expose the internal Midonet model.

Ref.: MN-2991
Signed-off-by: Galo Navarro <galo@midokura.com>

Change-Id: Ic0f9d97b821601f603a791f4daa344a9ba507646
Garbage collect the ZOOM caches

Each time the last subscriber of an instance or class cache
unsubscribes, the identity of that cache is transmitted to ZOOM using a
shared map variable. A thread declared in ZOOM then periodically consults
this map to close and remove the corresponding caches.

Change-Id: Icfb2f89bcb835f7a0263b8e0408b3cb0bc2d3054
Signed-off-by: Nicolas Schiper <nicolas@midokura.com>
Merge "Garbage collect the ZOOM caches"
Include dynamic links to pre-built package versions

Change-Id: I7bb63929f2e934c3a9011ea0d9e69cf0ed789ec0
Signed-off-by: Duarte Nunes <duarte@midokura.com>
Modify exception handling in handleErrorOn

This patch modifeis the exception handling in handleErrorOn to
deal with the following situations appripriately.

  1. NotYet ->Timeout: Because of an ARP timeout.
  2. NotYet ->Timeout: Because a piece of topology could not be fetched.
  3. Other exception

I changed the log level for each case as follows.

  1. DEBUG. Because it's a normal network error condition, foreign
     to midonet.
  2. INFO. Because it implies zookeeper trouble or a topology
     inconsistency.
  3. WARN. Because is an unexpected exception.

This fixes MN-3007

Change-Id: Idd4ed85ea539dd4eeb7c85e39726f2742be4552f
Signed-off-by: Taku Fukushima <tfukushima@midokura.com>
Merge "Include dynamic links to pre-built package versions"
Merge "Modify exception handling in handleErrorOn"
A Tunnel Zone class

The tunnel zone class will be used by the agent to perform simulation. This
patch also includes tests to ensure that the conversion between the tunnel
zone proto and the Zoom object is done correctly.

Change-Id: I2939bf231ce80fb259211cc97d8d39bd13fef1e5
Signed-off-by: Nicolas Schiper <nicolas@midokura.com>
Modify timout for each actor to be longer

This patch modifies the timeout for stopping each actor longer
from 100 milliseconds to 200 milliseconds because we often get
the following error log when we stop midolman. The timeout for
stopping all actors is also modifed using the timeout for each
actor accordingly.

2014.11.07 15:17:59.951 ERROR [Thread-1] MidolmanActorsService -  Failed to gracefully stop all actors
akka.pattern.AskTimeoutException: Ask timed out on [Actor[akka://midolman/user/midolman#-1993850003]] after [100 ms]
        at akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:333) ~[akka-actor_2.11-2.3.6.jar:na]
        at akka.actor.Scheduler$$anon$7.run(Scheduler.scala:117) ~[akka-actor_2.11-2.3.6.jar:na]
        at scala.concurrent.Future$InternalCallbackExecutor$.unbatchedExecute(Future.scala:599) ~[scala-library-2.11.2.jar:na]
        at scala.concurrent.BatchingExecutor$class.execute(BatchingExecutor.scala:109) ~[scala-library-2.11.2.jar:na]
        at scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:597) ~[scala-library-2.11.2.jar:na]
        at akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:467) ~[akka-actor_2.11-2.3.6.jar:na]
        at akka.actor.LightArrayRevolverScheduler$$anon$8.executeBucket$1(Scheduler.scala:419) ~[akka-actor_2.11-2.3.6.jar:na]
        at akka.actor.LightArrayRevolverScheduler$$anon$8.nextTick(Scheduler.scala:423) ~[akka-actor_2.11-2.3.6.jar:na]
        at akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375) ~[akka-actor_2.11-2.3.6.jar:na]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_65]

This is related with MN-3021.

Change-Id: I907b10d7b3ab289736782a38c4d6b32a66dcc6fc
Signed-off-by: Taku Fukushima <tfukushima@midokura.com>
Remove unnecessary non ASCII characters

This patch eliminates unnecessary non ASCII characters, which led
compilation errors that can be avoided by setting
LC_ALL=en_US.UTF-8.

Change-Id: I1c0d8af66caec04c789c4e523ba4d805686604d3
Signed-off-by: Taku Fukushima <tfukushima@midokura.com>
Update rx dependency on odl-ovsdb module

It had diverged from the rest of the project. Now it shares the same
library def as the rest.

Change-Id: I6ff4555f3b207a47b7445fdda84fa12e9ae42b5c
Signed-off-by: Galo Navarro <galo@midokura.com>
Flow removal callbacks are executed by Sim threads

This patch establishes a channel between the FlowController and the
Simulation threads, through which the former sends flow removal
callbacks so the latter can execute them. This allows for
synchronization to be removed from several data structures.

Change-Id: Ibb46585ec1b61b1d7a041d2aff2258837cc4a16e
Signed-off-by: Duarte Nunes <duarte@midokura.com>
Simplifies data structures for suspended packets

Change-Id: I5432d54ef86295a573c7c6912ad99e9a09bd9c5a
Signed-off-by: Duarte Nunes <duarte@midokura.com>
Update README

Testing several sequential commits.

Change-Id: I1403dd4e3b22994e6549827660a648901b9ad2e3
Signed-off-by: Galo Navarro <galo@midokura.com>
Merge "Remove unnecessary non ASCII characters"
Merge "Flow removal callbacks are executed by Sim threads"
Merge "Simplifies data structures for suspended packets"
Merge "Update README"
Assorted updates to protobufs models

Change-Id: Id8718d23922e6f478a428e94be1d77e6e3c52469
Signed-off-by: Galo Navarro <galo@midokura.com>
Merge "Modify timout for each actor to be longer"