[ONOS-7668] Fix ansible scripts for Vagrant tutorial VM.
Change-Id: I8e063a0ef00c57c092b81eca6ac551964eba6372
diff --git a/tools/dev/vagrant/Vagrantfile b/tools/dev/vagrant/Vagrantfile
index 8670d65..596c37a 100644
--- a/tools/dev/vagrant/Vagrantfile
+++ b/tools/dev/vagrant/Vagrantfile
@@ -53,6 +53,31 @@
v.cpus = 2
end
end
+
+ # Creates an ONOS tutorial VM.
+ # It contains Mininet, three LXC containers used as ONOS target machines and tutorials: basic, sdnip, optical and distributed.
+ # The machine comes also with the Ubuntu GUI to support tutorials.
+ config.vm.define "tutorialvm" do |d|
+ d.vm.box = "ubuntu/xenial64"
+ d.disksize.size = "20GB"
+ d.vm.hostname = "tutorialvm"
+ d.vm.network "private_network", ip: "10.100.198.200"
+ d.vm.provision :shell, path: "scripts/bootstrap_ansible.sh"
+ d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /vagrant/ansible/basic.yml -c local"
+ d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /vagrant/ansible/onos-dev-clean.yml -c local"
+ d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /vagrant/ansible/mn.yml -c local"
+ d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /vagrant/ansible/onos-install.yml -c local"
+ d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /vagrant/ansible/ide-install.yml -c local"
+ d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /vagrant/ansible/onos-tutorials.yml -c local"
+ d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /vagrant/ansible/gui.yml -c local"
+ d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /vagrant/ansible/machine-restart.yml -c local"
+ d.vm.provider "virtualbox" do |v|
+ v.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"]
+ v.memory = 4096
+ v.cpus = 2
+ v.gui = true
+ end
+ end
# Creates an ONOS VM.
# It contains Mininet and three LXC containers used as ONOS target machines.
diff --git a/tools/dev/vagrant/ansible/roles/intellij-install/tasks/main.yml b/tools/dev/vagrant/ansible/roles/intellij-install/tasks/main.yml
index 2b74f4a..b9d7ca9 100644
--- a/tools/dev/vagrant/ansible/roles/intellij-install/tasks/main.yml
+++ b/tools/dev/vagrant/ansible/roles/intellij-install/tasks/main.yml
@@ -7,6 +7,8 @@
path: "/home/ubuntu/{{ app_dir }}"
state: directory
mode: 0777
+ owner: ubuntu
+ group: ubuntu
- name: Downloading IntelliJ
get_url:
@@ -18,8 +20,19 @@
src: "/home/ubuntu/{{ app_dir }}/intellij.tar.gz"
dest: "/home/ubuntu/{{ app_dir }}"
mode: 0777
+ owner: ubuntu
+ group: ubuntu
+
+- name: Setting IntelliJ directory permissions
+ file:
+ path: "/home/ubuntu/{{ app_dir }}/{{ intellij.dir_name }}"
+ state: directory
+ mode: 0755
+ owner: ubuntu
+ group: ubuntu
+ recurse: yes
- name: Removing IntelliJ tar.gz archive
file:
path: "/home/ubuntu/{{ app_dir }}/intellij.tar.gz"
- state: absent
\ No newline at end of file
+ state: absent
diff --git a/tools/dev/vagrant/ansible/roles/tutorial-common/tasks/main.yml b/tools/dev/vagrant/ansible/roles/tutorial-common/tasks/main.yml
index 6ef9430..cf69af9 100644
--- a/tools/dev/vagrant/ansible/roles/tutorial-common/tasks/main.yml
+++ b/tools/dev/vagrant/ansible/roles/tutorial-common/tasks/main.yml
@@ -126,6 +126,8 @@
file:
path: "/home/{{ item.value.user }}/Desktop"
state: directory
+ owner: "{{ item.value.user }}"
+ group: "{{ item.value.user }}"
mode: 0755
with_dict: "{{ tutorials }}"
@@ -279,4 +281,4 @@
Comment[en_US]=
Terminal=true
X-KeepTerminal=true
- with_dict: "{{ tutorials }}"
\ No newline at end of file
+ with_dict: "{{ tutorials }}"
diff --git a/tools/dev/vagrant/ansible/roles/tutorial-distributed/tasks/main.yml b/tools/dev/vagrant/ansible/roles/tutorial-distributed/tasks/main.yml
index db25426..e2d5011 100644
--- a/tools/dev/vagrant/ansible/roles/tutorial-distributed/tasks/main.yml
+++ b/tools/dev/vagrant/ansible/roles/tutorial-distributed/tasks/main.yml
@@ -6,4 +6,14 @@
git:
repo: "{{ tutorials.distributed.byon_app_repo_url }}"
dest: "/home/{{ tutorials.distributed.user }}/onos-byon"
- version: "{{ tutorials.distributed.byon_app_version }}"
\ No newline at end of file
+ # Check out master version
+ # version: "{{ tutorials.distributed.byon_app_version }}"
+
+- name: Setting byon app directory permissions
+ file:
+ path: "/home/{{ tutorials.distributed.user }}/onos-byon"
+ state: directory
+ mode: 0777
+ owner: "{{ tutorials.distributed.user }}"
+ group: "{{ tutorials.distributed.user }}"
+ recurse: yes
diff --git a/tools/dev/vagrant/ansible/roles/tutorial-optical/tasks/main.yml b/tools/dev/vagrant/ansible/roles/tutorial-optical/tasks/main.yml
index 9ff2d6b..f21d2e0 100644
--- a/tools/dev/vagrant/ansible/roles/tutorial-optical/tasks/main.yml
+++ b/tools/dev/vagrant/ansible/roles/tutorial-optical/tasks/main.yml
@@ -25,6 +25,8 @@
src: "/home/ubuntu/{{ app_dir }}/otp_src_{{ tutorials.optical.erlang.version }}.tar.gz"
dest: "/home/ubuntu/{{ app_dir }}"
mode: 0777
+ owner: ubuntu
+ group: ubuntu
- name: Configuring ERLANG installation
shell: "{{ item }}"
@@ -32,6 +34,8 @@
chdir: "/home/ubuntu/{{ app_dir }}/otp_src_{{ tutorials.optical.erlang.version }}"
with_items:
- ./configure
+ become: yes
+ become_user: ubuntu
- name: Installing ERLANG
become: yes
@@ -52,7 +56,8 @@
- name: Cloning LINC-OE repositories
git:
repo: "{{ item.value.url }}"
- dest: "{{ item.value.dest }}"
+ dest: "/home/ubuntu/{{ item.value.dest }}"
+ clone: yes
with_dict: "{{ tutorials.optical.linc_oe }}"
- name: Setting LINC-OE directory permissions
@@ -60,12 +65,17 @@
path: "/home/ubuntu/{{ item.value.dest }}"
state: directory
mode: 0777
+ owner: ubuntu
+ group: ubuntu
+ recurse: yes
with_dict: "{{ tutorials.optical.linc_oe }}"
- name: Configuring LINC-OE traffic generator
copy:
src: "/home/ubuntu/{{ tutorials.optical.linc_oe.config_generator.dest }}/priv/{{ item }}"
dest: "/home/ubuntu/{{ tutorials.optical.linc_oe.config_generator.dest }}/"
+ owner: ubuntu
+ group: ubuntu
mode: 0777
with_items:
- "json_example.json"
@@ -81,6 +91,8 @@
copy:
src: "/home/ubuntu/{{ tutorials.optical.linc_oe.switch.dest }}/rel/files/sys.config.orig"
dest: "/home/ubuntu/{{ tutorials.optical.linc_oe.switch.dest }}/rel/files/sys.config"
+ owner: ubuntu
+ group: ubuntu
mode: 0777
- name: Compiling LINC-OE
@@ -93,6 +105,9 @@
path: "/home/ubuntu/{{ item.value.dest }}"
state: directory
mode: 0777
+ owner: ubuntu
+ group: ubuntu
+ recurse: yes
with_dict: "{{ tutorials.optical.linc_oe }}"
- name: Creating LINC-OE Desktop icons
@@ -110,4 +125,4 @@
Name[en_US]=LINC-OE
Icon=konsole
Exec=gnome-terminal -x bash -c "{{ tutorials.optical.lincoe_exec }}; exec $SHELL"
- Comment[en_US]=
\ No newline at end of file
+ Comment[en_US]=
diff --git a/tools/dev/vagrant/ansible/roles/wireshark-custom/tasks/main.yml b/tools/dev/vagrant/ansible/roles/wireshark-custom/tasks/main.yml
index d6aa38b..ab11a80 100644
--- a/tools/dev/vagrant/ansible/roles/wireshark-custom/tasks/main.yml
+++ b/tools/dev/vagrant/ansible/roles/wireshark-custom/tasks/main.yml
@@ -9,5 +9,7 @@
- name: Downloading most recent openflow.lua wireshark plugin
get_url:
url: "{{ wireshark.of_lua_url }}"
- dest: /home/ubuntu
- mode: 0777
\ No newline at end of file
+ dest: /home/ubuntu/openflow.lua
+ mode: 0644
+ owner: ubuntu
+ group: ubuntu
diff --git a/tools/dev/vagrant/ansible/vars/global_vars.yml b/tools/dev/vagrant/ansible/vars/global_vars.yml
index c54f130..cba95ef 100644
--- a/tools/dev/vagrant/ansible/vars/global_vars.yml
+++ b/tools/dev/vagrant/ansible/vars/global_vars.yml
@@ -46,7 +46,7 @@
# ONOS
onos_repo_url: "https://gerrit.onosproject.org/onos"
onos_dir: "/home/ubuntu/onos"
-onos_version: "1.9"
+onos_version: "1.13"
onos_nic: "10.100.198.*"
onos_variables:
- "export ONOS_ROOT=~/onos"
@@ -80,8 +80,8 @@
# IDEs configuration
intellij:
- dir_name: "idea-IC-171.3780.107"
- url: "https://download.jetbrains.com/idea/ideaIC-2017.1.tar.gz"
+ dir_name: "idea-IC-173.4674.33"
+ url: "https://download.jetbrains.com/idea/ideaIC-2017.3.5.tar.gz"
# Tutorials configuration
tutorials: