Gilles Cornu 9bfdaf7e75 provisioners/ansible: introduce ansible_local
With this change, the existing host-based Ansible provisioner is
refactored to share a maximum of code with this new guest-based Ansible
provisioner.

At this stage of development, the existing unit tests are intentionally
modified as little as possible, to keep safe the existing funtionalities.

Other issues resolved by this changeset:
 - Display a warning when running from a Windows host [GH-5292]
 - Do not run `ansible-playbook` in verbose mode when the `verbose` option
   is set to an empty string.
2015-11-08 10:42:48 +01:00

399 lines
22 KiB
Plaintext

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><%= current_page.data.page_title ? " #{current_page.data.page_title} - " : "" %>Vagrant Documentation</title>
<!-- meta -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<!-- favicon -->
<link rel="shortcut icon" href="favicon.ico">
<!-- lib styles -->
<%= stylesheet_link_tag "bootstrap", "vagrantup" %>
<!-- lib js -->
<%= javascript_include_tag "jquery" %>
<%= javascript_include_tag "modernizr" %>
<%= javascript_include_tag "bootstrap.min" %>
<%= javascript_include_tag "backstretch" %>
<%= javascript_include_tag "vagrantup" %>
<!-- fonts -->
<link href='//fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
<script type="text/javascript" src="//use.typekit.net/xfs6zus.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
</head>
<body>
<!-- wrap everything -->
<div class="wrapper">
<!-- nav -->
<nav class="docs">
<!-- vagrant logo -->
<a class="vagrant-docs-logo" href="/">Vagrant Documentation</a>
<!-- nav -->
<ul class="pull-right unstyled">
<li class="pill">
<a href="https://www.amazon.com/gp/product/1449335837/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1449335837&linkCode=as2&tag=vagrant-20">
Vagrant Book
</a>
</li>
<li><a href="https://www.vagrantup.com/">Home</a></li>
</ul>
</nav>
<div class="page docs docs-home">
<div class="container">
<div class="row">
<div class="sidebar span3">
<!-- get the sidebar nav -->
<!-- side nav docs -->
<aside class="sidebar-nav">
<div class="toggle hidden-desktop">
<div class="open-close open"></div>
<a href="#">Contents</a>
</div>
<ul class="unstyled">
<li<%= sidebar_current("overview") %>><a href="/v2/">Overview</a></li>
<li<%= sidebar_current("why") %>><a href="/v2/why-vagrant/index.html">Why Vagrant?</a></li>
<li<%= sidebar_current("installation") %>><a href="/v2/installation/index.html">Installation</a></li>
<% if sidebar_section == "installation" %>
<ul class="sub unstyled">
<li<%= sidebar_current("installation-backwards-compatibility") %>><a href="/v2/installation/backwards-compatibility.html">Backwards Compatibility</a></li>
<li<%= sidebar_current("installation-upgrading") %>><a href="/v2/installation/upgrading.html">Upgrading</a></li>
<li<%= sidebar_current("installation-upgrading-1-0") %>><a href="/v2/installation/upgrading-from-1-0.html">Upgrading from 1.0.x</a></li>
<li<%= sidebar_current("installation-uninstallation") %>><a href="/v2/installation/uninstallation.html">Uninstallation</a></li>
</ul>
<% end %>
<li<%= sidebar_current("gettingstarted") %>><a href="/v2/getting-started/index.html">Getting Started</a></li>
<% if sidebar_section == "gettingstarted" %>
<ul class="sub unstyled">
<li<%= sidebar_current("gettingstarted-projectsetup") %>><a href="/v2/getting-started/project_setup.html">Project Setup</a></li>
<li<%= sidebar_current("gettingstarted-boxes") %>><a href="/v2/getting-started/boxes.html">Boxes</a></li>
<li<%= sidebar_current("gettingstarted-up") %>><a href="/v2/getting-started/up.html">Up and SSH</a></li>
<li<%= sidebar_current("gettingstarted-syncedfolders") %>><a href="/v2/getting-started/synced_folders.html">Synced Folders</a></li>
<li<%= sidebar_current("gettingstarted-provisioning") %>><a href="/v2/getting-started/provisioning.html">Provisioning</a></li>
<li<%= sidebar_current("gettingstarted-networking") %>><a href="/v2/getting-started/networking.html">Networking</a></li>
<li<%= sidebar_current("gettingstarted-share") %>><a href="/v2/getting-started/share.html">Share</a></li>
<li<%= sidebar_current("gettingstarted-teardown") %>><a href="/v2/getting-started/teardown.html">Teardown</a></li>
<li<%= sidebar_current("gettingstarted-rebuild") %>><a href="/v2/getting-started/rebuild.html">Rebuild</a></li>
<li<%= sidebar_current("gettingstarted-providers") %>><a href="/v2/getting-started/providers.html">Providers</a></li>
</ul>
<% end %>
<li<%= sidebar_current("cli") %>><a href="/v2/cli/index.html">Command-Line Interface</a></li>
<% if sidebar_section == "cli" %>
<ul class="sub unstyled nocap">
<li<%= sidebar_current("cli-box") %>><a href="/v2/cli/box.html">box</a></li>
<li<%= sidebar_current("cli-connect") %>><a href="/v2/cli/connect.html">connect</a></li>
<li<%= sidebar_current("cli-destroy") %>><a href="/v2/cli/destroy.html">destroy</a></li>
<li<%= sidebar_current("cli-globalstatus") %>><a href="/v2/cli/global-status.html">global-status</a></li>
<li<%= sidebar_current("cli-halt") %>><a href="/v2/cli/halt.html">halt</a></li>
<li<%= sidebar_current("cli-init") %>><a href="/v2/cli/init.html">init</a></li>
<li<%= sidebar_current("cli-login") %>><a href="/v2/cli/login.html">login</a></li>
<li<%= sidebar_current("cli-package") %>><a href="/v2/cli/package.html">package</a></li>
<li<%= sidebar_current("cli-plugin") %>><a href="/v2/cli/plugin.html">plugin</a></li>
<li<%= sidebar_current("cli-provision") %>><a href="/v2/cli/provision.html">provision</a></li>
<li<%= sidebar_current("cli-rdp") %>><a href="/v2/cli/rdp.html">rdp</a></li>
<li<%= sidebar_current("cli-reload") %>><a href="/v2/cli/reload.html">reload</a></li>
<li<%= sidebar_current("cli-resume") %>><a href="/v2/cli/resume.html">resume</a></li>
<li<%= sidebar_current("cli-share") %>><a href="/v2/cli/share.html">share</a></li>
<li<%= sidebar_current("cli-snapshot") %>><a href="/v2/cli/snapshot.html">snapshot</a></li>
<li<%= sidebar_current("cli-ssh") %>><a href="/v2/cli/ssh.html">ssh</a></li>
<li<%= sidebar_current("cli-ssh_config") %>><a href="/v2/cli/ssh_config.html">ssh-config</a></li>
<li<%= sidebar_current("cli-status") %>><a href="/v2/cli/status.html">status</a></li>
<li<%= sidebar_current("cli-suspend") %>><a href="/v2/cli/suspend.html">suspend</a></li>
<li<%= sidebar_current("cli-up") %>><a href="/v2/cli/up.html">up</a></li>
<li<%= sidebar_current("cli-version") %>><a href="/v2/cli/version.html">version</a></li>
<li<%= sidebar_current("cli-nonprimary") %>><a href="/v2/cli/non-primary.html">More Commands</a></li>
<li<%= sidebar_current("cli-machinereadable") %>><a href="/v2/cli/machine-readable.html">Machine Readable Output</a></li>
</ul>
<% end %>
<li <%= sidebar_current("share") %>><a href="/v2/share/index.html">Vagrant Share</a></li>
<% if sidebar_section == "share" %>
<ul class="sub unstyled">
<li<%= sidebar_current("share-http") %>><a href="/v2/share/http.html">HTTP Sharing</a></li>
<li<%= sidebar_current("share-ssh") %>><a href="/v2/share/ssh.html">SSH Sharing</a></li>
<li<%= sidebar_current("share-connect") %>><a href="/v2/share/connect.html">vagrant connect</a></li>
<li<%= sidebar_current("share-security") %>><a href="/v2/share/security.html">Security</a></li>
<li<%= sidebar_current("share-provider") %>><a href="/v2/share/provider.html">Custom Provider</a></li>
</ul>
<% end %>
<li <%= sidebar_current("vagrantfile") %>><a href="/v2/vagrantfile/index.html">Vagrantfile</a></li>
<% if sidebar_section == "vagrantfile" %>
<ul class="sub unstyled">
<li<%= sidebar_current("vagrantfile-version") %>><a href="/v2/vagrantfile/version.html">Configuration Version</a></li>
<li<%= sidebar_current("vagrantfile-vagrantversion") %>><a href="/v2/vagrantfile/vagrant_version.html">Minimum Vagrant Version</a></li>
<li<%= sidebar_current("vagrantfile-tips") %>><a href="/v2/vagrantfile/tips.html">Tips & Tricks</a></li>
<li<%= sidebar_current("vagrantfile-machine") %>><a href="/v2/vagrantfile/machine_settings.html" class="nocap">config.vm</a></li>
<li<%= sidebar_current("vagrantfile-ssh") %>><a href="/v2/vagrantfile/ssh_settings.html" class="nocap">config.ssh</a></li>
<li<%= sidebar_current("vagrantfile-winrm") %>><a href="/v2/vagrantfile/winrm_settings.html" class="nocap">config.winrm</a></li>
<li<%= sidebar_current("vagrantfile-vagrant") %>><a href="/v2/vagrantfile/vagrant_settings.html" class="nocap">config.vagrant</a></li>
</ul>
<% end %>
<li<%= sidebar_current("boxes") %>><a href="/v2/boxes.html">Boxes</a></li>
<% if sidebar_section == "boxes" %>
<ul class="sub unstyled">
<li<%= sidebar_current("boxes-versioning") %>><a href="/v2/boxes/versioning.html">Box Versioning</a></li>
<li<%= sidebar_current("boxes-base") %>><a href="/v2/boxes/base.html">Creating a Base Box</a></li>
<li<%= sidebar_current("boxes-format") %>><a href="/v2/boxes/format.html">Box File Format</a></li>
</ul>
<% end %>
<li<%= sidebar_current("provisioning") %>><a href="/v2/provisioning/index.html">Provisioning</a></li>
<% if sidebar_section == "provisioning" %>
<ul class="sub unstyled">
<li<%= sidebar_current("provisioning-basic") %>><a href="/v2/provisioning/basic_usage.html">Basic Usage</a></li>
<li<%= sidebar_current("provisioning-file") %>><a href="/v2/provisioning/file.html">File</a></li>
<li<%= sidebar_current("provisioning-shell") %>><a href="/v2/provisioning/shell.html">Shell</a></li>
<li<%= sidebar_current("provisioning-ansible") %>><a href="/v2/provisioning/ansible.html">Ansible</a></li>
<li<%= sidebar_current("provisioning-ansible-local") %>><a href="/v2/provisioning/ansible_local.html">Ansible Local</a></li>
<li<%= sidebar_current("provisioning-cfengine") %>><a href="/v2/provisioning/cfengine.html">CFEngine</a></li>
<li<%= sidebar_current("provisioning-chefsolo") %>><a href="/v2/provisioning/chef_solo.html">Chef Solo</a></li>
<li<%= sidebar_current("provisioning-chefzero") %>><a href="/v2/provisioning/chef_zero.html">Chef Zero</a></li>
<li<%= sidebar_current("provisioning-chefclient") %>><a href="/v2/provisioning/chef_client.html">Chef Client</a></li>
<li<%= sidebar_current("provisioning-chefapply") %>><a href="/v2/provisioning/chef_apply.html">Chef Apply</a></li>
<li<%= sidebar_current("provisioning-docker") %>><a href="/v2/provisioning/docker.html">Docker</a></li>
<li<%= sidebar_current("provisioning-puppetapply") %>><a href="/v2/provisioning/puppet_apply.html">Puppet Apply</a></li>
<li<%= sidebar_current("provisioning-puppetagent") %>><a href="/v2/provisioning/puppet_agent.html">Puppet Agent</a></li>
<li<%= sidebar_current("provisioning-salt") %>><a href="/v2/provisioning/salt.html">Salt</a></li>
</ul>
<% end %>
<li<%= sidebar_current("networking") %>><a href="/v2/networking/index.html">Networking</a></li>
<% if sidebar_section == "networking" %>
<ul class="sub unstyled">
<li<%= sidebar_current("networking-basic") %>><a href="/v2/networking/basic_usage.html">Basic Usage</a></li>
<li<%= sidebar_current("networking-fp") %>><a href="/v2/networking/forwarded_ports.html">Forwarded Ports</a></li>
<li<%= sidebar_current("networking-private") %>><a href="/v2/networking/private_network.html">Private Network</a></li>
<li<%= sidebar_current("networking-public") %>><a href="/v2/networking/public_network.html">Public Network</a></li>
</ul>
<% end %>
<li<%= sidebar_current("syncedfolder") %>><a href="/v2/synced-folders/index.html">Synced Folders</a></li>
<% if sidebar_section == "syncedfolder" %>
<ul class="sub unstyled">
<li<%= sidebar_current("syncedfolder-basic") %>><a href="/v2/synced-folders/basic_usage.html">Basic Usage</a></li>
<li<%= sidebar_current("syncedfolder-nfs") %>><a href="/v2/synced-folders/nfs.html">NFS</a></li>
<li<%= sidebar_current("syncedfolder-rsync") %>><a href="/v2/synced-folders/rsync.html">RSync</a></li>
<li<%= sidebar_current("syncedfolder-smb") %>><a href="/v2/synced-folders/smb.html">SMB</a></li>
<li<%= sidebar_current("syncedfolder-virtualbox") %>><a href="/v2/synced-folders/virtualbox.html">VirtualBox</a></li>
</ul>
<% end %>
<li<%= sidebar_current("multimachine") %>><a href="/v2/multi-machine/index.html">Multi-Machine</a></li>
<li<%= sidebar_current("providers") %>><a href="/v2/providers/index.html">Providers</a></li>
<% if sidebar_section == "providers" %>
<ul class="sub unstyled">
<li<%= sidebar_current("providers-installation") %>><a href="/v2/providers/installation.html">Installation</a></li>
<li<%= sidebar_current("providers-basic-usage") %>><a href="/v2/providers/basic_usage.html">Basic Usage</a></li>
<li<%= sidebar_current("providers-configuration") %>><a href="/v2/providers/configuration.html">Configuration</a></li>
<li<%= sidebar_current("providers-default") %>><a href="/v2/providers/default.html">Default Provider</a></li>
<li><a href="/v2/virtualbox/index.html">VirtualBox</a></li>
<li><a href="/v2/vmware/index.html">VMware</a></li>
<li><a href="/v2/docker/index.html">Docker</a></li>
<li><a href="/v2/hyperv/index.html">Hyper-V</a></li>
<li<%= sidebar_current("providers-custom") %>><a href="/v2/providers/custom.html">Custom Provider</a></li>
</ul> <!-- /.sub -->
<% end %>
<% if sidebar_section == "docker" %>
<li<%= sidebar_current("docker") %>><a href="/v2/docker/index.html">Docker</a></li>
<% if sidebar_section == "docker" %>
<ul class="sub unstyled">
<li<%= sidebar_current("docker-basics") %>><a href="/v2/docker/basics.html">Basic Usage</a></li>
<li<%= sidebar_current("docker-commands") %>><a href="/v2/docker/commands.html">Commands</a></li>
<li<%= sidebar_current("docker-boxes") %>><a href="/v2/docker/boxes.html">Boxes</a></li>
<li<%= sidebar_current("docker-configuration") %>><a href="/v2/docker/configuration.html">Configuration</a></li>
</ul>
<% end %>
<% end %>
<% if sidebar_section == "virtualbox" %>
<li<%= sidebar_current("virtualbox") %>><a href="/v2/virtualbox/index.html">VirtualBox</a></li>
<% if sidebar_section == "virtualbox" %>
<ul class="sub unstyled">
<li<%= sidebar_current("virtualbox-usage") %>><a href="/v2/virtualbox/usage.html">Usage</a></li>
<li<%= sidebar_current("virtualbox-boxes") %>><a href="/v2/virtualbox/boxes.html">Creating a Base Box</a></li>
<li<%= sidebar_current("virtualbox-configuration") %>><a href="/v2/virtualbox/configuration.html">Configuration</a></li>
<li<%= sidebar_current("virtualbox-networking") %>><a href="/v2/virtualbox/networking.html">Networking</a></li>
<li<%= sidebar_current("virtualbox-issues") %>><a href="/v2/virtualbox/common-issues.html">Common Issues</a></li>
</ul>
<% end %>
<% end %>
<% if sidebar_section == "vmware" %>
<li<%= sidebar_current("vmware") %>><a href="/v2/vmware/index.html">VMware</a></li>
<% if sidebar_section == "vmware" %>
<ul class="sub unstyled">
<li<%= sidebar_current("vmware-installation") %>><a href="/v2/vmware/installation.html">Installation</a></li>
<li<%= sidebar_current("vmware-usage") %>><a href="/v2/vmware/usage.html">Usage</a></li>
<li<%= sidebar_current("vmware-boxes") %>><a href="/v2/vmware/boxes.html">Boxes</a></li>
<li<%= sidebar_current("vmware-configuration") %>><a href="/v2/vmware/configuration.html">Configuration</a></li>
<li<%= sidebar_current("vmware-known-issues") %>><a href="/v2/vmware/known-issues.html">Known Issues</a></li>
<li<%= sidebar_current("vmware-kernel-upgrade") %>><a href="/v2/vmware/kernel-upgrade.html">Kernel Upgrade</a></li>
</ul>
<% end %>
<% end %>
<% if sidebar_section == "hyperv" %>
<li<%= sidebar_current("hyperv") %>><a href="/v2/hyperv/index.html">Hyper-V</a></li>
<% if sidebar_section == "hyperv" %>
<ul class="sub unstyled">
<li<%= sidebar_current("hyperv-usage") %>><a href="/v2/hyperv/usage.html">Usage</a></li>
<li<%= sidebar_current("hyperv-boxes") %>><a href="/v2/hyperv/boxes.html">Creating a Base Box</a></li>
<li<%= sidebar_current("hyperv-configuration") %>><a href="/v2/hyperv/configuration.html">Configuration</a></li>
<li<%= sidebar_current("hyperv-limitations") %>><a href="/v2/hyperv/limitations.html">Limitations</a></li>
</ul>
<% end %>
<% end %>
<li<%= sidebar_current("plugins") %>><a href="/v2/plugins/index.html">Plugins</a></li>
<% if sidebar_section == "plugins" %>
<ul class="sub unstyled">
<li<%= sidebar_current("plugins-usage") %>><a href="/v2/plugins/usage.html">Usage</a></li>
<li<%= sidebar_current("plugins-development-basics") %>><a href="/v2/plugins/development-basics.html">Plugin Development Basics</a></li>
<li<%= sidebar_current("plugins-commands") %>><a href="/v2/plugins/commands.html">Commands</a></li>
<li<%= sidebar_current("plugins-configuration") %>><a href="/v2/plugins/configuration.html">Configuration</a></li>
<li<%= sidebar_current("plugins-guests") %>><a href="/v2/plugins/guests.html">Guests</a></li>
<li<%= sidebar_current("plugins-guestcapabilities") %>><a href="/v2/plugins/guest-capabilities.html">Guest Capabilities</a></li>
<li<%= sidebar_current("plugins-hosts") %>><a href="/v2/plugins/hosts.html">Hosts</a></li>
<li<%= sidebar_current("plugins-hostcapabilities") %>><a href="/v2/plugins/host-capabilities.html">Host Capabilities</a></li>
<li<%= sidebar_current("plugins-providers") %>><a href="/v2/plugins/providers.html">Providers</a></li>
<li<%= sidebar_current("plugins-provisioners") %>><a href="/v2/plugins/provisioners.html">Provisioners</a></li>
<li<%= sidebar_current("plugins-packaging") %>><a href="/v2/plugins/packaging.html">Packaging & Distribution</a></li>
</ul>
<% end %>
<li<%= sidebar_current("push") %>><a href="/v2/push/index.html">Push</a></li>
<% if sidebar_section == "push" %>
<ul class="sub unstyled">
<li<%= sidebar_current("push-atlas") %>><a href="/v2/push/atlas.html">Atlas</a></li>
<li<%= sidebar_current("push-ftp") %>><a href="/v2/push/ftp.html">FTP / SFTP</a></li>
<li<%= sidebar_current("push-heroku") %>><a href="/v2/push/heroku.html">Heroku</a></li>
<li<%= sidebar_current("push-local-exec") %>><a href="/v2/push/local-exec.html">Local Exec</a></li>
</ul>
<% end %>
<li<%= sidebar_current("other") %>><a href="/v2/other/index.html">Other</a></li>
<% if sidebar_section == "other" %>
<ul class="sub unstyled">
<li<%= sidebar_current("other-debugging") %>><a href="/v2/other/debugging.html">Debugging</a></li>
<li<%= sidebar_current("other-envvars") %>><a href="/v2/other/environmental-variables.html">Environmental Variables</a></li>
</ul>
<% end %>
</ul>
</aside> <!-- /.sidebar -->
</div> <!-- /.sidebar -->
<div class="page-contents span9">
<div class="page-background"></div>
<!-- start page content -->
<div class="row">
<div class="span8 offset1">
<%= yield %>
</div> <!-- /.span8 -->
</div> <!-- /.row -->
</div> <!-- /.page-contents -->
</div> <!-- /.row -->
</div> <!-- /.container -->
</div> <!-- /.page -->
<!-- footer -->
<footer>
<div class="container">
<div class="row">
<div class="span12">
<ul class="unstyled footer-nav">
<li><a href="https://docs.vagrantup.com/">Documentation</a></li>
<li><a href="https://www.vagrantup.com/about">About</a></li>
<li><a href="https://www.vagrantup.com/support">Support</a></li>
<a href="https://www.vagrantup.com/downloads">
<li class="button inline-button">Download</li>
</a>
</ul>
<ul class="unstyled logos">
<a href="https://www.vagrantup.com">
<li class="vagrant-logo-monochrome"></li>
</a>
<li><span>by</span></li>
<a href="https://www.hashicorp.com">
<li class="hashi-logo-monochrome "></li>
</a>
</ul> <!-- /span -->
</div> <!-- /span -->
</div> <!-- /row -->
<div class="row">
<h6 class="legal">
Copyright &copy; <%= Time.now.year %> HashiCorp
</h6>
</div> <!-- row -->
</div> <!-- container -->
</footer>
<!-- close .wrapper -->
</div>
<!-- load scripts -->
<!-- load full-width image into any div with class="big-background -->
<script>
$(".big-background").backstretch("assets/photos/full_width.jpg");
</script>
<!-- Google analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-15091924-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<!-- AdRoll -->
<script type="text/javascript">
adroll_adv_id = "6QAAFJDIWBG3DJBDRJ7BEX";
adroll_pix_id = "PYT5HSNKNRDS7LMUR5B6YG";
(function () {
var oldonload = window.onload;
window.onload = function(){
__adroll_loaded=true;
var scr = document.createElement("script");
var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "http://a.adroll.com");
scr.setAttribute('async', 'true');
scr.type = "text/javascript";
scr.src = host + "/j/roundtrip.js";
((document.getElementsByTagName('head') || [null])[0] ||
document.getElementsByTagName('script')[0].parentNode).appendChild(scr);
if(oldonload){oldonload()}};
}());
</script>
</body>
</html>