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.
Source Distributions
Built Distribution
File details
Details for the file vagranttoansible-1.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: vagranttoansible-1.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 182ac6c2b4f91d00b7e43a5a0471b43eff5e9f61f1045430e2fc2360f0a9aff5 |
|
MD5 | dcea1ad2d4e17ba64f1e7eb37164b0f3 |
|
BLAKE2b-256 | f00d3af31607671ef5d912f6aa1c3d16316051b1cf837281496434c1ad267173 |