From 02603a05c4d3fe59876030dc914cab019193d4e6 Mon Sep 17 00:00:00 2001 From: Yifei Xue Date: Sat, 27 May 2017 15:13:57 +0800 Subject: onos sfc for danbue JIRA: COMPASS-483 Install ovs-common and ovs-dkms. Upgrade the ONOS SFC driver and update the sfc related comfigurations. Change-Id: I47c7fe5cd2cb83517da18c36820dba05522c3835 Signed-off-by: Yifei Xue --- build.sh | 2 +- .../adapters/ansible/roles/common/vars/Debian.yml | 3 + .../ansible/roles/neutron-compute/vars/Debian.yml | 3 + .../ansible/roles/neutron-network/vars/Debian.yml | 3 + .../roles/onos_cluster/files/sfc_plugins.conf | 4 ++ .../onos_cluster/tasks/onos_sfc_controller.yml | 64 +++++++++++++++++----- .../ansible/roles/onos_cluster/vars/main.yml | 3 + 7 files changed, 68 insertions(+), 14 deletions(-) create mode 100644 deploy/adapters/ansible/roles/onos_cluster/files/sfc_plugins.conf diff --git a/build.sh b/build.sh index 800d627a..b0b25bad 100755 --- a/build.sh +++ b/build.sh @@ -21,7 +21,7 @@ WORK_PATH=$COMPASS_PATH PACKAGES="fuse fuseiso createrepo genisoimage curl" # PACKAGE_URL will be reset in Jenkins for different branch -export PACKAGE_URL=${PACKAGE_URL:-http://artifacts.opnfv.org/compass4nfv/package/master} +export PACKAGE_URL=${PACKAGE_URL:-http://artifacts.opnfv.org/compass4nfv/package/danube} mkdir -p $WORK_DIR diff --git a/deploy/adapters/ansible/roles/common/vars/Debian.yml b/deploy/adapters/ansible/roles/common/vars/Debian.yml index 4dbf885e..7cce40e1 100644 --- a/deploy/adapters/ansible/roles/common/vars/Debian.yml +++ b/deploy/adapters/ansible/roles/common/vars/Debian.yml @@ -10,7 +10,10 @@ packages: - ubuntu-cloud-keyring - python-dev + - dkms + - openvswitch-datapath-dkms - openvswitch-switch + - openvswitch-common - python-memcache - python-iniparse - python-lxml diff --git a/deploy/adapters/ansible/roles/neutron-compute/vars/Debian.yml b/deploy/adapters/ansible/roles/neutron-compute/vars/Debian.yml index fbe5bc3e..81f9194f 100644 --- a/deploy/adapters/ansible/roles/neutron-compute/vars/Debian.yml +++ b/deploy/adapters/ansible/roles/neutron-compute/vars/Debian.yml @@ -11,7 +11,10 @@ packages: - neutron-common - neutron-plugin-ml2 + - dkms + - openvswitch-datapath-dkms - openvswitch-switch + - openvswitch-common - neutron-plugin-openvswitch-agent services: diff --git a/deploy/adapters/ansible/roles/neutron-network/vars/Debian.yml b/deploy/adapters/ansible/roles/neutron-network/vars/Debian.yml index 559566ee..6ffeab1d 100644 --- a/deploy/adapters/ansible/roles/neutron-network/vars/Debian.yml +++ b/deploy/adapters/ansible/roles/neutron-network/vars/Debian.yml @@ -9,7 +9,10 @@ --- packages: - neutron-plugin-ml2 + - dkms + - openvswitch-datapath-dkms - openvswitch-switch + - openvswitch-common - neutron-l3-agent - neutron-dhcp-agent - neutron-plugin-openvswitch-agent diff --git a/deploy/adapters/ansible/roles/onos_cluster/files/sfc_plugins.conf b/deploy/adapters/ansible/roles/onos_cluster/files/sfc_plugins.conf new file mode 100644 index 00000000..ddef928d --- /dev/null +++ b/deploy/adapters/ansible/roles/onos_cluster/files/sfc_plugins.conf @@ -0,0 +1,4 @@ +[DEFAULT] + +service_plugins = networking_sfc.services.sfc.plugin.SfcPlugin,networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin,onos_router + diff --git a/deploy/adapters/ansible/roles/onos_cluster/tasks/onos_sfc_controller.yml b/deploy/adapters/ansible/roles/onos_cluster/tasks/onos_sfc_controller.yml index 26679373..a1337bdf 100755 --- a/deploy/adapters/ansible/roles/onos_cluster/tasks/onos_sfc_controller.yml +++ b/deploy/adapters/ansible/roles/onos_cluster/tasks/onos_sfc_controller.yml @@ -1,5 +1,5 @@ -############################################################################## -# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +############################################################################ +# copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 @@ -36,7 +36,7 @@ - name: install onos required packages action: "{{ ansible_pkg_mgr }} name={{ item }} state=present" - with_items: packages + with_items: "{{ packages }}" - name: download oracle-jdk8 package file get_url: @@ -93,6 +93,12 @@ - name: extract jar repository command: su -s /bin/sh -c "tar xvf ~/.m2/repository.tar -C ~/.m2/" +- name: copy onos.service + copy: + src: "{{ onos_service_file.src }}" + dest: "{{ onos_service_file.dst }}" + mode: 0755 + - name: extract onos package command: | su -s /bin/sh -c "tar xzf /opt/{{ onos_pkg_name }} -C {{ onos_home }} \ @@ -104,18 +110,23 @@ echo 'export ONOS_USER=root' >> {{ onos_home }}/options; mkdir {{ onos_home }}/var; mkdir {{ onos_home }}/config; - sed -i '/pre-stop/i\env JAVA_HOME=/usr/lib/jvm/java-8-oracle' {{ onos_home }}/init/onos.conf; - cp -rf {{ onos_home }}/init/onos.conf /etc/init/; - cp -rf {{ onos_home }}/init/onos.conf /etc/init.d/; -- name: configure onos boot feature - shell: > - sed -i '/^featuresBoot=/c\featuresBoot={{ onos_boot_features }}' \ - {{ onos_home }}/{{ karaf_dist }}/etc/org.apache.karaf.features.cfg; +- name: create karaf config + template: + src: org.apache.karaf.features.cfg + dest: "{{ onos_home }}/{{ karaf_dist }}/etc/org.apache.karaf.features.cfg" + owner: onos + group: onos + mode: 0775 - name: wait for config time shell: "sleep 10" +- name: chown onos directory and files + shell: > + chown -R onos:onos "{{ onos_home }}"; + chown onos:onos "{{ onos_service_file.dst }}"; + - name: start onos service service: name=onos state=started enabled=yes @@ -129,15 +140,39 @@ ######################################################################################### ################################ ONOS connect with OpenStack ####################### ######################################################################################### +- name: copy sfc_plugins.conf + copy: + src: "{{ sfc_plugins.src }}" + dest: "{{ sfc_plugins.dst }}" + mode: 0755 + +- name: Configure SFC driver + shell: crudini --merge /etc/neutron/neutron.conf < /opt/sfc_plugins.conf + +- name: delete sfc_plugins.conf + shell: rm -rf {{ sfc_plugins.dst }} + - name: Configure Neutron1 shell: > - crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins \ - networking_sfc.services.sfc.plugin.SfcPlugin, \ - networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin,onos_router; crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers onos_ml2; crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan; crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers vxlan +- name: configure metadata + shell: | + crudini --set /etc/neutron/dhcp_agent.ini DEFAULT \ + enable_isolated_metadata "True"; + +- name: force metadata + shell: | + crudini --set /etc/neutron/dhcp_agent.ini DEFAULT \ + force_metadata "True"; + +- name: configure vsctl for dhcp agent + shell: | + crudini --set /etc/neutron/dhcp_agent.ini OVS \ + ovsdb_interface vsctl; + - name: Create ML2 Configuration File template: src: ml2_conf.sh @@ -156,5 +191,8 @@ --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron; su -s /bin/sh -c "neutron-db-manage --subproject networking-sfc upgrade head" neutron; +- name: Restart neutron-dhcp-agent + service: name=neutron-dhcp-agent state=restarted + - name: Restart neutron-server service: name=neutron-server state=restarted diff --git a/deploy/adapters/ansible/roles/onos_cluster/vars/main.yml b/deploy/adapters/ansible/roles/onos_cluster/vars/main.yml index eaf4ed53..3c3dd557 100755 --- a/deploy/adapters/ansible/roles/onos_cluster/vars/main.yml +++ b/deploy/adapters/ansible/roles/onos_cluster/vars/main.yml @@ -16,6 +16,9 @@ jdk8_script_name: install_jdk8.tar onos_driver: networking-onos.tar onos_sfc_driver: networking-sfc.tar repository: repository.tar +sfc_plugins: + src: sfc_plugins.conf + dst: /opt/sfc_plugins.conf onos_service_file: src: onos.service dst: /lib/systemd/system/onos.service -- cgit 1.2.3-korg