Dear all,
I am new to vagrant and ansible, and I am currently making some trials.
My host environment is a WIndows 7 machine (sorry) with cygwin64.
Ansible and Vagrant are both installed :
$ ansible --version && vagrant --version
ansible 2.4.2.0
config file = None
configured module search path = ['/home/jeanlupi/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.3 (default, Oct 31 2017, 19:00:36) [GCC 6.4.0]
Vagrant 2.0.1
At the moment, I know how to create a Vagrantfile, have a brand new VM automatically created with Vagrant, and access it through ssh.
Also, I succeed in using an ansible playbook to provision this new VM.
So, each vagrant and ansible can run correctly when launched one by one.
Now, I want to make it to work together using config.vm.provider. But it fails with the following trace :
INFO provision: Writing provisioning sentinel so we don't provision again
INFO interface: info: Running provisioner: ansible...
INFO interface: info: ==> default: Running provisioner: ansible...
==> default: Running provisioner: ansible...
INFO environment: Running hook: provisioner_run
INFO runner: Preparing hooks for middleware sequence...
INFO runner: 1 hooks defined.
INFO runner: Running action: provisioner_run #<Method: Vagrant::Action::Builtin::Provision#run_provisioner>
INFO warden: Calling IN action: #<Proc:0x0000000004b69578@C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-2.0.1/lib/vagrant/action/warden.rb:94 (lambda)>
INFO subprocess: Starting process: ["C:/Program Files/Oracle/VirtualBox/VBoxManage.exe", "showvminfo", "2ace896f-293d-442b-9c62-bb8281960435", "--machinereadable"]
INFO subprocess: Command not in installer, restoring original environment...
INFO subprocess: Starting process: ["C:/Program Files/Oracle/VirtualBox/VBoxManage.exe", "showvminfo", "2ace896f-293d-442b-9c62-bb8281960435", "--machinereadable"]
INFO subprocess: Command not in installer, restoring original environment...
INFO interface: warn: Windows is not officially supported for the Ansible Control Machine.
Please check https://docs.ansible.com/intro_installation.html#control-machine-requirements
Windows is not officially supported for the Ansible Control Machine.
Please check https://docs.ansible.com/intro_installation.html#control-machine-requirements
ERROR ansible_host: Error while gathering the ansible version: The Ansible software could not be found! Please verify
that Ansible is correctly installed on your host system.
So, it incorrectly says that "The Ansible software could not be found!", and I don't clearly understand why it claims that "
Windows is not officially supported for the Ansible Control Machine", though ansible clearly runs correctly.
For information :
The Vagrantfile is :
Vagrant.configure(2) do |config|
config.vm.box = "geerlingguy/centos7"
config.vm.network "forwarded_port", guest: 8080, host: 8080
config.vm.synced_folder "../", "/var/data",create: true
config.vm.provider "virtualbox" do |v|
# Add a name
v.name="CI_Env"
# Add enough memory
v.memory = 4048
end
config.vm.provision :ansible do |ansible|
ansible.playbook="../ansible/configure-ci-server.yml"
ansible.tags=["geerlingguy.java","git"]
end
end
And the directory tree is :
$ tree -d -L 3 .
.
├── ansible
│ └── roles
│ ├── geerlingguy.java
│ ├── geerlingguy.jenkins
│ ├── git
│ └── LTS-2_89.jenkins
├── doc
├── etc
├── tools
├── Vagrant
Thanks in advance for your help.
Best Regards
J-L