{"id":26016,"date":"2016-04-12T23:46:21","date_gmt":"2016-04-12T21:46:21","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=26016"},"modified":"2016-04-12T23:46:21","modified_gmt":"2016-04-12T21:46:21","slug":"pedantically-commented-ansible-playbook","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/04\/12\/pedantically-commented-ansible-playbook\/","title":{"rendered":"Pedantically commented Ansible playbook"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Here is a nice <a href=\"https:\/\/gist.github.com\/marktheunissen\/2979474\">example Ansible playbook<\/a> with lots and lots of comments, showing how things work.<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<div class=\"oembed-gist\"><script src=\"https:\/\/gist.github.com\/marktheunissen\/2979474.js\"><\/script><noscript>View the code on <a href=\"https:\/\/gist.github.com\/marktheunissen\/2979474\">Gist<\/a>.<\/noscript><\/div>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Here is a nice example Ansible playbook with lots and lots of comments, showing how things work.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Pedantically commented Ansible playbook #Ansible #SysAdmin #DevOps","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,6,133,62],"tags":[3383],"keyring_services":[],"class_list":["post-26016","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-sysadmin","category-technology","tag-ansible"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28614,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/06\/07\/reboot-and-wait-for-reboot-to-complete-in-ansible-playbook\/","url_meta":{"origin":26016,"position":0},"title":"Reboot and wait for reboot to complete in Ansible playbook","author":"Leonid Mamchenkov","date":"June 7, 2018","format":false,"excerpt":"Jeff Geerling shares a handy tip on how to implement the configure-reboot-configure pattern in an Ansible playbook.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26931,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/21\/using-ansible-to-bootstrap-an-amazon-ec2-instance\/","url_meta":{"origin":26016,"position":1},"title":"Using Ansible to bootstrap an Amazon EC2 instance","author":"Leonid Mamchenkov","date":"November 21, 2016","format":false,"excerpt":"This article - \"Using Ansible to Bootstrap My Work Environment Part 4\" is pure gold for anyone trying to figure out all the moving parts needed to automate the provisioning and configuration of the Amazon EC2 instance with Ansible. Sure, some bits are easier than the other, but it takes\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26227,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/07\/07\/forcing-amazon-linux-ami-compatibility-with-centos-in-ansible\/","url_meta":{"origin":26016,"position":2},"title":"Forcing Amazon Linux AMI compatibility with CentOS in Ansible","author":"Leonid Mamchenkov","date":"July 7, 2016","format":false,"excerpt":"One of the things that makes Ansible so awesome is a huge collection of shared roles over at Ansible Galaxy. \u00a0These bring you best practices, flexible configurations and in general save hours and hours of hardcore swearing and hair pulling. Each role usually supports multiple versions of multiple Linux distributions.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26004,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/04\/07\/ansible-safety-net-for-dns-wildcard-hosts\/","url_meta":{"origin":26016,"position":3},"title":"Ansible safety net for DNS wildcard hosts","author":"Leonid Mamchenkov","date":"April 7, 2016","format":false,"excerpt":"After using Ansible for only a week, I am deeply in love. \u00a0I am doing more and more with less and less, and that's exactly how I want my automation. Today I had to solve an interesting problem. \u00a0Ansible operates, based on the host and group inventory. \u00a0As I mentioned\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26279,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/07\/24\/ssh-multiplexing-and-ansible-via-bastion-host\/","url_meta":{"origin":26016,"position":4},"title":"SSH multiplexing and Ansible via bastion host","author":"Leonid Mamchenkov","date":"July 24, 2016","format":false,"excerpt":"It never ceases to amaze me how even after years and years of working with some technologies I keep finding out about super useful features in those technologies, that could have saved me lots of time if I knew about them earlier. \u00a0Today was a day just like that. I\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26860,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/08\/install-ansible-2-0-on-amazon-ami\/","url_meta":{"origin":26016,"position":5},"title":"Install Ansible 2.0+ on Amazon AMI","author":"Leonid Mamchenkov","date":"November 8, 2016","format":false,"excerpt":"Today, while upgrading some of my Ansible roles I've hit the problem. \u00a0Some of the newer roles require Ansible 2.0. \u00a0My Amazon AMI machine that runs the playbooks was still on version 1.9. \u00a0EPEL repository doesn't seem to have the newer Ansible version yet. \u00a0Gladly, Google brough in this StackOverflow\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=26016"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26016\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=26016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=26016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=26016"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=26016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}