{"id":34042,"date":"2015-09-02T18:11:29","date_gmt":"2015-09-02T15:11:29","guid":{"rendered":"http:\/\/cloudbase.it\/?p=34042"},"modified":"2015-10-17T16:14:05","modified_gmt":"2015-10-17T13:14:05","slug":"openstack-fuel-and-hyper-v","status":"publish","type":"post","link":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/","title":{"rendered":"How to add Hyper-V compute nodes to a Mirantis Fuel deployment"},"content":{"rendered":"<p>Our <a href=\"http:\/\/cloudbase.it\/openstack-hyperv-driver\/\">OpenStack Hyper-V Compute Driver<\/a>\u00a0works with any OpenStack cloud, including clouds deployed using Mirantis Fuel.<\/p>\n<p>The goal\u00a0of this article is not to provide a guide to deploy Fuel (for that you can use the excellent <a href=\"https:\/\/docs.mirantis.com\/openstack\/fuel\/fuel-6.1\/#guides\">documentation<\/a> from Mirantis), but rather to guide you through the process of adding a Hyper-V compute node to an existing\u00a0Fuel deployment.<\/p>\n<p>OpenStack supports multiple types of hypervisors on a single cloud, which means that you can run KVM and Hyper-V side by side with complete\u00a0interoperability. One of the great advantages is that you can have Windows instances running on Hyper-V, taking advantage of Microsoft&#8217;s support for your Windows guests, while keeping\u00a0Linux instances on KVM in a totally transparent way for your users.<br \/>\n&nbsp;<\/p>\n<h3>Adding a Hyper-V compute node<\/h3>\n<p>To begin with, all\u00a0you need is a host running\u00a0the <a href=\"https:\/\/www.microsoft.com\/en-us\/evalcenter\/evaluate-hyper-v-server-2012-r2\" target=\"_blank\">freely available Microsoft Hyper-V Server 2012 R2<\/a> or alternatively Windows Server 2012 R2 with the Hyper-V Role enabled.<\/p>\n<h4>Networking<\/h4>\n<p>The Windows Server 2012 R2 \/ Hyper-V Server 2012 R2 should have a minimum of two network interfaces, one for management, connected to the public network defined in the Fuel deployment and the other one connected to the private network.<\/p>\n<p><strong>Example:<\/strong> \u00a0let&#8217;s assume\u00a0the OpenStack controller deployed with Fuel has the following interfaces:<\/p>\n<p><a class=\"dt-single-image\" href=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png\" data-dt-img-description=\"\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-34086 alignnone\" src=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png?resize=655%2C322\" alt=\"Fuel net list\" width=\"655\" height=\"322\" srcset=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png?w=1062&amp;ssl=1 1062w, https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png?resize=300%2C147&amp;ssl=1 300w, https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png?resize=1024%2C503&amp;ssl=1 1024w\" sizes=\"(max-width: 655px) 100vw, 655px\" \/><\/a><\/p>\n<p>In this example, the public interface of the Hyper-V host\u00a0should be connected to the same network as <em>eth1<\/em>, and the private interface of the Hyper-V host\u00a0should be connected to the same network as <em>eth0<\/em>.<\/p>\n<h4>Installing Hyper-V Nova Compute and Neutron Hyper-V Agent<\/h4>\n<p>Once the Windows Server \/ Hyper-V Server setup is complete, you can install the OpenStack Compute role using our <a href=\"http:\/\/www.cloudbase.it\/openstack\/openstack-compute-installer\/\">OpenStack compute installer<\/a>. Download the appropriate installer version and run it.<\/p>\n<p>The setup is straightforward (<a href=\"http:\/\/www.cloudbase.it\/installing-openstack-nova-compute-on-hyper-v\/\">full guide here<\/a>), you will just need some credentials and service addresses \/ URLs from your OpenStack cloud.<\/p>\n<p>You will also need a Hyper-V virtual switch, which can be created using the installer, making sure that the interface for the switch is the private one as defined above.\u00a0To do that, list all the network interfaces, using for example PowerShell:<\/p>\n<pre class=\"theme:powershell-ise lang:ps decode:true\">PS c:\\&gt; Get-NetAdapter<\/pre>\n<p>The results should be something like this:<\/p>\n<p><a class=\"dt-single-image\" href=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/netadapter_list.png\" data-dt-img-description=\"\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\" wp-image-34087 alignnone\" src=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/netadapter_list.png?resize=724%2C60\" alt=\"netadapter_list\" width=\"724\" height=\"60\" srcset=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/netadapter_list.png?w=989&amp;ssl=1 989w, https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/netadapter_list.png?resize=300%2C25&amp;ssl=1 300w\" sizes=\"(max-width: 724px) 100vw, 724px\" \/><\/a><\/p>\n<p>Check that the Mac address corresponds to the private interface and take note of the InterfaceDescription. Set up the Virtual Switch by selecting the proper interface name from the dropdown list as shown in the following image.<\/p>\n<p><a class=\"dt-single-image\" href=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/new_vswitch.png\" data-dt-img-description=\"\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-34088 alignnone\" src=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/new_vswitch.png?resize=506%2C396\" alt=\"new_vswitch\" width=\"506\" height=\"396\" srcset=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/new_vswitch.png?w=506&amp;ssl=1 506w, https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/new_vswitch.png?resize=300%2C235&amp;ssl=1 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><\/a><\/p>\n<p>Next, you&#8217;ll need the host addresses URLs for the Glance API and AMQP server as well as credentials for AMQP.<\/p>\n<p>An easy way to get the API endpoint URLs is by using Horizon. Login as an administrator and navigate to the projects Access &amp; Security section, API Access tab and select the URL corresponding to the Image service.<\/p>\n<p><a class=\"dt-single-image\" href=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/api_access.png\" data-dt-img-description=\"\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-34085 alignnone\" src=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/api_access.png?resize=632%2C493\" alt=\"api_access\" width=\"632\" height=\"493\" srcset=\"https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/api_access.png?w=796&amp;ssl=1 796w, https:\/\/i0.wp.com\/cloudbase.it\/wp-content\/uploads\/2015\/10\/api_access.png?resize=300%2C234&amp;ssl=1 300w\" sizes=\"(max-width: 632px) 100vw, 632px\" \/><\/a><\/p>\n<p>You will need to provide an Neutron API endpoint as well. The Neutron API endpoint can be obtained in the same way as the Glance one, listed as Network under the API Access tab in Horizon.<\/p>\n<p>You will also be prompted for credentials for neutron authentication. The simplest way to find those credentials is to look on the controller node in<em> \/etc\/nova\/nova.conf<\/em>, in the [neutron] section. The values you are looking for are:<\/p>\n<pre class=\"lang:sh decode:true\">[neutron]\r\nadmin_tenant_name\r\nadmin_username\r\nadmin_password<\/pre>\n<p>The AMQP RabbitMQ configuration can be retrieved from <em>\/etc\/nova\/nova.conf<\/em> as well:<\/p>\n<pre class=\"\">[oslo_messaging_rabbit]\r\nrabbit_userid\r\nrabbit_password\r\nrabbit_hosts<\/pre>\n<p>After the installation, you can verify\u00a0if the nova-compute service and the neutron hyper-v agent are up and running as expected by executing the following commands on the controller:<\/p>\n<pre class=\"lang:sh decode:true \">nova service-list\r\nneutron agent-list<\/pre>\n<h4>Enable the\u00a0Hyper-V agent in Neutron<\/h4>\n<p>By default, Fuel does not enable the\u00a0Hyper-V agent in the Neutron configuration. Simply edit the <em>\/etc\/neutron\/plugins\/ml2\/ml2_plugin.ini<\/em> file and add\u00a0<strong>hyperv <\/strong>to the list of enabled mechanism drivers:<\/p>\n<pre class=\"lang:sh decode:true\">mechanism_drivers = openvswitch,hyperv<\/pre>\n<p>After editing and saving the ml2_plugin.ini file, restart neutron-server:<\/p>\n<pre class=\"lang:sh decode:true \">service neutron-server restart<\/pre>\n<p>Congratulations, you have now a fully operational Hyper-V compute node added to your OpenStack Cloud!<\/p>\n<p>&nbsp;<\/p>\n<h3>Add Hyper-V guest images in Glance<\/h3>\n<p>When adding Hyper-V VHD or VHDX images to Glance, make sure to specify the <em>hypervisor_type<\/em> property to let the Nova scheduler know that you want to target Hyper-V:<\/p>\n<pre class=\"\">glance image-create --property hypervisor_type=hyperv --name \"Windows Server 2012 R2 Std\" \\\r\n--container-format bare --disk-format vhd --file windows2012r2.vhdx<\/pre>\n<div id=\"crayon-55e6f25459ad4852151199-2\" class=\"crayon-line crayon-striped-line\"><\/div>\n<p>Similarly, for\u00a0KVM \/ QEMU images specify <em>hypervisor_type=qemu<\/em><\/p>\n<p>We provide free evaluation versions of <a href=\"http:\/\/www.cloudbase.it\/ws2012r2\/\" target=\"_blank\">Windows Server guest images<\/a> for OpenStack (KVM or Hyper-V) along with commercial support for fully updated and tested Windows production images.<\/p>\n<p>&nbsp;<\/p>\n<h3>Automation<\/h3>\n<p>The deployment and configuration described above can be fully automated with Puppet, Chef, SaltStack, DSC, etc. This is particularly useful in case you&#8217;d want to add and manage multiple Hyper-V hosts in your Fuel deployment.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Our OpenStack Hyper-V Compute Driver\u00a0works with any OpenStack cloud, including clouds deployed using Mirantis Fuel. The goal\u00a0of this article is not to provide a guide to deploy Fuel (for that you can use the excellent documentation from Mirantis), but rather to guide you through the process of adding a Hyper-V compute node to an existing\u00a0Fuel&hellip;<\/p>\n","protected":false},"author":24,"featured_media":34086,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_jetpack_memberships_contains_paid_content":false},"categories":[9,83],"tags":[101,84,100],"class_list":["post-34042","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hyper-v","category-openstack","tag-fuel","tag-hyper-v","tag-mirantis","category-9","category-83","description-off"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to add Hyper-V compute nodes to a Mirantis Fuel deployment - Cloudbase Solutions<\/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:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to add Hyper-V compute nodes to a Mirantis Fuel deployment - Cloudbase Solutions\" \/>\n<meta property=\"og:description\" content=\"Our OpenStack Hyper-V Compute Driver\u00a0works with any OpenStack cloud, including clouds deployed using Mirantis Fuel. The goal\u00a0of this article is not to provide a guide to deploy Fuel (for that you can use the excellent documentation from Mirantis), but rather to guide you through the process of adding a Hyper-V compute node to an existing\u00a0Fuel&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloudbase Solutions\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/cloudbasesolutions\" \/>\n<meta property=\"article:published_time\" content=\"2015-09-02T15:11:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-10-17T13:14:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1062\" \/>\n\t<meta property=\"og:image:height\" content=\"522\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Adelina Tuvenie\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cloudbaseit\" \/>\n<meta name=\"twitter:site\" content=\"@cloudbaseit\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adelina Tuvenie\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/\"},\"author\":{\"name\":\"Adelina Tuvenie\",\"@id\":\"https:\/\/cloudbase.it\/#\/schema\/person\/8b9daa9cbbfb730fcef3879bdb9046f6\"},\"headline\":\"How to add Hyper-V compute nodes to a Mirantis Fuel deployment\",\"datePublished\":\"2015-09-02T15:11:29+00:00\",\"dateModified\":\"2015-10-17T13:14:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/\"},\"wordCount\":750,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/cloudbase.it\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png\",\"keywords\":[\"fuel\",\"Hyper-V\",\"mirantis\"],\"articleSection\":[\"Hyper-V\",\"OpenStack\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/\",\"url\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/\",\"name\":\"How to add Hyper-V compute nodes to a Mirantis Fuel deployment - Cloudbase Solutions\",\"isPartOf\":{\"@id\":\"https:\/\/cloudbase.it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png\",\"datePublished\":\"2015-09-02T15:11:29+00:00\",\"dateModified\":\"2015-10-17T13:14:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#primaryimage\",\"url\":\"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png\",\"contentUrl\":\"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png\",\"width\":1062,\"height\":522},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudbase.it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to add Hyper-V compute nodes to a Mirantis Fuel deployment\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudbase.it\/#website\",\"url\":\"https:\/\/cloudbase.it\/\",\"name\":\"Cloudbase Solutions\",\"description\":\"Cloud Interoperability\",\"publisher\":{\"@id\":\"https:\/\/cloudbase.it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudbase.it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudbase.it\/#organization\",\"name\":\"Cloudbase Solutions\",\"url\":\"https:\/\/cloudbase.it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudbase.it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cloudbase.it\/wp-content\/uploads\/2017\/03\/CBSL-Logo-2017-Black.png\",\"contentUrl\":\"https:\/\/cloudbase.it\/wp-content\/uploads\/2017\/03\/CBSL-Logo-2017-Black.png\",\"width\":583,\"height\":143,\"caption\":\"Cloudbase Solutions\"},\"image\":{\"@id\":\"https:\/\/cloudbase.it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/facebook.com\/cloudbasesolutions\",\"https:\/\/x.com\/cloudbaseit\",\"https:\/\/www.linkedin.com\/company-beta\/3139764\",\"https:\/\/www.youtube.com\/channel\/UCBgH5RqPL4lgxA8gn3rIAFw\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudbase.it\/#\/schema\/person\/8b9daa9cbbfb730fcef3879bdb9046f6\",\"name\":\"Adelina Tuvenie\",\"sameAs\":[\"https:\/\/cloudbase.it\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to add Hyper-V compute nodes to a Mirantis Fuel deployment - Cloudbase Solutions","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:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/","og_locale":"en_US","og_type":"article","og_title":"How to add Hyper-V compute nodes to a Mirantis Fuel deployment - Cloudbase Solutions","og_description":"Our OpenStack Hyper-V Compute Driver\u00a0works with any OpenStack cloud, including clouds deployed using Mirantis Fuel. The goal\u00a0of this article is not to provide a guide to deploy Fuel (for that you can use the excellent documentation from Mirantis), but rather to guide you through the process of adding a Hyper-V compute node to an existing\u00a0Fuel&hellip;","og_url":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/","og_site_name":"Cloudbase Solutions","article_publisher":"http:\/\/facebook.com\/cloudbasesolutions","article_published_time":"2015-09-02T15:11:29+00:00","article_modified_time":"2015-10-17T13:14:05+00:00","og_image":[{"width":1062,"height":522,"url":"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png","type":"image\/png"}],"author":"Adelina Tuvenie","twitter_card":"summary_large_image","twitter_creator":"@cloudbaseit","twitter_site":"@cloudbaseit","twitter_misc":{"Written by":"Adelina Tuvenie","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#article","isPartOf":{"@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/"},"author":{"name":"Adelina Tuvenie","@id":"https:\/\/cloudbase.it\/#\/schema\/person\/8b9daa9cbbfb730fcef3879bdb9046f6"},"headline":"How to add Hyper-V compute nodes to a Mirantis Fuel deployment","datePublished":"2015-09-02T15:11:29+00:00","dateModified":"2015-10-17T13:14:05+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/"},"wordCount":750,"commentCount":0,"publisher":{"@id":"https:\/\/cloudbase.it\/#organization"},"image":{"@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#primaryimage"},"thumbnailUrl":"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png","keywords":["fuel","Hyper-V","mirantis"],"articleSection":["Hyper-V","OpenStack"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/","url":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/","name":"How to add Hyper-V compute nodes to a Mirantis Fuel deployment - Cloudbase Solutions","isPartOf":{"@id":"https:\/\/cloudbase.it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#primaryimage"},"image":{"@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#primaryimage"},"thumbnailUrl":"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png","datePublished":"2015-09-02T15:11:29+00:00","dateModified":"2015-10-17T13:14:05+00:00","breadcrumb":{"@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#primaryimage","url":"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png","contentUrl":"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png","width":1062,"height":522},{"@type":"BreadcrumbList","@id":"https:\/\/cloudbase.it\/openstack-fuel-and-hyper-v\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudbase.it\/"},{"@type":"ListItem","position":2,"name":"How to add Hyper-V compute nodes to a Mirantis Fuel deployment"}]},{"@type":"WebSite","@id":"https:\/\/cloudbase.it\/#website","url":"https:\/\/cloudbase.it\/","name":"Cloudbase Solutions","description":"Cloud Interoperability","publisher":{"@id":"https:\/\/cloudbase.it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudbase.it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudbase.it\/#organization","name":"Cloudbase Solutions","url":"https:\/\/cloudbase.it\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudbase.it\/#\/schema\/logo\/image\/","url":"https:\/\/cloudbase.it\/wp-content\/uploads\/2017\/03\/CBSL-Logo-2017-Black.png","contentUrl":"https:\/\/cloudbase.it\/wp-content\/uploads\/2017\/03\/CBSL-Logo-2017-Black.png","width":583,"height":143,"caption":"Cloudbase Solutions"},"image":{"@id":"https:\/\/cloudbase.it\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/facebook.com\/cloudbasesolutions","https:\/\/x.com\/cloudbaseit","https:\/\/www.linkedin.com\/company-beta\/3139764","https:\/\/www.youtube.com\/channel\/UCBgH5RqPL4lgxA8gn3rIAFw"]},{"@type":"Person","@id":"https:\/\/cloudbase.it\/#\/schema\/person\/8b9daa9cbbfb730fcef3879bdb9046f6","name":"Adelina Tuvenie","sameAs":["https:\/\/cloudbase.it"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/cloudbase.it\/wp-content\/uploads\/2015\/10\/fuel_net_list.png","_links":{"self":[{"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/posts\/34042"}],"collection":[{"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/comments?post=34042"}],"version-history":[{"count":7,"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/posts\/34042\/revisions"}],"predecessor-version":[{"id":34184,"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/posts\/34042\/revisions\/34184"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/media\/34086"}],"wp:attachment":[{"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/media?parent=34042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/categories?post=34042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudbase.it\/wp-json\/wp\/v2\/tags?post=34042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}