{"id":10563,"date":"2016-09-01T16:25:04","date_gmt":"2016-09-01T14:25:04","guid":{"rendered":"https:\/\/blog.zhaw.ch\/icclab\/?p=10563"},"modified":"2019-08-05T13:58:16","modified_gmt":"2019-08-05T11:58:16","slug":"openstack-ova-onboarding-tool-release","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/","title":{"rendered":"A new tool to import OVA Applications to Openstack"},"content":{"rendered":"\n<p>by <a href=\"https:\/\/blog.zhaw.ch\/icclab\/josef-spillner\/\">Josef Spillner<\/a><\/p>\n\n\n<p><span style=\"font-weight: 400\">If you ever thought of uploading your local VMs to <a href=\"https:\/\/www.openstack.org\/\">OpenStack<\/a>, perhaps you have come across OpenStack\u2019s <a href=\"https:\/\/specs.openstack.org\/openstack\/nova-specs\/specs\/kilo\/implemented\/vmware-driver-ova-support.html\">support<\/a> for importing single virtual disk images. However, this cannot be used to deploy complicated VM setups, including network configurations and multiple VMs connected to each other.<\/span><br>\n<span style=\"font-weight: 400\">We at <a href=\"https:\/\/blog.zhaw.ch\/icclab\/\">ICCLab<\/a> have therefore decided to develop a tool that will allow anyone to upload their VM setups from their local environments directly to OpenStack. We call it OpenStack VM onboarding tool and it\u2019s available as <\/span><a href=\"https:\/\/github.com\/icclab\/openstack-ova-onboarding\"><span style=\"font-weight: 400\">open source<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">VM onboarding tool features:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>Easy to run<\/strong> &#8211; the tool comprises of simple frontend, backend and Openstack client libraries to access Openstack APIs. All these components can be easily run with one command. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>Easy to Import<\/strong> &#8211; to import an OVA file the user needs to provide only the basic Openstack credentials (username, password, tenant, region, keystone URL) and an OVA file. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>Full infrastructure import <\/strong>&#8211; the tool imports virtual machines, external networks, internal network connections and security groups.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">You can check out a quick <\/span><a href=\"https:\/\/www.youtube.com\/watch?v=kicrMyQYJeI&amp;feature=youtu.be\"><span style=\"font-weight: 400\">demo<\/span><\/a><span style=\"font-weight: 400\"> of VM onboarding functionality, workflow and interface. <\/span><!--more--><\/p>\n<p><span style=\"font-weight: 400\">The&nbsp;tool comprises of simple frontend, backend and Openstack client libraries to access Openstack APIs. The figure below shows a high level architecture of this tool.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10569\" src=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png\" alt=\"Screenshot from 2016-09-01 15:54:46\" width=\"565\" height=\"418\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png 565w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446-300x222.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446-406x300.png 406w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Once a user tries to \u201cLog in\u201d, a new session is created through \u201ckeystoneauth\u201d library. This session is needed to access all openstack client services. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Import OVA file to Openstack consists of different actions<\/span>:<\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Chosen the OVA file uploaded to the backend server <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">OVA file transforms into the simple .tar archive. The images (vmdk) and the OVF file are extracted from this archive disk.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The OVF file parser extracts valid information.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The images are uploaded to the glance endpoint. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">All information then transforms to the heat template and is uploaded to the heat client. <\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">In future VM onboarding tool will be integrated with the Openstack Horizon dashboard for seamless user experience.<\/span><\/p><div class=\"pt-sm\">Schlagw\u00f6rter: <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/openstack\/\">openstack<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/ova\/\">OVA<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/ovf\/\">OVF<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/python\/\">Python<\/a><br><\/div>","protected":false},"excerpt":{"rendered":"<p>If you ever thought of uploading your local VMs to OpenStack, perhaps you have come across OpenStack\u2019s support for importing single virtual disk images. However, this cannot be used to deploy complicated VM setups, including network configurations and multiple VMs connected to each other. We at ICCLab have therefore decided to develop a tool that [&hellip;]<\/p>\n","protected":false},"author":486,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1,21],"tags":[240,805,806,273],"features":[],"class_list":["post-10563","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-openstack-2","tag-openstack","tag-ova","tag-ovf","tag-python"],"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>A new tool to import OVA Applications to Openstack - 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-ova-onboarding-tool-release\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A new tool to import OVA Applications to Openstack\" \/>\n<meta property=\"og:description\" content=\"If you ever thought of uploading your local VMs to OpenStack, perhaps you have come across OpenStack\u2019s support for importing single virtual disk images. However, this cannot be used to deploy complicated VM setups, including network configurations and multiple VMs connected to each other. We at ICCLab have therefore decided to develop a tool that [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-01T14:25:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-08-05T11:58:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png\" \/>\n<meta name=\"author\" content=\"icclab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"icclab\" \/>\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-ova-onboarding-tool-release\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/\"},\"author\":{\"name\":\"icclab\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/045c6bde7e681e689e4fc051d8932563\"},\"headline\":\"A new tool to import OVA Applications to Openstack\",\"datePublished\":\"2016-09-01T14:25:04+00:00\",\"dateModified\":\"2019-08-05T11:58:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/\"},\"wordCount\":325,\"commentCount\":4,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png\",\"keywords\":[\"openstack\",\"OVA\",\"OVF\",\"Python\"],\"articleSection\":[\"*.*\",\"OpenStack\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/\",\"name\":\"A new tool to import OVA Applications to Openstack - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png\",\"datePublished\":\"2016-09-01T14:25:04+00:00\",\"dateModified\":\"2019-08-05T11:58:16+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/045c6bde7e681e689e4fc051d8932563\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png\",\"width\":565,\"height\":418},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A new tool to import OVA Applications to Openstack\"}]},{\"@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\/045c6bde7e681e689e4fc051d8932563\",\"name\":\"icclab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/7b13169e03783f50e96b96fa2ff222b9c530d13c3125f077c7c44f729b857a51?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7b13169e03783f50e96b96fa2ff222b9c530d13c3125f077c7c44f729b857a51?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7b13169e03783f50e96b96fa2ff222b9c530d13c3125f077c7c44f729b857a51?s=96&d=mm&r=g\",\"caption\":\"icclab\"},\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/icclab\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A new tool to import OVA Applications to Openstack - 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-ova-onboarding-tool-release\/","og_locale":"en_US","og_type":"article","og_title":"A new tool to import OVA Applications to Openstack","og_description":"If you ever thought of uploading your local VMs to OpenStack, perhaps you have come across OpenStack\u2019s support for importing single virtual disk images. However, this cannot be used to deploy complicated VM setups, including network configurations and multiple VMs connected to each other. We at ICCLab have therefore decided to develop a tool that [&hellip;]","og_url":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2016-09-01T14:25:04+00:00","article_modified_time":"2019-08-05T11:58:16+00:00","og_image":[{"url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png","type":"","width":"","height":""}],"author":"icclab","twitter_card":"summary_large_image","twitter_misc":{"Written by":"icclab","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/"},"author":{"name":"icclab","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/045c6bde7e681e689e4fc051d8932563"},"headline":"A new tool to import OVA Applications to Openstack","datePublished":"2016-09-01T14:25:04+00:00","dateModified":"2019-08-05T11:58:16+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/"},"wordCount":325,"commentCount":4,"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png","keywords":["openstack","OVA","OVF","Python"],"articleSection":["*.*","OpenStack"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/","url":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/","name":"A new tool to import OVA Applications to Openstack - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png","datePublished":"2016-09-01T14:25:04+00:00","dateModified":"2019-08-05T11:58:16+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/045c6bde7e681e689e4fc051d8932563"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png","contentUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/09\/Screenshot-from-2016-09-01-155446.png","width":565,"height":418},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/openstack-ova-onboarding-tool-release\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"A new tool to import OVA Applications to Openstack"}]},{"@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\/045c6bde7e681e689e4fc051d8932563","name":"icclab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7b13169e03783f50e96b96fa2ff222b9c530d13c3125f077c7c44f729b857a51?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7b13169e03783f50e96b96fa2ff222b9c530d13c3125f077c7c44f729b857a51?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7b13169e03783f50e96b96fa2ff222b9c530d13c3125f077c7c44f729b857a51?s=96&d=mm&r=g","caption":"icclab"},"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/icclab\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10563","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\/486"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=10563"}],"version-history":[{"count":14,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10563\/revisions"}],"predecessor-version":[{"id":12493,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10563\/revisions\/12493"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=10563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=10563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=10563"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=10563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}