{"id":35513,"date":"2019-10-31T22:04:46","date_gmt":"2019-10-31T19:04:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ansible-obnovleniya-v-klyuchevyh-resheniyah-dlya-avtomatizatsii-vashego-mira\/"},"modified":"2019-10-31T22:04:46","modified_gmt":"2019-10-31T19:04:46","slug":"ansible-obnovleniya-v-klyuchevyh-resheniyah-dlya-avtomatizatsii-vashego-mira","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ansible-obnovleniya-v-klyuchevyh-resheniyah-dlya-avtomatizatsii-vashego-mira","title":{"rendered":"Ansible: updates in key solutions for automating your world","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The Ansible community continuously delights with new content\u2014plugins and modules\u2014creating a lot of new work for those involved in maintaining Ansible, as new code needs to be rapidly integrated into repositories. Meeting deadlines isn't always possible, and the launch of some fully ready-to-release products is postponed until the next official version of Ansible Engine. Until recently, the end user had only one way to obtain new Ansible content\u2014along with a new version of Ansible Engine.<\/p>\n<p><img decoding=\"async\" alt=\"Ansible: updates in key solutions for automating your world\" src=\"\/wp-content\/uploads\/2019\/06\/0af4ab8d0369433142aa6f20a4ff54dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nTo alleviate this inconvenience, the Ansible community has begun working on more flexible options for creating and obtaining content. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Red Hat Ansible Engine 2.8: on the way to new methods of handling Ansible content<\/h3>\n<p>\nIn response to user requests, changes regarding content handling appeared in Ansible Engine 2.8, <b>not included in the official release.<\/b>. These changes will enable a new method of delivering content to users that will not depend on those supporting Ansible in managing both Ansible content and the platform's own code.<\/p>\n<p>It is planned that in future releases, content Creators will be able to deliver it in the form of special packages, called Collections, which can be installed in the appropriate execution place on the Ansible control node or the managed node. The creator of the collection will specify execution details directly in the package using roles and playbooks. Thanks to the aforementioned changes in Ansible Engine, collections will become one of the tools that <b>allow decoupling content release from the release of official versions of Ansible Engine.<\/b>.<\/p>\n<h4>The new Become construct<\/h4>\n<p>\nThe Become construct has been around for a while, but starting from version 2.8, the word BECOME is used by default in Ansible Engine to prompt for a password when elevating privileges (sudo privileges on *nix systems or enable mode on network devices). In other words, BECOME is now the standard privilege escalation tool that manages interactions with the target system on its own.<\/p>\n<p>Here is an example of its usage:<\/p>\n<pre><code class=\"plaintext\">ansible-playbook --become --ask-become-pass site.yml\nBECOME password:\n<\/code><\/pre>\n<p>\nAdditionally, Ansible Engine 2.8 introduced the BECOME plugin, which works like doas on Linux and runas on Windows, allowing actions to be executed as a specified user. For privilege escalation on network devices, the become plugin enable is used.<\/p>\n<h4>Searching for the Python interpreter<\/h4>\n<p>\nYou may have encountered an error like this:<\/p>\n<pre><code class=\"plaintext\">\/usr\/bin\/python: bad interpreter: No such file or directory\n<\/code><\/pre>\n<p>\nThe issue is that in previous versions of Ansible Engine, it was assumed that the main (default) Python interpreter was located in the folder \/usr\/bin\/python. Starting with version 2.8, Ansible searches for the interpreter on each target system, first matching against the table of paths and executable names of the main Python interpreter in various distributions, and then using ordered lists of fallback interpreters; see more in the <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/porting_guides\/porting_guide_2.8.html#python-interpreter-discovery\">Porting Guide to Ansible 2.8<\/a><\/noindex>.<\/p>\n<h4>Retry files are no longer created by default<\/h4>\n<p>\nHave you spent a long time searching your disk for .retry files? If you've been using Ansible for a while, there are likely many of them, and they just take up valuable space. Starting from version 2.8, Ansible Engine no longer creates these files by default (this can be reverted by editing the default ansible.cfg file).<\/p>\n<h4>Updated Play Recap<\/h4>\n<p>\nExcerpt from <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/porting_guides\/porting_guide_2.8.html#python-interpreter-discovery\">Porting Guides to Ansible 2.8<\/a><\/noindex>:<\/p>\n<blockquote><p>Play Recap now counts tasks with statuses ignored and rescued, as well as ok, changed, unreachable, failed, and skipped, thanks to two new statistics counters in the default callback plugin. Failed tasks that have the flag ignore_errors: yes are counted as ignored. Failed tasks that subsequently executed the rescue section are counted as rescued. Note that unlike previous versions of Ansible, rescued tasks are no longer counted as failed.<\/p><\/blockquote>\n<p>\nAnd in the Play Recap table at the end of playbook execution, additional columns for skipped, rescued, and ignored have been added for hosts:<\/p>\n<p><img decoding=\"async\" alt=\"Ansible: updates in key solutions for automating your world\" src=\"\/wp-content\/uploads\/2019\/06\/1eee70c5780d6362c530d29bc32cd3b6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4>Clouds and Containers<\/h4>\n<p>\nVersion 2.8 features improvements and additions in cloud and container modules for working with Amazon Web Services, Microsoft Azure, Google Cloud, Digital Ocean, <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/plugins\/connection\/podman.html\">podman<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/plugins\/inventory\/kubevirt.html\">kubevirt<\/a><\/noindex>. It is also worth noting that TOML files can now be used as an inventory source.<\/p>\n<h4>Paramiko<\/h4>\n<p>\nAre you using Red Hat Ansible Network Automation? Ansible Engine 2.8 no longer includes paramiko and does not depend on it. By default, Ansible Engine uses ssh. If you need paramiko, it can be installed with the command pip install paramiko.<\/p>\n<p>If you need support for using paramiko within the Red Hat subscription, refer to the knowledge base article. <noindex><a rel=\"nofollow\" href=\"https:\/\/access.redhat.com\/solutions\/4147641\">Paramiko package missing after new Ansible Engine installations.<\/a><\/noindex>.<\/p>\n<p><b>Thus, the latest version of Red Hat Ansible Engine has been enhanced with a significant list of improvements and changes, which can be reviewed in detail. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ansible\/ansible\/blob\/stable-2.8\/changelogs\/CHANGELOG-v2.8.rst\">here<\/a><\/noindex>.<\/b><\/p>\n<h3>Red Hat Ansible Tower 3.5: More Automation.<\/h3>\n<p>\nSince the end of May, the new version of Red Hat Ansible Tower 3.5 has been available, offering several significant improvements for automation, which we will discuss if you haven't checked them out yet.<\/p>\n<p>So, first the key points:<\/p>\n<ul>\n<li>Support for Red Hat Enterprise Linux 8;<\/li>\n<li>Support for external credential stores using appropriate plugins;<\/li>\n<li>Support for become plugins in Ansible Tower.<\/li>\n<\/ul>\n<p>\nAdditionally, the new version has fixed over 160 reported bugs and issues.<\/p>\n<h4>Support for Red Hat Enterprise Linux 8.<\/h4>\n<p>\nWe often reiterate that Red Hat Enterprise Linux (RHEL) is a reliable and versatile foundation for building hybrid clouds, for example. Ansible Tower 3.5 (like Ansible Engine 2.8) provides management of RHEL 8 hosts and can also run on the Red Hat Enterprise Linux 8 platform as the control node for the Red Hat Ansible Automation system.<\/p>\n<h4>External Credential Stores.<\/h4>\n<p>\nIn addition to the built-in credential store, Ansible Tower 3.5 can now also utilize external credential stores, as sometimes credentials need to be more accessible for distributed applications. Therefore, the new version of Ansible Tower can directly work with various password and key storage solutions, such as:<\/p>\n<ul>\n<li>HashiCorp Vault;<\/li>\n<li>CyberArk AIM;<\/li>\n<li>CyberArk Conjur;<\/li>\n<li>Microsoft Azure Key Vault.<\/li>\n<\/ul>\n<p>\nDetails on working with these systems are provided in the documentation. <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible-tower\/3.5.0\/html\/administration\/credential_plugins.html\">Secret Management System.<\/a><\/noindex>.<\/p>\n<h4>New plugins for inventory management and privilege escalation.<\/h4>\n<p>\nFollowing the evolution of Ansible Engine, Ansible Tower 3.5 offers new inventory plugins and a plugin for the new privilege escalation tool.<\/p>\n<p>Thanks to <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible-tower\/3.5.0\/html\/userguide\/inventories.html#inventory-plugins\">new inventory plugins.<\/a><\/noindex> Ansible Tower can now use Microsoft Azure, Google Cloud Platform, and Red Hat OpenStack Platform as inventory sources, enabling out-of-the-box support for hybrid cloud environments.<\/p>\n<p>The new Privilege Escalation plugin provides comprehensive handling of privilege escalation tasks, offering much more flexibility and control compared to traditional sudo and su.<\/p>\n<h4>Revamped list UI.<\/h4>\n<p>\nThe new version has made working with lists much more convenient. They can be expanded to display details and collapsed to show more items on the screen. Lists can also be sorted by various fields and filtered by almost any property.<\/p>\n<h4>Enhanced Metrics<\/h4>\n<p>\nMetrics now feature so-called endpoints (\/api\/v2\/metrics), which make it easy to monitor Ansible Tower with Prometheus and other similar systems. Multiple systems, including cloud ones, can be used simultaneously.<\/p>\n<p><b>Ansible Tower 3.5 is now available for download, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ansible.com\/products\/tower\/trial\">the latest version of Red Hat Ansible Tower<\/a><\/noindex> can be installed both locally and through Vagrant or Amazon AMI.<\/b><\/p>\n<h3>Webinars on Ansible: Enhance Your Skills<\/h3>\n<p>\n<b>Constantly updated<\/b> webinar repository on the topic: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ansible.com\/resources\/webinars-training?hsLang=en-us\">www.ansible.com\/resources\/webinars-training?hsLang=en-us<\/a><\/noindex><\/p>\n<p><b>On June 4th,<\/b> a webinar <noindex>What\u2019s New in Ansible Automation<\/noindex>, focused on the new and improved features of Red Hat Ansible Tower and Red Hat Ansible Engine. It will soon be available in the repository.<\/p>\n<p><b>In Russian, a<\/b><noindex><a rel=\"nofollow\" href=\"https:\/\/primetime.bluejeans.com\/a2m\/events\/playback\/d83f20d8-a736-4e40-be17-47897d2de579\"> webinar on Network Automation with Ansible is available.<\/a><\/noindex>.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/456858\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e Ansible \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0440\u0430\u0434\u0443\u0435\u0442 \u043d\u043e\u0432\u044b\u043c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c \u2013 \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438 \u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 \u2013 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0438 \u043c\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0437\u0430\u043d\u044f\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c Ansible, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043d\u0443\u0436\u043d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438. \u0423\u043b\u043e\u0436\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u0440\u043e\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u043f\u043e\u043b\u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u043a \u0432\u044b\u043f\u0443\u0441\u043a\u0443 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043e\u0442\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Ansible Engine. \u0414\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26639,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35513","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e Ansible \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0440\u0430\u0434\u0443\u0435\u0442 \u043d\u043e\u0432\u044b\u043c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c \u2013 \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438 \u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 \u2013 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0438 \u043c\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0437\u0430\u043d\u044f\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c Ansible, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043d\u0443\u0436\u043d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ansible-obnovleniya-v-klyuchevyh-resheniyah-dlya-avtomatizatsii-vashego-mira\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Ansible: \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u043c\u0438\u0440\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e Ansible \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0440\u0430\u0434\u0443\u0435\u0442 \u043d\u043e\u0432\u044b\u043c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c \u2013 \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438 \u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 \u2013 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0438 \u043c\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0437\u0430\u043d\u044f\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c Ansible, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043d\u0443\u0436\u043d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ansible-obnovleniya-v-klyuchevyh-resheniyah-dlya-avtomatizatsii-vashego-mira\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:04:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:04:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Ansible: Updates in Key Automation Solutions for Your World | ProHoster","description":"The Ansible community continually delights with new content \u2013 plugins and modules \u2013 creating much new work for those managing Ansible, as new code needs to be integrated as quickly as possible.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ansible-obnovleniya-v-klyuchevyh-resheniyah-dlya-avtomatizatsii-vashego-mira","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Ansible: \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u043c\u0438\u0440\u0430 | ProHoster","og:description":"\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e Ansible \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0440\u0430\u0434\u0443\u0435\u0442 \u043d\u043e\u0432\u044b\u043c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c \u2013 \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438 \u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 \u2013 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0438 \u043c\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0437\u0430\u043d\u044f\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c Ansible, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043d\u0443\u0436\u043d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ansible-obnovleniya-v-klyuchevyh-resheniyah-dlya-avtomatizatsii-vashego-mira","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:04:46+00:00","article:modified_time":"2019-10-31T19:04:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35513","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 23:36:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:00:26","updated":"2026-01-21 23:36:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/35513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=35513"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/35513\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/26639"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=35513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=35513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=35513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}