Return-Path: X-Original-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DC3ECCE89 for ; Fri, 11 May 2012 21:10:16 +0000 (UTC) Received: (qmail 32815 invoked by uid 500); 11 May 2012 21:10:16 -0000 Delivered-To: apmail-incubator-cloudstack-dev-archive@incubator.apache.org Received: (qmail 32785 invoked by uid 500); 11 May 2012 21:10:16 -0000 Mailing-List: contact cloudstack-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cloudstack-dev@incubator.apache.org Delivered-To: mailing list cloudstack-dev@incubator.apache.org Received: (qmail 32776 invoked by uid 99); 11 May 2012 21:10:16 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2012 21:10:16 +0000 X-ASF-Spam-Status: No, hits=1.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of ferncam1@gmail.com designates 209.85.213.47 as permitted sender) Received: from [209.85.213.47] (HELO mail-yw0-f47.google.com) (209.85.213.47) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2012 21:10:10 +0000 Received: by yhjj56 with SMTP id j56so3300758yhj.6 for ; Fri, 11 May 2012 14:09:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=xrJbq9z1VqYueDr+ADCXgIVFQ7tTOb2aoFRx0KxBocE=; b=aARGkd2wDUHF580Qd1O6VYNdt9tu2ebbpAf3RTYN9tzi/gyGCtmQJBZfOk2B8CEBiW W+E6yqSbFTTq0VYgYdUDLXXTU5YrlK6pewVTvfZhI7VtOcMcexglygBSRmeEEnAWk+DW SFwpEiNUzMfLFA8i1iTzaDdyEfVNJIzZ6l0DBgpzojAg7BhkP+LFJ+SrnyVNinlv1CNT F3Vv82GFeAh6WDglPzN4hCzidGDf0StmhS0B7t+Sh8XO+XgzTJ4BwRTa3ec1kCaSae6P ZIkRKNXuyADEZq9ZI3OLhrESkr8WpE727LEHy6gjQtkekUkEFIEB7r6NipUQjmLDUpqs V9ww== MIME-Version: 1.0 Received: by 10.50.47.196 with SMTP id f4mr2512227ign.21.1336770589020; Fri, 11 May 2012 14:09:49 -0700 (PDT) Sender: ferncam1@gmail.com Received: by 10.64.22.37 with HTTP; Fri, 11 May 2012 14:09:48 -0700 (PDT) Received: by 10.64.22.37 with HTTP; Fri, 11 May 2012 14:09:48 -0700 (PDT) In-Reply-To: References: Date: Fri, 11 May 2012 14:09:48 -0700 X-Google-Sender-Auth: XEeFqGuHpSPsZX0ED0Jz4i0rNy8 Message-ID: Subject: Re: Event Publish and Subscribe ( was perhaps Re: Cloudstack Questions ) From: Adrian Cole To: cloudstack-dev@incubator.apache.org Cc: Dean Content-Type: multipart/alternative; boundary=14dae9340aa71ad02804bfc9280b --14dae9340aa71ad02804bfc9280b Content-Type: text/plain; charset=ISO-8859-1 +1 Makes sense to have pubsub. Inside the java codebase, we could consider a clean and idiomatic lib like guava which is easy to unit test. http://codingjunkie.net/guava-eventbus/ Then, expose out-of-JVM hooks for any of the popular services people use. -A On May 11, 2012 1:58 PM, "Dean" wrote: > Cross reference to: > > > http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-dev/201204.mbox/browser > > [ from: Marlon Davids ] > < munch > > > 2) How do we monitor VM's that are in Cloudstack when they are in an > isolated VLAN does > > anyone have a clever workaround? > > 3) Has anyone developed a script for parsing and alerting on warning > events in the > > management Log yet? > > I would like to propose cloudstack consider a pub/sub model for event > handling to complement API calls like listEvents. > > Polling can be problematic and sensitive to scaling. > > A simple example would be state change on a physical device. The admin > server can simply publish a message on a network socket indicating that the > device has changed it's state. > > If a subscriber was interested in that device, it could make an api call > to the admin server for state change information for that device only. The > admin server may choose to validate that physical device against the > current state table in the database. > > The API would reply that this node changed it's state from Operational to > Prep For Maintenance. (or whatever the transition state would be) > > The message exchange could be wrapped around vm states, resource > additions/removals etc. > > Using a library like zeromq, a developer can write any number of consumers > in any language they wanted to subscribe to the Event Bus. > > Comments? > > -- > -Dean --14dae9340aa71ad02804bfc9280b--