Merge "Prevent triggering unnecessary genesis jobs when docs change"
authorTim Rozet <trozet@redhat.com>
Tue, 15 Sep 2015 21:03:11 +0000 (21:03 +0000)
committerGerrit Code Review <gerrit@172.30.200.206>
Tue, 15 Sep 2015 21:03:11 +0000 (21:03 +0000)
14 files changed:
docs/etc/opnfv-logo.png [moved from docs/jenkins-job-builder/opnfv-logo.png with 100% similarity]
docs/how-to-use-docs/documentation-example.rst [new file with mode: 0644]
docs/how-to-use-docs/index.rst [new file with mode: 0644]
docs/jenkins-job-builder/index.rst
docs/jenkins-job-builder/opnfv-jjb-usage.rst
jjb/compass4nfv/compass4nfv.yml [changed mode: 0755->0644]
jjb/functest/functest.yml
jjb/genesis/genesis-foreman.yml
jjb/genesis/genesis-fuel.yml
jjb/opnfv/opnfv-docs.yml [moved from jjb/releng/releng.yml with 69% similarity]
jjb/releng-jobs.yaml
jjb/yardstick/yardstick.yml
utils/docu-build-new.sh [moved from jjb/releng/docu-build-new.sh with 100% similarity]
utils/fetch_os_creds.sh

diff --git a/docs/how-to-use-docs/documentation-example.rst b/docs/how-to-use-docs/documentation-example.rst
new file mode 100644 (file)
index 0000000..afcf758
--- /dev/null
@@ -0,0 +1,86 @@
+.. two dots create a comment. please leave this logo at the top of each of your rst files.
+.. image:: ../etc/opnfv-logo.png 
+  :height: 40
+  :width: 200
+  :alt: OPNFV
+  :align: left
+.. these two pipes are to seperate the logo from the first title
+|
+|
+How to create documentation for your OPNFV project
+==================================================
+
+this is the directory structure of the docs/ directory that can be found in the root of your project directory
+
+.. code-block:: bash
+
+    ./etc
+    ./etc/opnfv-logo.png
+    ./etc/conf.py
+    ./how-to-use-docs
+    ./how-to-use-docs/documentation-example.rst
+    ./how-to-use-docs/index.rst
+
+To create your own documentation, Create any number of directories (depending on your need) and place in each of them an index.rst.
+This index file must refence your other rst files.
+
+* Here is an example index.rst
+
+.. code-block:: bash
+
+  Example Documentation table of contents
+  =======================================
+
+  Contents:
+
+  .. toctree::
+     :numbered:
+     :maxdepth: 4
+
+     documentation-example.rst
+
+  Indices and tables
+  ==================
+
+  * :ref:`search`
+
+  Revision: _sha1_
+
+  Build date: |today|
+
+
+The Sphinx Build
+================
+
+When you push documentation changes to gerrit a jenkins job will create html documentation.
+
+* Verify Jobs
+For verify jobs a link to the documentation will show up as a comment in gerrit for you to see the result.
+
+* Merge jobs
+
+Once you are happy with the look of your documentation you can submit the patchset the merge job will 
+copy the output of each documentation directory to http://artifacts.opnfv.org/$project/docs/$name_of_your_folder/index.html
+
+Here are some quick examples of how to use rst markup
+
+This is a headline::
+
+  here is some code, note that it is indented
+
+links are easy to add: Here is a link to sphinx, the tool that we are using to generate documetation http://sphinx-doc.org/
+
+* Bulleted Items
+
+  **this will be bold**
+
+.. code-block:: bash
+
+  echo "Heres is a code block with bash syntax highlighting"
+
+
+Leave these at the bottom of each of your documents they are used internally
+
+Revision: _sha1_
+
+Build date: |today|
diff --git a/docs/how-to-use-docs/index.rst b/docs/how-to-use-docs/index.rst
new file mode 100644 (file)
index 0000000..36710b3
--- /dev/null
@@ -0,0 +1,30 @@
+.. OPNFV Release Engineering documentation, created by
+   sphinx-quickstart on Tue Jun  9 19:12:31 2015.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+.. image:: ../etc/opnfv-logo.png
+  :height: 40
+  :width: 200
+  :alt: OPNFV
+  :align: left
+
+Example Documentation table of contents
+=======================================
+
+Contents:
+
+.. toctree::
+   :numbered:
+   :maxdepth: 4
+
+   documentation-example.rst
+
+Indices and tables
+==================
+
+* :ref:`search`
+
+Revision: _sha1_
+
+Build date: |today|
index 8c51a29..1ea4a95 100644 (file)
@@ -3,12 +3,15 @@
    You can adapt this file completely to your liking, but it should at least
    contain the root `toctree` directive.
 
-.. image:: opnfv-logo.png
+.. image:: ../etc/opnfv-logo.png
   :height: 40
   :width: 200
   :alt: OPNFV
   :align: left
 
+|
+|
+
 Release Engineering Project
 ===========================
 
index c640cc3..8e4a1a8 100644 (file)
@@ -1,9 +1,12 @@
-.. image:: opnfv-logo.png
+.. image:: ../etc/opnfv-logo.png
   :height: 40
   :width: 200
   :alt: OPNFV
   :align: left
 
+|
+|
+
 Creating/Configuring/Verifying Jenkins Jobs
 ============================================
 
old mode 100755 (executable)
new mode 100644 (file)
index 5b63366..468c062
@@ -8,7 +8,6 @@
     jobs:
         - 'compass-verify'
         - 'compass-verify-on-ericsson-node'
-        - 'compass-upload-iso'
         - 'compass-merge'
         - 'compass-daily-{stream}'
         - 'compass-build'
 
     flavor:
         - five:
-            conf: 'five'
+            conf: 'virtual_five'
             node: 'huawei-build'
         - cluster:
-            conf: 'cluster'
+            conf: 'virtual_cluster'
             node: 'huawei-build'
 
 
 ########################
 # job templates
 ########################
-- job-template:
-    name: 'compass-upload-iso'
-    project-type: freestyle
-    disabled: false
-
-    node: master
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - compass-parameter:
-             installer: '{installer}'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    builders:
-        - 'compass-copy-artifact'
-        - 'compass-upload-artifact'
-
 - job-template:
     name: 'compass-verify-on-ericsson-node'
 
     project-type: freestyle
 
-    disabled: false
+    disabled: true
 
     node: ericsson-build
 
 
     builders:
         - 'compass-build'
-
+        - 'compass-workspace-cleanup'
 
 - job-template:
     name: 'compass-verify'
             branch: 'master'
         - compass-parameter:
             installer: '{installer}'
-
+        - string:
+            name: FLAVOR_CONF
+            default: 'virtual_cluster'
+            description: ""
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
 
     builders:
         - 'compass-build'
-        #- 'compass-workspace-cleanup'
+        #- 'compass-deploy-virtual-flavor'
 
 - job-template:
     name: 'compass-merge'
             branch: 'master'
         - compass-parameter:
             installer: '{installer}'
+
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
 
     publishers:
         - trigger:
-            project: 'compass-deploy-virtual-five'
+            project: 'compass-build'
             threshold: SUCCESS
         - trigger:
             project: 'compass-deploy-virtual-cluster'
 
     project-type: freestyle
 
-    node: huawei-build
+    node: ericsson-build
 
     logrotate:
         daysToKeep: 30
 
     builders:
         - 'compass-build'
+        - 'compass-upload-artifact'
         - 'compass-workspace-cleanup'
 
-    publishers:
-        - archive:
-            artifacts: '$BUILD_DIRECTORY/*.*'
-            allow-empty: 'true'
-            fingerprint: true
-        - trigger:
-            project: 'compass-upload-iso'
-            threshold: SUCCESS
-
 - job-template:
     name: 'compass-deploy-virtual-{flavor}'
 
 
     builders:
         - 'compass-ci-preclean-workspace'
+        - 'compass-download-artifact'
         - 'compass-deploy-virtual-flavor'
 
 ########################
             description: "Installer to use."
         - string:
             name: BUILD_DIRECTORY
-            default: build_output
+            default: $WORKSPACE/build_output
             description: "Directory where the build artifact will be located upon the completion of the build."
         - string:
             name: CACHE_DIRECTORY
-            default: $HOME/opnfv/cache/$INSTALLER
+            default: $HOME/opnfv/cache/$PROJECT
             description: "Directory where the cache to be used during the build is located."
         - string:
             name: GIT_BASE
             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
         - string:
             name: GS_URL
-            default: artifacts.opnfv.org/$PROJECT/$INSTALLER
+            default: artifacts.opnfv.org/$PROJECT/
             description: "URL to Google Storage."
         - string:
-            name: INTERNAL_REPO
+            name: GS_URL_PROXY
+            default: build.opnfv.org/artifacts/$PROJECT/
+            description: "URL to Google Storage proxy"
+        - string:
+            name: INTERNAL_REPO_XA
             default: "root@192.168.127.11:~/xh/work/build/work"
             description: "Artifact Repository"
+
+
 ########################
 # builder macros
 ########################
-- builder:
-    name: compass-copy-artifact
-    builders:
-        - copyartifact:
-            project: "compass-build"
-            filter: "$BUILD_DIRECTORY/compass.iso, $BUILD_DIRECTORY/opnfv.properties"
-            target: ./
-            which-build: upstream-build
-            optional: true
-            flatten: true
-            parameter-filters: PUBLISH=true
-
-
 - builder:
     name: compass-merge
     builders:
             echo "Hello World!"
 
 
+
 - builder:
     name: 'compass-build'
     builders:
 
             # create the cache directory if it doesn't exist
             [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
+            [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY
 
             # set OPNFV_ARTIFACT_VERSION
             export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
 
             # start the build
-            cd $WORKSPACE/ci
-            ./build.sh
-            mkdir $WORKSPACE/$BUILD_DIRECTORY
-            mv $WORKSPACE/ci/work/compass.iso $WORKSPACE/$BUILD_DIRECTORY/
+            cd $WORKSPACE/
+            ./build.sh  --iso-dir $BUILD_DIRECTORY/ --iso-name compass.iso -c $CACHE_DIRECTORY
 
             # list the build artifacts
-            ls -al $WORKSPACE/$BUILD_DIRECTORY
+            ls -al $BUILD_DIRECTORY
 
             # save information regarding artifact into file
             (
                 echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
                 echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
                 echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
-                echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $WORKSPACE/$BUILD_DIRECTORY/compass.iso | cut -d' ' -f1)"
+                echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $BUILD_DIRECTORY/compass.iso | cut -d' ' -f1)"
                 echo "OPNFV_BUILD_URL=$BUILD_URL"
-            ) > $WORKSPACE/$BUILD_DIRECTORY/opnfv.properties
-
+            ) > $BUILD_DIRECTORY/opnfv.properties
             echo
             echo "--------------------------------------------------------"
             echo "Done!"
 
-- builder:
-    name: 'compass-deploy'
-    builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
-            set -o nounset
-            set -o pipefail
-
-            # log info to console
-            echo "Hello world!"
-
 - builder:
     name: 'compass-deploy-virtual-flavor'
     builders:
             echo "--------------------------------------------------------"
             echo
 
+            export ISO_URL=file://$BUILD_DIRECTORY/compass.iso
             cd $WORKSPACE
-            ./ci/deploy.sh $FLAVOR_CONF
-            # ssh -o BatchMode=yes -o TCPKeepAlive=yes cideploy@10.118.34.205 ./cideploy.sh
+            ./deploy.sh $FLAVOR_CONF
 
             echo
             echo "--------------------------------------------------------"
             echo
 
             # source the opnfv.properties to get ARTIFACT_VERSION
-            source $WORKSPACE/opnfv.properties
-
-            scp $WORKSPACE/compass.iso $INTERNAL_REPO/
-            scp $WORKSPACE/opnfv.properties $INTERNAL_REPO/
-            scp $WORKSPACE/compass.iso $INTERNAL_REPO/opnfv-$OPNFV_ARTIFACT_VERSION.iso
+            source $BUILD_DIRECTORY/opnfv.properties
 
             # upload artifact and additional files to google storage
-            gsutil cp $WORKSPACE/compass.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
-            gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
-            gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
+            gsutil cp $BUILD_DIRECTORY/compass.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
+            gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
+            gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
+
 
             echo
             echo "--------------------------------------------------------"
index 3a7b09e..9e3ff51 100644 (file)
             mkdir -p $HOME/functest/
 
             # source openstack vars
+            if [ ! -f $HOME/opnfv-openrc.sh ]; then
+                echo "Credentials file not found in "$HOME/opnfv-openrc.sh
+                exit 1
+            fi
+            echo "Sourcing the OpenStack credentials in"$HOME/opnfv-openrc.sh
             source $HOME/opnfv-openrc.sh
 
             # WORKSPACE is the root of the functest repo
             # prepare
             echo "Functest: prepare Functest environment"
             python $WORKSPACE/testcases/config_functest.py --debug $WORKSPACE/ start
+            if [ $? != 0 ]; then
+                echo "Error when configuring Functest environment"
+                exit 1
+            fi
 
             # vPing
             echo "Functest: run vPing"
index e447880..a7fdabf 100644 (file)
             # cleanup first
             sudo $WORKSPACE/common/ci/clean.sh -base_config $WORKSPACE/$INSTALLER/ci/inventory/lf_pod2_ksgen_settings.yml
 
+            echo "Sleeping for 60 seconds between clean and deploy to allow nodes to power off"
+            sleep 60
+
             # and then initiate deployment
             sudo $WORKSPACE/$INSTALLER/ci/deploy.sh -base_config $WORKSPACE/$INSTALLER/ci/inventory/lf_pod2_ksgen_settings.yml
 
index 97a6088..405fbc0 100644 (file)
         - 'fuel-upload-artifact'
         - 'fuel-workspace-cleanup'
 
+    publishers:
+        - email:
+            recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+
 - job-template:
     name: 'genesis-fuel-deploy-{stream}'
 
         - 'fuel-download-artifact'
         - 'fuel-deploy'
 
+    publishers:
+        - email:
+            recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+
 - job-template:
     name: 'genesis-fuel-lab-reconfig-{stream}'
 
             chmod a+x $TMPDIR
 
             # set CONFDIR, BRIDGE
-            export CONFDIR=$WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/pod2/ha
+            export CONFDIR=$WORKSPACE/fuel/deploy/templates/hardware_environment/old_conf/linux_foundation_lab/pod2/ha
             export BRIDGE=pxebr
 
             # cleanup first
 
             # start the deployment
             echo "Issuing command"
-            echo "sudo $WORKSPACE/fuel/ci/deploy.sh $WORKSPACE/opnfv.iso $CONFDIR/dea.yaml $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE"
-            sudo $WORKSPACE/fuel/ci/deploy.sh $WORKSPACE/opnfv.iso $CONFDIR/dea.yaml $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE
+            echo "sudo $WORKSPACE/fuel/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $CONFDIR/dea.yaml -dha $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE"
+            sudo $WORKSPACE/fuel/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $CONFDIR/dea.yaml -dha $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE
 
             echo
             echo "--------------------------------------------------------"
similarity index 69%
rename from jjb/releng/releng.yml
rename to jjb/opnfv/opnfv-docs.yml
index 87a73c4..4ed6bde 100644 (file)
@@ -1,15 +1,15 @@
 ########################
-# Job configuration for releng
+# Job configuration for opnfv-docs
 ########################
 - project:
 
-    name: releng
+    name: opnfv-docs
 
-    project: 'releng'
+    project: opnfv-docs
 
     jobs:
-        - 'releng-verify'
-        - 'releng-merge'
+        - 'opnfv-docs-verify'
+        - 'opnfv-docs-merge'
 
     # stream:    branch with - in place of / (eg. stable-arno)
     # branch:    branch (eg. stable/arno)
@@ -22,7 +22,7 @@
 ########################
 
 - job-template:
-    name: 'releng-verify'
+    name: 'opnfv-docs-verify'
 
     node: master
 
@@ -36,7 +36,7 @@
 
     parameters:
         - project-parameter:
-            project: '{project}'
+            project: $GERRIT_PROJECT
         - gerrit-parameter:
             branch: 'master'
 
                 - comment-added-contains-event:
                     comment-contains-value: 'reverify'
             projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
+              - project-compare-type: 'REG_EXP'
+#Left out arno projects oscar|octopus|functest|genesis|pharos|opnfvdocs
+                project-pattern: 'vswitchperf|yardstick|apex|availability|bottlenecks|compass4nfv|conductor|copper|doctor|dovetail|dpacc|escalator|fastpathmetrics|fuel|inspector|ipv6|joid|kvmfornfv|lsoapi|moon|movie|multisite|onosfw|ovsnfv|parser|prediction|promise|qtip|releng|rs|sfc|vnf_forwarding_graph'
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/master'
                 file-paths:
-                  - compare-type: ANT
-                    pattern: 'utils/**'
                   - compare-type: ANT
                     pattern: 'docs/**'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'jjb/**'
 
     builders:
-       - shell: 
-           !include-raw docu-build-new.sh
-
+       - shell:
+           !include-raw ../../utils/docu-build-new.sh
 
 - job-template:
-    name: 'releng-merge'
-
-    # builder-merge job to run JJB update
-    #
-    # This job's purpose is to update all the JJB
+    name: 'opnfv-docs-merge'
 
     node: master
 
 
     logrotate:
         daysToKeep: 30
-        numToKeep: 40
+        numToKeep: 10
         artifactDaysToKeep: -1
-        artifactNumToKeep: 5
+        artifactNumToKeep: -1
 
     parameters:
         - project-parameter:
-            project: '{project}'
+            project: $GERRIT_PROJECT
         - gerrit-parameter:
             branch: 'master'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            refspec: ''
-            choosing-strategy: 'default'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
 
     wrappers:
         - ssh-agent-credentials:
                 - comment-added-contains-event:
                     comment-contains-value: 'remerge'
             projects:
-              - project-compare-type: 'ANT'
+              - project-compare-type: 'REG_EXP'
                 project-pattern: 'releng'
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/master'
                 file-paths:
-                  - compare-type: ANT
-                    pattern: 'utils/**'
                   - compare-type: ANT
                     pattern: 'docs/**'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'jjb/**'
 
     builders:
-        - shell:
-            !include-raw docu-build-new.sh
+       - shell:
+           !include-raw ../../utils/docu-build-new.sh
index b028533..d732b1f 100644 (file)
@@ -57,9 +57,9 @@
                       pattern: jjb/**
                     - compare-type: ANT
                       pattern: jjb-templates/**
-                forbidden-file-paths:
                     - compare-type: ANT
                       pattern: utils/**
+                forbidden-file-paths:
                     - compare-type: ANT
                       pattern: docs/**
 
                 file-paths:
                     - compare-type: ANT
                       pattern: jjb/**
-                forbidden-file-paths:
                     - compare-type: ANT
                       pattern: utils/**
+                forbidden-file-paths:
                     - compare-type: ANT
                       pattern: docs/**
 
index 385099d..a961903 100644 (file)
             export OS_IMAGE_API_VERSION=1
 
             # Install required packages. 
-            # 'qemu-nbd' is needed when building the yardstick image. 
-            sudo yum -y install qemu-img
+            # 'libguestfs-tools' is needed when building the yardstick image.
+            sudo yum -y install libguestfs-tools
 
             # set virtualenv
             echo "Yardstick: setup virtualenv"
index e412ceb..cefc857 100755 (executable)
@@ -95,7 +95,7 @@ if [ "$installer_type" == "fuel" ]; then
     admin_ip=$(cat $dest_path | grep "OS_AUTH_URL" | sed 's/^.*\=//' | sed "s/^\([\"']\)\(.*\)\1\$/\2/g" | sed s'/\/$//')
     public_ip=$(sshpass -p r00tme ssh $ssh_options root@${installer_ip} \
         "ssh ${controller_ip} 'source openrc; keystone endpoint-list'" \
-        | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1)
+        | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1) &> /dev/null
         #| grep http | head -1 | cut -d '|' -f 4 | sed 's/v1\/.*/v1\//' | sed 's/ //g') &> /dev/null
     #NOTE: this is super ugly sed 's/v1\/.*/v1\//'OS_AUTH_URL
     # but sometimes the output of endpoint-list is like this: http://172.30.9.70:8004/v1/%(tenant_id)s
@@ -119,10 +119,11 @@ elif [ "$installer_type" == "foreman" ]; then
     sshpass -p vagrant scp $ssh_options root@${installer_ip}:~/keystonerc_admin $dest_path &> /dev/null
 
     #This file contains the mgmt keystone API, we need the public one for our rc file
+    admin_ip=$(cat $dest_path | grep "OS_AUTH_URL" | sed 's/^.*\=//' | sed "s/^\([\"']\)\(.*\)\1\$/\2/g" | sed s'/\/$//')
     public_ip=$(sshpass -p vagrant ssh $ssh_options root@${installer_ip} \
         "sshpass -p Op3nStack ssh $ssh_options root@${controller} \
         'source keystonerc_admin;keystone endpoint-list'" \
-        | grep http | head -1 | cut -d '|' -f 4 | sed 's/ //g') &> /dev/null
+        | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1) &> /dev/null
 
 elif [ "$installer_type" == "compass" ]; then
     #ip_compass="10.1.0.12"