A simple library to convert vagrant ssh-config to an inventory file for Ansible.
Usage
Inside your vagrant directory, run the script vagrant2ansible This will create a filed named hosts (your Ansible inventory) in the current directory along with a file named .vagrant-ssh-config (the output of vagrant ssh-config).
The script has been tested with Vagrant 2.0 but it should work with earlier versions of Vagrant too.
Installation
$ pip install vagranttoansible
Example
$ vagranttoansible
This configuration:
Host machine1
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /home/mha-dw/Projets/ansible/.vagrant/machines/machine1/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
Host machine2
HostName 127.0.0.1
User vagrant
Port 2200
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /home/mha-dw/Projets/ansible/.vagrant/machines/machine2/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
will be
machine1 ansible_host=127.0.0.1 ansible_user=vagrant ansible_ssh_common_args='-o StrictHostKeyChecking=no' ansible_ssh_private_key_file=/home/mha-dw/Projets/ansible/.vagrant/machines/machine1/virtualbox/private_key ansible_port=2222
machine2 ansible_host=127.0.0.1 ansible_user=vagrant ansible_ssh_common_args='-o StrictHostKeyChecking=no' ansible_ssh_private_key_file=/home/mha-dw/Projets/ansible/.vagrant/machines/machine2/virtualbox/private_key ansible_port=2200
$ vagranttoansible --help
usage: vagranttoansible [-h] [-V] [-v] [-o OUTPUT_FILE_NAME]
Simple script to transform 'vagrant ssh-config' output to an inventory hosts
for Ansible. This script must be run in your vagrant folder.
optional arguments:
-h, --help show this help message and exit
-V, --version Print version and exits
-v, --verbose Print more information
-o OUTPUT_FILE_NAME, --output-file-name OUTPUT_FILE_NAME
The inventory file name to write hosts to. Default: stdout
TODO
Maybe remove the stormssh dependency
Test with different Vagrant environments
More options will be added. Feel free to contribute.
Credits
Mohamed El Mouctar HAIDARA (elmhaidara@gmail.com)
Metadata
Release files for vagranttoansible 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vagranttoansible-1.0.2-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Release files / vagranttoansible-1.0.2-py2.py3-none-any.whl
| Download URL | vagranttoansible-1.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
182ac6c2b4f91d00b7e43a5a0471b43eff5e9f61f1045430e2fc2360f0a9aff5
|
|
BLAKE2b-256 checksum How to use checksums |
f00d3af31607671ef5d912f6aa1c3d16316051b1cf837281496434c1ad267173
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |