-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathVagrantfile
83 lines (71 loc) · 3.56 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Variables
#var_box = 'generic/oracle8'
var_box = 'bento/oracle-7.6'
var_vm_name = 'ora18c-ords191'
#Reducing var_mem_size further leads to swapping
#Also smaller filesystem cache leads to worse nginx and apache cache performance
var_mem_size = 6144
var_cpus = 4
var_non_rotational = 'on' # SSD
Vagrant.configure("2") do |config|
config.vm.box = var_box
#Oracle Database Listener
config.vm.network "forwarded_port", guest: 1521, host: 1521
#Map HTTP & HTTPS Ports maybe useful for troubleshooting
#Note for successful HTTPS connection you will need to install cert on host machine
#Apache Tomcat
config.vm.network "forwarded_port", guest: 1110, host: 1110 # HTTP
config.vm.network "forwarded_port", guest: 1210, host: 1210 # HTTPS
#Apache HTTP Server
config.vm.network "forwarded_port", guest: 2110, host: 2110 # HTTP
config.vm.network "forwarded_port", guest: 2120, host: 2120 # HTTP, Cache GETs
config.vm.network "forwarded_port", guest: 2210, host: 2210 # HTTPS
config.vm.network "forwarded_port", guest: 2220, host: 2220 # HTTPS, Cache GETs
#Nginx
config.vm.network "forwarded_port", guest: 3110, host: 3110 # HTTP
config.vm.network "forwarded_port", guest: 3120, host: 3120 # HTTP, Cache GETs
config.vm.network "forwarded_port", guest: 3130, host: 3130 # HTTP, Cache POSTs
config.vm.network "forwarded_port", guest: 3210, host: 3210 # HTTPS
config.vm.network "forwarded_port", guest: 3220, host: 3220 # HTTPS, Cache GETs
config.vm.network "forwarded_port", guest: 3230, host: 3230 # HTTPS, Cache POSTs
#Varnish + Hitch
config.vm.network "forwarded_port", guest: 4110, host: 4110 # HTTP
config.vm.network "forwarded_port", guest: 4120, host: 4120 # HTTP, Cache GETs
config.vm.network "forwarded_port", guest: 4130, host: 4130 # HTTP, Cache POSTs
config.vm.network "forwarded_port", guest: 4210, host: 4210 # HTTPS
config.vm.network "forwarded_port", guest: 4220, host: 4220 # HTTPS Cache GETs
config.vm.network "forwarded_port", guest: 4230, host: 4230 # HTTPS Cache POSTs
#Don't set hostname here otherwise db installation will fail :(
#config.vm.hostname = "ords-reverseproxy.localdomain"
config.vm.synced_folder "testsuite", "/home/vagrant/testsuite", mount_options: ["dmode=775,fmode=777"]
config.vm.provider "virtualbox" do |vb|
vb.memory = var_mem_size
vb.cpus = var_cpus
vb.name = var_vm_name
vb.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', '0', '--nonrotational', var_non_rotational]
vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 1000 ]
end
#Oracle Database
config.vm.provision "shell", path: "scripts/database.sh"
#General setup must be run after db creation as this
#sets hostname which database creation to fail
config.vm.provision "shell", path: "scripts/general.sh"
#Generate certificates etc for use by Tomcat & Reverse Proxies
config.vm.provision "shell", path: "scripts/certs.sh"
#Apache Tomcat
config.vm.provision "shell", path: "scripts/tomcat.sh"
#Install ORDS 19.2 (can be downgraded to 19.1)
config.vm.provision "shell", path: "scripts/ords.sh", args: "19.2"
#Apache HTTP Server
config.vm.provision "shell", path: "scripts/httpd.sh"
#Nginx
config.vm.provision "shell", path: "scripts/nginx.sh"
#Varnish
config.vm.provision "shell", path: "scripts/varnish.sh"
#Hitch
config.vm.provision "shell", path: "scripts/hitch.sh"
#Siege
config.vm.provision "shell", path: "scripts/siege.sh"
end