[INT] Adding deployments scripts for ONAP on AKS

Patch 2 - updating readme and removing dash character from BUILD parameter
Patch 3 - updating image url to amd instead of arm, fixing NFS os disk parameter

Issue-ID: INT-1270
Signed-off-by: stark, steven <steven.stark@att.com>
Change-Id: I1d8824b3c098855c9094e27fad8c820e4df42677
diff --git a/deployment/aks/create_nfs.sh b/deployment/aks/create_nfs.sh
new file mode 100755
index 0000000..8262d1e
--- /dev/null
+++ b/deployment/aks/create_nfs.sh
@@ -0,0 +1,237 @@
+#!/bin/bash
+# Copyright 2019 AT&T Intellectual Property. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+NO_PROMPT=0
+RANDOM_PREFIX="ONAP"
+RANDOM_STRING="$RANDOM_PREFIX"-`cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-zA-Z0-9' | head -c 4`
+
+
+NFS_NAME=
+NFS_RG=
+NFS_VM_SIZE=
+NFS_LOCATION=
+SUBNET_CIDR=
+ADMIN_USER=
+BUILD_DIR=
+NFS_VNET_NAME=
+PUBLIC_KEY=
+USER_PUBLIC_IP_PREFIX=
+NFS_SUBNET_NAME=
+AKS_POD_CIDR=
+NFS_DISK_SIZE=
+
+function check_required_parameter() {
+  # arg1 = parameter
+  # arg2 = parameter name
+  if [ -z "$1" ]; then
+    echo "$2 was not was provided. This parameter is required."
+    exit 1
+  fi
+}
+
+function check_optional_paramater() {
+  # arg1 = parameter
+  # arg2 = parameter name
+  if [ -z "$1" ]; then
+    echo "$2"
+  else
+    echo "$1"
+  fi
+}
+
+
+while test $# -gt 0; do
+  case "$1" in
+    -h|--help)
+      echo "./create_nfs.sh [options]"
+      echo " "
+      echo " "
+      echo "required:"
+      echo "--public-key                public key to add for admin user [required]"
+      echo "--user-public-ip            public ip that will be granted access to VM [required]"
+      echo "-l, --location              location to deploy VM [required]"
+      echo "-u, --admin-user            admin user to create on VM [required]"
+      echo "--aks-node-cidr             CIDR for Kubernetes nodes [required]. This is used during the NFS deploy to grant access to the NFS server from Kubernetes."
+      echo " "
+      echo "additional options:"
+      echo "-f, --no-prompt             executes with no prompt for confirmation"
+      echo "-h, --help                  provide brief overview of script"
+      echo "-n, --name                  VM name [optional]"
+      echo "-g, --resource-group        resource group that will be created [optional]"
+      echo "-s, --size                  Azure flavor size for VM [optional]"
+      echo "-c, --cidr                  cidr for VNET to create for VM [optional]."
+      echo "-d, --directory             directory to store cloud config data [optional]"
+      echo "--vnet-name                 name of Vnet to create for VM [optional]"
+      echo "--nfs-subnet-name           subnet name created on VNET [optional]"
+      echo "--nfs-disk-size             size of external disk to be mounted on NFS VM [optional]"
+      echo ""
+      exit 0
+      ;;
+    -f|--no-prompt)
+      shift
+      NO_PROMPT=1
+      ;;
+    -n|--name)
+      shift
+      NFS_NAME=$1
+      shift
+      ;;
+    -g|--resource-group)
+      shift
+      NFS_RG=$1
+      shift
+      ;;
+    -s|--size)
+      shift
+      NFS_VM_SIZE=$1
+      shift
+      ;;
+    -l|--location)
+      shift
+      NFS_LOCATION=$1
+      shift
+      ;;
+    -c|--cidr)
+      shift
+      SUBNET_CIDR=$1
+      shift
+      ;;
+    -u|--admin-user)
+      shift
+      ADMIN_USER=$1
+      shift
+      ;;
+    -d|--directory)
+      shift
+      BUILD_DIR=$1
+      shift
+      ;;
+    --vnet-name)
+      shift
+      NFS_VNET_NAME=$1
+      shift
+      ;;
+    --public-key)
+      shift
+      PUBLIC_KEY=$1
+      shift
+      ;;
+    --user-public-ip)
+      shift
+      USER_PUBLIC_IP_PREFIX=$1
+      shift
+      ;;
+    --aks-node-cidr)
+      shift
+      AKS_POD_CIDR=$1
+      shift
+      ;;
+    --nfs-subnet-name)
+      shift
+      NFS_SUBNET_NAME=$1
+      shift
+      ;;
+    --nfs-disk-size)
+      shift
+      NFS_DISK_SIZE=$1
+      shift
+      ;;
+    *)
+      echo "Unknown Argument $1. Try running with --help."
+      exit 0
+      ;;
+  esac
+done
+
+check_required_parameter "$ADMIN_USER" "--admin-user"
+check_required_parameter "$PUBLIC_KEY" "--public-key"
+check_required_parameter "$NFS_LOCATION" "--location"
+check_required_parameter "$USER_PUBLIC_IP_PREFIX" "--user-public-ip"
+check_required_parameter "$AKS_POD_CIDR" "--aks-node-cidr"
+
+NFS_RG=$(check_optional_paramater "$NFS_RG" $RANDOM_STRING"-NFS-RG")
+NFS_NAME=$(check_optional_paramater "$NFS_NAME" $RANDOM_STRING"-NFS")
+NFS_VM_SIZE=$(check_optional_paramater "$NFS_VM_SIZE" "Standard_DS4_v2")
+SUBNET_CIDR=$(check_optional_paramater "$SUBNET_CIDR" "174.0.0.0/24")
+BUILD_DIR=$(check_optional_paramater "$BUILD_DIR" /tmp/nfs-$RANDOM_STRING)
+NFS_VNET_NAME=$(check_optional_paramater "$NFS_VNET_NAME" $RANDOM_STRING"-NFS-VNET")
+NFS_SUBNET_NAME=$(check_optional_paramater "$NFS_SUBNET_NAME" $RANDOM_STRING"-NFS-VNET-SUBNET")
+NFS_DISK_SIZE=$(check_optional_paramater "$NFS_DISK_SIZE" "256")
+
+if [ $NO_PROMPT = 0 ]; then
+  read -p "Would you like to proceed? [y/n]" -n 1 -r
+  echo " "
+  if [[ ! $REPLY =~ ^[Yy]$ ]]
+  then
+      exit 0
+  fi
+fi
+
+set -x 
+set -e 
+
+NFS_IMAGE="UbuntuLTS"
+NFS_SECURITY_GROUP=$NFS_NAME"-SG"
+DATA_FILE=$BUILD_DIR/cloud-cfg.yaml
+
+if [ ! -d $BUILD_DIR ]; then
+  echo "running script standalone..."
+  mkdir -p "$BUILD_DIR"
+fi
+
+$DIR/create_resource_group.sh "$NFS_RG" "$NFS_LOCATION"
+
+cat > $DATA_FILE <<EOF
+#cloud-config
+package_upgrade: true
+packages:
+  - nfs-kernel-server
+  - portmap
+runcmd:
+  - echo "/dockerdata-nfs $AKS_POD_CIDR(rw,async,no_root_squash,no_subtree_check)" >> /etc/exports
+  - mkdir /dockerdata-nfs
+  - chmod 777 -R /dockerdata-nfs
+  - chown nobody:nogroup /dockerdata-nfs
+  - exportfs -ra
+  - systemctl restart nfs-kernel-server
+EOF
+
+az network nsg create --resource-group "$NFS_RG" \
+                      --name "$NFS_SECURITY_GROUP"
+
+$DIR/create_sg_rule.sh "$NFS_RG" "$NFS_SECURITY_GROUP" '*' "22" "$USER_PUBLIC_IP_PREFIX" '*' '*' "SSH" "100"
+
+az vm create --name "$NFS_NAME" \
+             --resource-group "$NFS_RG" \
+             --size "$NFS_VM_SIZE" \
+             --os-disk-size-gb "$NFS_DISK_SIZE" \
+             --admin-username "$ADMIN_USER" \
+             --ssh-key-value @"$PUBLIC_KEY" \
+             --image "UbuntuLTS" \
+             --location "$NFS_LOCATION" \
+             --subnet-address-prefix "$SUBNET_CIDR" \
+             --subnet "$NFS_SUBNET_NAME" \
+             --vnet-address-prefix "$SUBNET_CIDR" \
+             --vnet-name "$NFS_VNET_NAME" \
+             --custom-data "$DATA_FILE" \
+             --nsg "$NFS_SECURITY_GROUP"
+echo ""
+
+az network vnet subnet update --resource-group "$NFS_RG" \
+                              --name "$NFS_SUBNET_NAME" \
+                              --vnet-name "$NFS_VNET_NAME" \
+                              --network-security-group "$NFS_SECURITY_GROUP"
+