Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

增加demo脚本的错误退出机制,避免脏数据产生 #342

Open
tunsuy opened this issue Apr 23, 2023 · 2 comments
Open

增加demo脚本的错误退出机制,避免脏数据产生 #342

tunsuy opened this issue Apr 23, 2023 · 2 comments
Labels
wontfix This will not be worked on

Comments

@tunsuy
Copy link

tunsuy commented Apr 23, 2023

Describe the bug
执行demo安装, make demo ,出现如下错误:

bash demo/install-demo.sh default
++ dirname demo/../test/e2e/scripts/istio.sh
+ BASEDIR=demo/../test/e2e/scripts/../../..
+ COMMON_DIR=demo/../test/e2e/scripts/../../../test/e2e/common
+ '[' -z '' ']'
+ export ISTIO_NAMESPACE=istio-system
+ ISTIO_NAMESPACE=istio-system
+ '[' -z '' ']'
+ export ISTIO_VERSION=1.14.5
+ ISTIO_VERSION=1.14.5
+ kubectl create ns istio-system
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ true
+ rm -rf /root/.aeraki/istio/istio-config.yaml
+ mkdir -p /root/.aeraki/istio
+ envsubst
++ istioctl version --remote=false
++ grep 1.14.5
demo/../test/e2e/scripts/istio.sh: line 37: istioctl: command not found
+ '[' -n '' ']'
+ curl -L https://istio.io/downloadIstio
+ ISTIO_VERSION=1.14.5
+ sh -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   101  100   101    0     0    109      0 --:--:-- --:--:-- --:--:--   109
100  4856  100  4856    0     0   3896      0  0:00:01  0:00:01 --:--:-- 4742k

Downloading istio-1.14.5 from https://github.com/istio/istio/releases/download/1.14.5/istio-1.14.5-linux-amd64.tar.gz ...

Istio 1.14.5 Download Complete!

Istio has been successfully downloaded into the istio-1.14.5 folder on your system.

Next Steps:
See https://istio.io/latest/docs/setup/install/ to add Istio to your Kubernetes cluster.

To configure the istioctl client tool for your workstation,
add the /root/cloud/aeraki/istio-1.14.5/bin directory to your environment path variable with:
         export PATH="$PATH:/root/cloud/aeraki/istio-1.14.5/bin"

Begin the Istio pre-installation check by running:
         istioctl x precheck 

Need more information? Visit https://istio.io/latest/docs/setup/install/ 
+ sudo mv /root/cloud/aeraki/istio-1.14.5/bin/istioctl /usr/local/bin/
+ /usr/local/bin/istioctl install -f /root/.aeraki/istio/istio-config.yaml -y
Error: Get "https://cls-88t58h3p.ccs.tencent-cloud.com/api?timeout=32s": http: server gave HTTP response to HTTPS client
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ '[' -z '' ']'
++ git log --format=%H -n 1
+ export AERAKI_TAG=d5d0afc6dc12b49f4e117a80fc6c68f69f367c81
+ AERAKI_TAG=d5d0afc6dc12b49f4e117a80fc6c68f69f367c81
+ '[' -z '' ']'
+ export ISTIO_NAMESPACE=istio-system
+ ISTIO_NAMESPACE=istio-system
+ '[' -z '' ']'
+ export AERAKI_NAMESPACE=istio-system
+ AERAKI_NAMESPACE=istio-system
+ '[' -z '' ']'
+ export AERAKI_ISTIOD_ADDR=istiod.istio-system:15010
+ AERAKI_ISTIOD_ADDR=istiod.istio-system:15010
+ '[' -z '' ']'
+ export AERAKI_IS_MASTER=true
+ AERAKI_IS_MASTER=true
+ '[' -z '' ']'
+ export AERAKI_ENABLE_ENVOY_FILTER_NS_SCOPE=false
+ AERAKI_ENABLE_ENVOY_FILTER_NS_SCOPE=false
+ '[' -z '' ']'
+ export AERAKI_IMG_PULL_POLICY=Always
+ AERAKI_IMG_PULL_POLICY=Always
+ '[' -z '' ']'
+ export AERAKI_IMAGE=ghcr.io/aeraki-mesh/aeraki
+ AERAKI_IMAGE=ghcr.io/aeraki-mesh/aeraki
+ '[' -z '' ']'
+ export AERAKI_XDS_ADDR=aeraki.istio-system
+ AERAKI_XDS_ADDR=aeraki.istio-system
+ '[' -z '' ']'
+ export AERAKI_XDS_PORT=:15010
+ AERAKI_XDS_PORT=:15010
+ kubectl create ns istio-system
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ true
+ kubectl create ns istio-system
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ true
+ rm -rf /root/.aeraki/aeraki.yaml
+ mkdir -p /root/.aeraki
+ envsubst
+ '[' '' == mode=tcm ']'
+ kubectl delete crd applicationprotocols.metaprotocol.aeraki.io
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ true
+ kubectl apply -f demo/../test/e2e/scripts/../../../k8s/crd.yaml
Unable to connect to the server: http: server gave HTTP response to HTTPS client
install default demo
+ kubectl create ns meta-dubbo
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ true
+ LabelIstioInjectLabel meta-dubbo
+ ns=meta-dubbo
+ echo meta-dubbo
meta-dubbo
++ kubectl get po -n
++ grep istiod
++ awk '{print $1}'
++ xargs kubectl get po -o yaml -n
++ grep -A 1 REVIS
++ grep value:
++ awk '{print $2}'
Error: flag needs an argument: 'n' in -n
See 'kubectl get --help' for usage.
Error: flag needs an argument: 'n' in -n
See 'kubectl get --help' for usage.
+ label=
+ echo

+ '[' '' '!=' '' ']'
+ kubectl label namespace meta-dubbo istio-injection=enabled --overwrite=true
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ return 0
+ kubectl apply -f demo/../demo/metaprotocol-dubbo/dubbo-sample.yaml -n meta-dubbo
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ kubectl apply -f demo/../demo/metaprotocol-dubbo/serviceentry.yaml -n meta-dubbo
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ kubectl apply -f demo/../demo/metaprotocol-dubbo/destinationrule.yaml -n meta-dubbo
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ kubectl create ns meta-thrift
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ LabelIstioInjectLabel meta-thrift
+ ns=meta-thrift
+ echo meta-thrift
meta-thrift
++ kubectl get po -n
++ grep istiod
++ awk '{print $1}'
++ xargs kubectl get po -o yaml -n
++ grep -A 1 REVIS
++ grep value:
++ awk '{print $2}'
Error: flag needs an argument: 'n' in -n
See 'kubectl get --help' for usage.
Error: flag needs an argument: 'n' in -n
See 'kubectl get --help' for usage.
+ label=
+ echo

+ '[' '' '!=' '' ']'
+ kubectl label namespace meta-thrift istio-injection=enabled --overwrite=true
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ return 0
+ kubectl apply -f demo/../demo/metaprotocol-thrift/thrift-sample.yaml -n meta-thrift
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ kubectl apply -f demo/../demo/metaprotocol-thrift/destinationrule.yaml -n meta-thrift
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ kubectl create cm rate-limit-config -n meta-thrift --from-file demo/../demo/metaprotocol-thrift/rate-limit-server/config.yaml
Unable to connect to the server: http: server gave HTTP response to HTTPS client
+ kubectl apply -f demo/../demo/metaprotocol-thrift/rate-limit-server/rate-limit-server.yaml -n meta-thrift
Unable to connect to the server: http: server gave HTTP response to HTTPS client
make: *** [demo] Error 1

前面步骤失败后还会继续执行下面的脚本,这完全是没必要的,有可能还会导致重新安装时出现各种非预期行为

建议增加错误退出逻辑 ,以便使用者及时解决问题并重新安装

@tanjunchen
Copy link
Member

@tunsuy
Welcome to open pr to optimize this issue, and make aeraki better.
BTW, you can run make uninstall-demo to clear them.

@stale
Copy link

stale bot commented Jun 25, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Jun 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants