@@ -25,7 +25,7 @@ _cleanup() {
2525trap _cleanup EXIT
2626
2727HOST_GROUP=" ${SLICER_HOST_GROUP:- } "
28- SOCKET_PATH=" ${SLICER_SOCKET_PATH :- ./ slicer/ slicer.sock} "
28+ SOCKET_PATH=" ./slicer/slicer.sock"
2929PID_FILE=" $STATE_DIR /slicer.pid"
3030LOG_FILE=" $STATE_DIR /slicer.log"
3131USERDATA_FILE=" $STATE_DIR /userdata.sh"
@@ -34,7 +34,7 @@ HOST_PROJECT_NAME="$(basename "$HOST_PROJECT_DIR")"
3434GUEST_PROJECT_DIR=" /home/ubuntu/$HOST_PROJECT_NAME "
3535SITE_SERVICE=" blog.service"
3636LEGACY_SITE_SERVICE=" ofblog-site.service"
37- SLICER_API_URL =" ${SLICER_API_URL :- ${SLICER_SOCKET_PATH :- } } "
37+ SLICER_URL =" ${SLICER_URL :- } "
3838VM_NAME=" ${HOST_GROUP} -1"
3939DEFAULT_HOST_GROUP=" ofblog"
4040MAC_HOST_GROUP=" sbox"
@@ -65,8 +65,8 @@ _configure_slicer_with_url() {
6565 fi
6666
6767 SLICER_WITH_URL=(" ${cmd[@]} " )
68- if [[ -n " $SLICER_API_URL " ]]; then
69- SLICER_WITH_URL+=(--url " $SLICER_API_URL " )
68+ if [[ -n " $SLICER_URL " ]]; then
69+ SLICER_WITH_URL+=(--url " $SLICER_URL " )
7070 fi
7171}
7272
9090Notes:
9191 - Commands use a unix-socket API.
9292 - If SLICER_INFO reports Server OS=darwin and arch=arm64, defaults use slicer-mac conventions.
93- - If SLICER_API_URL is empty, we fall back to slicer's default .
93+ - If SLICER_URL is unset, defaults are local slicer-mac socket conventions when applicable .
9494- Set SLICER_TOKEN or SLICER_TOKEN_FILE for remote slicer API access.
9595- Set SLICER_USE_VM_FORWARD=1 to use forwarded localhost access when VM IP is not reachable.
9696 - workspace defaults to the script directory.
@@ -141,7 +141,7 @@ _has_vm() {
141141}
142142
143143_wait_for_socket () {
144- if [[ " $SLICER_API_URL " != /* && " $SLICER_API_URL " != unix://* ]]; then
144+ if [[ " $SLICER_URL " != /* && " $SLICER_URL " != unix://* ]]; then
145145 return 0
146146 fi
147147 local i=0
@@ -165,38 +165,37 @@ _configure_runtime_from_slicer_info() {
165165 return 0
166166 fi
167167
168- local info server_os server_arch
168+ local info server_os server_arch tagged_vm
169169 info=" $( _query_slicer_info) "
170+ tagged_vm=" $( " ${SLICER_WITH_URL[@]} " vm list 2> /dev/null | awk -v tag=" ${SLICER_VM_TAG:- } " ' $NF == tag && tag != "" {print $1; exit}' ) "
170171 if [[ -n " $info " ]]; then
171172 server_os=" $( printf ' %s\n' " $info " | awk -F: ' /^Server OS:/ {gsub(/^[[:space:]]+|[[:space:]]+$/, "", $2); print tolower($2)}' | head -n1) "
172173 server_arch=" $( printf ' %s\n' " $info " | awk -F: ' /^Server arch:/ {gsub(/^[[:space:]]+|[[:space:]]+$/, "", $2); print tolower($2)}' | head -n1) "
173174
174175 if [[ -z " ${SLICER_HOST_GROUP:- } " ]]; then
175- if [[ " $server_os " == " darwin" && " $server_arch " == " arm64" ]]; then
176+ if [[ -n " $tagged_vm " ]]; then
177+ HOST_GROUP=" ${tagged_vm%% -* } "
178+ VM_NAME=" $tagged_vm "
179+ elif [[ " $server_os " == " darwin" && " $server_arch " == " arm64" ]]; then
176180 HOST_GROUP=" $MAC_HOST_GROUP "
181+ VM_NAME=" ${HOST_GROUP} -1"
177182 else
178183 HOST_GROUP=" $DEFAULT_HOST_GROUP "
184+ VM_NAME=" ${HOST_GROUP} -1"
179185 fi
180- VM_NAME=" ${HOST_GROUP} -1"
181186 fi
182187
183- if [[ -z " ${SLICER_SOCKET_PATH :- } " && -z " ${SLICER_API_URL :- }" && " $server_os " == " darwin" && " $server_arch " == " arm64" ]]; then
184- SLICER_API_URL =" /Users/alex/slicer-mac/slicer.sock"
185- SOCKET_PATH=" $SLICER_API_URL "
188+ if [[ -z " ${SLICER_URL } " && " $server_os " == " darwin" && " $server_arch " == " arm64" ]]; then
189+ SLICER_URL =" /Users/alex/slicer-mac/slicer.sock"
190+ SOCKET_PATH=" $SLICER_URL "
186191 fi
187192 elif [[ -z " ${SLICER_HOST_GROUP:- } " ]]; then
188193 HOST_GROUP=" $DEFAULT_HOST_GROUP "
189194 VM_NAME=" ${HOST_GROUP} -1"
190195 fi
191196
192- if [[ -n " ${SLICER_SOCKET_PATH:- } " ]]; then
193- SOCKET_PATH=" $SLICER_SOCKET_PATH "
194- if [[ -z " $SLICER_API_URL " ]]; then
195- SLICER_API_URL=" $SLICER_SOCKET_PATH "
196- fi
197- fi
198- if [[ -z " $SLICER_API_URL " ]]; then
199- SLICER_API_URL=" $SOCKET_PATH "
197+ if [[ -z " $SLICER_URL " ]]; then
198+ SLICER_URL=" $SOCKET_PATH "
200199 fi
201200
202201 _configure_slicer_with_url
@@ -256,7 +255,7 @@ _get_vm_name() {
256255 if [[ -n " ${SLICER_VM_TAG:- } " ]]; then
257256 vm_name=" $(
258257 " ${SLICER_WITH_URL[@]} " vm list 2> /dev/null \
259- | awk -v host= " ${HOST_GROUP} " -v tag=" ${SLICER_VM_TAG} " ' $1 ~ "^" host "-[0-9]+$" && $NF == tag {print $1}' \
258+ | awk -v tag=" ${SLICER_VM_TAG} " ' $NF == tag {print $1}' \
260259 | head -n1 \
261260 || true
262261 ) "
@@ -410,13 +409,13 @@ _wait_for_forward() {
410409}
411410
412411_forward_port_listening () {
413- if command -v lsof > /dev/null 2>&1 ; then
414- lsof -tiTCP -sTCP:LISTEN -Pn " tcp: ${ SLICER_VM_FORWARD_PORT} " > /dev/null 2>&1
412+ if command -v nc > /dev/null 2>&1 ; then
413+ nc -z 127.0.0.1 " $ SLICER_VM_FORWARD_PORT" > /dev/null 2>&1
415414 return $?
416415 fi
417416
418- if command -v nc > /dev/null 2>&1 ; then
419- nc -z 127.0.0.1 " $ SLICER_VM_FORWARD_PORT" > /dev/null 2>&1
417+ if command -v lsof > /dev/null 2>&1 ; then
418+ lsof -iTCP -P -n -sTCP:LISTEN 2> /dev/null | grep -qE " (^|[[:space:]]) 127\\ .0 \\ .0 \\ .1: ${ SLICER_VM_FORWARD_PORT} ([[:space:]]|$) "
420419 return $?
421420 fi
422421
@@ -710,7 +709,7 @@ up() {
710709 _cleanup_host_stale_artifacts
711710 SLICER_CREATED_VM_NAME=" "
712711 if ! _api_ready; then
713- _log " slicer API is not reachable at ${SLICER_API_URL } "
712+ _log " slicer API is not reachable at ${SLICER_URL } "
714713 return 1
715714 fi
716715
0 commit comments