Adapt zrpcd to work for Carbon/Nitrogen 75/44575/6
authortomsou <soth@intracom-telecom.com>
Mon, 9 Oct 2017 13:53:39 +0000 (16:53 +0300)
committertomsou <soth@intracom-telecom.com>
Wed, 18 Oct 2017 16:40:12 +0000 (19:40 +0300)
It updates the quagga tar.gz file which is used to
install zrpcd/quagga.
The new rpms are compiled with thrift-version 4

Zrpcd is installed as a process. Additional changes takwqe place
adopting the installation and checking of zrpcd process

Note that an extra patch is needed to update or remove the
building procedure, which is present within the project
but not used actually.

JIRA: APEX-508

Change-Id: If6da075d2aafdb8c2ecfc599f595a7201490aa23
Signed-off-by: tomsou <soth@intracom-telecom.com>
apex/overcloud/deploy.py
build/overcloud-opendaylight.sh
lib/ansible/playbooks/post_deploy_overcloud.yml

index ef916a4..c0e9968 100644 (file)
@@ -11,7 +11,6 @@ import base64
 import fileinput
 import logging
 import os
-import re
 import shutil
 import uuid
 import struct
@@ -175,8 +174,18 @@ def prep_image(ds, img, tmp_dir, root_pw=None):
         }])
 
     if ds_opts['vpn']:
-        virt_cmds.append({con.VIRT_RUN_CMD: "systemctl enable zrpcd"})
-        logging.info("ZRPC and Quagga enabled")
+        virt_cmds.append({con.VIRT_RUN_CMD: "chmod +x /etc/rc.d/rc.local"})
+        virt_cmds.append({
+            con.VIRT_RUN_CMD:
+                "echo '/opt/quagga/etc/init.d/zrpcd start' > "
+                "/opt/quagga/etc/init.d/zrpcd_start.sh"})
+        virt_cmds.append({
+            con.VIRT_RUN_CMD: "chmod +x /opt/quagga/etc/init.d/"
+                              "zrpcd_start.sh"})
+        virt_cmds.append({
+            con.VIRT_RUN_CMD: "sed -i '$a /opt/quagga/etc/"
+                              "init.d/zrpcd_start.sh' /etc/rc.local "})
+        logging.info("ZRPCD process started")
 
     dataplane = ds_opts['dataplane']
     if dataplane == 'ovs_dpdk' or dataplane == 'fdio':
index ed3f539..024c6a5 100755 (executable)
@@ -99,14 +99,13 @@ LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
 if [ "$(uname -i)" == 'x86_64' ]; then
 
 # Download quagga/zrpc rpms
-populate_cache http://artifacts.opnfv.org/apex/danube/quagga/quagga-3.tar.gz
+populate_cache http://artifacts.opnfv.org/apex/euphrates/quagga/quagga-4.tar.gz
 
 LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --install zeromq-4.1.4 \
-    --upload ${CACHE_DIR}/quagga-3.tar.gz:/root/ \
-    --run-command "cd /root/ && tar xzf quagga-3.tar.gz" \
+    --upload ${CACHE_DIR}/quagga-4.tar.gz:/root/ \
+    --run-command "cd /root/ && tar xzf quagga-4.tar.gz" \
     --run-command "cd /root/quagga; packages=\$(ls |grep -vE 'debuginfo|devel|contrib'); yum -y install \$packages" \
-    --run-command "sudo usermod -a -G quaggavt quagga" \
     -a overcloud-full-opendaylight_build.qcow2
 fi
 
index 5640e90..af1c648 100644 (file)
       when:
         - sfc
         - "'controller' in ansible_hostname"
-    - name: Ensure ZRPCD is up
-      systemd:
-        name: zrpcd
-        state: started
-        enabled: yes
-      become: yes
+    - name: Ensure ZRPCD is running
+      shell: ps aux | grep zrpcd | grep -v grep
+      ignore_errors: yes
+      changed_when: false
+      register: zrpcd_status
+      failed_when: zrpcd_status.rc == 0
       when:
         - vpn
         - "'controller-0' in ansible_hostname"