{"id":1117,"date":"2011-07-01T09:12:38","date_gmt":"2011-07-01T14:12:38","guid":{"rendered":"http:\/\/www.openstack.org\/blog\/?p=1117"},"modified":"2011-07-01T09:12:38","modified_gmt":"2011-07-01T14:12:38","slug":"high-level-nova-architecture-review-flags-and-services","status":"publish","type":"post","link":"https:\/\/www.openstack.org\/blog\/high-level-nova-architecture-review-flags-and-services\/","title":{"rendered":"High Level Nova Architecture Review &#8211; Flags and Services"},"content":{"rendered":"<p class=\"lead\"><a href=\"http:\/\/twitter.com\/heckj\" target=\"_blank\">Joseph Heck<\/a> has written an excellent <a href=\"http:\/\/www.rhonabwy.com\/wp\/2011\/06\/30\/spelunking-nova-flags-and-services\/\" target=\"_blank\">blog post<\/a> on the Nova high level architecture for flags and services. Here is the intro:<\/p>\n<p>I\u2019ve been doing a lot of spelunking into the <a href=\"https:\/\/github.com\/openstack\/nova\">nova codebase<\/a>,  digging around and trying to learn some of the under pinnings. Some of  these pieces were a bit confusing to me, so I\u2019m stashing them up here  for Google to find and share with others in the future.<\/p>\n<p>Before I dive into the gritty details, it\u2019s worth getting a high  level overview so that some of this (hopefully) makes sense. OpenStack\u2019s  <a href=\"http:\/\/nova.openstack.org\/service.architecture.html\">service architecture<\/a> is made up of services that all talk with each other to get things  done. nova-network, nova-scheduler, etc. There\u2019s a lot of underpinning  in the nova codebase to make those services relatively easy to write and  work together \u2013 I was mostly curious about how they passed messages  back and forth.  As I dove in, the two pieces that stood out as needing  to be understood first were the unified service framework in nova and  configuration using flags (which it heavily depends upon).<\/p>\n<p><a href=\"http:\/\/www.rhonabwy.com\/wp\/2011\/06\/30\/spelunking-nova-flags-and-services\/\" target=\"_blank\">Rest of Post<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Joseph Heck has written an excellent blog post on the Nova high level architecture for flags and services. Here is the intro: I\u2019ve been doing a lot of spelunking into the nova codebase, digging around and trying to learn some of the under pinnings. Some of these pieces were a bit confusing to me, so&#8230;  <a href=\"https:\/\/www.openstack.org\/blog\/high-level-nova-architecture-review-flags-and-services\/\" class=\"more-link\" title=\"Read High Level Nova Architecture Review &#8211; Flags and Services\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[21,5],"tags":[229,232,230,227,228,231],"_links":{"self":[{"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/posts\/1117"}],"collection":[{"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/comments?post=1117"}],"version-history":[{"count":2,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/posts\/1117\/revisions"}],"predecessor-version":[{"id":1119,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/posts\/1117\/revisions\/1119"}],"wp:attachment":[{"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/media?parent=1117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/categories?post=1117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.openstack.org\/blog\/wp-json\/wp\/v2\/tags?post=1117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}