Hello . I have been using rasa for a while and i am now trying to deploy rasa-x on a server using the Quick install script (Quick-Installation). I have been running into problems using this script and i didn’t manage to debug it by myself. So i come for advice.
The first mistake occurs when i run the script.
$curl -s get-rasa-x.rasa.com | sudo bash -x
+ set -e
+ DOWNLOADER=
+ DISABLE_TELEMETRY=
+ ENABLE_DUCKLING=
++ boolean false
++ case $1 in
++ echo false
+ INSTALLER_DEBUG_MODE=false
+ INITIAL_USER_PASSWORD=
+ POSTGRES_PASSWORD=
+ RABBITMQ_PASSWORD=
+ REDIS_PASSWORD=
+ RASA_X_VERSION=0.31.1
+ RASA_VERSION=1.10.8
+ ACTION_SERVER_IMAGE=
+ ACTION_SERVER_TAG=
+ DEBUG_MODE=
+ DEPLOYMENT_NAME=rasa
+ DEPLOYMENT_NAMESPACE=rasa
+ NGINX_SERVICE_TYPE=LoadBalancer
+ ADDITIONAL_CHANNEL_CREDENTIALS=
+ false
+ REDIRECT=/dev/null
+ [[ '' == \-\-\u\n\i\n\s\t\a\l\l ]]
+ check_if_can_be_installed
++ uname
++ tr '[:upper:]' '[:lower:]'
+ OS=linux
+ [[ linux != \l\i\n\u\x ]]
+ verify_downloader curl
+ does_command_exist curl
+ command -v curl
+ DOWNLOADER=curl
+ return 0
+ install_os_specific_requirements
+ [[ -f /etc/os-release ]]
+ . /etc/os-release
++ NAME=Ubuntu
++ VERSION='18.04.4 LTS (Bionic Beaver)'
++ ID=ubuntu
++ ID_LIKE=debian
++ PRETTY_NAME='Ubuntu 18.04.4 LTS'
++ VERSION_ID=18.04
++ HOME_URL=https://www.ubuntu.com/
++ SUPPORT_URL=https://help.ubuntu.com/
++ BUG_REPORT_URL=https://bugs.launchpad.net/ubuntu/
++ PRIVACY_POLICY_URL=https://www.ubuntu.com/legal/terms-and-policies/privacy-policy
++ VERSION_CODENAME=bionic
++ UBUNTU_CODENAME=bionic
+ OS=Ubuntu
+ [[ Ubuntu == \C\e\n\t\O\S\ \L\i\n\u\x ]]
+ [[ Ubuntu == \R\e\d\ \H\a\t* ]]
+ is_kubectl_installed_and_configured
+ does_command_exist kubectl
+ command -v kubectl
+ kubectl version --short
+ grep -q 'Server Version: .*'
+ echo 'Found existing cluster.'
Found existing cluster.
+ does_command_exist k3s
+ command -v k3s
+ IS_EMBEDDED_CLUSTER=true
+ install_helm
+ echo 'Installing Helm command line interface ...'
Installing Helm command line interface ...
+ download https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
+ '[' 1 -eq 1 ']'
+ bash
+ case ${DOWNLOADER} in
+ curl -sfL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
+ [[ -n 0 ]]
+ does_command_exist helm
+ command -v helm
+ get_latest_chart_from_repository
+ no_root_helm repo list
+ grep -q '^rasa-x'
+ no_root_helm repo add rasa-x https://rasahq.github.io/rasa-x-helm
+ envs=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin
+ true
+ sudo -u user bash -c 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm repo add rasa-x https://rasahq.github.io/rasa-x-helm'
Error: looks like "https://rasahq.github.io/rasa-x-helm" is not a valid chart repository or cannot be reached: Get https://rasahq.github.io/rasa-x-helm/index.yaml: proxyconnect tcp: dial tcp: lookup http on 127.0.0.53:53: server misbehaving
When i run the quick install script i end up with this mistake. After a while i managed to bypass it by avoiding the use of sudo -u user bash -c and using the following command.
$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm repo add rasa-x https://rasahq.github.io/rasa-x-helm
"rasa-x" has been added to your repositories
$ helm repo list
NAME URL
rasa-x https://rasahq.github.io/rasa-x-helm
I then modified the original bash script with the idea that now the repo is added and i could just avoid this lines.
get_latest_chart_from_repository() {
# Get and install Rasa X chart
# if ! no_root_helm repo list &> /dev/null | grep -q "^rasa-x"
# then
# no_root_helm repo add rasa-x https://rasahq.github.io/rasa-x-helm > ${REDIRECT}
# fi
no_root_helm repo update > ${REDIRECT}
}
When i run this modified bash script, i now have a second error.
+ set -e
+ DOWNLOADER=
+ DISABLE_TELEMETRY=
+ ENABLE_DUCKLING=
++ boolean false
++ case $1 in
++ echo false
+ INSTALLER_DEBUG_MODE=false
+ INITIAL_USER_PASSWORD=
+ POSTGRES_PASSWORD=
+ RABBITMQ_PASSWORD=
+ REDIS_PASSWORD=
+ RASA_X_VERSION=0.31.0
+ RASA_VERSION=1.10.8
+ ACTION_SERVER_IMAGE=
+ ACTION_SERVER_TAG=
+ DEBUG_MODE=
+ DEPLOYMENT_NAME=rasa
+ DEPLOYMENT_NAMESPACE=rasa
+ NGINX_SERVICE_TYPE=LoadBalancer
+ ADDITIONAL_CHANNEL_CREDENTIALS=
+ false
+ REDIRECT=/dev/null
+ [[ '' == \-\-\u\n\i\n\s\t\a\l\l ]]
+ check_if_can_be_installed
++ uname
++ tr '[:upper:]' '[:lower:]'
+ OS=linux
+ [[ linux != \l\i\n\u\x ]]
+ verify_downloader curl
+ does_command_exist curl
+ command -v curl
+ DOWNLOADER=curl
+ return 0
+ install_os_specific_requirements
+ [[ -f /etc/os-release ]]
+ . /etc/os-release
++ NAME=Ubuntu
++ VERSION='18.04.4 LTS (Bionic Beaver)'
++ ID=ubuntu
++ ID_LIKE=debian
++ PRETTY_NAME='Ubuntu 18.04.4 LTS'
++ VERSION_ID=18.04
++ HOME_URL=https://www.ubuntu.com/
++ SUPPORT_URL=https://help.ubuntu.com/
++ BUG_REPORT_URL=https://bugs.launchpad.net/ubuntu/
++ PRIVACY_POLICY_URL=https://www.ubuntu.com/legal/terms-and-policies/privacy-policy
++ VERSION_CODENAME=bionic
++ UBUNTU_CODENAME=bionic
+ OS=Ubuntu
+ [[ Ubuntu == \C\e\n\t\O\S\ \L\i\n\u\x ]]
+ [[ Ubuntu == \R\e\d\ \H\a\t* ]]
+ is_kubectl_installed_and_configured
+ does_command_exist kubectl
+ command -v kubectl
+ kubectl version --short
+ grep -q 'Server Version: .*'
+ echo 'Found existing cluster.'
Found existing cluster.
+ does_command_exist k3s
+ command -v k3s
+ IS_EMBEDDED_CLUSTER=true
+ install_helm
+ echo 'Installing Helm command line interface ...'
Installing Helm command line interface ...
+ download https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
+ '[' 1 -eq 1 ']'
+ case ${DOWNLOADER} in
+ curl -sfL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
+ bash
+ [[ -n 0 ]]
+ does_command_exist helm
+ command -v helm
+ get_latest_chart_from_repository
+ no_root_helm repo update
+ envs=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin
+ true
+ sudo -u user bash -c 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm repo update'
+ is_rasa_x_deployed
+ no_root_helm ls --namespace rasa
+ envs=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin
+ true
+ sudo -u user bash -c 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm ls --namespace rasa'
+ grep '^rasa'
+ grep -q 'rasa-x-[0-9.]*'
Error: Kubernetes cluster unreachable: error loading config file "/etc/rancher/k3s/k3s.yaml": open /etc/rancher/k3s/k3s.yaml: permission denied
+ return 1
+ generate_not_yet_specified_passwords
++ get_specified_password_or_generate ''
++ [[ -z '' ]]
+++ tr -dc _A-Z-a-z-0-9
+++ head -c20
++ echo A2wofFrO-v050pR8SEde
+ INITIAL_USER_PASSWORD=A2wofFrO-v050pR8SEde
++ get_specified_password_or_generate ''
++ [[ -z '' ]]
+++ tr -dc _A-Z-a-z-0-9
+++ head -c20
++ echo bAa5hKNuO3q0Acj75o4K
+ POSTGRES_PASSWORD=bAa5hKNuO3q0Acj75o4K
++ get_specified_password_or_generate ''
++ [[ -z '' ]]
+++ tr -dc _A-Z-a-z-0-9
+++ head -c20
++ echo MqdP3lqsKv3dbUSkldL-
+ RABBITMQ_PASSWORD=MqdP3lqsKv3dbUSkldL-
++ get_specified_password_or_generate ''
++ [[ -z '' ]]
+++ tr -dc _A-Z-a-z-0-9
+++ head -c20
++ echo nV-A-ilxw1BsWZxu9YXg
+ REDIS_PASSWORD=nV-A-ilxw1BsWZxu9YXg
+ install_rasa_x_chart
+ kubectl create ns rasa
+ true
+ execute_helm_command install
+ [[ install == \i\n\s\t\a\l\l ]]
+ command=("install")
+ command=("${command[@]}" "--set rasax.tag=${RASA_X_VERSION}" "--set eventService.tag=${RASA_X_VERSION}" "--set nginx.tag=${RASA_X_VERSION}" "--set rasa.tag=${RASA_VERSION}-full")
+ [[ install == \i\n\s\t\a\l\l ]]
+ command=("${command[@]}" "--set rasax.initialUser.password=${INITIAL_USER_PASSWORD}" "--set global.postgresql.postgresqlPassword=${POSTGRES_PASSWORD}" "--set global.redis.password=${RABBITMQ_PASSWORD}" "--set rabbitmq.rabbitmq.password=${REDIS_PASSWORD}")
+ true
+ command=("${command[@]}" "--set nginx.service.type=ClusterIP")
+ command=("${command[@]}" "--set ingress.hosts[0].host=,ingress.hosts[0].paths={/}")
+ [[ install == \i\n\s\t\a\l\l ]]
+ command=("${command[@]}" "--set rasax.disableTelemetry=${DISABLE_TELEMETRY:-false}")
+ [[ install == \i\n\s\t\a\l\l ]]
+ command=("${command[@]}" "--set duckling.enabled=${ENABLE_DUCKLING:-False}")
+ [[ install == \i\n\s\t\a\l\l ]]
+ command=("${command[@]}" "--set app.name=${ACTION_SERVER_IMAGE:-rasa/rasa-x-demo}")
+ [[ install == \i\n\s\t\a\l\l ]]
+ command=("${command[@]}" "--set app.tag=${ACTION_SERVER_TAG:-${RASA_X_VERSION}}")
+ [[ install == \i\n\s\t\a\l\l ]]
+ command=("${command[@]}" "--set global.debugMode=${DEBUG_MODE:-False}")
+ [[ -n '' ]]
+ command=("${command[@]}" "--set rasax.extraEnvs[0].name=QUICK_INSTALL" "--set-string rasax.extraEnvs[0].value=true" "--namespace ${DEPLOYMENT_NAMESPACE}" "${DEPLOYMENT_NAME}" "rasa-x/rasa-x")
+ no_root_helm install '--set rasax.tag=0.31.0' '--set eventService.tag=0.31.0' '--set nginx.tag=0.31.0' '--set rasa.tag=1.10.8-full' '--set rasax.initialUser.password=A2wofFrO-v050pR8SEde' '--set global.postgresql.postgresqlPassword=bAa5hKNuO3q0Acj75o4K' '--set global.redis.password=MqdP3lqsKv3dbUSkldL-' '--set rabbitmq.rabbitmq.password=nV-A-ilxw1BsWZxu9YXg' '--set nginx.service.type=ClusterIP' '--set ingress.hosts[0].host=,ingress.hosts[0].paths={/}' '--set rasax.disableTelemetry=false' '--set duckling.enabled=False' '--set app.name=rasa/rasa-x-demo' '--set app.tag=0.31.0' '--set global.debugMode=False' '--set rasax.extraEnvs[0].name=QUICK_INSTALL' '--set-string rasax.extraEnvs[0].value=true' '--namespace rasa' rasa rasa-x/rasa-x
+ envs=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin
+ true
+ sudo -u user bash -c 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/bin KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm install --set rasax.tag=0.31.0 --set eventService.tag=0.31.0 --set nginx.tag=0.31.0 --set rasa.tag=1.10.8-full --set rasax.initialUser.password=A2wofFrO-v050pR8SEde --set global.postgresql.postgresqlPassword=bAa5hKNuO3q0Acj75o4K --set global.redis.password=MqdP3lqsKv3dbUSkldL- --set rabbitmq.rabbitmq.password=nV-A-ilxw1BsWZxu9YXg --set nginx.service.type=ClusterIP --set ingress.hosts[0].host=,ingress.hosts[0].paths={/} --set rasax.disableTelemetry=false --set duckling.enabled=False --set app.name=rasa/rasa-x-demo --set app.tag=0.31.0 --set global.debugMode=False --set rasax.extraEnvs[0].name=QUICK_INSTALL --set-string rasax.extraEnvs[0].value=true --namespace rasa rasa rasa-x/rasa-x'
Error: failed to download "rasa-x/rasa-x" (hint: running `helm repo update` may help)
And when i run it without the -x :
Error: Kubernetes cluster unreachable: error loading config file "/etc/rancher/k3s/k3s.yaml": open /etc/rancher/k3s/k3s.yaml: permission denied
Error: failed to download "rasa-x/rasa-x" (hint: running `helm repo update` may help)
The solution for the first problem (bypassing the sudo -u) doesnt work and i’m a bit stuck I’m open to any hint or suggestion helping me run this installation script. I cannot really provide steps to recreate this error as it only occurred on my server.
OS NAME=“Ubuntu” VERSION=“18.04.3 LTS (Bionic Beaver)”
Rasa versions RASA_X_VERSION=0.31.1 RASA_VERSION=1.10.8
Requirements number of vCPU:
$cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
processor : 2
processor : 3
processor : 4
processor : 5
processor : 6
processor : 7
RAM
$free -g
total utilisé libre partagé tamp/cache disponible
Mem: 31 4 7 0 19 26
Disk space > >50G
Edit
I ran the following command :
$sudo chmod o+rw /etc/rancher/k3s/k3s.yaml
This solves the problem :
Error: Kubernetes cluster unreachable: error loading config file "/etc/rancher/k3s/k3s.yaml": open /etc/rancher/k3s/k3s.yaml: permission denied
But the second error still persist :
Error: failed to download "rasa-x/rasa-x" (hint: running `helm repo update` may help)