k2hr3-api 1.0.35 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChangeLog +6 -0
- package/config/k2hr3-init.sh.templ +75 -18
- package/package.json +1 -1
package/ChangeLog
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
k2hr3-api (1.0.36) unstable; urgency=low
|
|
2
|
+
|
|
3
|
+
* Updated k2hr3-init.sh.templ - #123
|
|
4
|
+
|
|
5
|
+
-- Takeshi Nakatani <ggtakec@gmail.com> Mon, 09 Dec 2024 12:52:55 +0900
|
|
6
|
+
|
|
1
7
|
k2hr3-api (1.0.35) unstable; urgency=low
|
|
2
8
|
|
|
3
9
|
* Fixed bugs about defunct processes and mis-coding - #121
|
|
@@ -108,8 +108,10 @@ check_os()
|
|
|
108
108
|
#
|
|
109
109
|
# Set global values
|
|
110
110
|
# IS_OS_DEBIAN
|
|
111
|
+
# IS_OS_ALPINE
|
|
111
112
|
# PKGMGR_BIN
|
|
112
113
|
# PKGMGR_UPDATE_OPT
|
|
114
|
+
# PKGMGR_INSTALL_OPT
|
|
113
115
|
# PKGMGR_LIST_CMD
|
|
114
116
|
#
|
|
115
117
|
. /etc/os-release
|
|
@@ -117,39 +119,59 @@ check_os()
|
|
|
117
119
|
if echo "${ID}" | grep -q -i "centos"; then
|
|
118
120
|
if [ -z "${VERSION_ID}" ] || [ "${VERSION_ID}" -eq 7 ]; then
|
|
119
121
|
IS_OS_DEBIAN=0
|
|
122
|
+
IS_OS_ALPINE=0
|
|
120
123
|
PKGMGR_BIN="yum"
|
|
121
124
|
PKGMGR_UPDATE_OPT="update -y"
|
|
125
|
+
PKGMGR_INSTALL_OPT="install -y"
|
|
122
126
|
PKGMGR_LIST_CMD="yum list installed"
|
|
123
127
|
else
|
|
124
128
|
IS_OS_DEBIAN=0
|
|
129
|
+
IS_OS_ALPINE=0
|
|
125
130
|
PKGMGR_BIN="dnf"
|
|
126
131
|
PKGMGR_UPDATE_OPT="update -y -qq"
|
|
132
|
+
PKGMGR_INSTALL_OPT="install -y"
|
|
127
133
|
PKGMGR_LIST_CMD="dnf list installed"
|
|
128
134
|
fi
|
|
129
135
|
elif echo "${ID}" | grep -q -i "rocky"; then
|
|
130
136
|
IS_OS_DEBIAN=0
|
|
137
|
+
IS_OS_ALPINE=0
|
|
131
138
|
PKGMGR_BIN="dnf"
|
|
132
139
|
PKGMGR_UPDATE_OPT="update -y -qq"
|
|
140
|
+
PKGMGR_INSTALL_OPT="install -y"
|
|
133
141
|
PKGMGR_LIST_CMD="dnf list installed"
|
|
134
142
|
|
|
135
143
|
elif echo "${ID}" | grep -q -i "fedora"; then
|
|
136
144
|
IS_OS_DEBIAN=0
|
|
145
|
+
IS_OS_ALPINE=0
|
|
137
146
|
PKGMGR_BIN="dnf"
|
|
138
147
|
PKGMGR_UPDATE_OPT="update -y -qq"
|
|
148
|
+
PKGMGR_INSTALL_OPT="install -y"
|
|
139
149
|
PKGMGR_LIST_CMD="dnf list installed"
|
|
140
150
|
|
|
141
151
|
elif echo "${ID}" | grep -q -i "ubuntu"; then
|
|
142
152
|
IS_OS_DEBIAN=1
|
|
153
|
+
IS_OS_ALPINE=0
|
|
143
154
|
PKGMGR_BIN="apt-get"
|
|
144
155
|
PKGMGR_UPDATE_OPT="update -y -qq"
|
|
156
|
+
PKGMGR_INSTALL_OPT="install -y"
|
|
145
157
|
PKGMGR_LIST_CMD="apt list --installed"
|
|
146
158
|
|
|
147
159
|
elif echo "${ID}" | grep -q -i "debian"; then
|
|
148
160
|
IS_OS_DEBIAN=1
|
|
161
|
+
IS_OS_ALPINE=0
|
|
149
162
|
PKGMGR_BIN="apt-get"
|
|
150
163
|
PKGMGR_UPDATE_OPT="update -y -qq"
|
|
164
|
+
PKGMGR_INSTALL_OPT="install -y"
|
|
151
165
|
PKGMGR_LIST_CMD="apt list --installed"
|
|
152
166
|
|
|
167
|
+
elif echo "${ID}" | grep -q -i "alpine"; then
|
|
168
|
+
IS_OS_DEBIAN=0
|
|
169
|
+
IS_OS_ALPINE=1
|
|
170
|
+
PKGMGR_BIN="apk"
|
|
171
|
+
PKGMGR_UPDATE_OPT="update -q --no-progress"
|
|
172
|
+
PKGMGR_INSTALL_OPT="add --no-progress --no-cache"
|
|
173
|
+
PKGMGR_LIST_CMD="apk list --installed"
|
|
174
|
+
|
|
153
175
|
else
|
|
154
176
|
exit_err "Unknown OS distribution(${ID})."
|
|
155
177
|
fi
|
|
@@ -187,7 +209,7 @@ check_curl()
|
|
|
187
209
|
update_package_local_db
|
|
188
210
|
|
|
189
211
|
# Install curl
|
|
190
|
-
if ! /bin/sh -c "${SUDOCMD} ${PKGMGR_BIN}
|
|
212
|
+
if ! /bin/sh -c "${SUDOCMD} ${PKGMGR_BIN} ${PKGMGR_INSTALL_OPT} curl"; then
|
|
191
213
|
exit_err "Failed installing curl"
|
|
192
214
|
fi
|
|
193
215
|
output_info "Success installing curl"
|
|
@@ -270,10 +292,15 @@ setup_packagecloudio_repo()
|
|
|
270
292
|
fi
|
|
271
293
|
if [ "${IS_OS_DEBIAN}" -eq 1 ]; then
|
|
272
294
|
_SCRIPT_NAME="script.deb.sh"
|
|
295
|
+
_RUN_SHELL_CMD="bash"
|
|
296
|
+
elif [ "${IS_OS_ALPINE}" -eq 1 ]; then
|
|
297
|
+
_SCRIPT_NAME="script.alpine.sh"
|
|
298
|
+
_RUN_SHELL_CMD="sh"
|
|
273
299
|
else
|
|
274
300
|
_SCRIPT_NAME="script.rpm.sh"
|
|
301
|
+
_RUN_SHELL_CMD="bash"
|
|
275
302
|
fi
|
|
276
|
-
if ! curl -s https://packagecloud.io/install/repositories/antpickax/stable
|
|
303
|
+
if ! /bin/sh -c "curl -s https://packagecloud.io/install/repositories/antpickax/stable/${_SCRIPT_NAME} | ${SUDOCMD} ${_RUN_SHELL_CMD}"; then
|
|
277
304
|
exit_err "Could not setup packagecloud.io repository."
|
|
278
305
|
fi
|
|
279
306
|
SETUP_PC_REPO=1
|
|
@@ -324,7 +351,7 @@ install_package()
|
|
|
324
351
|
output_info "${_TMP_INSTALL_PKGNAME} pacakge is already installed."
|
|
325
352
|
else
|
|
326
353
|
# Install package
|
|
327
|
-
if ! /bin/sh -c "${SUDOCMD} ${PKGMGR_BIN}
|
|
354
|
+
if ! /bin/sh -c "${SUDOCMD} ${PKGMGR_BIN} ${PKGMGR_INSTALL_OPT} ${_TMP_INSTALL_PKGNAME}" >/dev/null 2>&1; then
|
|
328
355
|
exit_err "Failed installing ${_TMP_INSTALL_PKGNAME} package"
|
|
329
356
|
fi
|
|
330
357
|
output_info "Success installing ${_TMP_INSTALL_PKGNAME} pacakge"
|
|
@@ -357,19 +384,21 @@ get_install_packages()
|
|
|
357
384
|
# Check response(expect -> "result": true)
|
|
358
385
|
if ! echo "${_GET_RESULT}" | tr '[:lower:]' '[:upper:]' | grep -q '["]*RESULT["]*:[[:space:]]*TRUE[[:space:]]*,'; then
|
|
359
386
|
# Get error message(expect -> "message": "...")
|
|
360
|
-
_GET_RESULT_MSG=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*[
|
|
387
|
+
_GET_RESULT_MSG=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*message["]*:[[:space:]]*//gi' -e 's/["],.*$//g' -e 's/}.*//g' -e 's/"//g')
|
|
361
388
|
output_info "There is no keyname($3) with response(${_GET_RESULT_MSG}), then no package is installed."
|
|
362
389
|
return 0
|
|
363
390
|
fi
|
|
364
391
|
output_info "Success getting keyname($3) value."
|
|
365
392
|
|
|
393
|
+
# get pacakge list
|
|
394
|
+
INSTALL_PKGS=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*resource["]*:[[:space:]]*//gi' -e 's/["],.*$//g' -e 's/}.*//g' -e 's/"//g' -e 's/,/ /g' -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g')
|
|
395
|
+
|
|
366
396
|
# setup packakecloud.io repository
|
|
367
|
-
if [ "${_INSTALL_PKGS_PC}" -eq 1 ]; then
|
|
397
|
+
if [ "${_INSTALL_PKGS_PC}" -eq 1 ] && [ -n "${INSTALL_PKGS}" ]; then
|
|
368
398
|
setup_packagecloudio_repo
|
|
369
399
|
fi
|
|
370
400
|
|
|
371
|
-
#
|
|
372
|
-
INSTALL_PKGS=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*[rR][eE][sS][oO][uU][rR][cC][eE]["]*:[[:space:]]*//g' -e 's/["],.*$//g' -e 's/}.*//g' -e 's/"//g' -e 's/,/ /g')
|
|
401
|
+
# install each package
|
|
373
402
|
for _package in ${INSTALL_PKGS}; do
|
|
374
403
|
install_package "${_package}"
|
|
375
404
|
done
|
|
@@ -398,14 +427,14 @@ start_systemd_service()
|
|
|
398
427
|
# Check response(expect -> "result": true)
|
|
399
428
|
if ! echo "${_GET_RESULT}" | tr '[:lower:]' '[:upper:]' | grep -q '["]*RESULT["]*:[[:space:]]*TRUE[[:space:]]*,'; then
|
|
400
429
|
# Get error message(expect -> "message": "...")
|
|
401
|
-
_GET_RESULT_MSG=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*[
|
|
430
|
+
_GET_RESULT_MSG=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*message["]*:[[:space:]]*//gi' -e 's/["],.*$//g' -e 's/}.*//g' -e 's/"//g')
|
|
402
431
|
output_info "There is no keyname($3) with response(${_GET_RESULT_MSG}), then no package is installed."
|
|
403
432
|
return 0
|
|
404
433
|
fi
|
|
405
434
|
output_info "Success getting keyname($3) value."
|
|
406
435
|
|
|
407
436
|
# pacakges
|
|
408
|
-
_TMP_LIST_PKGS=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*[
|
|
437
|
+
_TMP_LIST_PKGS=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*resource["]*:[[:space:]]*//gi' -e 's/["],.*$//g' -e 's/}.*//g' -e 's/"//g' -e 's/,/ /g')
|
|
409
438
|
|
|
410
439
|
# check and start/enable systemd service
|
|
411
440
|
for _package in ${_TMP_LIST_PKGS}; do
|
|
@@ -452,14 +481,14 @@ stop_systemd_service()
|
|
|
452
481
|
# Check response(expect -> "result": true)
|
|
453
482
|
if ! echo "${_GET_RESULT}" | tr '[:lower:]' '[:upper:]' | grep -q '["]*RESULT["]*:[[:space:]]*TRUE[[:space:]]*,'; then
|
|
454
483
|
# Get error message(expect -> "message": "...")
|
|
455
|
-
_GET_RESULT_MSG=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*[
|
|
484
|
+
_GET_RESULT_MSG=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*message["]*:[[:space:]]*//gi' -e 's/["],.*$//g' -e 's/}.*//g' -e 's/"//g')
|
|
456
485
|
output_info "There is no keyname($3) with response(${_GET_RESULT_MSG}), then no package is installed."
|
|
457
486
|
return 0
|
|
458
487
|
fi
|
|
459
488
|
output_info "Success getting keyname($3) value."
|
|
460
489
|
|
|
461
490
|
# pacakges
|
|
462
|
-
_TMP_LIST_PKGS=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*[
|
|
491
|
+
_TMP_LIST_PKGS=$(echo "${_GET_RESULT}" | sed -e 's/^.*["]*resource["]*:[[:space:]]*//gi' -e 's/["],.*$//g' -e 's/}.*//g' -e 's/"//g' -e 's/,/ /g')
|
|
463
492
|
|
|
464
493
|
# make reverse list
|
|
465
494
|
_TMP_REV_LIST_PKGS=""
|
|
@@ -506,7 +535,7 @@ register_host()
|
|
|
506
535
|
# Check response(expect -> "result": true)
|
|
507
536
|
if ! echo "${_REGISTER_RESULT}" | tr '[:lower:]' '[:upper:]' | grep -q '["]*RESULT["]*:[[:space:]]*TRUE[[:space:]]*,'; then
|
|
508
537
|
# Get error message(expect -> "message": "...")
|
|
509
|
-
_REGISTER_RESULT_MSG=$(echo "${_REGISTER_RESULT}" | sed -e 's/^.*["]*[
|
|
538
|
+
_REGISTER_RESULT_MSG=$(echo "${_REGISTER_RESULT}" | sed -e 's/^.*["]*message["]*:[[:space:]]*//gi' -e 's/["],.*$//g' -e 's/}.*//g' -e 's/"//g')
|
|
510
539
|
exit_err "Failed to put access for registering by ${_REGISTER_RESULT_MSG}"
|
|
511
540
|
fi
|
|
512
541
|
output_info "Success setting this host to k2hr3 role($3)"
|
|
@@ -593,9 +622,10 @@ output_info "Start common processing."
|
|
|
593
622
|
SETUP_PC_REPO=0
|
|
594
623
|
IS_UPDATE_PKG_LOCAL_DB=0
|
|
595
624
|
IS_OS_DEBIAN=0
|
|
625
|
+
IS_OS_ALPINE=0
|
|
596
626
|
PKGMGR_BIN=
|
|
597
627
|
PKGMGR_UPDATE_OPT=
|
|
598
|
-
PKGMGR_INSTALL_OPT=
|
|
628
|
+
PKGMGR_INSTALL_OPT=
|
|
599
629
|
PKGMGR_LIST_CMD=
|
|
600
630
|
|
|
601
631
|
#
|
|
@@ -633,7 +663,7 @@ INSTANCE_ID_FILE="${CLOUDINIT_DATA_DIR}/instance-id"
|
|
|
633
663
|
#
|
|
634
664
|
K2HR3_ROLE_TOKEN="{{= %K2HR3_ROLE_TOKEN% }}"
|
|
635
665
|
K2HR3_ROLE_NAME="{{= %K2HR3_ROLE_NAME% }}"
|
|
636
|
-
K2HR3_RESOURCE_NAME=$(echo "${K2HR3_ROLE_NAME}" | sed -e 's/:
|
|
666
|
+
K2HR3_RESOURCE_NAME=$(echo "${K2HR3_ROLE_NAME}" | sed -e 's/:role:/:resource:/gi')
|
|
637
667
|
K2HR3_ROLE_TENANT="{{= %K2HR3_ROLE_TENANT% }}"
|
|
638
668
|
K2HR3_API_HOST_URI="{{= %K2HR3_API_HOST_URI% }}"
|
|
639
669
|
K2HR3_ERROR_MSG="{{= %K2HR3_ERROR_MSG% }}"
|
|
@@ -693,13 +723,40 @@ if [ "${SCRIPTMODE}" = "r" ]; then
|
|
|
693
723
|
if [ -z "${INSTANCE_ID}" ]; then
|
|
694
724
|
exit_err "Unknown Instance Id in ${INSTANCE_ID_FILE}"
|
|
695
725
|
fi
|
|
726
|
+
|
|
727
|
+
#
|
|
728
|
+
# Get full local hostname(with domain)
|
|
729
|
+
#
|
|
730
|
+
# [NOTE]
|
|
731
|
+
# The order of precedence is:
|
|
732
|
+
# 1) search keyword in resolv.conf as domain name
|
|
733
|
+
# 2) domain keyword in resolv.conf as domain name
|
|
734
|
+
# 3) hostname command(-d) as domain name
|
|
735
|
+
# 4) hostname command(-f)
|
|
736
|
+
#
|
|
737
|
+
LOCAL_HOSTNAME=$(hostname)
|
|
738
|
+
LOCAL_DOMAIN=$(hostname -d)
|
|
739
|
+
RESOLVE_DOMAIN=$(grep -i '^search' /etc/resolv.conf | awk '{print $NF}')
|
|
740
|
+
if [ -z "${RESOLVE_DOMAIN}" ]; then
|
|
741
|
+
RESOLVE_DOMAIN=$(grep -i '^domain' /etc/resolv.conf | awk '{print $NF}')
|
|
742
|
+
fi
|
|
743
|
+
|
|
744
|
+
if [ -n "${RESOLVE_DOMAIN}" ]; then
|
|
745
|
+
LOCAL_FULL_HOSTNAME="${LOCAL_HOSTNAME}.${RESOLVE_DOMAIN}"
|
|
746
|
+
elif [ -n "${LOCAL_DOMAIN}" ]; then
|
|
747
|
+
LOCAL_FULL_HOSTNAME="${LOCAL_HOSTNAME}.${LOCAL_DOMAIN}"
|
|
748
|
+
else
|
|
749
|
+
LOCAL_FULL_HOSTNAME=$(hostname -f)
|
|
750
|
+
fi
|
|
751
|
+
LOCAL_FULL_HOSTNAME=$(echo "${LOCAL_FULL_HOSTNAME}" | sed -e 's#\.$##g' -e 's#\.\.#\.#g')
|
|
752
|
+
|
|
753
|
+
#
|
|
754
|
+
# Set variables
|
|
755
|
+
#
|
|
696
756
|
CUK_VALUE="${INSTANCE_ID}"
|
|
697
757
|
CUK_PARAMETER="cuk=${INSTANCE_ID}"
|
|
698
758
|
EXTRA_PARAMETER="extra=openstack-auto-v1"
|
|
699
|
-
TAG_PARAMETER="tag=${
|
|
700
|
-
if ! LOCAL_HOSTNAME=$(hostname); then
|
|
701
|
-
output_warn "Local hostname is empty"
|
|
702
|
-
fi
|
|
759
|
+
TAG_PARAMETER="tag=${LOCAL_FULL_HOSTNAME}"
|
|
703
760
|
|
|
704
761
|
#
|
|
705
762
|
# Register this host to K2HR3
|