Skip to content

Instantly share code, notes, and snippets.

@versionsix
Last active July 5, 2018 16:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save versionsix/d94582541875a4638d37ef19c82b13a8 to your computer and use it in GitHub Desktop.
Save versionsix/d94582541875a4638d37ef19c82b13a8 to your computer and use it in GitHub Desktop.
Vagrant 2 machines and ansible
---
- hosts: all
become: true
tasks:
- name: upgrade all packages
yum:
update_cache: yes
name: '*'
state: latest
- name: ensure apache is at the latest version
yum:
name: httpd
state: latest
- name: Start webserver
service:
name: httpd
state: started
- name: open the http port
firewalld:
service: http
permanent: true
state: enabled
zone: public
- name: start the firewalld service
service:
name: firewalld
state: restarted
# Run tasks for machine-a
- hosts: machine-a
become: true
tasks:
- name: Create example index page
copy:
dest: "/var/www/html/index.html"
content: |
machine-a <br />
deployed by ansible
# Run tasks for machine-b
- hosts: machine-b
become: true
tasks:
- name: Create example index page
copy:
dest: "/var/www/html/index.html"
content: |
machine-b <br />
deployed by ansible
# Ansible config see https://www.vagrantup.com/docs/provisioning/ansible_common.html#extra_vars
Vagrant.configure(2) do |config|
config.vm.define "machine-a" do |subconfig|
subconfig.vm.box = "generic/centos7"
subconfig.vm.hostname = "machine-a.local"
subconfig.vbguest.auto_update = false
subconfig.vm.network :private_network, ip: "192.168.199.101"
subconfig.vm.provider :virtualbox do |vb|
vb.memory = 1024
vb.cpus = 2
vb.linked_clone = true
end
subconfig.vm.synced_folder ".", "/vagrant", disabled: false
end
config.vm.define "machine-b" do |subconfig|
subconfig.vm.box = "generic/centos7"
subconfig.vm.hostname = "machine-b.local"
subconfig.vbguest.auto_update = false
subconfig.vm.network :private_network, ip: "192.168.199.102"
subconfig.vm.provider :virtualbox do |vb|
vb.memory = 1024
vb.cpus = 2
vb.linked_clone = true
end
subconfig.vm.synced_folder ".", "/vagrant", disabled: false
end
# Ansible provisioning
config.vm.provision :ansible do |ansible|
ansible.playbook = "playbook.yml"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment