{"id":5244,"date":"2017-08-25T08:57:20","date_gmt":"2017-08-25T06:57:20","guid":{"rendered":"https:\/\/new.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/"},"modified":"2023-03-08T16:04:30","modified_gmt":"2023-03-08T15:04:30","slug":"create-and-attach-cinder-volumes-with-ansible","status":"publish","type":"post","link":"https:\/\/www.cloudandheat.com\/en\/create-and-attach-cinder-volumes-with-ansible\/","title":{"rendered":"Create and attach Cinder volumes with Ansible"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/docs.ansible.com\/ansible\/index.html\">Ansible<\/a>'s <a href=\"http:\/\/docs.ansible.com\/ansible\/list_of_cloud_modules.html#openstack\">cloud modules for OpenStack<\/a> offer various modules to manage most of <strong>OpenStack<\/strong>'s components. In this post, we will show how to perform basic operations with <strong>Cinder volumes <\/strong>- create a volume, attach it to and detach it from a VM.<\/p>\n<h2>Prerequisites<\/h2>\n<p>In order to be able to follow the steps and perform the commands presented in this post, you need to do the following:<\/p>\n<ul>\n<li><a href=\"http:\/\/docs.ansible.com\/ansible\/intro_installation.html\">Install Ansible<\/a> ($ sudo pip install ansible),<\/li>\n<li><a href=\"https:\/\/docs.openstack.org\/developer\/shade\/installation.html\">Install Shade<\/a> ($ pip install shade).<\/li>\n<li><strong>Deploy two Ubuntu 16.04 VMs<\/strong>. They will be referred to as vm1 and vm2. You can deploy a VM in Dashboard (<em>Compute -&gt; Instances -&gt; Launch Instance<\/em>) .<\/li>\n<li><strong>Set the <\/strong><strong>OS_<\/strong><strong> variable<\/strong>&nbsp;(OS_AUTH_URL, OS_PROJECT_ID, OS_PROJECT_NAME, OS_USER_DOMAIN_NAME, OS_USERNAME, OS_PASSWORD, and OS_REGION_NAME) to enable Absible the access to your project. The easiest way to do so is to source the <em>openrc<\/em> file. You can download one in <em>Dashboard -&gt; Access &amp; Security -&gt; API Access -&gt; Download OpenStack RC File v3<\/em> and execute it (run $ source .\/your-project-openrc.sh ).<\/li>\n<li>Finally, have one of the <strong>SSH keys<\/strong> available in the project to be <strong>added to your SSH agent<\/strong> so that you as well as Ansible can SSH to the VMs.<\/li>\n<\/ul>\n<p>We assume that you have at least a basic knowledge of Ansible. Otherwise, we recommend reading <a href=\"https:\/\/www.cloudandheat.com\/en\/orchestrating-openstack-with-ansible-2\/\">this tutorial<\/a> first.<\/p>\n<h2>Cinder volumes<\/h2>\n<p><a href=\"https:\/\/docs.openstack.org\/admin-guide\/blockstorage.html\">Cinder<\/a> provides <strong>block storage for OpenStack compute instances<\/strong>. It is designated for providing <strong>persistent<\/strong> storage that is independent on the life-cycle of compute instances. That means that we are able to reuse a Cinder volume on several instances (only one at a time). Therefore, the tasks concerning block storage include mainly the creation and deletion of volumes and attachment of volumes to and detachment from an instance.<\/p>\n<h3>Create a Cinder volume<\/h3>\n<p>Creation of volumes is usually not performed as frequently as its attachment because volumes are often being reused for multiple instances as a form of data persistence over multiple instances' life-cycles. Nevertheless, it is also important to be able to automate this step as a part of creation of an environment 'from the scratch'.<\/p>\n<p>The module for creation and deletion of a volume is called <a href=\"http:\/\/docs.ansible.com\/ansible\/os_volume_module.html\"><strong>os_volume<\/strong><\/a>. There, we can specify the name, size, and other parameters of the volume we want to create. In our case we specify a 1GB volume called ansible_volume in the availability zone nova . Let's attach the volume to the VM in playbook called <em>create_volume.yaml<\/em>.<\/p>\n<p>&nbsp;<\/p>\n<pre><code>- name: Create persistent data storage\nhosts: localhost\ntasks:\n- name: Create 1GB volume\nos_volume:\nstate: present\ndisplay_name: ansible_volume\nsize: 1\navailability_zone: nova\ndisplay_description: Test volume created by Ansible.<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 11.0pt; font-family: Montserrat;\">And execute the playbook - Ansible will use the environment variables to perform the operation in the specified project and by the specified user.<\/span><\/p>\n<p>&nbsp;<\/p>\n<pre><code>$ ansible-playbook create_volume.yaml<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 11.0pt; font-family: Montserrat;\">Once the command is finished, you can check the Dashboard to see that the volume is present (<em><span style=\"font-family: Montserrat;\">Compute -&gt; Volumes<\/span><\/em>).<\/span><\/p>\n<h3><span style=\"font-size: 11.0pt; font-family: Montserrat;\">Attach the volume to a VM<\/span><\/h3>\n<p><span style=\"font-size: 11.0pt; font-family: Montserrat;\">Having an existing volume and a running VM in place, we can attach the volume to the VM so that it can be used by the running instance. Since the volume has just been created, it contains no data yet. Let's attach the volume to the VM in playbook called <em><span style=\"font-family: Montserrat;\">attach_volume_vm1.yaml<\/span><\/em>.<\/span><\/p>\n<p>&nbsp;<\/p>\n<pre><code>- name: Attach a volume\n  hosts: localhost\n  tasks:\n  - name: Atach the volume to vm1\n    os_server_volume:\n      state: present\n      server: vm1\n      volume: ansible_volume\n     device: \/dev\/vdb<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 11.0pt; font-family: Montserrat;\">For the volume attachment, we use the module <\/span><a href=\"http:\/\/docs.ansible.com\/ansible\/os_server_volume_module.html\" target=\"_blank\" rel=\"noopener\"><code>os_server_volume<\/code><\/a><span style=\"font-size: 11.0pt; font-family: Montserrat;\">. The module requires, as expected, the name of the interacting VM (parameter <\/span><code>server<\/code><span style=\"font-size: 11.0pt; font-family: Montserrat;\">) as well as the volume. Besides, a useful option is specifying the device to attach the volume to. In our case, we chose <em><span style=\"font-family: Montserrat;\">\/dev\/vdb<\/span><\/em>. Before choosing the device, make sure that it is free. Should you omit this parameter, the device name is determined automatically.<\/span><\/p>\n<p><span style=\"font-size: 11.0pt; font-family: Montserrat;\">Execute the playbook the usual way:<\/span><\/p>\n<p>&nbsp;<\/p>\n<pre><code>$ ansible-playbook attach_volume_vm1.yaml<\/code><\/pre>\n<h3><\/h3>\n<h3><span style=\"font-size: 11.0pt; font-family: Montserrat;\">Mount the attached volume<\/span><\/h3>\n<p><span style=\"font-size: 11.0pt; font-family: Montserrat;\">Now let's <strong><span style=\"font-family: Montserrat;\">Mount the volume<\/span><\/strong> on the VM. Since we specified the path to attach the volume to, we can use that for the volume mounting. To do so, let's SSH to the VM and switch to superuser.<\/span><\/p>\n<p>&nbsp;<\/p>\n<pre><code>localhost$ ssh ubuntu@\nvm1$ sudo -i<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>Having the volume attached to the VM, we will build a file system on the volume so that it can be browsed in the same way as the file system on the VM. For that, we will use <a href=\"https:\/\/linux.die.net\/man\/8\/mkfs.ext4\">mkfs.ext4<\/a> to create file system ext4.<\/p>\n<p>&nbsp;<\/p>\n<pre><code># mkfs.ext4 \/dev\/vdb<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 11.0pt; font-family: Montserrat;\">The file system, after being created, can be mounted. To mount a file system, we need to specify the device path, the path to mount the file system to, and the file system type. We will mount the file system to <em><span style=\"font-family: Montserrat;\">\/<\/span><\/em>tmp<em><span style=\"font-family: Montserrat;\">\/volume<\/span><\/em>. Since the folder does not exist yet, we will create it before mounting the volume.<\/span><\/p>\n<p>&nbsp;<\/p>\n<pre><code># mkdir -p \/tmp\/volume\n# mount \/dev\/vdb \/tmp\/volume\/ -t ext4<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 11.0pt; font-family: Montserrat;\">The filesystem is now mounted to the specified path so we can create a file there. The file is being created on the volume so that even if the VM gets terminated, we will not lose the content.<\/span><\/p>\n<p>&nbsp;<\/p>\n<pre><code># echo \"Test file on the mounted volume.\" &gt;&gt; \/tmp\/volume\/test_file.txt<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>You can exit the SSH connection now.<\/p>\n<h3>Detach a volume<\/h3>\n<p>The current state is us having the volume attached to vm1. Furthermore, the volume has a file system and there is a text file that we created there. To use the volume (with its content) on another VM, let's <strong>detach the volume<\/strong> with ansible first. To do so, we specify the playbook <em>detach_volume_vm1.yaml<\/em>. The playbook uses the same module as the one for volume attachment - os_server_volume - however this time with state parameter set to absent. That indicates that we do not want to have the specified state. The rest of the module parameters specify the volume that we manipulate in the same way as in <em>attach_volume_vm1.yaml<\/em>.<\/p>\n<p>&nbsp;<\/p>\n<pre><code>- name: Detach a volume\nhosts: localhost\ntasks:\n- name: Detach the volume from vm1\nos_server_volume:\nstate: absent\nserver: vm1\nvolume: ansible_volume<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>The playbook can be executed now.<\/p>\n<p>&nbsp;<\/p>\n<pre><code>$ ansible-playbook detach_volume_vm1.yaml<\/code><\/pre>\n<h3>See the result<\/h3>\n<p>The volume is no longer attached to the first VM. Therefore, we can attach it to the second one. To do so, we need to slightly modify the playbook <em>attach_volume_vm1.yaml<\/em>. The parameter server needs to be changed from vm1 to vm2 so that the volume will be attached to vm2 instead. Save the modified playbook as <em>attach_volume_vm2.yaml<\/em> and execute it.<\/p>\n<p>&nbsp;<\/p>\n<pre><code>$ ansible-playbook attach_volume_vm2.yaml<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>The volume is now attached to the second VM. You can again check it in the Dashboard. Now, we use the same approach as before to mount the volume. First, establish the <strong>SSH connection to vm2<\/strong>, then <strong>switch to supersuer<\/strong>, <strong>create a folder<\/strong> for mounting the volume, and <strong>perform the mount<\/strong> (we do not need to execute mkfs since the file system has already been created the first time we used the volume and is still present).<\/p>\n<p>&nbsp;<\/p>\n<pre><code>$ ssh ubuntu@\n$ sudo -i\n# mkdir -p \/tmp\/volume\n# mount \/dev\/vdb \/tmp\/volume\/ -t ext4<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>The volume is now mounted to \/tmp\/volume - as before. Since the volume provides persistent storage, the content we created on the first VM should now be available on vm2. Let's try to read the file \/tmp\/volume\/test_file.txt<\/p>\n<p>&nbsp;<\/p>\n<pre><code># cat \/tmp\/volume\/test_file.txtTest file on the mounted volume.<\/code><\/pre>\n<h3>Summary<\/h3>\n<p><strong>Ansible<\/strong> is a useful tool for operating with OpenStack infrastructure. In this article, we used Ansible to operate an instance of <strong>OpenStack Block Storage<\/strong>. It provided persistent storage for VMs. We created the volume and attached it to and later detached it from a VM with use of Ansible modules and playbooks.<\/p>\n<p>Ansible is an easy way of how to transfer your basic operations with OpenStack infrastructure into code. That helps when redeploying a certain setting. It shortens the necessary time and can assure the same state every time it is used. Considering Cinder, we showed how it eases volume creations and its presence on preferred VM.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>In this post, we will show how to perform basic operations with Cinder volumes.<\/p>","protected":false},"author":2,"featured_media":6046,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","inline_featured_image":false,"footnotes":""},"categories":[83,81],"tags":[],"class_list":["post-5244","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-services","category-openstack"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Create and attach Cinder volumes with Ansible<\/title>\n<meta name=\"description\" content=\"Cloud&amp;Heat Technologies makes sustainability and security the drivers of digital innovation. | Future of compute | Cloud Security | Ansible\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cloudandheat.com\/en\/create-and-attach-cinder-volumes-with-ansible\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create and attach Cinder volumes with Ansible\" \/>\n<meta property=\"og:description\" content=\"Cloud&amp;Heat Technologies makes sustainability and security the drivers of digital innovation. | Future of compute | Cloud Security | Ansible\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cloudandheat.com\/en\/create-and-attach-cinder-volumes-with-ansible\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloud &amp; Heat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CloudandHeat\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-25T06:57:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-08T15:04:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2292\" \/>\n\t<meta property=\"og:image:height\" content=\"1201\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Clemens M\u00fcller\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cloudandheat\" \/>\n<meta name=\"twitter:site\" content=\"@cloudandheat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Clemens M\u00fcller\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/\"},\"author\":{\"name\":\"Clemens M\u00fcller\",\"@id\":\"https:\/\/www.cloudandheat.com\/#\/schema\/person\/ba09b0c184d05469ca875d2cb5ba730a\"},\"headline\":\"Create and attach Cinder volumes with Ansible\",\"datePublished\":\"2017-08-25T06:57:20+00:00\",\"dateModified\":\"2023-03-08T15:04:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/\"},\"wordCount\":1239,\"publisher\":{\"@id\":\"https:\/\/www.cloudandheat.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png\",\"articleSection\":[\"Cloud Services\",\"OpenStack\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/\",\"url\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/\",\"name\":\"Create and attach Cinder volumes with Ansible\",\"isPartOf\":{\"@id\":\"https:\/\/www.cloudandheat.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png\",\"datePublished\":\"2017-08-25T06:57:20+00:00\",\"dateModified\":\"2023-03-08T15:04:30+00:00\",\"description\":\"Cloud&Heat Technologies makes sustainability and security the drivers of digital innovation. | Future of compute | Cloud Security | Ansible\",\"breadcrumb\":{\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#primaryimage\",\"url\":\"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png\",\"contentUrl\":\"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png\",\"width\":2292,\"height\":1201},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/www.cloudandheat.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create and attach Cinder volumes with Ansible\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cloudandheat.com\/#website\",\"url\":\"https:\/\/www.cloudandheat.com\/\",\"name\":\"Cloud & Heat Technolgies GmbH\",\"description\":\"Cloud-Service- und Cloud-Technologie-Provider\",\"publisher\":{\"@id\":\"https:\/\/www.cloudandheat.com\/#organization\"},\"alternateName\":\"Cloud and Heat Technologies GmbH\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cloudandheat.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.cloudandheat.com\/#organization\",\"name\":\"Cloud&Heat Technologies GmbH\",\"url\":\"https:\/\/www.cloudandheat.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.cloudandheat.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2022\/08\/logo.svg\",\"contentUrl\":\"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2022\/08\/logo.svg\",\"width\":907,\"height\":1782,\"caption\":\"Cloud&Heat Technologies GmbH\"},\"image\":{\"@id\":\"https:\/\/www.cloudandheat.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/CloudandHeat\",\"https:\/\/x.com\/cloudandheat\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cloudandheat.com\/#\/schema\/person\/ba09b0c184d05469ca875d2cb5ba730a\",\"name\":\"Clemens M\u00fcller\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.cloudandheat.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350f97f507a0c231669ebf507b516e705ead54569fde6f8537dee0acc251ee2d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350f97f507a0c231669ebf507b516e705ead54569fde6f8537dee0acc251ee2d?s=96&d=mm&r=g\",\"caption\":\"Clemens M\u00fcller\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create and attach Cinder volumes with Ansible","description":"Cloud&amp;Heat Technologies makes sustainability and security the drivers of digital innovation. | Future of compute | Cloud Security | Ansible","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:\/\/www.cloudandheat.com\/en\/create-and-attach-cinder-volumes-with-ansible\/","og_locale":"en_GB","og_type":"article","og_title":"Create and attach Cinder volumes with Ansible","og_description":"Cloud&Heat Technologies makes sustainability and security the drivers of digital innovation. | Future of compute | Cloud Security | Ansible","og_url":"https:\/\/www.cloudandheat.com\/en\/create-and-attach-cinder-volumes-with-ansible\/","og_site_name":"Cloud &amp; Heat","article_publisher":"https:\/\/www.facebook.com\/CloudandHeat","article_published_time":"2017-08-25T06:57:20+00:00","article_modified_time":"2023-03-08T15:04:30+00:00","og_image":[{"width":2292,"height":1201,"url":"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png","type":"image\/png"}],"author":"Clemens M\u00fcller","twitter_card":"summary_large_image","twitter_creator":"@cloudandheat","twitter_site":"@cloudandheat","twitter_misc":{"Written by":"Clemens M\u00fcller","Estimated reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#article","isPartOf":{"@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/"},"author":{"name":"Clemens M\u00fcller","@id":"https:\/\/www.cloudandheat.com\/#\/schema\/person\/ba09b0c184d05469ca875d2cb5ba730a"},"headline":"Create and attach Cinder volumes with Ansible","datePublished":"2017-08-25T06:57:20+00:00","dateModified":"2023-03-08T15:04:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/"},"wordCount":1239,"publisher":{"@id":"https:\/\/www.cloudandheat.com\/#organization"},"image":{"@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png","articleSection":["Cloud Services","OpenStack"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/","url":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/","name":"Create and attach Cinder volumes with Ansible","isPartOf":{"@id":"https:\/\/www.cloudandheat.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#primaryimage"},"image":{"@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png","datePublished":"2017-08-25T06:57:20+00:00","dateModified":"2023-03-08T15:04:30+00:00","description":"Cloud&amp;Heat Technologies makes sustainability and security the drivers of digital innovation. | Future of compute | Cloud Security | Ansible","breadcrumb":{"@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#primaryimage","url":"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png","contentUrl":"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2016\/02\/2023-Cloud-and-Heat-Website-Blog-Vorlage-Headerbild.png","width":2292,"height":1201},{"@type":"BreadcrumbList","@id":"https:\/\/www.cloudandheat.com\/create-and-attach-cinder-volumes-with-ansible\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.cloudandheat.com\/"},{"@type":"ListItem","position":2,"name":"Create and attach Cinder volumes with Ansible"}]},{"@type":"WebSite","@id":"https:\/\/www.cloudandheat.com\/#website","url":"https:\/\/www.cloudandheat.com\/","name":"Cloud &amp; Heat Technolgies GmbH","description":"Cloud service and cloud technology providers","publisher":{"@id":"https:\/\/www.cloudandheat.com\/#organization"},"alternateName":"Cloud and Heat Technologies GmbH","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cloudandheat.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.cloudandheat.com\/#organization","name":"Cloud&amp;Heat Technologies GmbH","url":"https:\/\/www.cloudandheat.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.cloudandheat.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2022\/08\/logo.svg","contentUrl":"https:\/\/www.cloudandheat.com\/wp-content\/uploads\/2022\/08\/logo.svg","width":907,"height":1782,"caption":"Cloud&Heat Technologies GmbH"},"image":{"@id":"https:\/\/www.cloudandheat.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/CloudandHeat","https:\/\/x.com\/cloudandheat"]},{"@type":"Person","@id":"https:\/\/www.cloudandheat.com\/#\/schema\/person\/ba09b0c184d05469ca875d2cb5ba730a","name":"Clemens M\u00fcller","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.cloudandheat.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350f97f507a0c231669ebf507b516e705ead54569fde6f8537dee0acc251ee2d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350f97f507a0c231669ebf507b516e705ead54569fde6f8537dee0acc251ee2d?s=96&d=mm&r=g","caption":"Clemens M\u00fcller"}}]}},"_links":{"self":[{"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/posts\/5244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/comments?post=5244"}],"version-history":[{"count":0,"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/posts\/5244\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/media\/6046"}],"wp:attachment":[{"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/media?parent=5244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/categories?post=5244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudandheat.com\/en\/wp-json\/wp\/v2\/tags?post=5244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}