@@ -9,6 +9,8 @@ MOUNT_DIR=/home/$USER_ID/.cache/huggingface/hub
9
9
10
10
IMAGE_REPO=${OPEA_IMAGE_REPO:- " " }
11
11
CODEGEN_NAMESPACE=" ${APP_NAMESPACE} -codegen"
12
+ CODETRANS_NAMESPACE=" ${APP_NAMESPACE} -codetrans"
13
+
12
14
13
15
function install_gmc() {
14
16
# Make sure you have to use image tag $VERSION for microservice-connector installation
@@ -34,13 +36,17 @@ function validate_gmc() {
34
36
echo " validate codegen"
35
37
validate_codegen
36
38
39
+ echo " validate codetrans"
40
+ validate_codetrans
41
+
37
42
get_gmc_controller_logs
38
43
}
39
44
40
45
function cleanup_gmc() {
41
46
echo " clean up microservice-connector"
42
47
kubectl delete ns $APP_NAMESPACE
43
48
kubectl delete ns $CODEGEN_NAMESPACE
49
+ kubectl delete ns $CODETRANS_NAMESPACE
44
50
kubectl delete ns $SYSTEM_NAMESPACE
45
51
kubectl delete crd gmconnectors.gmc.opea.io
46
52
}
@@ -91,6 +97,9 @@ function validate_chatqna() {
91
97
status=true
92
98
fi
93
99
if [ $status == false ]; then
100
+ if [[ -f $LOG_PATH /curl_chatqna.log ]]; then
101
+ cat $LOG_PATH /curl_chatqna.log
102
+ fi
94
103
echo " Response check failed, please check the logs in artifacts!"
95
104
exit 1
96
105
else
@@ -139,6 +148,60 @@ function validate_codegen() {
139
148
status=true
140
149
fi
141
150
if [ $status == false ]; then
151
+ if [[ -f $LOG_PATH /gmc_codegen.log ]]; then
152
+ cat $LOG_PATH /gmc_codegen.log
153
+ fi
154
+ echo " Response check failed, please check the logs in artifacts!"
155
+ cat $LOG_PATH /gmc_codegen.log
156
+ exit 1
157
+ else
158
+ echo " Response check succeed!"
159
+ fi
160
+ }
161
+
162
+ function validate_codetrans() {
163
+ # todo select gaudi or xeon
164
+ kubectl create ns $CODETRANS_NAMESPACE
165
+ sed -i " s|namespace: codetrans|namespace: $CODETRANS_NAMESPACE |g" $( pwd) /config/samples/codetrans.yaml
166
+ kubectl apply -f $( pwd) /config/samples/codetrans.yaml
167
+
168
+ # Wait until the router service is ready
169
+ echo " Waiting for the codetrans router service to be ready..."
170
+ wait_until_pod_ready " codetrans router" $CODETRANS_NAMESPACE " router-service"
171
+ output=$( kubectl get pods -n $CODETRANS_NAMESPACE )
172
+ echo $output
173
+
174
+
175
+ # deploy client pod for testing
176
+ kubectl create deployment client-test -n $CODETRANS_NAMESPACE --image=python:3.8.13 -- sleep infinity
177
+
178
+ # wait for client pod ready
179
+ wait_until_pod_ready " client-test" $CODETRANS_NAMESPACE " client-test"
180
+ # giving time to populating data
181
+ sleep 60
182
+
183
+ kubectl get pods -n $CODETRANS_NAMESPACE
184
+ # send request to codetrans
185
+ export CLIENT_POD=$( kubectl get pod -n $CODETRANS_NAMESPACE -l app=client-test -o jsonpath={.items..metadata.name})
186
+ echo " $CLIENT_POD "
187
+ accessUrl=$( kubectl get gmc -n $CODETRANS_NAMESPACE -o jsonpath=" {.items[?(@.metadata.name=='codetrans')].status.accessUrl}" )
188
+ kubectl exec " $CLIENT_POD " -n $CODETRANS_NAMESPACE -- curl $accessUrl -X POST -d ' {"language_from": "Golang","language_to": "Python","source_code": "package main\n\nimport \"fmt\"\nfunc main() {\n fmt.Println(\"Hello, World!\");\n}"}' -H ' Content-Type: application/json' > $LOG_PATH /gmc_codetrans.log
189
+ exit_code=$?
190
+ if [ $exit_code -ne 0 ]; then
191
+ echo " codetrans failed, please check the logs in ${LOG_PATH} !"
192
+ exit 1
193
+ fi
194
+
195
+ echo " Checking response results, make sure the output is reasonable. "
196
+ local status=false
197
+ if [[ -f $LOG_PATH /gmc_codetrans.log ]] && \
198
+ [[ $( grep -c " import" $LOG_PATH /gmc_codetrans.log) != 0 ]]; then
199
+ status=true
200
+ fi
201
+ if [ $status == false ]; then
202
+ if [[ -f $LOG_PATH /gmc_codetrans.log ]]; then
203
+ cat $LOG_PATH /gmc_codetrans.log
204
+ fi
142
205
echo " Response check failed, please check the logs in artifacts!"
143
206
exit 1
144
207
else
0 commit comments