@@ -12,10 +12,110 @@ export KUBECONFIG=$TEST_DIR/tmp/kind.yaml
1212rm -rf $TEST_RESULT_DIR
1313mkdir -p $TEST_RESULT_DIR
1414
15+ function init_hub() {
16+ echo " init_hub 1st parameter: " $1 >&2
17+ local _CMDINITRESULT=` clusteradm init $1 `
18+ if [ $? != 0 ]
19+ then
20+ ERROR_REPORT=$ERROR_REPORT +" clusteradm init failed\n"
21+ fi
22+ echo $_CMDINITRESULT
23+ }
24+
25+ function join_hub() {
26+ echo " join_hub 1st parameter: " $1 >&2
27+ echo " join_hub 2nd parameter: " $2 >&2
28+ local _CMDJOIN=` echo " $1 " | cut -d ' :' -f2-4 | cut -d ' <' -f1`
29+ _CMDJOIN=" $_CMDJOIN $2 "
30+ local _CMDJOINRESULT=` $_CMDJOIN `
31+ if [ $? != 0 ]
32+ then
33+ ERROR_REPORT=$ERROR_REPORT +" clusteradm join failed\n"
34+ fi
35+ echo $_CMDJOINRESULT
36+ }
37+
38+ function accept_cluster() {
39+ echo " accept_cluster 1st parameter: " $1 >&2
40+ local _CMDACCEPT=` echo " $1 " | cut -d ' :' -f2`
41+ _CMDACCEPT=" $_CMDACCEPT "
42+ local _CMDACCEPTRESULT=` $_CMDACCEPT --wait 240`
43+ if [ $? != 0 ]
44+ then
45+ ERROR_REPORT=$ERROR_REPORT +" clusteradm accept failed\n"
46+ fi
47+ echo $_CMDACCEPTRESULT
48+ }
49+
50+ function gettoken() {
51+ local _CMDINITRESULT=` clusteradm get token`
52+ if [ $? != 0 ]
53+ then
54+ ERROR_REPORT=$ERROR_REPORT +" clusteradm get token failed\n"
55+ fi
56+ echo $_CMDINITRESULT
57+ }
58+
59+ function joinscenario() {
60+ echo " joinscenario 1st parameter: " $1 >&2
61+ echo " joinscenario 2nd parameter: " $2 >&2
62+ echo " init cluster" >&2
63+ kubectl config use-context kind-${CLUSTER_NAME} -hub
64+ CMDINITRESULT=$( init_hub $2 )
65+ echo " init command result: " $CMDINITRESULT >&2
66+
67+ echo " join hub" >&2
68+ kubectl config use-context kind-${CLUSTER_NAME} -$1
69+ CMDJOINRESULT=$( join_hub " ${CMDINITRESULT} " $1 )
70+ echo " join command result: " $CMDJOINRESULT >&2
71+
72+ echo " Wait 4 min to stabilize" >&2
73+
74+ kubectl config use-context kind-${CLUSTER_NAME} -hub
75+ CMDACCEPTRESULT=$( accept_cluster " ${CMDJOINRESULT} " )
76+ echo $CMDACCEPTRESULT | grep approved
77+ if [ $? != 0 ]
78+ then
79+ echo " accept command result: " $CMDACCEPTRESULT >&2
80+ ERROR_REPORT=$ERROR_REPORT +" no CSR get approved\n"
81+ else
82+ echo " accept command result: " $CMDACCEPTRESULT >&2
83+ fi
84+ }
85+
86+ function gettokenscenario() {
87+ echo " gettokenscenario 1st parameter: " $1 >&2
88+ echo " get token from hub" >&2
89+ kubectl config use-context kind-${CLUSTER_NAME} -hub
90+ CMGETTOKENRESULT=$( gettoken)
91+ echo " get token command result: " $CMGETTOKENRESULT >&2
92+
93+ echo " join hub" >&2
94+ kubectl config use-context kind-${CLUSTER_NAME} -$1
95+ CMDJOINRESULT=$( join_hub " ${CMGETTOKENRESULT} " $1 )
96+ echo " join command result: " $CMDJOINRESULT >&1
97+
98+ echo " Wait 4 min to stabilize" >&2
99+
100+ kubectl config use-context kind-${CLUSTER_NAME} -hub
101+ CMDACCEPTRESULT=$( accept_cluster " ${CMDJOINRESULT} " )
102+ echo $CMDACCEPTRESULT | grep approved
103+ if [ $? != 0 ]
104+ then
105+ echo " accept command result: " $CMDACCEPTRESULT >&2
106+ ERROR_REPORT=$ERROR_REPORT +" no CSR get approved\n"
107+ else
108+ echo " accept command result: " $CMDACCEPTRESULT >&2
109+ fi
110+ }
111+
112+ echo " With bootstrap token"
113+ echo " --------------------"
15114export KUBECONFIG=$TEST_DIR /tmp/config.yaml
16115kind create cluster --name ${CLUSTER_NAME} -hub --config $TEST_DIR /kind-config/kind119-hub.yaml
17- kind create cluster --name ${CLUSTER_NAME} -spoke
116+ kind create cluster --name ${CLUSTER_NAME} -c1
18117# Wait for cluster to setup
118+ echo " Sleep 10 sec"
19119sleep 10
20120
21121echo " Test clusteradm version"
@@ -25,56 +125,38 @@ then
25125 ERROR_REPORT=$ERROR_REPORT +" clusteradm version failed\n"
26126fi
27127
28- kubectl config use-context kind-${CLUSTER_NAME} -hub
29- CMDINITRESULT=` clusteradm init --use-bootstrap-token`
30- if [ $? != 0 ]
31- then
32- echo " init command result: " $CMDINITRESULT
33- ERROR_REPORT=$ERROR_REPORT +" clusteradm init failed\n"
34- else
35- echo " init command result: " $CMDINITRESULT
36- echo $CMDINITRESULT
37- fi
128+ echo " Joining with init and bootstrap token"
129+ echo " -------------------------------------"
130+ joinscenario c1 --use-bootstrap-token
131+ kind delete cluster --name ${CLUSTER_NAME} -c1
132+ kind create cluster --name ${CLUSTER_NAME} -c2
133+ echo " Joining with get token and bootstrap token"
134+ echo " ------------------------------------------"
135+ gettokenscenario c2
38136
39- CMDJOIN=` echo $CMDINITRESULT | cut -d ' :' -f2,3,4 | cut -d ' <' -f1`
40- CMDJOIN=" $CMDJOIN c1"
41- echo " Join command: " $CMDJOIN
42- kubectl config use-context kind-${CLUSTER_NAME} -spoke
43- CMDJOINRESULT=` $CMDJOIN `
44- if [ $? != 0 ]
45- then
46- echo " join command result: " $CMDJOINRESULT
47- ERROR_REPORT=$ERROR_REPORT +" clusteradm join failed\n"
48- else
49- echo " join command result: " $CMDJOINRESULT
50- fi
137+ kind delete cluster --name ${CLUSTER_NAME} -hub
138+ kind delete cluster --name ${CLUSTER_NAME} -c2
51139
52- echo " Sleep 4 min to stabilize"
53- # we need to wait 2 min but once we will have watch status monitor
54- # we will not need to sleep anymore
55- sleep 240
140+ echo " With Service account"
141+ echo " --------------------"
142+ export KUBECONFIG=$TEST_DIR /tmp/config.yaml
143+ kind create cluster --name ${CLUSTER_NAME} -hub --config $TEST_DIR /kind-config/kind119-hub.yaml
144+ kind create cluster --name ${CLUSTER_NAME} -c1
145+ # Wait for cluster to setup
146+ echo " Sleep 10 sec"
147+ sleep 10
56148
57- CMDACCEPT=` echo $CMDJOINRESULT | cut -d ' :' -f2`
58- CMDACCEPT=" $CMDACCEPT c1"
59- echo " accept command: " $CMDACCEPT
60- kubectl config use-context kind-${CLUSTER_NAME} -hub
61- CMDACCEPTRESULT=` $CMDACCEPT `
62- if [ $? != 0 ]
63- then
64- echo " accept command result: " $CMDACCEPTRESULT
65- ERROR_REPORT=$ERROR_REPORT +" clusteradm accept failed\n"
66- else
67- echo " accept command result: " $CMDACCEPTRESULT
68- fi
149+ echo " Joining with init and service account"
150+ echo " -------------------------------------"
151+ joinscenario c1
152+ kind delete cluster --name ${CLUSTER_NAME} -c1
153+ kind create cluster --name ${CLUSTER_NAME} -c2
154+ echo " Joining with get token and service account"
155+ echo " ------------------------------------------"
156+ gettokenscenario c2
69157
70- echo $CMDACCEPTRESULT | grep approved
71- if [ $? != 0 ]
72- then
73- echo " accept command result: " $CMDACCEPTRESULT
74- ERROR_REPORT=$ERROR_REPORT +" no CSR get approved\n"
75- else
76- echo " accept command result: " $CMDACCEPTRESULT
77- fi
158+ kind delete cluster --name ${CLUSTER_NAME} -hub
159+ kind delete cluster --name ${CLUSTER_NAME} -c2
78160
79161if [ -z " $ERROR_REPORT " ]
80162then
83165 echo -e " \n\nErrors\n======\n" $ERROR_REPORT
84166 exit 1
85167fi
86-
87- kind delete cluster --name $CLUSTER_NAME -hub
88- kind delete cluster --name $CLUSTER_NAME -spoke
0 commit comments