Modernize Vagrant documentation (#62923)
* By requiring a slightly newer Vagrant version (from 2015) we get the same generated Ansible inventory format is still used by today's version of Vagrant. That extended inventory format also has the benefit of allowing for simpler Ansible examples. * Switching to a current and supported Ubuntu LTS version.
This commit is contained in:
parent
d01035ef25
commit
0d79013f51
1 changed files with 8 additions and 25 deletions
|
@ -33,19 +33,13 @@ Ansible provisioner to manage a single machine:
|
|||
|
||||
.. code-block:: ruby
|
||||
|
||||
# This guide is optimized for Vagrant 1.7 and above.
|
||||
# Although versions 1.6.x should behave very similarly, it is recommended
|
||||
# to upgrade instead of disabling the requirement below.
|
||||
Vagrant.require_version ">= 1.7.0"
|
||||
# This guide is optimized for Vagrant 1.8 and above.
|
||||
# Older versions of Vagrant put less info in the inventory they generate.
|
||||
Vagrant.require_version ">= 1.8.0"
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
|
||||
config.vm.box = "ubuntu/trusty64"
|
||||
|
||||
# Disable the new default behavior introduced in Vagrant 1.7, to
|
||||
# ensure that all Vagrant machines will use the same SSH key pair.
|
||||
# See https://github.com/hashicorp/vagrant/issues/5005
|
||||
config.ssh.insert_key = false
|
||||
config.vm.box = "ubuntu/bionic64"
|
||||
|
||||
config.vm.provision "ansible" do |ansible|
|
||||
ansible.verbose = "v"
|
||||
|
@ -85,7 +79,7 @@ illustrated by this example:
|
|||
|
||||
.. code-block:: bash
|
||||
|
||||
$ PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --private-key=/home/someone/.vagrant.d/insecure_private_key --user=vagrant --connection=ssh --limit='machine1' --inventory-file=/home/someone/coding-in-a-project/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory playbook.yml
|
||||
$ PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --connection=ssh --timeout=30 --limit="default" --inventory-file=/home/someone/coding-in-a-project/.vagrant/provisioners/ansible/inventory -v playbook.yml
|
||||
|
||||
This information can be quite useful to debug integration issues and can also
|
||||
be used to manually execute Ansible from a shell, as explained in the next
|
||||
|
@ -109,26 +103,15 @@ single machine environment may look something like this:
|
|||
|
||||
# Generated by Vagrant
|
||||
|
||||
default ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222
|
||||
default ansible_host=127.0.0.1 ansible_port=2222 ansible_user='vagrant' ansible_ssh_private_key_file='/home/someone/coding-in-a-project/.vagrant/machines/default/virtualbox/private_key'
|
||||
|
||||
If you want to run Ansible manually, you will want to make sure to pass
|
||||
``ansible`` or ``ansible-playbook`` commands the correct arguments, at least
|
||||
for the *username*, the *SSH private key* and the *inventory*.
|
||||
|
||||
Here is an example using the Vagrant global insecure key (``config.ssh.insert_key``
|
||||
must be set to ``false`` in your ``Vagrantfile``):
|
||||
for the *inventory*.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ansible-playbook --private-key=~/.vagrant.d/insecure_private_key -u vagrant -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory playbook.yml
|
||||
|
||||
Here is a second example using the random private key that Vagrant 1.7+
|
||||
automatically configures for each new VM (each key is stored in a path like
|
||||
``.vagrant/machines/[machine name]/[provider]/private_key``):
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ansible-playbook --private-key=.vagrant/machines/default/virtualbox/private_key -u vagrant -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory playbook.yml
|
||||
$ ansible-playbook -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory playbook.yml
|
||||
|
||||
Advanced Usages
|
||||
```````````````
|
||||
|
|
Loading…
Reference in a new issue