{"id":1658,"date":"2013-02-08T15:12:18","date_gmt":"2013-02-08T15:12:18","guid":{"rendered":"http:\/\/www.cloudcomp.ch\/?p=1658"},"modified":"2013-02-08T15:12:18","modified_gmt":"2013-02-08T15:12:18","slug":"how-to-test-your-openstack-deployment","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/","title":{"rendered":"How to Test your OpenStack Deployment?"},"content":{"rendered":"<p>Like us in the ICCLab, you have likely spent lots of time researching the best means to deploy OpenStack and you&#8217;ve decided upon a particular method (at the ICCLab we use <a href=\"http:\/\/www.theforeman.org\/\">foreman<\/a> and <a href=\"http:\/\/puppetlabs.com\/\">puppet<\/a>). You&#8217;ve implemented OpenStack with your chosen deployment plan and technologies and you now have an operational OpenStack cluster. The question you now have to ask is:<\/p>\n<blockquote><p>&#8220;How do I test that all functionality is operating correctly?&#8221;<\/p><\/blockquote>\n<p>You could certainly take the time to write a suite of tests using the various OpenStack python clients and maintain those. However there is an OpenStack project already available that can save you a lot of time. <a href=\"https:\/\/github.com\/openstack\/tempest\">OpenStack Tempest<\/a> is a project and suite that comprises of a set of integration tests. Tempest is <a href=\"https:\/\/jenkins.openstack.org\/\">used to validate the OpenStack code base<\/a> through it&#8217;s integration with Jenkins (continuous integration server). Tempests calls against OpenStack service API endpoints and uses the python unittest2 and nosetest frameworks at its core.<\/p>\n<p>If you wish to experiment with Tempest locally, try it out with <a href=\"http:\/\/www.devstack.org\/\">devstack<\/a>. Devstack automatically configures Tempest for use with it. To ease things, simply use <a href=\"https:\/\/github.com\/dizz\/vagrant-devstack\">vagrant-devstack<\/a> (<a href=\"https:\/\/github.com\/dizz\/vagrant-devstack\/blob\/master\/README.md\">README here<\/a>) do the following:<\/p>\n<ol>\n<li>Install <a href=\"http:\/\/www.virtualbox.org\/\">VirtualBox<\/a><\/li>\n<li>Install <a href=\"http:\/\/www.vagrantup.com\/\">vagrant<\/a><\/li>\n<li>git clone\u00a0https:\/\/github.com\/dizz\/vagrant-devstack.git<\/li>\n<li>vagrant up<\/li>\n<li>vagrant ssh<\/li>\n<li>cd \/opt\/stack\/tempest<\/li>\n<li>.\/run_tests.sh<\/li>\n<\/ol>\n<p>You will now see quite an amount of tests being run against your devstack installation. It will take time! If you wish to integrate Tempest with your Jenkins CI server see <a href=\"http:\/\/ci.openstack.org\/jenkins.html#devstack-gate\">information on devstack gate<\/a>. There is also a <a href=\"https:\/\/github.com\/echohead\/jenkins-tempest-plugin\">Tempest Jenkins plugin<\/a>. Finally, if you wish to run Tempest against a &#8220;real&#8221; installation of OpenStack you will need to configure the Tempest configuration file (etc\/tempest.conf) and change the relevant information (<a href=\"https:\/\/github.com\/openstack\/tempest\">more here<\/a>).<\/p>\n<div class=\"pt-sm\">Schlagw\u00f6rter: <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/automated\/\">automated<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/automation\/\">automation<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/openstack\/\">openstack<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/puppet\/\">puppet<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/tempest\/\">tempest<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/testing\/\">testing<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/vagrant\/\">vagrant<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/validate\/\">validate<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/verify\/\">verify<\/a><br><\/div>","protected":false},"excerpt":{"rendered":"<p>Like us in the ICCLab, you have likely spent lots of time researching the best means to deploy OpenStack and you&#8217;ve decided upon a particular method (at the ICCLab we use foreman and puppet). You&#8217;ve implemented OpenStack with your chosen deployment plan and technologies and you now have an operational OpenStack cluster. The question you now have to ask is: &#8220;How do I test that all functionality is operating correctly?&#8221;<\/p>\n","protected":false},"author":72,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[5,21],"tags":[49,51,240,271,328,330,339,340,341],"features":[],"class_list":["post-1658","post","type-post","status-publish","format-standard","hentry","category-articles","category-openstack-2","tag-automated","tag-automation","tag-openstack","tag-puppet","tag-tempest","tag-testing","tag-vagrant","tag-validate","tag-verify"],"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>How to Test your OpenStack Deployment? - 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\/how-to-test-your-openstack-deployment\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Test your OpenStack Deployment?\" \/>\n<meta property=\"og:description\" content=\"Like us in the ICCLab, you have likely spent lots of time researching the best means to deploy OpenStack and you&#039;ve decided upon a particular method (at the ICCLab we use foreman and puppet). You&#039;ve implemented OpenStack with your chosen deployment plan and technologies and you now have an operational OpenStack cluster. The question you now have to ask is: &quot;How do I test that all functionality is operating correctly?&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2013-02-08T15:12:18+00:00\" \/>\n<meta name=\"author\" content=\"Andy Edmonds\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andy Edmonds\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/\"},\"author\":{\"name\":\"Andy Edmonds\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684\"},\"headline\":\"How to Test your OpenStack Deployment?\",\"datePublished\":\"2013-02-08T15:12:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/\"},\"wordCount\":295,\"commentCount\":3,\"keywords\":[\"automated\",\"automation\",\"openstack\",\"puppet\",\"tempest\",\"testing\",\"vagrant\",\"validate\",\"verify\"],\"articleSection\":[\"Articles\",\"OpenStack\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/\",\"name\":\"How to Test your OpenStack Deployment? - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"datePublished\":\"2013-02-08T15:12:18+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Test your OpenStack Deployment?\"}]},{\"@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\/a62f7b702361e11d635f4e59446e8684\",\"name\":\"Andy Edmonds\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g\",\"caption\":\"Andy Edmonds\"},\"sameAs\":[\"http:\/\/andy.edmonds.be\"],\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/edmo\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Test your OpenStack Deployment? - 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\/how-to-test-your-openstack-deployment\/","og_locale":"en_US","og_type":"article","og_title":"How to Test your OpenStack Deployment?","og_description":"Like us in the ICCLab, you have likely spent lots of time researching the best means to deploy OpenStack and you've decided upon a particular method (at the ICCLab we use foreman and puppet). You've implemented OpenStack with your chosen deployment plan and technologies and you now have an operational OpenStack cluster. The question you now have to ask is: \"How do I test that all functionality is operating correctly?\"","og_url":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2013-02-08T15:12:18+00:00","author":"Andy Edmonds","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Andy Edmonds","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/"},"author":{"name":"Andy Edmonds","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684"},"headline":"How to Test your OpenStack Deployment?","datePublished":"2013-02-08T15:12:18+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/"},"wordCount":295,"commentCount":3,"keywords":["automated","automation","openstack","puppet","tempest","testing","vagrant","validate","verify"],"articleSection":["Articles","OpenStack"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/","url":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/","name":"How to Test your OpenStack Deployment? - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"datePublished":"2013-02-08T15:12:18+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/a62f7b702361e11d635f4e59446e8684"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/how-to-test-your-openstack-deployment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"How to Test your OpenStack Deployment?"}]},{"@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\/a62f7b702361e11d635f4e59446e8684","name":"Andy Edmonds","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/564b17a1126a2ed30e20d4c65842164e32a6cf798a8175e88bcf5b352ebd60c8?s=96&d=mm&r=g","caption":"Andy Edmonds"},"sameAs":["http:\/\/andy.edmonds.be"],"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/edmo\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/1658","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\/72"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=1658"}],"version-history":[{"count":0,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/1658\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=1658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=1658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=1658"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=1658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}