@@ -12,10 +12,110 @@ export KUBECONFIG=$TEST_DIR/tmp/kind.yaml
12
12
rm -rf $TEST_RESULT_DIR
13
13
mkdir -p $TEST_RESULT_DIR
14
14
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 " --------------------"
15
114
export KUBECONFIG=$TEST_DIR /tmp/config.yaml
16
115
kind 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
18
117
# Wait for cluster to setup
118
+ echo " Sleep 10 sec"
19
119
sleep 10
20
120
21
121
echo " Test clusteradm version"
@@ -25,56 +125,38 @@ then
25
125
ERROR_REPORT=$ERROR_REPORT +" clusteradm version failed\n"
26
126
fi
27
127
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
38
136
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
51
139
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
56
148
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
69
157
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
78
160
79
161
if [ -z " $ERROR_REPORT " ]
80
162
then
83
165
echo -e " \n\nErrors\n======\n" $ERROR_REPORT
84
166
exit 1
85
167
fi
86
-
87
- kind delete cluster --name $CLUSTER_NAME -hub
88
- kind delete cluster --name $CLUSTER_NAME -spoke
0 commit comments