|
| 1 | +# -*- mode: ruby -*- |
| 2 | +# vi: set ft=ruby : |
| 3 | +# |
| 4 | +# PLEASE START 1st with following command to create additional disks! |
| 5 | +# |
| 6 | +# VAGRANT_EXPERIMENTAL=disks vagrant up |
| 7 | + |
| 8 | +Vagrant.configure("2") do |config| |
| 9 | + |
| 10 | + lanip = "192.168.56.162" |
| 11 | + vm_name = "has-162" |
| 12 | + vm_hostname = "has-192-168-56-162.nip.io" |
| 13 | + |
| 14 | + # Please define the folder to the extracted archives from Oracle |
| 15 | + # |
| 16 | + config.vm.synced_folder ENV['VAGRANT_ANSIBLE_ORACLE_SW'], "/sw/oracle", disabled: false, mount_options: ["ro"] |
| 17 | + |
| 18 | + config.vm.disk :disk, size: "150GB", name: "#{vm_name}_oracle" |
| 19 | + config.vm.disk :disk, size: "30GB", name: "#{vm_name}_asmdata1" |
| 20 | + config.vm.disk :disk, size: "30GB", name: "#{vm_name}_asmfra1" |
| 21 | + |
| 22 | + # config.disksize.size = '50GB' |
| 23 | + config.vm.box = "Rendanic/oraclelinux-7.x" |
| 24 | + |
| 25 | + puts " " |
| 26 | + puts " Oracle Restart" |
| 27 | + puts " " |
| 28 | + puts " Hostname: #{vm_hostname}" |
| 29 | + puts " IP: #{lanip}" |
| 30 | + puts " Logins:" |
| 31 | + puts " vagrant / vagrant" |
| 32 | + puts " root / vagrant" |
| 33 | + puts " " |
| 34 | + puts " Please do the 1st start with following command to create the additional disks!" |
| 35 | + puts " VAGRANT_EXPERIMENTAL=disks vagrant up" |
| 36 | + puts " " |
| 37 | + |
| 38 | + config.vm.box_check_update = true |
| 39 | + |
| 40 | + config.vm.network :private_network, ip: lanip |
| 41 | + |
| 42 | + # config.vm.network "public_network" |
| 43 | + config.ssh.insert_key = true |
| 44 | + config.ssh.username = "vagrant" |
| 45 | + config.ssh.password = "vagrant" |
| 46 | + |
| 47 | + config.vm.hostname = vm_hostname |
| 48 | + |
| 49 | + config.vm.provider "virtualbox" do |vb| |
| 50 | + vb.gui = false |
| 51 | + vb.memory = "8500" |
| 52 | + vb.cpus = 2 |
| 53 | + vb.name = vm_name |
| 54 | + # grouping in VirtualBox is sometimes not working... |
| 55 | + # => disable it by default |
| 56 | + # vb.customize ["modifyvm", :id, "--groups", "/ansible-oracle"] |
| 57 | + |
| 58 | + end |
| 59 | + |
| 60 | + |
| 61 | + config.vm.provision "shell", inline: <<-SHELL |
| 62 | +
|
| 63 | + if [ ! -b /dev/sdb ]; then |
| 64 | + echo "Please start the Box with following command once to create the addional disks!" |
| 65 | + echo "VAGRANT_EXPERIMENTAL=disks vagrant up" |
| 66 | + exit 1 |
| 67 | + fi |
| 68 | +
|
| 69 | + sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config |
| 70 | + systemctl restart sshd.service |
| 71 | +
|
| 72 | + set -e |
| 73 | + # configure local Nexus-Server when running |
| 74 | + # |
| 75 | + os_release=$(grep '^VERSION_ID' /etc/os-release | awk -F'=' ' gsub(/"/,"") { print $2}' | cut -b1) |
| 76 | + if curl -f -s -q -m 3 http://192.168.56.12:8081/repository/ol${os_release}os-yum-group/ > /dev/null ; then |
| 77 | + echo "Local Nexus3 Server for yum proxy found!" |
| 78 | +
|
| 79 | + yum-config-manager --disable '*' > /dev/null |
| 80 | + yum-config-manager -q --nogpgcheck --add-repo http://192.168.56.12:8081/repository/ol${os_release}os-yum-group |
| 81 | + yum-config-manager -q --add-repo http://192.168.56.12:8081/repository/rhel${os_release}_epel-yum-proxy |
| 82 | + sed -i 's/^gpgcheck=1/gpgcheck=0/g' /etc/yum.conf |
| 83 | + echo "timeout=900" >> /etc/yum.conf |
| 84 | + fi |
| 85 | +
|
| 86 | + # copy public key to vagrant user |
| 87 | + ssh_public_key=/vagrant/id_rsa.pub |
| 88 | + if test -f "$ssh_public_key" ; then |
| 89 | + echo "Check if public key $ssh_public_key is valid." |
| 90 | + if ssh-keygen -l -f "$ssh_public_key" ; then |
| 91 | + echo "Add public key to /home/vagrant/.ssh/authorized_keys" |
| 92 | + cat "$ssh_public_key" >> /home/vagrant/.ssh/authorized_keys |
| 93 | + fi |
| 94 | + fi |
| 95 | +
|
| 96 | + yum install -y gcc make perl kernel-uek-devel |
| 97 | + yum update -y |
| 98 | + /sbin/rcvboxadd quicksetup all |
| 99 | +
|
| 100 | + SHELL |
| 101 | +end |
0 commit comments