Add fd.io cert manually to demo VNFs
[demo.git] / vnfs / vFW / scripts / v_packetgen_install_arm64.sh
index 8dee697..1c6e306 100755 (executable)
@@ -55,6 +55,12 @@ apt-get update
 apt-get install --allow-unauthenticated -y make wget openjdk-8-jdk gcc libcurl4-openssl-dev python-pip bridge-utils apt-transport-https ca-certificates
 pip install jsonschema
 
+# Install fd.io certificate
+HOST=nexus.fd.io
+PORT=443
+TRUST_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
+bash -c "echo -n | openssl s_client -showcerts -connect $HOST:$PORT 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> $TRUST_CERT_FILE"
+
 # Download code for packet generator
 mkdir /opt/honeycomb
 cd /opt
@@ -62,6 +68,7 @@ cd /opt
 unzip -p -j /opt/vfw-scripts-$INSTALL_SCRIPT_VERSION.zip v_packetgen_init_arm64.sh > /opt/v_packetgen_init.sh
 unzip -p -j /opt/vfw-scripts-$INSTALL_SCRIPT_VERSION.zip vpacketgen.sh > /opt/vpacketgen.sh
 unzip -p -j /opt/vfw-scripts-$INSTALL_SCRIPT_VERSION.zip run_traffic_fw_demo.sh > /opt/run_traffic_fw_demo.sh
+unzip -p -j /opt/vfw-scripts-$INSTALL_SCRIPT_VERSION.zip enable_disable_streams.sh > /opt/enable_disable_streams.sh
 wget -O sample-distribution-$DEMO_ARTIFACTS_VERSION-hc.tar.gz "${NEXUS_ARTIFACT_REPO}/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo.vnf&a=sample-distribution&c=hc&e=tar.gz&v=$DEMO_ARTIFACTS_VERSION"
 wget -O vfw_pg_streams-$DEMO_ARTIFACTS_VERSION-demo.tar.gz "${NEXUS_ARTIFACT_REPO}/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo.vnf.vfw&a=vfw_pg_streams&c=demo&e=tar.gz&v=$DEMO_ARTIFACTS_VERSION"
 
@@ -69,10 +76,12 @@ tar -zmxvf sample-distribution-$DEMO_ARTIFACTS_VERSION-hc.tar.gz
 tar -zmxvf vfw_pg_streams-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
 mv vfw_pg_streams-$DEMO_ARTIFACTS_VERSION pg_streams
 mv sample-distribution-$DEMO_ARTIFACTS_VERSION honeycomb
-sed -i 's/"restconf-binding-address": "127.0.0.1",/"restconf-binding-address": "0.0.0.0",/g' honeycomb/sample-distribution-$DEMO_ARTIFACTS_VERSION/config/honeycomb.json
+sed -i 's/"restconf-binding-address": "127.0.0.1",/"restconf-binding-address": "0.0.0.0",/g' honeycomb/sample-distribution-$DEMO_ARTIFACTS_VERSION/config/restconf.json
 rm *.tar.gz
 chmod +x v_packetgen_init.sh
 chmod +x vpacketgen.sh
+chmod +x run_traffic_fw_demo.sh
+chmod +x enable_disable_streams.sh
 
 # Install VPP
 rm /etc/apt/sources.list.d/99fd.io.list
@@ -82,6 +91,18 @@ apt-get update
 apt-get -o Dpkg::Options::="--force-overwrite" install -y vpp vpp-lib vpp-dbg vpp-plugins vpp-dev dpdk dpdk-dev dpdk-igb-uio-dkms dpdk-rte-kni-dkms honeycomb
 sleep 1
 
+# Install honeycomb restart script (workaround due to honeycomb shutdown: check every 5 minutes if it's still up)
+cat > /opt/start_honeycomb.sh <<EOF
+#!/bin/bash
+PID=$(ps -u root | grep java | awk '{printf $1}')
+if [[ -z $PID ]]; then
+  VERSION=$(cat /opt/config/demo_artifacts_version.txt)
+  bash /opt/honeycomb/sample-distribution-$VERSION/honeycomb &>/dev/null &disown
+fi
+EOF
+chmod +x /opt/start_honeycomb.sh
+(crontab -l 2>/dev/null; echo "*/5 * * * * bash /opt/start_honeycomb.sh") | crontab -
+
 # Run instantiation script
 cd /opt
 mv vpacketgen.sh /etc/init.d