create bootstrap_vms role to run vagrant file on host, creating managed vms (dkhost03 and dkhost04)
This commit is contained in:
4
roles/bootstrap_vms/defaults/main.yml
Normal file
4
roles/bootstrap_vms/defaults/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
#default variables for boostrap_vms
|
||||
|
||||
vagrant_folder: "/opt/home.xai-corp.net/vm_config"
|
||||
76
roles/bootstrap_vms/files/Vagrantfile
vendored
Normal file
76
roles/bootstrap_vms/files/Vagrantfile
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
BASE_BOX = "ubuntu/xenial64"
|
||||
BRIDGE_NET = "enp3s0"
|
||||
|
||||
$script = <<SCRIPT
|
||||
echo I am provisioning...
|
||||
sudo adduser --home /home/ansible --shell /bin/bash --uid 1001 --disabled-password ansible
|
||||
sudo mkdir -p /home/ansible/.ssh
|
||||
sudo cat /etc/sudoers
|
||||
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAmJSdmj03d4fnZUuRByevPDNiReEk1fRL+7F9WPCo5zn+r5Oj84HXxd4P03DNXeGSBYmUAnsTqYEGdkjkpSrKfMm9bv8amL7hUC+Mzb+wOmXmyX1cw/SearYCBQRCz1s5p7I9+PO7XWaC0VJ99LUm1Bp4JM149U5X0Y3M2j2XV+0= RSA-1024" | sudo tee -a /home/ansible/.ssh/authorized_keys
|
||||
sudo chmod 600 /home/ansible/.ssh/authorized_keys
|
||||
sudo chmod 700 /home/ansible/.ssh
|
||||
sudo chown -R ansible /home/ansible
|
||||
sudo echo "ansible ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||
sudo apt -y update && sudo apt install -y python-minimal
|
||||
date > /etc/vagrant_provisioned_at
|
||||
SCRIPT
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
|
||||
config.vm.define "dkhost03" do |dkhost03|
|
||||
|
||||
dkhost03.vm.hostname = "dkhost03"
|
||||
|
||||
dkhost03.vm.box = BASE_BOX
|
||||
dkhost03.vm.box_check_update = true
|
||||
|
||||
dkhost03.vm.network "public_network", bridge: BRIDGE_NET
|
||||
|
||||
dkhost03.vm.synced_folder '.', '/vagrant', disabled: true
|
||||
|
||||
dkhost03.vm.provision "shell", inline: $script
|
||||
|
||||
dkhost03.vm.provider "virtualbox" do |vb|
|
||||
vb.name = "dkhost03"
|
||||
vb.gui = false
|
||||
vb.memory = "2048"
|
||||
vb.cpus = 2
|
||||
|
||||
#vb.customize ["modifyvm", :id, "--autostart-enabled", "on"]
|
||||
#vb.customize ["modifyvm", :id, "--autostart-delay", "30"]
|
||||
|
||||
vb.customize ["modifyvm", :id, "--macaddress2", "08002794035A"]
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
config.vm.define "dkhost04" do |dkhost04|
|
||||
|
||||
dkhost04.vm.hostname = "dkhost04"
|
||||
|
||||
dkhost04.vm.box = BASE_BOX
|
||||
dkhost04.vm.box_check_update = true
|
||||
|
||||
dkhost04.vm.network "public_network", bridge: BRIDGE_NET
|
||||
|
||||
dkhost04.vm.synced_folder '.', '/vagrant', disabled: true
|
||||
|
||||
dkhost04.vm.provision "shell", inline: $script
|
||||
|
||||
dkhost04.vm.provider "virtualbox" do |vb|
|
||||
vb.name = "dkhost04"
|
||||
vb.gui = false
|
||||
vb.memory = "1024"
|
||||
vb.cpus = 2
|
||||
|
||||
#vb.customize ["modifyvm", :id, "--autostart-enabled", "on"]
|
||||
#vb.customize ["modifyvm", :id, "--autostart-delay", "30"]
|
||||
|
||||
vb.customize ["modifyvm", :id, "--macaddress2", "080027FD5A0E"]
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
9
roles/bootstrap_vms/meta/main.yml
Normal file
9
roles/bootstrap_vms/meta/main.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
# meta/main.yml
|
||||
# define dependancies here
|
||||
|
||||
# dependencies:
|
||||
# - { role: geerlingguy.java }
|
||||
|
||||
dependencies:
|
||||
- { role: vagrant }
|
||||
32
roles/bootstrap_vms/tasks/main.yml
Normal file
32
roles/bootstrap_vms/tasks/main.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
# bootstrap vms on host machine
|
||||
|
||||
# install required system packages
|
||||
- name: install system packages
|
||||
apt:
|
||||
state: present
|
||||
name: "{{item}}"
|
||||
update_cache: yes
|
||||
with_items: []
|
||||
|
||||
# copy across vagrant file
|
||||
- name: create target folder
|
||||
file:
|
||||
state: directory
|
||||
dest: "{{ vagrant_folder }}"
|
||||
|
||||
- name: copy vagrant file
|
||||
copy:
|
||||
src: Vagrantfile
|
||||
dest: "{{ vagrant_folder }}/Vagrantfile"
|
||||
|
||||
# update and run vagrant boxes
|
||||
- name: update vagrant box
|
||||
command: vagrant box update
|
||||
args:
|
||||
chdir: "{{vagrant_folder}}"
|
||||
|
||||
- name: vagrant up
|
||||
command: vagrant up
|
||||
args:
|
||||
chdir: "{{vagrant_folder}}"
|
||||
Reference in New Issue
Block a user