{"id":2625,"date":"2013-06-14T14:52:34","date_gmt":"2013-06-14T14:52:34","guid":{"rendered":"http:\/\/www.cloudcomp.ch\/?p=2625"},"modified":"2013-06-14T14:52:34","modified_gmt":"2013-06-14T14:52:34","slug":"automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/","title":{"rendered":"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker"},"content":{"rendered":"<figure id=\"attachment_2631\" aria-describedby=\"caption-attachment-2631\" style=\"width: 209px\" class=\"wp-caption alignright\"><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2631  \" alt=\"Fig. 1: Redundant MySQL Server nodes using Pacemaker, Corosync and DRBD.\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk-272x300.png\" width=\"209\" height=\"231\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk-272x300.png 272w, https:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk.png 322w\" sizes=\"auto, (max-width: 209px) 100vw, 209px\" \/><\/a><figcaption id=\"caption-attachment-2631\" class=\"wp-caption-text\">Fig. 1: Redundant MySQL Server nodes using Pacemaker, Corosync and DRBD.<\/figcaption><\/figure>\n<p style=\"text-align: justified\">If automation is required, <a href=\"http:\/\/www.vagrantup.com\/\">Vagrant<\/a> and <a href=\"https:\/\/puppetlabs.com\/\">Puppet <\/a>seem to be the most adequate tools to implement it. What about automatic installation of High Availability database servers? As part of\u00a0 our <a title=\"Cloud Dependability\" href=\"http:\/\/www.cloudcomp.ch\/research\/foundation\/themes\/initiatives\/cloud-dependability\/\">Cloud Dependability<\/a> efforts, the ICCLab works on automatic installation of High Availability systems. One such HA system is a MySQL Server &#8211; combined with <a href=\"http:\/\/www.drbd.org\/\">DRBD<\/a>, <a href=\"http:\/\/www.corosync.org\/\">Corosync<\/a> and <a href=\"http:\/\/clusterlabs.org\/\">Pacemaker<\/a>.<\/p>\n<p style=\"text-align: justified\">In this system the server-logic of the MySQL Server runs locally on different virtual machine nodes, while all database files are stored on a clustered DRBD-device which is distributed on all the nodes. The DRBD resource is used by Corosync which acts as resource layer for Pacemaker. If one of the nodes fails, Pacemaker automagically restarts the MySQL server on another node and synchronizes the data on the DRBD device. This combined DRBD and Pacemaker approach is best practice in the IT industry.<\/p>\n<p style=\"text-align: justified\">At ICCLab we have developed an automatic installation script which creates 2 virtual machines and configures MySQL, DRBD, Corosync and Pacemaker on both machines. The automated installation script can be downloaded from <a title=\"Github Repository\" href=\"https:\/\/github.com\/kobe6661\/vagrant_mysql_drbd_pacemaker\">Github<\/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\/automated_installation\/\">automated_installation<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/automation\/\">automation<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/clustering\/\">clustering<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/corosync\/\">corosync<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/drbd\/\">DRBD<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/installation\/\">installation<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/pacemaker\/\">pacemaker<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/puppet\/\">puppet<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/vagrant\/\">vagrant<\/a><br><\/div>","protected":false},"excerpt":{"rendered":"<p>If automation is required, Vagrant and Puppet seem to be the most adequate tools to implement it. What about automatic installation of High Availability database servers? As part of\u00a0 our Cloud Dependability efforts, the ICCLab works on automatic installation of High Availability systems. One such HA system is a MySQL Server &#8211; combined with DRBD, [&hellip;]<\/p>\n","protected":false},"author":75,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[5,20],"tags":[49,50,51,87,97,117,196,246,271,339],"features":[],"class_list":["post-2625","post","type-post","status-publish","format-standard","hentry","category-articles","category-open-source","tag-automated","tag-automated_installation","tag-automation","tag-clustering","tag-corosync","tag-drbd","tag-installation","tag-pacemaker","tag-puppet","tag-vagrant"],"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>Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker - 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\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker\" \/>\n<meta property=\"og:description\" content=\"If automation is required, Vagrant and Puppet seem to be the most adequate tools to implement it. What about automatic installation of High Availability database servers? As part of\u00a0 our Cloud Dependability efforts, the ICCLab works on automatic installation of High Availability systems. One such HA system is a MySQL Server &#8211; combined with DRBD, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2013-06-14T14:52:34+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk-272x300.png\" \/>\n<meta name=\"author\" content=\"benn\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"benn\" \/>\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\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/\"},\"author\":{\"name\":\"benn\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/7f2dc402a572b3fc950027b8b809c0d6\"},\"headline\":\"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker\",\"datePublished\":\"2013-06-14T14:52:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/\"},\"wordCount\":201,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk-272x300.png\",\"keywords\":[\"automated\",\"automated_installation\",\"automation\",\"clustering\",\"corosync\",\"DRBD\",\"installation\",\"pacemaker\",\"puppet\",\"vagrant\"],\"articleSection\":[\"Articles\",\"Open Source\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/\",\"name\":\"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk-272x300.png\",\"datePublished\":\"2013-06-14T14:52:34+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/7f2dc402a572b3fc950027b8b809c0d6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk.png\",\"width\":322,\"height\":354,\"caption\":\"Redundant MySQL Fig. 1: Server nodes using Pacemaker, Corosync and DRBD.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker\"}]},{\"@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\/7f2dc402a572b3fc950027b8b809c0d6\",\"name\":\"benn\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/432dd9c93af6d79a7b97feaee8c4bb7b88d9a3106b571ecc81ea2e7fecb0caf1?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/432dd9c93af6d79a7b97feaee8c4bb7b88d9a3106b571ecc81ea2e7fecb0caf1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/432dd9c93af6d79a7b97feaee8c4bb7b88d9a3106b571ecc81ea2e7fecb0caf1?s=96&d=mm&r=g\",\"caption\":\"benn\"},\"sameAs\":[\"http:\/\/blog.zhaw.ch\/icclab\"],\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/benn\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker - 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\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/","og_locale":"en_US","og_type":"article","og_title":"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker","og_description":"If automation is required, Vagrant and Puppet seem to be the most adequate tools to implement it. What about automatic installation of High Availability database servers? As part of\u00a0 our Cloud Dependability efforts, the ICCLab works on automatic installation of High Availability systems. One such HA system is a MySQL Server &#8211; combined with DRBD, [&hellip;]","og_url":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2013-06-14T14:52:34+00:00","og_image":[{"url":"http:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk-272x300.png","type":"","width":"","height":""}],"author":"benn","twitter_card":"summary_large_image","twitter_misc":{"Written by":"benn","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/"},"author":{"name":"benn","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/7f2dc402a572b3fc950027b8b809c0d6"},"headline":"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker","datePublished":"2013-06-14T14:52:34+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/"},"wordCount":201,"commentCount":1,"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk-272x300.png","keywords":["automated","automated_installation","automation","clustering","corosync","DRBD","installation","pacemaker","puppet","vagrant"],"articleSection":["Articles","Open Source"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/","url":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/","name":"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk-272x300.png","datePublished":"2013-06-14T14:52:34+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/7f2dc402a572b3fc950027b8b809c0d6"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk.png","contentUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2013\/06\/pcmk.png","width":322,"height":354,"caption":"Redundant MySQL Fig. 1: Server nodes using Pacemaker, Corosync and DRBD."},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/automated-vagrant-installation-of-mysql-ha-using-drbd-corosync-and-pacemaker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"Automated Vagrant installation of MySQL HA using DRBD, Corosync and Pacemaker"}]},{"@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\/7f2dc402a572b3fc950027b8b809c0d6","name":"benn","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/432dd9c93af6d79a7b97feaee8c4bb7b88d9a3106b571ecc81ea2e7fecb0caf1?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/432dd9c93af6d79a7b97feaee8c4bb7b88d9a3106b571ecc81ea2e7fecb0caf1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/432dd9c93af6d79a7b97feaee8c4bb7b88d9a3106b571ecc81ea2e7fecb0caf1?s=96&d=mm&r=g","caption":"benn"},"sameAs":["http:\/\/blog.zhaw.ch\/icclab"],"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/benn\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/2625","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\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=2625"}],"version-history":[{"count":0,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/2625\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=2625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=2625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=2625"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=2625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}