{"id":9892,"date":"2016-04-15T17:51:04","date_gmt":"2016-04-15T15:51:04","guid":{"rendered":"https:\/\/blog.zhaw.ch\/icclab\/?p=9892"},"modified":"2016-04-15T17:52:14","modified_gmt":"2016-04-15T15:52:14","slug":"openstack-nova-events-are-now-billable-with-cyclops","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/","title":{"rendered":"OpenStack Nova Events are now Billable with Cyclops"},"content":{"rendered":"<p><a href=\"http:\/\/docs.openstack.org\/developer\/nova\/\">Nova<\/a>\u00a0manages all compute resources in\u00a0OpenStack. Today, the <a href=\"http:\/\/icclab.github.io\/cyclops\/contact.html\">Cyclops team<\/a> is\u00a0announcing support\u00a0for compute events such as\u00a0VM Creation, Deletion, and Modification for billing purposes\u00a0in Cyclops. All this by directly tapping into the OpenStack message bus for processing critical events in real-time.<!--more--><\/p>\n<p><a href=\"http:\/\/openstack.org\">OpenStack<\/a>\u00a0Services\u00a0communicate between each-other\u00a0through a messaging queue and a listener. The figure below shows this arrangement in a typical setup.<\/p>\n<p><a href=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-9894\" src=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-1024x703.png\" alt=\"Openstack Messaging Queues\" width=\"584\" height=\"401\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-1024x703.png 1024w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-300x206.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-768x527.png 768w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-437x300.png 437w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31.png 1710w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>The R&amp;D team working on Cyclops at ZHAW are now able to directly listen into these messages in order to filter out the events of use. After creating a dedicated queue and subscribing it to all the desired\u00a0OpenStack\u00a0service queues, Cyclops is able to snoop in on\u00a0all the messages, filtering them and further passing\u00a0them along to it&#8217;s own events queue through\u00a0a driver module. The schematic below shows an example arrangement that enables real time processing of key OpenStack events by Cyclops.<\/p>\n<p><a href=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.14.20.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-9895\" src=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.14.20-1024x622.png\" alt=\"Cyclops subscribed messaging queues\" width=\"584\" height=\"355\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.14.20-1024x622.png 1024w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.14.20-300x182.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.14.20-768x467.png 768w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.14.20-494x300.png 494w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.14.20.png 1856w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>Now\u00a0Cyclops can measure the VM&#8217;s\u00a0Uptime, operational status, as well as\u00a0even\u00a0measure the quantity of VM&#8217;s used\u00a0by a tenant. Not to say that such insights could not be made through ceilometer alone, having an alternative is always a good idea given that Ceilometer is known to have issues at scale.<\/p>\n<p>As shown in the schematic above,\u00a0a messaging queue is created and bound to OpenStack&#8217;s Nova queue so all the pertinent messages are sent to it. From all the information contained in\u00a0such messages, compatible event records for Cyclops\u00a0are created providing an alternative way to measure services consumed. Now with this approach, a provider can bill end users based on VM&#8217;s flavor and its uptime data.<\/p>\n<p><a href=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.44.53.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9897\" src=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.44.53.png\" alt=\"Nova RabbitMQ\" width=\"628\" height=\"245\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.44.53.png 628w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.44.53-300x117.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.44.53-500x195.png 500w\" sizes=\"auto, (max-width: 628px) 100vw, 628px\" \/><\/a><\/p>\n<p>The graph above shows the state for the OpenStack Nova message queue over time.<\/p>\n<p>In the following video you will see how the necessary messaging queues are created in <a href=\"https:\/\/www.rabbitmq.com\/\">RabbitMQ<\/a>\u00a0and connected to the appropriate exchange, and how through\u00a0the <a href=\"https:\/\/github.com\/icclab\/cyclops-dashboard\">Cyclops Dashboard<\/a>\u00a0a provider admin user can generate a bill\u00a0based on\u00a0the VM uptime.<\/p>\n<div class=\"lyte-wrapper\" title=\"Cyclops - OpenStack Nova Collector\" style=\"width:640px;max-width:100%;margin:5px;\"><div class=\"lyMe\" id=\"WYL_SuhfEo8dPb8\"><div id=\"lyte_SuhfEo8dPb8\" data-src=\"https:\/\/blog.zhaw.ch\/icclab\/wp-content\/plugins\/wp-youtube-lyte\/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FSuhfEo8dPb8%2Fhqdefault.jpg\" class=\"pL\"><div class=\"tC\"><div class=\"tT\">Cyclops - OpenStack Nova Collector<\/div><\/div><div class=\"play\"><\/div><div class=\"ctrl\"><div class=\"Lctrl\"><\/div><div class=\"Rctrl\"><\/div><\/div><\/div><noscript><a href=\"https:\/\/youtu.be\/SuhfEo8dPb8\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.zhaw.ch\/icclab\/wp-content\/plugins\/wp-youtube-lyte\/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FSuhfEo8dPb8%2F0.jpg\" alt=\"Cyclops - OpenStack Nova Collector\" width=\"640\" height=\"340\" \/><br \/>Watch this video on YouTube<\/a><\/noscript><\/div><\/div><div class=\"lL\" style=\"max-width:100%;width:640px;margin:5px;\"><br\/><span class=\"lyte_disclaimer\">Defaulttext aus wp-youtube-lyte.php<\/span><\/div><\/p>\n<p>During the next weeks the team\u00a0will be\u00a0focusing on adding new and exciting\u00a0features in Cyclops, so stay tuned for more announcements!<\/p>\n<div class=\"pt-sm\">Schlagw\u00f6rter: <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/billing-2\/\">billing<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/charging-2\/\">charging<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/cyclops\/\">Cyclops<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/events-2\/\">events<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/nova\/\">nova<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/openstack\/\">openstack<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/rabbitmq\/\">RabbitMQ<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/rating-2\/\">rating<\/a><br><\/div>","protected":false},"excerpt":{"rendered":"<p>Nova\u00a0manages all compute resources in\u00a0OpenStack. Today, the Cyclops team is\u00a0announcing support\u00a0for compute events such as\u00a0VM Creation, Deletion, and Modification for billing purposes\u00a0in Cyclops. All this by directly tapping into the OpenStack message bus for processing critical events in real-time. Schlagw\u00f6rter: billing, charging, Cyclops, events, nova, openstack, RabbitMQ, rating<\/p>\n","protected":false},"author":210,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1,8],"tags":[56,75,420,134,411,240,761,277],"features":[],"class_list":["post-9892","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-charging","tag-billing-2","tag-charging-2","tag-cyclops","tag-events-2","tag-nova","tag-openstack","tag-rabbitmq","tag-rating-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>OpenStack Nova Events are now Billable with Cyclops - Service Engineering (ICCLab &amp; SPLab)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenStack Nova Events are now Billable with Cyclops\" \/>\n<meta property=\"og:description\" content=\"Nova\u00a0manages all compute resources in\u00a0OpenStack. Today, the Cyclops team is\u00a0announcing support\u00a0for compute events such as\u00a0VM Creation, Deletion, and Modification for billing purposes\u00a0in Cyclops. All this by directly tapping into the OpenStack message bus for processing critical events in real-time. Schlagw\u00f6rter: billing, charging, Cyclops, events, nova, openstack, RabbitMQ, rating\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-15T15:51:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-04-15T15:52:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-1024x703.png\" \/>\n<meta name=\"author\" content=\"perz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"perz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/\"},\"author\":{\"name\":\"perz\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6\"},\"headline\":\"OpenStack Nova Events are now Billable with Cyclops\",\"datePublished\":\"2016-04-15T15:51:04+00:00\",\"dateModified\":\"2016-04-15T15:52:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/\"},\"wordCount\":375,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-1024x703.png\",\"keywords\":[\"billing\",\"charging\",\"Cyclops\",\"events\",\"nova\",\"openstack\",\"RabbitMQ\",\"rating\"],\"articleSection\":[\"*.*\",\"Charging\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/\",\"name\":\"OpenStack Nova Events are now Billable with Cyclops - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-1024x703.png\",\"datePublished\":\"2016-04-15T15:51:04+00:00\",\"dateModified\":\"2016-04-15T15:52:14+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31.png\",\"width\":1710,\"height\":1174},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenStack Nova Events are now Billable with Cyclops\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/\",\"name\":\"Service Engineering (ICCLab &amp; SPLab)\",\"description\":\"A Blog of the ZHAW Zurich University of Applied Sciences\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6\",\"name\":\"perz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g\",\"caption\":\"perz\"},\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/perz\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OpenStack Nova Events are now Billable with Cyclops - Service Engineering (ICCLab &amp; SPLab)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/","og_locale":"en_US","og_type":"article","og_title":"OpenStack Nova Events are now Billable with Cyclops","og_description":"Nova\u00a0manages all compute resources in\u00a0OpenStack. Today, the Cyclops team is\u00a0announcing support\u00a0for compute events such as\u00a0VM Creation, Deletion, and Modification for billing purposes\u00a0in Cyclops. All this by directly tapping into the OpenStack message bus for processing critical events in real-time. Schlagw\u00f6rter: billing, charging, Cyclops, events, nova, openstack, RabbitMQ, rating","og_url":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2016-04-15T15:51:04+00:00","article_modified_time":"2016-04-15T15:52:14+00:00","og_image":[{"url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-1024x703.png","type":"","width":"","height":""}],"author":"perz","twitter_card":"summary_large_image","twitter_misc":{"Written by":"perz","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/"},"author":{"name":"perz","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6"},"headline":"OpenStack Nova Events are now Billable with Cyclops","datePublished":"2016-04-15T15:51:04+00:00","dateModified":"2016-04-15T15:52:14+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/"},"wordCount":375,"commentCount":0,"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-1024x703.png","keywords":["billing","charging","Cyclops","events","nova","openstack","RabbitMQ","rating"],"articleSection":["*.*","Charging"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/","url":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/","name":"OpenStack Nova Events are now Billable with Cyclops - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31-1024x703.png","datePublished":"2016-04-15T15:51:04+00:00","dateModified":"2016-04-15T15:52:14+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31.png","contentUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/04\/Screen-Shot-2016-04-15-at-15.11.31.png","width":1710,"height":1174},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-nova-events-are-now-billable-with-cyclops\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"OpenStack Nova Events are now Billable with Cyclops"}]},{"@type":"WebSite","@id":"https:\/\/blog.zhaw.ch\/icclab\/#website","url":"https:\/\/blog.zhaw.ch\/icclab\/","name":"Service Engineering (ICCLab &amp; SPLab)","description":"A Blog of the ZHAW Zurich University of Applied Sciences","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6","name":"perz","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g","caption":"perz"},"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/perz\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/9892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/users\/210"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=9892"}],"version-history":[{"count":10,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/9892\/revisions"}],"predecessor-version":[{"id":9906,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/9892\/revisions\/9906"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=9892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=9892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=9892"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=9892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}