aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYifei Xue <xueyifei@huawei.com>2017-10-05 17:42:34 +0800
committerYifei Xue <xueyifei@huawei.com>2017-10-17 15:56:03 +0800
commitd0886a8dcf47ef0d27a0b7960dd152596f0a3a88 (patch)
tree7cf5637523a994bbc85c95abfa009c9a79fcbd36
parentd8f5f4a460d4c84a6552a6bed8af5c7fa5eedc22 (diff)
add tacker support
JIRA: - Add tacker support in compass euphrates. Upsteam OSA currently doesn't support tacker in Ocata. But OPNFV needs to use tacker in SFC scenario. So we refactor os_tacker of Pike to satisfy OpenStack Ocata. Change-Id: I40bb90949d8cd3b9db166527b0d85ff42ad5cdb9 Signed-off-by: Yifei Xue <xueyifei@huawei.com>
-rw-r--r--deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml1
-rw-r--r--deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh11
-rwxr-xr-xdeploy/adapters/ansible/roles/config-osa/tasks/main.yml6
-rw-r--r--deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j27
-rw-r--r--deploy/adapters/ansible/roles/config-osa/vars/main.yml1
-rw-r--r--plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-tacker-1.yml8
-rwxr-xr-xplugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml3
7 files changed, 37 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml b/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml
index 3f58435e..2e4afc09 100644
--- a/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml
+++ b/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml
@@ -71,6 +71,7 @@
- network_hosts
- repo_container
- utility
+ - tacker_all
remote_user: root
roles:
- setup-odl-sfc
diff --git a/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh b/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh
index c598027f..fb197555 100644
--- a/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh
+++ b/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh
@@ -202,6 +202,17 @@ unset ROLE_VENV_WITH_INDEX
#unset ROLE_VENV_WITH_INDEX
ROLE_VENV_WITH_INDEX=false
+ROLE_VENV_PATH="/tmp/openstack-venv-builder/venvs/tacker"
+ROLE_VENV_FILE="tacker-15.1.4-x86_64"
+if [ ! -f "${ROLE_VENV_FILE}.tgz" ];then
+ venv_create "${ROLE_VENV_PATH}" "${ROLE_VENV_FILE}" "${ROLE_VENV_WITH_INDEX}" "python-tackerclient mysql-python networking-sfc==4.0.0 pymysql python-heatclient python-tackerclient tacker" &
+ pid[3]=$!
+fi
+unset ROLE_VENV_PATH
+unset ROLE_VENV_FILE
+unset ROLE_VENV_WITH_INDEX
+
+ROLE_VENV_WITH_INDEX=false
ROLE_VENV_PATH="/tmp/openstack-venv-builder/venvs/horizon"
ROLE_VENV_FILE="horizon-15.1.4-x86_64"
if [ ! -f "${ROLE_VENV_FILE}.tgz" ];then
diff --git a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml
index d3779fd4..39e09f7e 100755
--- a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml
@@ -138,6 +138,12 @@
{% endraw %}
when: offline_deployment is defined and offline_deployment == "Enable"
+# This is a bug in ocata, will be removed in the future
+- name: limit the version of networking-sfc in os_tacker
+ shell: |
+ sed -i 's/networking-sfc$/networking-sfc=={{ networking_sfc_version }}/g' \
+ /etc/ansible/roles/os_tacker/defaults/main.yml
+
- name: add rally and tempest to requirement.txt
blockinfile:
dest: /etc/ansible/roles/repo_build/tasks/repo_pre_build.yml
diff --git a/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 b/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2
index cadf5308..be119fbe 100644
--- a/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2
+++ b/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2
@@ -213,6 +213,13 @@ metrics_hosts:
ip: {{ hostvars[host]['ansible_ssh_host'] }}
{% endfor %}
+# tacker (mano service)
+mano_hosts:
+{% for host in groups.controller%}
+ {{host}}:
+ ip: {{ hostvars[host]['ansible_ssh_host'] }}
+{% endfor %}
+
# nova hypervisors
compute_hosts:
{% for host in groups.compute%}
diff --git a/deploy/adapters/ansible/roles/config-osa/vars/main.yml b/deploy/adapters/ansible/roles/config-osa/vars/main.yml
index 18687fa5..0b3b0c1e 100644
--- a/deploy/adapters/ansible/roles/config-osa/vars/main.yml
+++ b/deploy/adapters/ansible/roles/config-osa/vars/main.yml
@@ -10,3 +10,4 @@
LOCAL_REPOSITORY_IP: "192.168.137.222"
ceph_host: "{{ hostvars[inventory_hostname]['groups']['ceph_osd'][0] }}"
repo_dest_path: "/var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64/"
+networking_sfc_version: 4.0.0
diff --git a/plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-tacker-1.yml b/plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-tacker-1.yml
new file mode 100644
index 00000000..c43b6dcc
--- /dev/null
+++ b/plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-tacker-1.yml
@@ -0,0 +1,8 @@
+---
+
+- name: upgrade networking-sfc
+ pip:
+ name: networking-sfc
+ extra_args: -U
+ virtualenv: /openstack/venvs/tacker-15.1.4
+ when: odl_sfc == "Enable"
diff --git a/plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml b/plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml
index 07bf7084..ee2ee32a 100755
--- a/plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml
+++ b/plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml
@@ -48,4 +48,7 @@
- inventory_hostname in groups['neutron_server'][0]
- inventory_hostname not in groups['network_hosts']
+- include: control-tacker-1.yml
+ when: inventory_hostname in groups['tacker_all']
+
- include: odl-post.yml