Simple script to transform 'vagrant ssh-config' output to an inventory hosts for Ansible
Project description
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)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size vagranttoansible-1.0.2-py2.py3-none-any.whl (7.0 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Close
Hashes for vagranttoansible-1.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 182ac6c2b4f91d00b7e43a5a0471b43eff5e9f61f1045430e2fc2360f0a9aff5 |
|
MD5 | dcea1ad2d4e17ba64f1e7eb37164b0f3 |
|
BLAKE2-256 | f00d3af31607671ef5d912f6aa1c3d16316051b1cf837281496434c1ad267173 |