From 4ea9bf782c0aa7ec139e4dcbe4f5ef8aac20f5f4 Mon Sep 17 00:00:00 2001 From: João Paulo Nunes Soares Date: May 31 2018 02:10:59 +0000 Subject: [PATCH 1/2] Adding Vagrantfile for frontend VM --- diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000..44e8d97 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,48 @@ +# -*- mode: ruby -*- +# et ft=ruby : +# + +# We conveniently get the VMs IP addresses from hosts.local ansible inventory +# in ./playbook/hosts.local + +vms_inventory = "playbook/hosts.local" +ips = {} +File.open(vms_inventory, "r") do |f| + f.each_line do |l| + if ip = /frontend-host ansible_host=(.+)/.match(l) + ips[:frontend] = ip[1] + end + end +end + +if not ips.key?(:frontend) + abort("All IPs must be set in playbook/hosts.local") +end + +INTERNET_INTERFACE = %x(vboxmanage list bridgedifs | grep `route get 8.8.8.8 | grep interface | head -1 | awk -F' ' '{print $2}'` | grep -v VBoxNetworkName | awk -F 'Name: *' '{print $2}').strip + +Vagrant.configure(2) do |config| + config.vm.define "kiskadee-frontend2" do |frontend| + frontend.vm.box = "fedora/27-cloud-base" + # https://developer.fedoraproject.org/tools/vagrant/vagrant-nfs.html + # After enable nfs-server, you will need to start the service. + frontend.vm.synced_folder "./", "/home/vagrant/kiskadee_ui", type: "nfs", nfs_udp: false + frontend.vm.network "private_network", ip: ips[:frontend], + :bridge => "#{INTERNET_INTERFACE}", :dev => "#{INTERNET_INTERFACE}" + # frontend.vm.network "forwarded_port", guest: 8080, host: 8080, auto_correct: true + frontend.vm.network "forwarded_port", guest: 8080, host: 8080, auto_correct: true + frontend.vm.network "forwarded_port", guest: 5000, host: 5000, auto_correct: true + frontend.vm.provider "virtualbox" do |v| + v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"] + v.memory = 1024 + end + + frontend.vm.provision "shell", inline: <<-SHELL + cd kiskadee_ui + sudo dnf install nodejs -y + npm run dev + SHELL + + end + +end diff --git a/playbook/README.md b/playbook/README.md new file mode 100644 index 0000000..973fa1a --- /dev/null +++ b/playbook/README.md @@ -0,0 +1,23 @@ +## Current infrastructure + +kiskadee current infrastructure runs in University of São Paulo. We have two +machines which we use for our staging and continuous integration environments, +respectively. + +### Staging + +http://143.107.45.126:30121 + +### Continuous integration + +http://143.107.45.126:30130 + +#### Setup + +To make sure jenkins is running, + +- run the initialize.sh script under `/var/lib/jenkins` +- start nginx +- make sure selinux allows nginx to forward jenkins port: `setsebool -P httpd_can_network_connect 1` + +**This should go in our playbooks at some point** diff --git a/playbook/hosts.local b/playbook/hosts.local new file mode 100644 index 0000000..05f11e9 --- /dev/null +++ b/playbook/hosts.local @@ -0,0 +1,11 @@ +[kiskadee-core] +core-host ansible_host=192.168.121.6 ansible_user=root + +[kiskadee-frontend] +frontend-host ansible_host=10.18.0.116 + +[kiskadee-ci] +ci-host ansible_host=10.18.0.117 + +[kiskadee-core:vars] +ansible_python_interpreter=/usr/bin/python3 diff --git a/playbook/hosts.revoada b/playbook/hosts.revoada new file mode 100644 index 0000000..1851ac5 --- /dev/null +++ b/playbook/hosts.revoada @@ -0,0 +1,2 @@ +[vm] +172.24.0.55 diff --git a/playbook/local.retry b/playbook/local.retry new file mode 100644 index 0000000..8b30125 --- /dev/null +++ b/playbook/local.retry @@ -0,0 +1 @@ +core-host diff --git a/playbook/local.yml b/playbook/local.yml new file mode 100644 index 0000000..3ac02b5 --- /dev/null +++ b/playbook/local.yml @@ -0,0 +1,6 @@ +--- +# TODO: fix a static IP on Vagrantfile +- hosts: kiskadee-frontend + remote_user: root + roles: + - kiskadee_ui diff --git a/playbook/roles/kiskadee_ui/files/davidcarlos-kiskadee-fedora-27.repo b/playbook/roles/kiskadee_ui/files/davidcarlos-kiskadee-fedora-27.repo new file mode 100644 index 0000000..8e8d651 --- /dev/null +++ b/playbook/roles/kiskadee_ui/files/davidcarlos-kiskadee-fedora-27.repo @@ -0,0 +1,10 @@ +[davidcarlos-kiskadee] +name=Copr repo for kiskadee owned by davidcarlos +baseurl=https://copr-be.cloud.fedoraproject.org/results/davidcarlos/kiskadee/fedora-$releasever-$basearch/ +type=rpm-md +skip_if_unavailable=True +gpgcheck=1 +gpgkey=https://copr-be.cloud.fedoraproject.org/results/davidcarlos/kiskadee/pubkey.gpg +repo_gpgcheck=0 +enabled=1 +enabled_metadata=1 \ No newline at end of file diff --git a/playbook/roles/kiskadee_ui/tasks/main.yml b/playbook/roles/kiskadee_ui/tasks/main.yml new file mode 100644 index 0000000..b5420b8 --- /dev/null +++ b/playbook/roles/kiskadee_ui/tasks/main.yml @@ -0,0 +1,13 @@ +# TODO: do not turn selinux off. Add rules instead +- name: Turn off selinux + command: setenforce 0 + ignore_errors: yes + +- name: Install npm + command: dnf install nodejs + +- name: Installing dependencies + command: npm install + +- name: Server with hot reload at localhost:8080 + command: npm run dev diff --git a/playbook/site.yml b/playbook/site.yml new file mode 100644 index 0000000..3ac02b5 --- /dev/null +++ b/playbook/site.yml @@ -0,0 +1,6 @@ +--- +# TODO: fix a static IP on Vagrantfile +- hosts: kiskadee-frontend + remote_user: root + roles: + - kiskadee_ui From 5725a64fdff813b793d66766274520bc4009cbe6 Mon Sep 17 00:00:00 2001 From: João Paulo Nunes Soares Date: Jun 04 2018 22:41:34 +0000 Subject: [PATCH 2/2] Adding git to Vagrantfile --- diff --git a/Vagrantfile b/Vagrantfile index 44e8d97..bbc5b3b 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -39,6 +39,7 @@ Vagrant.configure(2) do |config| frontend.vm.provision "shell", inline: <<-SHELL cd kiskadee_ui + dnf -y install git sudo dnf install nodejs -y npm run dev SHELL