diff --git a/README.md b/README.md
index 16ab5cc..1b9d133 100644
--- a/README.md
+++ b/README.md
@@ -58,10 +58,11 @@
 WITH_BBSIM=yes voltha up
 ```
 
-| OPTION                        | DEFAULT                      | DESCRIPTION                                                                         |
-| ----------------------------- | ---------------------------- | ----------------------------------------------------------------------------------- |
+| OPTION                          | DEFAULT                      | DESCRIPTION                                                                         |
+| ------------------------------- | ---------------------------- | ----------------------------------------------------------------------------------- |
 | `TYPE`                          | minimal                      | `minimal` or `full` and determines number of cluster nodes and etcd cluster members |
 | `WITH_BBSIM`                    | no                           | Should the BBSIM POD be deployed?                                                   |
+| `WITH_RADIUS`                   | no                           | Should `freeradius` service be deployed?                                            |
 | `JUST_K8S`                      | no                           | Should just the KinD Kubernetes cluster be depoyed? (i.e. no VOLTHA)                |
 | `DEPLOY_K8S`                    | yes                          | Should the KinD Kubernetes cluster be deployed?                                     |
 | `SKIP_RESTART_API`              | no                           | Should the VOLTHA API service be restarted after install to avoid known bug?        |
diff --git a/onos-files/radius-config.json b/onos-files/radius-config.json
new file mode 100644
index 0000000..e8c3803
--- /dev/null
+++ b/onos-files/radius-config.json
@@ -0,0 +1,12 @@
+{
+  "apps": {
+    "org.opencord.aaa": {
+      "AAA": {
+        "radiusIp": ":RADIUS_IP:",
+        "nasIp": ":RADIUS_IP:",
+        "radiusServerPort": "1812",
+        "radiusSecret": "SECRET"
+      }
+    }
+  }
+}
diff --git a/voltha b/voltha
index 1338914..33ec1eb 100755
--- a/voltha
+++ b/voltha
@@ -42,17 +42,18 @@
 
 TYPE=${TYPE:-minimal}
 WITH_BBSIM=${WITH_BBSIM:-no}
+WITH_RADIUS=${WITH_RADIUS:-no}
 JUST_K8S=${JUST_K8S:-no}
 DEPLOY_K8S=${DEPLOY_K8S:-yes}
 SKIP_RESTART_API=${SKIP_RESTART_API:-no}
 INSTALL_KUBECTL=${INSTALL_KUBECTL:-yes}
 INSTALL_HELM=${INSTALL_HELM:-yes}
+USE_GO=${USE_GO:-yes}
+VOLTHA_LOG_LEVEL=${VOLTHA_LOG_LEVEL:-WARN}
 VOLTHA_CHART=${VOLTHA_CHART:=onf/voltha}
 VOLTHA_ADAPTER_SIM_CHART=${VOLTHA_ADAPTER_SIM_CHART:-onf/voltha-adapter-simulated}
 VOLTHA_ADAPTER_OPEN_OLT_CHART=${VOLTHA_ADAPTER_OPEN_OLT_CHART:-onf/voltha-adapter-openolt}
 VOLTHA_ADAPTER_OPEN_ONU_CHART=${VOLTHA_ADAPTER_OPEN_ONU_CHART:-onf/voltha-adapter-openonu}
-VOLTHA_LOG_LEVEL=${VOLTHA_LOG_LEVEL:-WARN}
-USE_GO=${USE_GO:-yes}
 
 HAVE_GO=$(which go >/dev/null 2>&1 && echo "yes" || echo "no")
 HOSTOS=$(uname -s | tr "[:upper:]" "[:lower:"])
@@ -78,6 +79,17 @@
     WITH_BBSIM=no
 fi
 
+# Verify WITH_RADIUS settting and convert uniform value of yes or no
+if [ $(echo ":y:yes:true:n:no:false:1:0:" | grep -ic ":$WITH_RADIUS:") -eq 0 ]; then
+    >&2 echo -e "${RED}${BOLD}${ERROR}ERROR:${NORMAL}${RED} Invalid \$WITH_RADIUS value of '$WITH_RADIUS'. Should be 'yes' or 'no'${NORMAL}"
+    exit 1
+fi
+if [ $(echo ":y:yes:true:1:" | grep -ic ":$WITH_RADIUS:") -eq 1 ]; then
+    WITH_RADIUS=yes
+else
+    WITH_RADIUS=no
+fi
+
 # Verify JUST_K8S settting and convert uniform value of yes or no
 if [ $(echo ":y:yes:true:n:no:false:1:0:" | grep -ic ":$JUST_K8S:") -eq 0 ]; then
     >&2 echo -e "${RED}${BOLD}${ERROR}ERROR:${NORMAL}${RED} Invalid \$JUST_K8S value of '$JUST_K8S'. Should be 'yes' or 'no'${NORMAL}"
@@ -177,7 +189,7 @@
         fi
     else
         EXISTS=$(helm list -q)
-        EXPECT="etcd-operator onos open-olt open-onu sim voltha bbsim"
+        EXPECT="etcd-operator onos open-olt open-onu sim voltha bbsim radius"
         INTERSECT=
         for i in $EXISTS; do
             if [ $(echo $EXPECT | grep -c $i) -eq 1 ]; then
@@ -198,17 +210,18 @@
 echo "OPTIONS" >> $LOG
 echo "    TYPE                          = $TYPE" >> $LOG
 echo "    WITH_BBSIM                    = $WITH_BBSIM" >> $LOG
+echo "    WITH_RADIUS                   = $WITH_RADIUS" >> $LOG
 echo "    JUST_K8S                      = $JUST_K8S" >> $LOG
 echo "    DEPLOY_K8S                    = $DEPLOY_K8S" >> $LOG
 echo "    SKIP_RESTART_API              = $SKIP_RESTART_API" >> $LOG
 echo "    INSTALL_KUBECTL               = $INSTALL_KUBECTL" >> $LOG
 echo "    INSTALL_HELM                  = $INSTALL_HELM" >> $LOG
+echo "    USE_GO                        = $(echo $USE_GO | test $(grep -c true) -eq 1 && echo yes || echo no)" >> $LOG
+echo "    VOLTHA_LOG_LEVEL              = $VOLTHA_LOG_LEVEL" >> $LOG
 echo "    VOLTHA_CHART                  = $VOLTHA_CHART" >> $LOG
 echo "    VOLTHA_ADAPTER_SIM_CHART      = $VOLTHA_ADAPTER_SIM_CHART" >> $LOG
 echo "    VOLTHA_ADAPTER_OPEN_OLT_CHART = $VOLTHA_ADAPTER_OPEN_OLT_CHART" >> $LOG
 echo "    VOLTHA_ADAPTER_OPEN_ONU_CHART = $VOLTHA_ADAPTER_OPEN_ONU_CHART" >> $LOG
-echo "    VOLTHA_LOG_LEVEL              = $VOLTHA_LOG_LEVEL" >> $LOG
-echo "    USE_GO                        = $(echo $USE_GO | test $(grep -c true) -eq 1 && echo yes || echo no)" >> $LOG
 
 spin() {
     PARTS="\
@@ -261,6 +274,7 @@
 DOWNLOAD="\xf0\x9f\x93\xa5"
 GEAR="\xe2\x9a\x99"
 NO_ENTRY="\xe2\x9b\x94"
+LOCK="\xf0\x9f\x94\x92"
 
 bspin() {
     tput civis
@@ -594,7 +608,7 @@
 if [ ! -x ./onos-files/install-onos-applications.sh ]; then
     bspin - "Verify or download ONOS configuration support files $DOWNLOAD"
     (set -x; mkdir -p ./onos-files  >>$LOG 2>&1) >>$LOG 2>&1
-    for i in dhcp-to-controller-flow.json install-onos-applications.sh olt-onos-enableExtraneousRules.json olt-onos-netcfg.json olt-onos-olt-settings.json; do
+    for i in dhcp-to-controller-flow.json install-onos-applications.sh olt-onos-enableExtraneousRules.json olt-onos-netcfg.json olt-onos-olt-settings.json radius-config.json; do
         if [ ! -r ./onos-files/$i ]; then
             (set -x; curl -o ./onos-files/$i -sSL https://raw.githubusercontent.com/ciena/kind-voltha/master/onos-files/$i >>$LOG 2>&1) >>$LOG 2>&1
         fi
@@ -655,7 +669,7 @@
 
 if [ $WITH_BBSIM == "yes" ]; then
     echo -e "Verify BBSIM $PLUG"
-    bspin - "Verify BBSIM Insalled"
+    bspin - "Verify BBSIM Installed"
     if [ $(helm list --deployed --short --namespace voltha "^bbsim\$" | wc -l) -ne 1 ]; then
         espin - $NOT_VERIFIED
         helm_install - voltha bbsim onf/bbsim "Install BBSIM"
@@ -665,6 +679,18 @@
     wait_for_pods - "voltha" 1 -1 "Waiting for BBSIM to start" "bbsim-.*"
 fi
 
+if [ $WITH_RADIUS == "yes" ]; then
+    echo -e "Verify RADIUS $LOCK"
+    bspin - "Verify RADIUS Installed"
+    if [ $(helm list --deployed --short --namespace voltha "^radius\$" | wc -l) -ne 1 ]; then
+        espin - $NOT_VERIFIED
+        helm_install - voltha radius onf/freeradius "Install RADIUS"
+    else
+        espin - $VERIFIED
+    fi
+    wait_for_pods - "voltha" 1 -1 "Waiting for RADIUS to start" "radius-.*"
+fi
+
 if [ $SKIP_RESTART_API == "no" ]; then
     echo -e "Restart VOLTHA API $RESTART"
     API="voltha-api-server-.* ofagent-.*"
@@ -686,10 +712,16 @@
 (set -x; screen -dmS voltha-ssh-$TYPE kubectl port-forward -n voltha service/voltha-cli $VOLTHA_SSH_PORT:5022 >>$LOG 2>&1) >>$LOG 2>&1
 espin - $VERIFIED
 
-bspin - "Create voltctl configuration file"
+if [ $WITH_RADIUS == "yes" ]; then
+    bspin "Configure ONOS RADIUS Connection $GEAR"
+    (set -x; cat onos-files/radius-config.json | sed -e "s/:RADIUS_IP:/$(kubectl -n voltha get service/radius -o jsonpath={.spec.clusterIP})/g" | curl -XPOST -sSL http://karaf:karaf@localhost:8181/onos/v1/network/configuration -H Content-type:application/json -d@- >>$LOG 2>&1) >>$LOG 2>&1
+    espin $VERIFIED
+fi
+
+bspin "Create voltctl configuration file"
 (set -x; mkdir -p $HOME/.volt >>$LOG 2>&1) >>$LOG 2>&1
 (set -x; voltctl -a v2 -s localhost:$VOLTHA_API_PORT config > $HOME/.volt/config-$TYPE 2>>$LOG) >>$LOG 2>&1
-espin - $VERIFIED
+espin $VERIFIED
 
 echo ""
 echo "Please issue the following commands in your terminal to ensure that you" | tee -a $LOG
