Skip to main content

Simple script to transform 'vagrant ssh-config' output to an inventory hosts for Ansible

Project description

Build Status PyPI version

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

vagranttoansible-1.0.2-py2.py3-none-any.whl (7.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file vagranttoansible-1.0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for vagranttoansible-1.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 182ac6c2b4f91d00b7e43a5a0471b43eff5e9f61f1045430e2fc2360f0a9aff5
MD5 dcea1ad2d4e17ba64f1e7eb37164b0f3
BLAKE2b-256 f00d3af31607671ef5d912f6aa1c3d16316051b1cf837281496434c1ad267173

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page