Merge branch 'master' into v7.0

* c491f45 (origin/master, origin/HEAD, master) fix 1005 adding SDN onos_vpls to RO packages
* 7bcadc5 install_osm: fix RELEASE, REPOSITORY and DOCKER_TAG vars
* 25e87d2 install_osm.sh: clean deb repos, but do not remove packages
* ae0784f Remove the old osm package at install time
* d7b6ab0 Bug 873 - Robot Automation improvement: Verify NS Instance updated as per changes in osmclient

Change-Id: I8b65de5e0d0628568de626e09d5c22ed4d135ebb
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/docker/RO/Dockerfile b/docker/RO/Dockerfile
index 3020e35..262e99d 100644
--- a/docker/RO/Dockerfile
+++ b/docker/RO/Dockerfile
@@ -24,7 +24,7 @@
     && python3 -m pip install --upgrade pip && python3 -m pip install pyangbind
 
 ARG REPOSITORY_BASE=http://osm-download.etsi.org/repository/osm/debian
-ARG RELEASE=ReleaseFOUR-daily
+ARG RELEASE=ReleaseSEVEN-daily
 ARG REPOSITORY_KEY=OSM%20ETSI%20Release%20Key.gpg
 ARG REPOSITORY=testing
 
@@ -37,6 +37,7 @@
 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y python3-osm-ro${RO_VERSION} python3-osm-im${IM_VERSION} \
     python3-osm-roclient${RO_VERSION} \
     python3-osm-rosdn-tapi${RO_VERSION} python3-osm-rosdn-dynpac${RO_VERSION} python3-osm-rosdn-onosof${RO_VERSION} \
+    python3-osm-rosdn-onos-vpls${RO_VERSION} \
     python3-osm-rovim-vmware${RO_VERSION} python3-osm-rovim-openstack${RO_VERSION} \
     python3-osm-rovim-openvim${RO_VERSION} python3-osm-rovim-azure${RO_VERSION} \
     python3-osm-rovim-aws${RO_VERSION} python3-osm-rovim-fos${RO_VERSION} python3-osm-rovim-opennebula${RO_VERSION}
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index ec68238..ed4d2a4 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -1494,11 +1494,8 @@
 K8S_MANIFEST_DIR="/etc/kubernetes/manifests"
 RE_CHECK='^[a-z0-9]([-a-z0-9]*[a-z0-9])?$'
 
-while getopts ":hy-:b:r:c:k:u:R:l:p:D:o:m:H:S:s:w:t:U:P:A:" o; do
+while getopts ":b:r:c:k:u:R:l:p:D:o:m:H:S:s:w:t:U:P:A:-: hy" o; do
     case "${o}" in
-        h)
-            usage && exit 0
-            ;;
         b)
             COMMIT_ID=${OPTARG}
             PULL_IMAGES=""
@@ -1513,10 +1510,6 @@
             echo -e "Invalid argument for -i : ' $OPTARG'\n" >&2
             usage && exit 1
             ;;
-        R)
-            RELEASE="${OPTARG}"
-            REPO_ARGS+=(-R "$RELEASE")
-            ;;
         k)
             REPOSITORY_KEY="${OPTARG}"
             REPO_ARGS+=(-k "$REPOSITORY_KEY")
@@ -1525,8 +1518,9 @@
             REPOSITORY_BASE="${OPTARG}"
             REPO_ARGS+=(-u "$REPOSITORY_BASE")
             ;;
-        U)
-            DOCKER_USER="${OPTARG}"
+        R)
+            RELEASE="${OPTARG}"
+            REPO_ARGS+=(-R "$RELEASE")
             ;;
         l)
             LXD_REPOSITORY_BASE="${OPTARG}"
@@ -1537,29 +1531,6 @@
         D)
             OSM_DEVOPS="${OPTARG}"
             ;;
-        s)
-            OSM_STACK_NAME="${OPTARG}" && [ -n "$KUBERNETES" ] && [[ ! "${OPTARG}" =~ $RE_CHECK ]] && echo "Namespace $OPTARG is invalid. Regex used for validation is $RE_CHECK" && exit 0
-            ;;
-        H)
-            OSM_VCA_HOST="${OPTARG}"
-            ;;
-        S)
-            OSM_VCA_SECRET="${OPTARG}"
-            ;;
-        P)
-            OSM_VCA_PUBKEY=$(cat ${OPTARG})
-            ;;
-        A)
-            OSM_VCA_APIPROXY="${OPTARG}"
-            ;;
-        w)
-            # when specifying workdir, do not use sudo for access
-            WORKDIR_SUDO=
-            OSM_WORK_DIR="${OPTARG}"
-            ;;
-        t)
-            OSM_DOCKER_TAG="${OPTARG}"
-            ;;
         o)
             INSTALL_ONLY="y"
             [ "${OPTARG}" == "vimemu" ] && INSTALL_VIMEMU="y" && continue
@@ -1580,6 +1551,32 @@
             [ "${OPTARG}" == "GRAFANA" ] && TO_REBUILD="$TO_REBUILD GRAFANA" && continue
             [ "${OPTARG}" == "NONE" ] && TO_REBUILD="$TO_REBUILD NONE" && continue
             ;;
+        H)
+            OSM_VCA_HOST="${OPTARG}"
+            ;;
+        S)
+            OSM_VCA_SECRET="${OPTARG}"
+            ;;
+        s)
+            OSM_STACK_NAME="${OPTARG}" && [ -n "$KUBERNETES" ] && [[ ! "${OPTARG}" =~ $RE_CHECK ]] && echo "Namespace $OPTARG is invalid. Regex used for validation is $RE_CHECK" && exit 0
+            ;;
+        w)
+            # when specifying workdir, do not use sudo for access
+            WORKDIR_SUDO=
+            OSM_WORK_DIR="${OPTARG}"
+            ;;
+        t)
+            OSM_DOCKER_TAG="${OPTARG}"
+            ;;
+        U)
+            DOCKER_USER="${OPTARG}"
+            ;;
+        P)
+            OSM_VCA_PUBKEY=$(cat ${OPTARG})
+            ;;
+        A)
+            OSM_VCA_APIPROXY="${OPTARG}"
+            ;;
         -)
             [ "${OPTARG}" == "help" ] && usage && exit 0
             [ "${OPTARG}" == "source" ] && INSTALL_FROM_SOURCE="y" && PULL_IMAGES="" && continue
@@ -1609,10 +1606,17 @@
             echo -e "Invalid option: '--$OPTARG'\n" >&2
             usage && exit 1
             ;;
+        :)
+            echo "Option -$OPTARG requires an argument" >&2
+            usage && exit 1
+            ;;
         \?)
             echo -e "Invalid option: '-$OPTARG'\n" >&2
             usage && exit 1
             ;;
+        h)
+            usage && exit 0
+            ;;
         y)
             ASSUME_YES="y"
             ;;
diff --git a/installers/install_osm.sh b/installers/install_osm.sh
index 7212922..01d96e9 100755
--- a/installers/install_osm.sh
+++ b/installers/install_osm.sh
@@ -13,9 +13,9 @@
 #   limitations under the License.
 #
 REPOSITORY_BASE=https://osm-download.etsi.org/repository/osm/debian
-RELEASE=ReleaseSEVEN-daily
-REPOSITORY=testing
-DOCKER_TAG=releaseseven
+RELEASE=ReleaseSEVEN
+REPOSITORY=stable
+DOCKER_TAG=7
 
 function usage(){
     echo -e "usage: $0 [OPTIONS]"
@@ -61,6 +61,7 @@
     echo -e "     --nat:          (only for Rel THREE with --soui) install only NAT rules"
     echo -e "     --noconfigure:  (only for Rel THREE with --soui) DO NOT install osmclient, DO NOT install NAT rules, DO NOT configure modules"
     echo -e "     --showopts:     print chosen options and exit (only for debugging)"
+    #echo -e "     --clean_volumes To clear all the mounted volumes from docker swarm"
     echo -e "     -y:             do not prompt for confirmation, assumes yes"
     echo -e "     -h / --help:    print this help"
 }
@@ -90,11 +91,16 @@
   return 1
 }
 
-while getopts ":hr:R:u:t:-:" o; do
+clean_old_repo() {
+dpkg -s 'osm-devops' &> /dev/null
+if [ $? -eq 0 ]; then
+  # Clean the previous repos that might exist
+  sudo sed -i "/osm-download.etsi.org/d" /etc/apt/sources.list
+fi
+}
+
+while getopts ":b:r:c:k:u:R:l:p:D:o:m:H:S:s:w:t:U:P:A:-: hy" o; do
     case "${o}" in
-        h)
-            usage && exit 0
-            ;;
         r)
             REPOSITORY="${OPTARG}"
             ;;
@@ -105,17 +111,28 @@
             REPOSITORY_BASE="${OPTARG}"
             ;;
         t)
-            OSM_DOCKER_TAG="${OPTARG}"
+            DOCKER_TAG="${OPTARG}"
             ;;
         -)
             [ "${OPTARG}" == "help" ] && usage && exit 0
-            continue
 	    ;;
+        :)
+            echo "Option -$OPTARG requires an argument" >&2
+            usage && exit 1
+            ;;
+        \?)
+            echo -e "Invalid option: '-$OPTARG'\n" >&2
+            usage && exit 1
+            ;;
+        h)
+            usage && exit 0
+            ;;
         *)
             ;;
     esac
 done
 
+clean_old_repo
 add_repo "deb [arch=amd64] $REPOSITORY_BASE/$RELEASE $REPOSITORY devops"
 sudo DEBIAN_FRONTEND=noninteractive apt-get -q update
 sudo DEBIAN_FRONTEND=noninteractive apt-get install osm-devops
diff --git a/robot-systest/lib/cli/ns_lib.robot b/robot-systest/lib/cli/ns_lib.robot
index f6bee41..254bc6a 100644
--- a/robot-systest/lib/cli/ns_lib.robot
+++ b/robot-systest/lib/cli/ns_lib.robot
@@ -115,7 +115,7 @@
     ${rc}   ${stdout}=      Run and Return RC and Output    osm ns-list --filter name="${ns_name}"
     log     ${stdout}
     Should Be Equal As Integers    ${rc}    ${success_return_code}
-    Should Contain Any      ${stdout}   configured    failed
+    Should Contain Any      ${stdout}   READY    BROKEN
 
 
 Check For NS Instance For Failure
@@ -124,7 +124,7 @@
     ${rc}   ${stdout}=      Run and Return RC and Output    osm ns-list --filter name="${ns_name}"
     log     ${stdout}
     Should Be Equal As Integers    ${rc}    ${success_return_code}
-    Should Not Contain      ${stdout}   failed
+    Should Not Contain      ${stdout}   BROKEN
 
 
 Check For NS Instance To Be Delete