Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Wiki / Kb276

Kb276

Emulab FAQ: Setting Up a New Emulab: Event system: elvin or pubsub?

Emulab FAQ: Setting Up a New Emulab: Event system: elvin or pubsub?

>  Just for my info, I wanted to know what elvind actually does.  Is
>  it required in the images or was it just part of the legacy systems
>  with old versions of the testbed.  Do we need to have it if we need
>  jailed nodes (virtual nodes) ??

Elvin (the client libraries and the router daemon) is the original publish/subscribe system that Emulab used for its "event" system. Because of the licensing restrictions imposed by Elvin we had to reimplement from first principles.

Anyway, elvind is the "router", routing packets from publishers to subscribers, and it ran on boss/ops and all of the experimental nodes.

When installing a brand new Emulab, there is no reason to use or worry about Elvin since we now provide our own "pubsub" (clever name, eh?) library and daemon.

For existing Emulabs that update to a current release its another story. They are likely to have existing images that are still elvin based, and if they want those images to continue to work, then they still need to run elvind (the router) on (just) ops so that events from the old images can be gated to/from the pubsub system. We supply a daemon as part of pubsub called elvin_gateway which does this.