Upgrade odl from carbon to nitrogen 93/41493/8
authorYifei Xue <xueyifei@huawei.com>
Mon, 11 Sep 2017 02:38:18 +0000 (10:38 +0800)
committerYifei Xue <xueyifei@huawei.com>
Fri, 15 Sep 2017 02:18:43 +0000 (10:18 +0800)
JIRA: -

1. Because of the bug in odl sfc carbon, this patch upgrade the odl
to Nitrogen release.

2. Use the latest stable/ocata of networking-sfc and networking-odl

3. Fix the bug in the patch of multiple physnet mapping

Change-Id: Id6e6084d9af76ff92d3c3ba6f8127154b2675aee
Signed-off-by: Yifei Xue <xueyifei@huawei.com>
20 files changed:
plugins/odl_cluster/roles/setup-odl/files/odl_pkg.sh [new file with mode: 0755]
plugins/odl_cluster/roles/setup-odl/files/opendaylight.service
plugins/odl_cluster/roles/setup-odl/tasks/control-agents-1.yml
plugins/odl_cluster/roles/setup-odl/tasks/control-hosts-1.yml
plugins/odl_cluster/roles/setup-odl/tasks/control-repos-1.yml
plugins/odl_cluster/roles/setup-odl/tasks/control-servers-1.yml
plugins/odl_cluster/roles/setup-odl/tasks/odl-cluster.yml
plugins/odl_cluster/roles/setup-odl/templates/org.apache.karaf.features.cfg
plugins/odl_cluster/roles/setup-odl/vars/main.yml
plugins/odl_sfc/roles/setup-odl-sfc/files/odl_pkg.sh [new file with mode: 0755]
plugins/odl_sfc/roles/setup-odl-sfc/files/opendaylight.service
plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-agents-1.yml
plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-hosts-1.yml
plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-repos-1.yml
plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-servers-1.yml
plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-utility-1.yml
plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml
plugins/odl_sfc/roles/setup-odl-sfc/templates/org.apache.karaf.features.cfg
plugins/odl_sfc/roles/setup-odl-sfc/vars/main.yml
plugins/odl_sfc/roles/setup-sfc/tasks/setup_sfc.yml

diff --git a/plugins/odl_cluster/roles/setup-odl/files/odl_pkg.sh b/plugins/odl_cluster/roles/setup-odl/files/odl_pkg.sh
new file mode 100755 (executable)
index 0000000..5563990
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+rm -rf /home/networking
+rm -rf /home/tmp
+
+mkdir -p /home/networking
+mkdir -p /home/tmp
+
+cd /home/networking
+
+git clone https://github.com/openstack/networking-odl.git -b stable/ocata
+
+sed -i 's/^Babel.*/Babel!=2.4.0,>=2.3.4/' /home/networking/networking-odl/requirements.txt
+
+pip wheel /home/networking/networking-odl/ -w /home/tmp/
+
+cp /home/tmp/networking* /var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64/
+
+sleep 30
index f4801a3..a6966d8 100755 (executable)
@@ -10,7 +10,7 @@ Type=simple
 WorkingDirectory=/opt/opendaylight
 PermissionsStartOnly=true
 ExecStartPre=
-ExecStart=/usr/lib/jvm/java-8-oracle/bin/java -Djava.security.properties=/opt/opendaylight/etc/odl.java.security -server -Xms128M -Xmx2048m -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Djava.security.egd=file:/dev/./urandom -Djava.endorsed.dirs=/usr/lib/jvm/java-8-oracle/jre/lib/endorsed:/usr/lib/jvm/java-8-oracle/lib/endorsed:/opt/opendaylight/lib/endorsed -Djava.ext.dirs=/usr/lib/jvm/java-8-oracle/jre/lib/ext:/usr/lib/jvm/java-8-oracle/lib/ext:/opt/opendaylight/lib/ext -Dkaraf.instances=/opt/opendaylight/instances -Dkaraf.home=/opt/opendaylight -Dkaraf.base=/opt/opendaylight -Dkaraf.data=/opt/opendaylight/data -Dkaraf.etc=/opt/opendaylight/etc -Djava.io.tmpdir=/opt/opendaylight/data/tmp -Djava.util.logging.config.file=/opt/opendaylight/etc/java.util.logging.properties -Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -classpath /opt/opendaylight/lib/karaf.branding-1.8.1-SNAPSHOT.jar:/opt/opendaylight/lib/karaf-jaas-boot.jar:/opt/opendaylight/lib/karaf.jar:/opt/opendaylight/lib/karaf-org.osgi.core.jar org.apache.karaf.main.Main
+ExecStart=/usr/lib/jvm/java-8-oracle/bin/java -Djava.security.properties=/opt/opendaylight/etc/odl.java.security -server -Xms128M -Xmx2048m -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Djava.security.egd=file:/dev/./urandom -Djava.endorsed.dirs=/usr/lib/jvm/java-8-oracle/jre/lib/endorsed:/usr/lib/jvm/java-8-oracle/lib/endorsed:/opt/opendaylight/lib/endorsed -Djava.ext.dirs=/usr/lib/jvm/java-8-oracle/jre/lib/ext:/usr/lib/jvm/java-8-oracle/lib/ext:/opt/opendaylight/lib/ext -Dkaraf.instances=/opt/opendaylight/instances -Dkaraf.home=/opt/opendaylight -Dkaraf.base=/opt/opendaylight -Dkaraf.data=/opt/opendaylight/data -Dkaraf.etc=/opt/opendaylight/etc -Dkaraf.restart.jvm.supported=true -Djava.io.tmpdir=/opt/opendaylight/data/tmp -Djava.util.logging.config.file=/opt/opendaylight/etc/java.util.logging.properties -Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -classpath /opt/opendaylight/lib/boot/org.apache.karaf.diagnostic.boot-4.0.9.jar:/opt/opendaylight/lib/boot/org.apache.karaf.jaas.boot-4.0.9.jar:/opt/opendaylight/lib/boot/org.apache.karaf.main-4.0.9.jar:/opt/opendaylight/lib/boot/org.osgi.core-6.0.0.jar org.apache.karaf.main.Main
 Restart=on-failure
 LimitNOFILE=65535
 TimeoutStopSec=15
index dc071cc..684f314 100755 (executable)
@@ -8,7 +8,6 @@
 - name: install networking-odl
   pip:
     name: networking-odl
-    version: "{{ networking_odl_version }}"
     virtualenv: /openstack/venvs/neutron-15.1.4
 
 - name: configure vsctl for dhcp agent
index 6879340..9ca27e0 100755 (executable)
     sed -i 's/port="8282"/port="8081"/'
     {{ odl_home }}configuration/tomcat-server.xml
 
+- name: modify 8181 to 8081
+  shell: >
+    sed -i 's/8181/8081/'
+    {{ odl_home }}etc/org.ops4j.pax.web.cfg
+
 - name: remove karaf data directory
   file:
     path: "{{ odl_home }}data"
index 8427e4f..7b699a3 100755 (executable)
@@ -1,17 +1,9 @@
 ---
+- name: copy download script
+  copy:
+    src: odl_pkg.sh
+    dest: /opt/odl_pkg.sh
+    mode: 0777
 
-- name: download networking-odl
-  get_url:
-    url: "{{ odl_pip }}"
-    dest: /var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64
-
-- name: patch networking-odl to fix a bug
-  shell: |
-    cd /var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64/
-    tar -zxf networking-odl-4.0.0.tar.gz # hard code, need to modify
-    rm -rf networking-odl-4.0.0.tar.gz
-    sed -i 's/^Babel.*/Babel!=2.4.0,>=2.3.4/' networking-odl-4.0.0/requirements.txt
-    tar -zcf networking-odl-4.0.0.tar.gz networking-odl-4.0.0/
-    rm -rf networking-odl-4.0.0/
-    pip install networking-odl-4.0.0.tar.gz -d ./
-    cd -
+- name: download networking sfc and odl
+  command: su -s /bin/sh -c "/opt/odl_pkg.sh"
index 459c734..f6f7368 100755 (executable)
@@ -8,7 +8,6 @@
 - name: install networking-odl
   pip:
     name: networking-odl
-    version: "{{ networking_odl_version }}"
     virtualenv: /openstack/venvs/neutron-15.1.4    # Todo: hardcode, need to modify
 
 - name: turn off neutron-server on control node
index 5b57fb0..8cd12da 100755 (executable)
@@ -15,7 +15,7 @@
 - include: control-repos-1.yml
   vars:
     odl_pip: "{{ networking_odl_url }}"
-  when: inventory_hostname in groups['repo_container']
+  when: inventory_hostname == groups['repo_container'][0]
 
 - include: control-servers-1.yml
   when: inventory_hostname in groups['neutron_server']
index bc625cd..86b2bae 100755 (executable)
 #
 # Comma separated list of features repositories to register by default
 #
-featuresRepositories = mvn:org.apache.karaf.features/standard/3.0.8/xml/features,mvn:org.apache.karaf.features/enterprise/3.0.8/xml/features,mvn:org.ops4j.pax.web/pax-web-features/3.2.9/xml/features,mvn:org.apache.karaf.features/spring/3.0.8/xml/features,mvn:org.opendaylight.integration/features-integration-index/0.6.1-SNAPSHOT/xml/features
+featuresRepositories = \
+    mvn:org.opendaylight.integration/features-index/0.7.0/xml/features, \
+    mvn:org.apache.karaf.features/framework/4.0.9/xml/features, \
+    mvn:org.apache.karaf.features/standard/4.0.9/xml/features
 
 #
 # Comma separated list of features to install at startup
 #
-featuresBoot=config,standard,region,package,kar,ssh,management,odl-restconf-all,odl-aaa-authn,odl-dlux-all,odl-netvirt-openstack,odl-mdsal-apidocs,odl-dlux-core,odl-dluxapps-nodes,odl-dluxapps-topology,odl-dluxapps-yangui,odl-dluxapps-yangvisualizer,odl-l2switch-switch,odl-l2switch-switch-ui,odl-ovsdb-hwvtepsouthbound-ui,odl-ovsdb-southbound-impl-ui,odl-netvirt-ui,odl-openflowplugin-flow-services-ui,odl-neutron-logger
+featuresBoot=config,standard,wrap,package,kar,ssh,management,odl-restconf-all,odl-aaa-authn,odl-netvirt-openstack,odl-mdsal-apidocs,odl-dlux-core,odl-netvirt-ui
 
 #
 # Defines if the boot features are started in asynchronous mode (in a dedicated thread)
index 5e6325f..3788188 100755 (executable)
@@ -13,8 +13,8 @@ odl_username: admin
 odl_password: admin
 odl_api_port: 8181
 
-odl_pkg_url: distribution-karaf-0.6.1-Carbon.tar.gz
-odl_pkg_name: distribution-karaf-0.6.1-Carbon.tar.gz
+odl_pkg_url: karaf-0.7.0.tar.gz
+odl_pkg_name: karaf-0.7.0.tar.gz
 odl_home: "/opt/opendaylight/"
 odl_base_features:
   - config
diff --git a/plugins/odl_sfc/roles/setup-odl-sfc/files/odl_pkg.sh b/plugins/odl_sfc/roles/setup-odl-sfc/files/odl_pkg.sh
new file mode 100755 (executable)
index 0000000..d93da3f
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+rm -rf /home/networking
+rm -rf /home/tmp
+
+mkdir -p /home/networking
+mkdir -p /home/tmp
+
+cd /home/networking
+
+git clone https://github.com/openstack/networking-odl.git -b stable/ocata
+git clone https://github.com/openstack/networking-sfc.git -b stable/ocata
+
+sed -i 's/^Babel.*/Babel!=2.4.0,>=2.3.4/' /home/networking/networking-odl/requirements.txt
+
+pip wheel /home/networking/networking-odl/ -w /home/tmp/
+pip wheel /home/networking/networking-sfc/ -w /home/tmp/
+
+cp /home/tmp/networking* /var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64/
+
+sleep 30
index f4801a3..a6966d8 100755 (executable)
@@ -10,7 +10,7 @@ Type=simple
 WorkingDirectory=/opt/opendaylight
 PermissionsStartOnly=true
 ExecStartPre=
-ExecStart=/usr/lib/jvm/java-8-oracle/bin/java -Djava.security.properties=/opt/opendaylight/etc/odl.java.security -server -Xms128M -Xmx2048m -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Djava.security.egd=file:/dev/./urandom -Djava.endorsed.dirs=/usr/lib/jvm/java-8-oracle/jre/lib/endorsed:/usr/lib/jvm/java-8-oracle/lib/endorsed:/opt/opendaylight/lib/endorsed -Djava.ext.dirs=/usr/lib/jvm/java-8-oracle/jre/lib/ext:/usr/lib/jvm/java-8-oracle/lib/ext:/opt/opendaylight/lib/ext -Dkaraf.instances=/opt/opendaylight/instances -Dkaraf.home=/opt/opendaylight -Dkaraf.base=/opt/opendaylight -Dkaraf.data=/opt/opendaylight/data -Dkaraf.etc=/opt/opendaylight/etc -Djava.io.tmpdir=/opt/opendaylight/data/tmp -Djava.util.logging.config.file=/opt/opendaylight/etc/java.util.logging.properties -Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -classpath /opt/opendaylight/lib/karaf.branding-1.8.1-SNAPSHOT.jar:/opt/opendaylight/lib/karaf-jaas-boot.jar:/opt/opendaylight/lib/karaf.jar:/opt/opendaylight/lib/karaf-org.osgi.core.jar org.apache.karaf.main.Main
+ExecStart=/usr/lib/jvm/java-8-oracle/bin/java -Djava.security.properties=/opt/opendaylight/etc/odl.java.security -server -Xms128M -Xmx2048m -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Djava.security.egd=file:/dev/./urandom -Djava.endorsed.dirs=/usr/lib/jvm/java-8-oracle/jre/lib/endorsed:/usr/lib/jvm/java-8-oracle/lib/endorsed:/opt/opendaylight/lib/endorsed -Djava.ext.dirs=/usr/lib/jvm/java-8-oracle/jre/lib/ext:/usr/lib/jvm/java-8-oracle/lib/ext:/opt/opendaylight/lib/ext -Dkaraf.instances=/opt/opendaylight/instances -Dkaraf.home=/opt/opendaylight -Dkaraf.base=/opt/opendaylight -Dkaraf.data=/opt/opendaylight/data -Dkaraf.etc=/opt/opendaylight/etc -Dkaraf.restart.jvm.supported=true -Djava.io.tmpdir=/opt/opendaylight/data/tmp -Djava.util.logging.config.file=/opt/opendaylight/etc/java.util.logging.properties -Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -classpath /opt/opendaylight/lib/boot/org.apache.karaf.diagnostic.boot-4.0.9.jar:/opt/opendaylight/lib/boot/org.apache.karaf.jaas.boot-4.0.9.jar:/opt/opendaylight/lib/boot/org.apache.karaf.main-4.0.9.jar:/opt/opendaylight/lib/boot/org.osgi.core-6.0.0.jar org.apache.karaf.main.Main
 Restart=on-failure
 LimitNOFILE=65535
 TimeoutStopSec=15
index dc071cc..684f314 100755 (executable)
@@ -8,7 +8,6 @@
 - name: install networking-odl
   pip:
     name: networking-odl
-    version: "{{ networking_odl_version }}"
     virtualenv: /openstack/venvs/neutron-15.1.4
 
 - name: configure vsctl for dhcp agent
index 6879340..9ca27e0 100755 (executable)
     sed -i 's/port="8282"/port="8081"/'
     {{ odl_home }}configuration/tomcat-server.xml
 
+- name: modify 8181 to 8081
+  shell: >
+    sed -i 's/8181/8081/'
+    {{ odl_home }}etc/org.ops4j.pax.web.cfg
+
 - name: remove karaf data directory
   file:
     path: "{{ odl_home }}data"
index 2e58e14..7b699a3 100755 (executable)
@@ -1,27 +1,9 @@
 ---
+- name: copy download script
+  copy:
+    src: odl_pkg.sh
+    dest: /opt/odl_pkg.sh
+    mode: 0777
 
-- name: download networking-odl
-  get_url:
-    url: "{{ odl_pip }}"
-    dest: /var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64
-
-- name: download networking-sfc
-  shell: |
-    mkdir -p /opt/tmp
-    pip install networking-sfc==4.0.0 -d /opt/tmp/
-    cp /opt/tmp/networking* /var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64/
-    rm -rf /opt/tmp
-  when:
-    - odl_sfc == "Enable"
-    - inventory_hostname in groups['repo_container'][0]
-
-- name: patch networking-odl to fix a bug
-  shell: |
-    cd /var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64/
-    tar -zxf networking-odl-4.0.0.tar.gz # hard code, need to modify
-    rm -rf networking-odl-4.0.0.tar.gz
-    sed -i 's/^Babel.*/Babel!=2.4.0,>=2.3.4/' networking-odl-4.0.0/requirements.txt
-    tar -zcf networking-odl-4.0.0.tar.gz networking-odl-4.0.0/
-    rm -rf networking-odl-4.0.0/
-    pip install networking-odl-4.0.0.tar.gz -d ./
-    cd -
+- name: download networking sfc and odl
+  command: su -s /bin/sh -c "/opt/odl_pkg.sh"
index e2dd128..4014934 100755 (executable)
@@ -8,13 +8,11 @@
 - name: install networking-odl
   pip:
     name: networking-odl
-    version: "{{ networking_odl_version }}"
     virtualenv: /openstack/venvs/neutron-15.1.4    # Todo: hardcode, need to modify
 
 - name: install networking-sfc
   pip:
     name: networking-sfc
-    version: "4.0.0"
     virtualenv: /openstack/venvs/neutron-15.1.4
   when: odl_sfc == "Enable"
 
index 613c796..d10634f 100755 (executable)
@@ -3,5 +3,4 @@
 - name: Install networking-sfc for CLI
   pip:
     name: networking-sfc
-    version: "4.0.0"
   when: odl_sfc == "Enable"
index a22e980..09faaa2 100755 (executable)
@@ -15,7 +15,7 @@
 - include: control-repos-1.yml
   vars:
     odl_pip: "{{ networking_odl_url }}"
-  when: inventory_hostname in groups['repo_container']
+  when: inventory_hostname == groups['repo_container'][0]
 
 - include: control-servers-1.yml
   when: inventory_hostname in groups['neutron_server']
index b07e028..afb7e6b 100755 (executable)
 #
 # Comma separated list of features repositories to register by default
 #
-featuresRepositories = mvn:org.apache.karaf.features/standard/3.0.8/xml/features,mvn:org.apache.karaf.features/enterprise/3.0.8/xml/features,mvn:org.ops4j.pax.web/pax-web-features/3.2.9/xml/features,mvn:org.apache.karaf.features/spring/3.0.8/xml/features,mvn:org.opendaylight.integration/features-integration-index/0.6.1-SNAPSHOT/xml/features
+featuresRepositories = \
+    mvn:org.opendaylight.integration/features-index/0.7.0/xml/features, \
+    mvn:org.apache.karaf.features/framework/4.0.9/xml/features, \
+    mvn:org.apache.karaf.features/standard/4.0.9/xml/features
 
 #
 # Comma separated list of features to install at startup
 #
-featuresBoot=config,standard,region,package,kar,ssh,management,odl-restconf-all,odl-aaa-authn,odl-dlux-all,odl-netvirt-openstack,odl-mdsal-apidocs,odl-dlux-core,odl-dluxapps-nodes,odl-dluxapps-topology,odl-dluxapps-yangui,odl-dluxapps-yangvisualizer,odl-l2switch-switch,odl-l2switch-switch-ui,odl-ovsdb-hwvtepsouthbound-ui,odl-ovsdb-southbound-impl-ui,odl-netvirt-ui,odl-openflowplugin-flow-services-ui,odl-neutron-logger,odl-netvirt-sfc
+featuresBoot=config,standard,wrap,package,kar,ssh,management,odl-restconf-all,odl-aaa-authn,odl-netvirt-openstack,odl-mdsal-apidocs,odl-dlux-core,odl-netvirt-ui,odl-netvirt-sfc
 
 #
 # Defines if the boot features are started in asynchronous mode (in a dedicated thread)
index a9466ea..b3d71ed 100755 (executable)
@@ -7,6 +7,8 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 ---
+openstack_passwd_file: /etc/openstack_deploy/user_secrets.yml
+
 odl_username: admin
 odl_password: admin
 odl_api_port: 8181
@@ -16,8 +18,8 @@ sfc_plugins:
   src: sfc.conf
   dst: /opt/sfc.conf
 
-odl_pkg_url: distribution-karaf-0.6.1-Carbon.tar.gz
-odl_pkg_name: distribution-karaf-0.6.1-Carbon.tar.gz
+odl_pkg_url: karaf-0.7.0.tar.gz
+odl_pkg_name: karaf-0.7.0.tar.gz
 odl_home: "/opt/opendaylight/"
 odl_base_features:
   - config
index eb8b5aa..cb33d59 100644 (file)
@@ -10,5 +10,5 @@
 
 - name: copy odl_cluster role
   shell: |
-    cp -rf /var/ansible/run/openstack_ocata-opnfv2/roles/setup-odl-sfc \
-          /var/ansible/run/openstack_ocata-opnfv2/roles/setup-odl
+    cp -rf /var/ansible/run/openstack_ocata-opnfv2/roles/setup-odl-sfc/* \
+          /var/ansible/run/openstack_ocata-opnfv2/roles/setup-odl/