onos sfc for danbue 01/35701/1
authorYifei Xue <xueyifei@huawei.com>
Sat, 27 May 2017 07:13:57 +0000 (15:13 +0800)
committerYifei Xue <xueyifei@huawei.com>
Fri, 2 Jun 2017 03:07:56 +0000 (11:07 +0800)
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 <xueyifei@huawei.com>
build.sh
deploy/adapters/ansible/roles/common/vars/Debian.yml
deploy/adapters/ansible/roles/neutron-compute/vars/Debian.yml
deploy/adapters/ansible/roles/neutron-network/vars/Debian.yml
deploy/adapters/ansible/roles/onos_cluster/files/sfc_plugins.conf [new file with mode: 0644]
deploy/adapters/ansible/roles/onos_cluster/tasks/onos_sfc_controller.yml
deploy/adapters/ansible/roles/onos_cluster/vars/main.yml

index 800d627..b0b25ba 100755 (executable)
--- 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
 
index 4dbf885..7cce40e 100644 (file)
 packages:
   - ubuntu-cloud-keyring
   - python-dev
+  - dkms
+  - openvswitch-datapath-dkms
   - openvswitch-switch
+  - openvswitch-common
   - python-memcache
   - python-iniparse
   - python-lxml
index fbe5bc3..81f9194 100644 (file)
 packages:
   - neutron-common
   - neutron-plugin-ml2
+  - dkms
+  - openvswitch-datapath-dkms
   - openvswitch-switch
+  - openvswitch-common
   - neutron-plugin-openvswitch-agent
 
 services:
index 559566e..6ffeab1 100644 (file)
@@ -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 (file)
index 0000000..ddef928
--- /dev/null
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+service_plugins = networking_sfc.services.sfc.plugin.SfcPlugin,networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin,onos_router
+
index 2667937..a1337bd 100755 (executable)
@@ -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:
 - 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 }} \
     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
 
 #########################################################################################
 ################################    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
     --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
index eaf4ed5..3c3dd55 100755 (executable)
@@ -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