Add ODL variables to env file 75/63175/12
authorManuel Buil <mbuil@suse.com>
Thu, 4 Oct 2018 13:56:42 +0000 (15:56 +0200)
committerManuel Buil <mbuil@suse.com>
Thu, 18 Oct 2018 07:02:56 +0000 (09:02 +0200)
ODL testcases in functest require new variables:

https://git.opnfv.org/functest/tree/functest/utils/env.py#n22

Otherwise the test fails because it cannot contact ODL

To find those variables, we fetch the ml2_conf.ini file from the neutron
container and then we parse the values. This is only run when the
scenario has odl

deploy-scenario:os-odl-sfc
installer-type:osa

Change-Id: If175bb7642e66e151b30e1ccd1b9040aa3481d8f
Signed-off-by: Manuel Buil <mbuil@suse.com>
xci/playbooks/roles/prepare-tests/tasks/main.yml
xci/playbooks/roles/prepare-tests/tasks/process_neutron_conf.yml [new file with mode: 0644]
xci/playbooks/roles/prepare-tests/templates/env.j2

index 45a23a3..b4e566c 100644 (file)
    state: present
    extra_args: '-c https://raw.githubusercontent.com/openstack/requirements/{{ requirements_git_install_branch }}/upper-constraints.txt'
 
+# odl scenarios require to add odl variables to env
+- include_tasks: process_neutron_conf.yml
+  when: "'-odl-' in deploy_scenario"
+
 - name: prepare environment file for tests
   template:
     src: env.j2
diff --git a/xci/playbooks/roles/prepare-tests/tasks/process_neutron_conf.yml b/xci/playbooks/roles/prepare-tests/tasks/process_neutron_conf.yml
new file mode 100644 (file)
index 0000000..45608df
--- /dev/null
@@ -0,0 +1,19 @@
+---
+- name: Collecting ODL variables
+  block:
+  - name: Fetch odl_password variable
+    shell: "cat /tmp/ml2_conf.ini | grep password | cut -d ' ' -f3"
+    register: odl_password
+
+  - name: Fetch odl_username variable
+    shell: "cat /tmp/ml2_conf.ini | grep username | cut -d ' ' -f3"
+    register: odl_username
+
+  - name: Fetch odl_port variable
+    shell: "cat /tmp/ml2_conf.ini | grep url | cut -d ':' -f3 | cut -d '/' -f1"
+    register: odl_port
+
+  - name: Fetch odl_ip variable
+    shell: "cat /tmp/ml2_conf.ini | grep url | cut -d ':' -f2 | cut -d '/' -f3"
+    register: odl_ip
+  when: "'-odl-' in deploy_scenario"
index d9a3bf3..d4f8f86 100644 (file)
@@ -5,3 +5,11 @@ ENERGY_RECORDER_API_URL=http://energy.opnfv.fr/resources
 {% if 'os-' in deploy_scenario %}
 EXTERNAL_NETWORK={{ external_network }}
 {% endif %}
+{% if '-odl-' in deploy_scenario %}
+SDN_CONTROLLER_IP={{ odl_ip.stdout }}
+SDN_CONTROLLER_USER={{ odl_username.stdout }}
+SDN_CONTROLLER_PASSWORD={{ odl_password.stdout }}
+SDN_CONTROLLER_RESTCONFPORT={{ odl_port.stdout }}
+SDN_CONTROLLER_WEBPORT={{ odl_port.stdout }}
+{% endif %}
+