k2hr3-api 1.0.11 → 1.0.13

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.
Files changed (121) hide show
  1. package/ChangeLog +24 -0
  2. package/app.js +7 -4
  3. package/bin/run.sh +218 -172
  4. package/bin/watcher +7 -4
  5. package/bin/www +7 -4
  6. package/config/default.json +7 -4
  7. package/config/development.json +7 -4
  8. package/config/dummyuser.json +8 -5
  9. package/config/extdata-dummy.sh.templ +12 -9
  10. package/config/k2hr3-cloud-config.txt.templ +7 -4
  11. package/config/k2hr3-init-error.sh.templ +8 -5
  12. package/config/k2hr3-init.sh.templ +127 -207
  13. package/config/keystone_v2.json +7 -4
  14. package/config/keystone_v3.json +7 -4
  15. package/lib/basicipcheck.js +7 -4
  16. package/lib/cacerts.js +7 -4
  17. package/lib/dbglogging.js +7 -4
  18. package/lib/dummyuserapi.js +7 -4
  19. package/lib/ipwatch.js +7 -4
  20. package/lib/k2hr3acrutil.js +7 -5
  21. package/lib/k2hr3apiutil.js +7 -4
  22. package/lib/k2hr3cliutil.js +7 -4
  23. package/lib/k2hr3config.js +7 -4
  24. package/lib/k2hr3cryptutil.js +7 -4
  25. package/lib/k2hr3dkc.js +7 -4
  26. package/lib/k2hr3extdata.js +7 -4
  27. package/lib/k2hr3keys.js +7 -4
  28. package/lib/k2hr3resutil.js +7 -4
  29. package/lib/k2hr3template.js +7 -4
  30. package/lib/k2hr3tokens.js +7 -4
  31. package/lib/k2hr3userdata.js +8 -5
  32. package/lib/k8soidc.js +1 -1
  33. package/lib/openstackapiv2.js +7 -4
  34. package/lib/openstackapiv3.js +7 -4
  35. package/lib/openstackep.js +7 -4
  36. package/package.json +73 -72
  37. package/routes/acr.js +7 -4
  38. package/routes/debugVerify.js +7 -4
  39. package/routes/extdata.js +7 -4
  40. package/routes/list.js +7 -4
  41. package/routes/policy.js +7 -4
  42. package/routes/resource.js +7 -4
  43. package/routes/role.js +7 -4
  44. package/routes/service.js +7 -4
  45. package/routes/userTokens.js +7 -4
  46. package/routes/userdata.js +7 -4
  47. package/routes/version.js +7 -4
  48. package/templ/Dockerfile.templ +35 -52
  49. package/{test → tests}/auto_acr.js +7 -4
  50. package/{test → tests}/auto_acr_spec.js +7 -4
  51. package/{test → tests}/auto_all_spec.js +7 -4
  52. package/{test → tests}/auto_common.js +7 -4
  53. package/tests/auto_control_subprocess.sh +239 -0
  54. package/{test → tests}/auto_extdata.js +7 -4
  55. package/{test → tests}/auto_extdata_spec.js +7 -4
  56. package/tests/auto_init_config_json.sh +275 -0
  57. package/{test → tests}/auto_k2hdkc_server.ini +7 -4
  58. package/{test → tests}/auto_k2hdkc_slave.ini +7 -4
  59. package/{test → tests}/auto_list.js +7 -4
  60. package/{test → tests}/auto_list_spec.js +7 -4
  61. package/{test → tests}/auto_policy.js +7 -4
  62. package/{test → tests}/auto_policy_spec.js +7 -4
  63. package/{test → tests}/auto_resource.js +7 -4
  64. package/{test → tests}/auto_resource_spec.js +7 -4
  65. package/{test → tests}/auto_role.js +7 -4
  66. package/{test → tests}/auto_role_spec.js +7 -4
  67. package/{test → tests}/auto_service.js +7 -4
  68. package/{test → tests}/auto_service_spec.js +7 -4
  69. package/{test → tests}/auto_subprocesses.js +14 -11
  70. package/tests/auto_template.sh +126 -0
  71. package/{test → tests}/auto_token_util.js +7 -4
  72. package/{test → tests}/auto_userdata.js +7 -4
  73. package/{test → tests}/auto_userdata_spec.js +7 -4
  74. package/{test → tests}/auto_usertokens.js +7 -4
  75. package/{test → tests}/auto_usertokens_spec.js +7 -4
  76. package/{test → tests}/auto_version.js +7 -4
  77. package/{test → tests}/auto_version_spec.js +7 -4
  78. package/{test → tests}/auto_watcher.js +7 -4
  79. package/{test → tests}/auto_watcher_spec.js +7 -4
  80. package/{test → tests}/k2hdkc_test.data +7 -4
  81. package/tests/k2hdkc_test_load.sh +255 -0
  82. package/{test → tests}/k2hr3template_test.js +7 -4
  83. package/tests/k2hr3template_test.sh +339 -0
  84. package/{test → tests}/k2hr3template_test_async.js +7 -4
  85. package/{test → tests}/k2hr3template_test_template.result +14 -8
  86. package/{test → tests}/k2hr3template_test_template.txt +7 -4
  87. package/{test → tests}/k2hr3template_test_vars.js +7 -4
  88. package/{test → tests}/manual_acr_delete.js +7 -4
  89. package/{test → tests}/manual_acr_get.js +7 -4
  90. package/{test → tests}/manual_acr_postput.js +7 -4
  91. package/{test → tests}/manual_allusertenant_get.js +7 -4
  92. package/{test → tests}/manual_extdata_get.js +7 -4
  93. package/{test → tests}/manual_k2hr3keys_get.js +7 -4
  94. package/{test → tests}/manual_list_gethead.js +7 -4
  95. package/{test → tests}/manual_policy_delete.js +7 -4
  96. package/{test → tests}/manual_policy_gethead.js +7 -4
  97. package/{test → tests}/manual_policy_postput.js +7 -4
  98. package/{test → tests}/manual_resource_delete.js +7 -4
  99. package/{test → tests}/manual_resource_gethead.js +7 -4
  100. package/{test → tests}/manual_resource_postput.js +7 -4
  101. package/{test → tests}/manual_role_delete.js +7 -4
  102. package/{test → tests}/manual_role_gethead.js +7 -4
  103. package/{test → tests}/manual_role_postput.js +7 -4
  104. package/{test → tests}/manual_service_delete.js +7 -4
  105. package/{test → tests}/manual_service_gethead.js +7 -4
  106. package/{test → tests}/manual_service_postput.js +7 -4
  107. package/tests/manual_test.sh +338 -0
  108. package/{test → tests}/manual_userdata_get.js +7 -4
  109. package/{test → tests}/manual_usertoken_gethead.js +7 -4
  110. package/{test → tests}/manual_usertoken_postput.js +7 -4
  111. package/{test → tests}/manual_version_get.js +7 -4
  112. package/tests/run_local_test_k2hdkc.sh +174 -0
  113. package/tests/test.sh +331 -0
  114. package/test/auto_control_subprocess.sh +0 -170
  115. package/test/auto_init_config_json.sh +0 -246
  116. package/test/auto_template.sh +0 -127
  117. package/test/auto_test.sh +0 -321
  118. package/test/k2hdkc_test_load.sh +0 -198
  119. package/test/k2hr3template_test.sh +0 -296
  120. package/test/manual_test.sh +0 -321
  121. package/test/run_local_test_k2hdkc.sh +0 -154
package/ChangeLog CHANGED
@@ -1,3 +1,27 @@
1
+ k2hr3-api (1.0.13) unstable; urgency=low
2
+
3
+ * Updated building/packaging scripts - #76
4
+
5
+ -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 06 Mar 2023 22:04:36 +0900
6
+
7
+ k2hr3-api (1.0.12) unstable; urgency=low
8
+
9
+ * Changed flows for packaging and bulding docker image - #74
10
+ * Updated header and footer in comment lines - #73
11
+ * Updated issue/pullrequest templates - #72
12
+ * Reviewed ShellCheck processing again - #71
13
+ * Reviewed ShellCheck processing and fixed bugs - #70
14
+ * Eliminated unnecessary copies in nodejs_helper.sh - #69
15
+ * Fixed a bug in docker_helper.sh - #68
16
+ * Fixed docker_helper.sh and imagetypevars.sh - #67
17
+ * Shared Docker image build logic with other products - #66
18
+ * Updated github actions and nodejs version, and fixed bugs - #65
19
+ * Unified OS judgment to /etc/os-release - #64
20
+ * Renamed the test directory to tests and auto_test.sh to test.sh - #63
21
+ * Cleaned up package.json and updated related package versions - #62
22
+
23
+ -- Takeshi Nakatani <ggtakec@gmail.com> Mon, 20 Feb 2023 20:21:38 +0900
24
+
1
25
  k2hr3-api (1.0.11) unstable; urgency=low
2
26
 
3
27
  * Added config value as unscopedtoken expire for oidc - #60
package/app.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * K2HR3 REST API
3
3
  *
4
- * Copyright 2017 Yahoo! Japan Corporation.
4
+ * Copyright 2017 Yahoo Japan Corporation.
5
5
  *
6
6
  * K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
7
7
  * common management information for the cloud.
@@ -254,7 +254,10 @@ app.use(function(err, req, res, next) // eslint-disable-line no-unused-vars
254
254
  module.exports = app;
255
255
 
256
256
  /*
257
- * VIM modelines
258
- *
259
- * vim:set ts=4 fenc=utf-8:
257
+ * Local variables:
258
+ * tab-width: 4
259
+ * c-basic-offset: 4
260
+ * End:
261
+ * vim600: noexpandtab sw=4 ts=4 fdm=marker
262
+ * vim<600: noexpandtab sw=4 ts=4
260
263
  */
package/bin/run.sh CHANGED
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # K2HR3 REST API
4
4
  #
5
- # Copyright 2017 Yahoo! Japan Corporation.
5
+ # Copyright 2017 Yahoo Japan Corporation.
6
6
  #
7
7
  # K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
8
8
  # common management information for the cloud.
@@ -18,281 +18,318 @@
18
18
  # REVISION:
19
19
  #
20
20
 
21
+ #==========================================================
22
+ # Common Variables
23
+ #==========================================================
24
+ PRGNAME=$(basename "$0")
25
+ SCRIPTDIR=$(dirname "$0")
26
+ SCRIPTDIR=$(cd "${SCRIPTDIR}" || exit 1; pwd)
27
+ SRCTOP=$(cd "${SCRIPTDIR}/.." || exit 1; pwd)
28
+
21
29
  #
22
- # Common
30
+ # Variables
23
31
  #
24
- CMDLINE_PROCESS_NAME=$0
25
- CMDLINE_ALL_PARAM=$@
26
- PROGRAM_NAME=`basename ${CMDLINE_PROCESS_NAME}`
27
- MYSCRIPTDIR=`dirname ${CMDLINE_PROCESS_NAME}`
28
- MYSCRIPTDIR=`cd ${MYSCRIPTDIR}; pwd`
29
- SRCTOP=`cd ${MYSCRIPTDIR}/..; pwd`
30
- HOST=`hostname`
32
+ CMDLINE_COMMAND="$0"
33
+ CMDLINE_PARAMETERS="$*"
34
+
35
+ LOCAL_HOSTNAME="$(hostname | tr -d '\n')"
36
+ PID_FILE_BASEDIR="/var/run/antpickax"
37
+ PID_FILE_TMPDIR="/tmp"
38
+
39
+ MAINPROC_PID_BASENAME="${PRGNAME}.pid"
40
+ WATCHPROC_PID_BASENAME="${PRGNAME}-watch.pid"
31
41
 
32
- MYPROCIDFILE=""
33
- MYPID_BASEDIR="/var/run/antpickax"
34
- MYPID_TMPDIR="/tmp"
35
- MYMAINPROCIDFILE=""
36
- MYWATCHPROCIDFILE=""
37
- MYMAINPROCIDFILENAME="${PROGRAM_NAME}.pid"
38
- MYWATCHPROCIDFILENAME="${PROGRAM_NAME}-watch.pid"
39
- TARGETPROG=""
40
- WWWPROG="bin/www"
41
- WATCHPROG="bin/watcher"
42
+ TARGET_PROGRAM=""
43
+ MAIN_PROGRAM="bin/www"
44
+ WATCH_PROGRAM="bin/watcher"
42
45
 
46
+ PROC_PID_FILE=""
47
+ MAINPROC_PID_FILE=""
48
+ WATCHPROC_PID_FILE=""
49
+
50
+ #==============================================================
51
+ # Utility functions
52
+ #==============================================================
43
53
  #
44
54
  # Usage
45
55
  #
46
56
  PrintUsage()
47
57
  {
48
- echo "Usage: $1 [--production(default) | --development]"
49
- echo " [--stop]"
58
+ echo "Usage: $1 [--production(-prod) | --development(-dev)]"
59
+ echo " [--stop(-s)]"
50
60
  echo " [--background(-bg) | --foreground(-fg)]"
51
61
  echo " [--debug(-d) | --debug-nobrk(-dnobrk)]"
52
- echo " [--debuglevel DBG/MSG/WARN/ERR/(custom debug level)]"
53
- echo " [--watcher [--oneshot]]"
62
+ echo " [--debuglevel(-dl) DBG/MSG/WARN/ERR/(custom debug level)]"
63
+ echo " [--watcher(-w) [--oneshot(-o)]]"
54
64
  echo ""
55
- echo "Option: --production : Set 'production' to NODE_ENV environment"
56
- echo " (This option is default and exclusive with"
57
- echo " the '--development' option)"
58
- echo " --development : Set 'development' to NODE_ENV environment"
59
- echo " (exclusive with the '--production' option)"
60
- echo " --stop : Stop www or watcher nodejs process"
65
+ echo "Option:"
66
+ echo " --production(-prod) : [default] Set 'production' to NODE_ENV environment (this is default and exclusive with the '--development' option)"
67
+ echo " --development(-dev) : Set 'development' to NODE_ENV environment (exclusive with the '--production' option)"
68
+ echo " --stop(-s) : Stop www or watcher nodejs process"
69
+ echo " --background(-bg) : Run process background"
70
+ echo " --foreground(-fg) : Run process foreground (this takes precedence over --background(-bg) option)"
61
71
  echo " --debug(-d) : Run with nodejs inspector option"
62
- echo " --debug-nobrk(-dnobrk) : Run with nodejs inspector option"
63
- echo " (no break at start)"
64
- echo " --debuglevel : Specify the level of debug output."
65
- echo " (DBG/MSG/WARN/ERR/custom debug level)"
66
- echo " --watcher : Run IP watcher process as daemon"
67
- echo " --oneshot : Run watcher process only once"
72
+ echo " --debug-nobrk(-dnobrk) : Run with nodejs inspector option (no break at start)"
73
+ echo " --debuglevel(-dl) : Specify the level of debug output (DBG/MSG/WARN/ERR/custom debug level)"
74
+ echo " --watcher(-w) : Run IP watcher process as daemon"
75
+ echo " --oneshot(-os) : Run watcher process only once"
68
76
  echo ""
69
77
  }
70
78
 
71
79
  #
72
- # utility
80
+ # Stop processes
73
81
  #
74
82
  stop_old_process()
75
83
  {
76
- if [ -f ${MYPROCIDFILE} ]; then
77
- ps ax | grep `cat ${MYPROCIDFILE}` | grep -v grep | grep ${PROGRAM_NAME} > /dev/null 2>&1
78
- if [ $? -eq 0 ]; then
79
- OLDPROCID=`cat ${MYPROCIDFILE}`
80
- OLD_CIHLD_PIDS=`pgrep -P ${OLDPROCID}`
81
- kill -HUP ${OLDPROCID} ${OLD_CIHLD_PIDS} > /dev/null 2>&1
82
- if [ $? -ne 0 ]; then
83
- echo "[WARNING] could not stop old process."
84
- kill -KILL ${OLDPROCID} ${OLD_CIHLD_PIDS} > /dev/null 2>&1
85
-
86
- ps ax | grep `cat ${MYPROCIDFILE}` | grep -v grep | grep ${PROGRAM_NAME} > /dev/null 2>&1
87
- if [ $? -eq 0 ]; then
88
- echo "[ERROR] could not stop old process."
89
- return 1
90
- fi
84
+ if [ -z "${PROC_PID_FILE}" ]; then
85
+ #
86
+ # Not initialize yet
87
+ #
88
+ return 0
89
+ fi
90
+
91
+ if [ ! -f "${PROC_PID_FILE}" ]; then
92
+ return 0
93
+ fi
94
+
95
+ OLD_PID="$(tr -d '\n' < "${PROC_PID_FILE}")"
96
+
97
+
98
+ if pgrep -f "${PRGNAME}" | grep -q "${OLD_PID}"; then
99
+ #
100
+ # Try to stop(HUP) process and child processes
101
+ #
102
+ OLD_CIHLD_PIDS="$(pgrep -P "${OLDPROCID}" | tr '\n' ' ')"
103
+ if ! /bin/sh -c "kill -HUP ${OLD_PID} ${OLD_CIHLD_PIDS}" >/dev/null 2>&1; then
104
+ echo "[WARNING] Failed to stop some old processes."
105
+ fi
106
+ sleep 1
107
+
108
+ #
109
+ # Check process is running yet
110
+ #
111
+ if pgrep -f "${PRGNAME}" | grep -q "${OLD_PID}"; then
112
+ #
113
+ # Try to stop(KILL) process and child processes
114
+ #
115
+ if ! /bin/sh -c "kill -KILL ${OLD_PID} ${OLD_CIHLD_PIDS}" >/dev/null 2>&1; then
116
+ echo "[WARNING] Failed to retry stop some old processes."
117
+ fi
118
+ sleep 1
119
+
120
+ #
121
+ # Re-check process is running yet
122
+ #
123
+ if pgrep -f "${PRGNAME}" | grep -q "${OLD_PID}"; then
124
+ echo "[ERROR] Could not stop old processes."
125
+ return 1
91
126
  fi
92
- echo "[INFO] old process pid file exists, then try to stop it."
93
127
  fi
128
+ echo "[INFO] Stop old processes."
94
129
  fi
130
+ rm -f "${PROC_PID_FILE}"
131
+
95
132
  return 0
96
133
  }
97
134
 
98
- #
99
- # Parse arguments
100
- #
101
- DEBUG_ENV_CUSTOM=""
102
- DEBUG_ENV_LEVEL=0
103
- INSPECTOR_OPT=""
135
+ #==========================================================
136
+ # Parse options and check environments
137
+ #==========================================================
104
138
  NODE_ENV_VALUE=""
105
139
  FOREGROUND=0
106
140
  BACKGROUND=0
107
141
  STOP_OLD_PROCESS=0
142
+ INSPECTOR_OPT=""
143
+ DEBUG_ENV_LEVEL=0
144
+ DEBUG_ENV_CUSTOM=""
108
145
  WATCHER_PROC=0
109
146
  WATCH_ONESHOT=0
110
147
 
111
148
  while [ $# -ne 0 ]; do
112
- if [ "X$1" = "X" ]; then
149
+ if [ -z "$1" ]; then
113
150
  break
114
151
 
115
- elif [ "X$1" = "X--help" -o "X$1" = "X--HELP" -o "X$1" = "X-h" -o "X$1" = "X-H" ]; then
116
- PrintUsage ${PROGRAM_NAME}
152
+ elif [ "$1" = "-h" ] || [ "$1" = "-H" ] || [ "$1" = "--help" ] || [ "$1" = "--HELP" ]; then
153
+ PrintUsage "${PRGNAME}"
117
154
  exit 0
118
155
 
119
- elif [ "X$1" = "X--background" -o "X$1" = "X--BACKGROUND" -o "X$1" = "X-bg" -o "X$1" = "X-BG" ]; then
156
+ elif [ "$1" = "prod" ] || [ "$1" = "-PROD" ] || [ "$1" = "--production" ] || [ "$1" = "--PRODUCTION" ]; then
157
+ if [ -n "${NODE_ENV_VALUE}" ]; then
158
+ echo "[ERROR] already specified --production(-prod) or --development(-dev) option"
159
+ exit 1
160
+ fi
161
+ NODE_ENV_VALUE="production"
162
+
163
+ elif [ "$1" = "-dev" ] || [ "$1" = "-DEV" ] || [ "$1" = "--development" ] || [ "$1" = "--DEVELOPMENT" ]; then
164
+ if [ -n "${NODE_ENV_VALUE}" ]; then
165
+ echo "[ERROR] already specified --production(-prod) or --development(-dev) option"
166
+ exit 1
167
+ fi
168
+ NODE_ENV_VALUE="development"
169
+
170
+ elif [ "$1" = "-bg" ] || [ "$1" = "-BG" ] || [ "$1" = "--background" ] || [ "$1" = "--BACKGROUND" ]; then
120
171
  #
121
172
  # Not check multi same option...
122
173
  #
123
174
  BACKGROUND=1
124
175
 
125
- elif [ "X$1" = "X--foreground" -o "X$1" = "X--FOREGROUND" -o "X$1" = "X-fg" -o "X$1" = "X-FG" ]; then
176
+ elif [ "$1" = "--foreground" ] || [ "$1" = "--FOREGROUND" ] || [ "$1" = "-fg" ] || [ "$1" = "-FG" ]; then
126
177
  #
127
178
  # Not check multi same option...
128
179
  #
129
180
  FOREGROUND=1
130
181
 
131
- elif [ "X$1" = "X--stop" -o "X$1" = "X--STOP" -o "X$1" = "X-STOP" -o "X$1" = "X-stop" ]; then
132
- if [ ${STOP_OLD_PROCESS} -ne 0 ]; then
133
- echo "ERROR: already specified --stop option"
182
+ elif [ "$1" = "-s" ] || [ "$1" = "-S" ] || [ "$1" = "--stop" ] || [ "$1" = "--STOP" ]; then
183
+ if [ "${STOP_OLD_PROCESS}" -ne 0 ]; then
184
+ echo "[ERROR] already specified --stop(-s) option"
134
185
  exit 1
135
186
  fi
136
187
  STOP_OLD_PROCESS=1
137
188
 
138
- elif [ "X$1" = "X--production" -o "X$1" = "X--PRODUCTION" ]; then
139
- if [ "X${NODE_ENV_VALUE}" != "X" ]; then
140
- echo "ERROR: already specified --production or --development option"
141
- exit 1
142
- fi
143
- NODE_ENV_VALUE="production"
144
-
145
- elif [ "X$1" = "X--development" -o "X$1" = "X--DEVELOPMENT" ]; then
146
- if [ "X${NODE_ENV_VALUE}" != "X" ]; then
147
- echo "ERROR: already specified --production or --development option"
148
- exit 1
149
- fi
150
- NODE_ENV_VALUE="development"
151
-
152
- elif [ "X$1" = "X--debug" -o "X$1" = "X--DEBUG" -o "X$1" = "X-d" -o "X$1" = "X-D" ]; then
153
- if [ "X${INSPECTOR_OPT}" != "X" ]; then
154
- echo "ERROR: already specified --debug or --debug-nobrk option"
189
+ elif [ "$1" = "-d" ] || [ "$1" = "-D" ] || [ "$1" = "--debug" ] || [ "$1" = "--DEBUG" ]; then
190
+ if [ -n "${INSPECTOR_OPT}" ]; then
191
+ echo "[ERROR] already specified --debug(-d) or --debug-nobrk(-dnobrk) option"
155
192
  exit 1
156
193
  fi
157
- INSPECTOR_OPT="--inspect-brk=${HOST}:9229"
194
+ INSPECTOR_OPT="--inspect-brk=${LOCAL_HOSTNAME}:9229"
158
195
 
159
- elif [ "X$1" = "X--debug-nobrk" -o "X$1" = "X--DEBUG-NOBRK" -o "X$1" = "X-dnobrk" -o "X$1" = "X-DNOBRK" ]; then
160
- if [ "X${INSPECTOR_OPT}" != "X" ]; then
161
- echo "ERROR: already specified --debug or --debug-nobrk option"
196
+ elif [ "$1" = "-dnobrk" ] || [ "$1" = "-DNOBRK" ] || [ "$1" = "--debug-nobrk" ] || [ "$1" = "--DEBUG-NOBRK" ]; then
197
+ if [ -n "${INSPECTOR_OPT}" ]; then
198
+ echo "[ERROR] already specified --debug(-d) or --debug-nobrk(-dnobrk) option"
162
199
  exit 1
163
200
  fi
164
- INSPECTOR_OPT="--inspect=${HOST}:9229"
201
+ INSPECTOR_OPT="--inspect=${LOCAL_HOSTNAME}:9229"
165
202
 
166
- elif [ "X$1" = "X--debuglevel" -o "X$1" = "X--DEBUGLEVEL" ]; then
167
- #
168
- # DEBUG option
169
- #
203
+ elif [ "$1" = "-dl" ] || [ "$1" = "-DL" ] || [ "$1" = "--debuglevel" ] || [ "$1" = "--DEBUGLEVEL" ]; then
170
204
  shift
171
205
  if [ $# -eq 0 ]; then
172
- echo "ERROR: --debuglevel option needs parameter(dbg/msg/warn/err)"
206
+ echo "[ERROR] --debuglevel(-dl) option needs parameter(dbg/msg/warn/err/custom debug level)"
173
207
  exit 1
174
208
  fi
175
-
176
- if [ "X$1" = "Xdbg" -o "X$1" = "XDBG" -o "X$1" = "Xdebug" -o "X$1" = "XDEBUG" ]; then
177
- if [ ${DEBUG_ENV_LEVEL} -ne 0 ]; then
178
- echo "ERROR: --debuglevel option already is set"
209
+ if [ "$1" = "dbg" ] || [ "$1" = "DBG" ] || [ "$1" = "debug" ] || [ "$1" = "DEBUG" ]; then
210
+ if [ "${DEBUG_ENV_LEVEL}" -ne 0 ]; then
211
+ echo "[ERROR] --debuglevel(-dl) option already is set"
179
212
  exit 1
180
213
  fi
181
- if [ ${DEBUG_ENV_LEVEL} -lt 4 ]; then
182
- DEBUG_ENV_LEVEL=4
183
- fi
184
-
185
- elif [ "X$1" = "Xmsg" -o "X$1" = "XMSG" -o "X$1" = "Xmessage" -o "X$1" = "XMESSAGE" -o "X$1" = "Xinfo" -o "X$1" = "XINFO" ]; then
186
- if [ ${DEBUG_ENV_LEVEL} -ne 0 ]; then
187
- echo "ERROR: --debuglevel option already is set"
214
+ DEBUG_ENV_LEVEL=4
215
+ elif [ "$1" = "msg" ] || [ "$1" = "MSG" ] || [ "$1" = "message" ] || [ "$1" = "MESSAGE" ] || [ "$1" = "info" ] || [ "$1" = "INFO" ]; then
216
+ if [ "${DEBUG_ENV_LEVEL}" -ne 0 ]; then
217
+ echo "[ERROR] --debuglevel(-dl) option already is set"
188
218
  exit 1
189
219
  fi
190
- if [ ${DEBUG_ENV_LEVEL} -lt 3 ]; then
191
- DEBUG_ENV_LEVEL=3
192
- fi
193
-
194
- elif [ "X$1" = "Xwarn" -o "X$1" = "XWARN" -o "X$1" = "Xwarning" -o "X$1" = "XWARNING" ]; then
195
- if [ ${DEBUG_ENV_LEVEL} -ne 0 ]; then
196
- echo "ERROR: --debuglevel option already is set"
220
+ DEBUG_ENV_LEVEL=3
221
+ elif [ "$1" = "warn" ] || [ "$1" = "WARN" ] || [ "$1" = "warning" ] || [ "$1" = "WARNING" ]; then
222
+ if [ "${DEBUG_ENV_LEVEL}" -ne 0 ]; then
223
+ echo "[ERROR] --debuglevel(-dl) option already is set"
197
224
  exit 1
198
225
  fi
199
- if [ ${DEBUG_ENV_LEVEL} -lt 2 ]; then
200
- DEBUG_ENV_LEVEL=2
201
- fi
202
-
203
- elif [ "X$1" = "Xerr" -o "X$1" = "XERR" -o "X$1" = "Xerror" -o "X$1" = "XERROR" ]; then
204
- if [ ${DEBUG_ENV_LEVEL} -ne 0 ]; then
205
- echo "ERROR: --debuglevel option already is set"
226
+ DEBUG_ENV_LEVEL=2
227
+ elif [ "$1" = "err" ] || [ "$1" = "ERR" ] || [ "$1" = "error" ] || [ "$1" = "ERROR" ]; then
228
+ if [ "${DEBUG_ENV_LEVEL}" -ne 0 ]; then
229
+ echo "[ERROR] --debuglevel(-dl) option already is set"
206
230
  exit 1
207
231
  fi
208
- if [ ${DEBUG_ENV_LEVEL} -lt 1 ]; then
209
- DEBUG_ENV_LEVEL=1
210
- fi
211
-
232
+ DEBUG_ENV_LEVEL=1
212
233
  else
213
- if [ "X${DEBUG_ENV_CUSTOM}" != "X" ]; then
234
+ #
235
+ # Custom debug level value
236
+ #
237
+ if [ -n "${DEBUG_ENV_CUSTOM}" ]; then
214
238
  DEBUG_ENV_CUSTOM="${DEBUG_ENV_CUSTOM},"
215
239
  fi
216
240
  DEBUG_ENV_CUSTOM="${DEBUG_ENV_CUSTOM}$1"
217
241
  fi
218
242
 
219
- elif [ "X$1" = "X--watcher" -o "X$1" = "X--WATCHER" -o "X$1" = "X--watch" -o "X$1" = "X--WATCH" -o "X$1" = "X-w" -o "X$1" = "X-W" ]; then
220
- if [ ${WATCHER_PROC} -ne 0 ]; then
221
- echo "ERROR: already specified --watcher option"
243
+ elif [ "$1" = "-w" ] || [ "$1" = "-W" ] || [ "$1" = "--watcher" ] || [ "$1" = "--WATCHER" ] || [ "$1" = "--watch" ] || [ "$1" = "--WATCH" ]; then
244
+ if [ "${WATCHER_PROC}" -ne 0 ]; then
245
+ echo "[ERROR] already specified --watcher(-w) option"
222
246
  exit 1
223
247
  fi
224
248
  WATCHER_PROC=1
225
249
 
226
- elif [ "X$1" = "X--oneshot" -o "X$1" = "X--ONESHOT" -o "X$1" = "X-os" -o "X$1" = "X-OS" ]; then
227
- if [ ${WATCH_ONESHOT} -ne 0 ]; then
228
- echo "ERROR: already specified --oneshot option"
250
+ elif [ "$1" = "-os" ] || [ "$1" = "-OS" ] || [ "$1" = "--oneshot" ] || [ "$1" = "--ONESHOT" ]; then
251
+ if [ "${WATCH_ONESHOT}" -ne 0 ]; then
252
+ echo "[ERROR] already specified --oneshot(-os) option"
229
253
  exit 1
230
254
  fi
231
255
  WATCH_ONESHOT=1
232
256
 
233
257
  else
234
- echo "WARNING: Unknown option $1 is specified, it is ignored."
258
+ echo "[WARNING] Unknown option $1 is specified, it is ignored."
235
259
  fi
236
260
  shift
237
261
  done
238
262
 
239
263
  #
240
- # Check PID directory
264
+ # Check NODE_ENV_VALUE
241
265
  #
242
- if [ -d ${MYPID_BASEDIR} ]; then
243
- MYMAINPROCIDFILE="${MYPID_BASEDIR}/${MYMAINPROCIDFILENAME}"
244
- MYWATCHPROCIDFILE="${MYPID_BASEDIR}/${MYWATCHPROCIDFILENAME}"
245
- else
246
- MYMAINPROCIDFILE="${MYPID_TMPDIR}/${MYMAINPROCIDFILENAME}"
247
- MYWATCHPROCIDFILE="${MYPID_TMPDIR}/${MYWATCHPROCIDFILENAME}"
266
+ if [ -z "${NODE_ENV_VALUE}" ]; then
267
+ NODE_ENV_VALUE="production"
248
268
  fi
249
269
 
250
270
  #
251
271
  # Check watcher option & set process variables
252
272
  #
253
- if [ ${WATCHER_PROC} -ne 1 -a ${WATCH_ONESHOT} -eq 1 ]; then
273
+ if [ "${WATCHER_PROC}" -ne 1 ] && [ "${WATCH_ONESHOT}" -eq 1 ]; then
254
274
  echo "[ERROR] invalid option is specified, --oneshot(-os) must be specified with --watcher(-w)."
255
275
  exit 1
256
276
  fi
257
- if [ ${WATCHER_PROC} -ne 1 ]; then
258
- MYPROCIDFILE=${MYMAINPROCIDFILE}
259
- TARGETPROG=${WWWPROG}
260
- else
261
- MYPROCIDFILE=${MYWATCHPROCIDFILE}
262
- TARGETPROG=${WATCHPROG}
263
277
 
264
- if [ ${WATCH_ONESHOT} -eq 1 ]; then
265
- PROG_EXTRA_OPTIONS="--oneshot"
266
- fi
278
+ #----------------------------------------------------------
279
+ # Set pid file varibales
280
+ #----------------------------------------------------------
281
+ PROG_EXTRA_OPTIONS=""
282
+
283
+ #
284
+ # Check PID directory exists
285
+ #
286
+ if [ -d "${PID_FILE_BASEDIR}" ]; then
287
+ MAINPROC_PID_FILE="${PID_FILE_BASEDIR}/${MAINPROC_PID_BASENAME}"
288
+ WATCHPROC_PID_FILE="${PID_FILE_BASEDIR}/${WATCHPROC_PID_BASENAME}"
289
+ else
290
+ MAINPROC_PID_FILE="${PID_FILE_TMPDIR}/${MAINPROC_PID_BASENAME}"
291
+ WATCHPROC_PID_FILE="${PID_FILE_TMPDIR}/${WATCHPROC_PID_BASENAME}"
267
292
  fi
268
293
 
269
294
  #
270
- # NODE_ENV_VALUE
295
+ # PID files
271
296
  #
272
- if [ "X${NODE_ENV_VALUE}" = "X" ]; then
273
- NODE_ENV_VALUE="production"
297
+ if [ ${WATCHER_PROC} -ne 1 ]; then
298
+ PROC_PID_FILE="${MAINPROC_PID_FILE}"
299
+ TARGET_PROGRAM="${MAIN_PROGRAM}"
300
+ else
301
+ PROC_PID_FILE="${WATCHPROC_PID_FILE}"
302
+ TARGET_PROGRAM="${WATCH_PROGRAM}"
303
+
304
+ if [ "${WATCH_ONESHOT}" -eq 1 ]; then
305
+ PROG_EXTRA_OPTIONS="--oneshot"
306
+ fi
274
307
  fi
275
308
 
309
+ #==========================================================
310
+ # Do work
311
+ #==========================================================
276
312
  #
277
- # Check run background
313
+ # Check background
278
314
  #
279
- if [ ${BACKGROUND} -eq 1 -a ${FOREGROUND} -eq 0 ]; then
315
+ if [ "${BACKGROUND}" -eq 1 ] && [ "${FOREGROUND}" -eq 0 ]; then
280
316
  #
281
317
  # Run another process as child
282
318
  #
283
- ${CMDLINE_PROCESS_NAME} ${CMDLINE_ALL_PARAM} -fg > /dev/null 2>&1 &
319
+ "${CMDLINE_COMMAND}" "${CMDLINE_PARAMETERS}" -fg > /dev/null 2>&1 &
284
320
  exit 0
285
321
  fi
286
322
 
287
323
  #
288
324
  # Stop old process if exists
289
325
  #
290
- stop_old_process
291
- if [ $? -ne 0 ]; then
292
- exit $?
326
+ if ! stop_old_process; then
327
+ exit 1
293
328
  fi
294
- if [ ${STOP_OLD_PROCESS} -eq 1 ]; then
295
- rm -f ${MYPROCIDFILE}
329
+ if [ "${STOP_OLD_PROCESS}" -eq 1 ]; then
330
+ #
331
+ # Only sto pole processes
332
+ #
296
333
  exit 0
297
334
  fi
298
335
 
@@ -300,40 +337,49 @@ fi
300
337
  # Make NODE_DEBUG environment
301
338
  #
302
339
  DEBUG_ENV_PARAM=""
303
- if [ ${DEBUG_ENV_LEVEL} -ge 4 ]; then
340
+ if [ "${DEBUG_ENV_LEVEL}" -ge 4 ]; then
304
341
  DEBUG_ENV_PARAM="LOGLEVEL_DBG"
305
- elif [ ${DEBUG_ENV_LEVEL} -ge 3 ]; then
342
+ elif [ "${DEBUG_ENV_LEVEL}" -ge 3 ]; then
306
343
  DEBUG_ENV_PARAM="LOGLEVEL_MSG"
307
- elif [ ${DEBUG_ENV_LEVEL} -ge 2 ]; then
344
+ elif [ "${DEBUG_ENV_LEVEL}" -ge 2 ]; then
308
345
  DEBUG_ENV_PARAM="LOGLEVEL_WAN"
309
- elif [ ${DEBUG_ENV_LEVEL} -ge 1 ]; then
346
+ elif [ "${DEBUG_ENV_LEVEL}" -ge 1 ]; then
310
347
  DEBUG_ENV_PARAM="LOGLEVEL_ERR"
311
348
  else
312
349
  DEBUG_ENV_PARAM="LOGLEVEL_SILENT"
313
350
  fi
314
-
315
- if [ "X${DEBUG_ENV_CUSTOM}" != "X" ]; then
316
- if [ "X${DEBUG_ENV_PARAM}" != "X" ]; then
351
+ if [ -n "${DEBUG_ENV_CUSTOM}" ]; then
352
+ if [ -n "${DEBUG_ENV_PARAM}" ]; then
317
353
  DEBUG_ENV_PARAM="${DEBUG_ENV_PARAM},"
318
354
  fi
319
355
  DEBUG_ENV_PARAM="${DEBUG_ENV_PARAM}${DEBUG_ENV_CUSTOM}"
320
356
  fi
321
357
 
322
358
  #
323
- # Push my process id
359
+ # Push this process id to PID file
324
360
  #
325
- echo $$ > ${MYPROCIDFILE}
361
+ if ! echo "$$" > "${PROC_PID_FILE}"; then
362
+ echo "[ERROR] Could create PID file(${PROC_PID_FILE}) and push this process PID."
363
+ exit 1
364
+ fi
326
365
 
327
366
  #
328
- # Executing
367
+ # Run
329
368
  #
330
- cd ${SRCTOP}
331
- if [ ${DEBUG_ENV_LEVEL} -ge 4 ]; then
369
+ cd "${SRCTOP}" || exit 1
370
+ if [ "${DEBUG_ENV_LEVEL}" -ge 4 ]; then
332
371
  echo "***** RUN *****"
333
- echo "NODE_PATH=${NODE_PATH} NODE_ENV=${NODE_ENV_VALUE} NODE_DEBUG=${DEBUG_ENV_PARAM} node ${INSPECTOR_OPT} ${TARGETPROG} ${PROG_EXTRA_OPTIONS}"
372
+ echo "NODE_PATH=${NODE_PATH} NODE_ENV=${NODE_ENV_VALUE} NODE_DEBUG=${DEBUG_ENV_PARAM} node ${INSPECTOR_OPT} ${TARGET_PROGRAM} ${PROG_EXTRA_OPTIONS}"
334
373
  echo ""
335
374
  fi
336
- NODE_PATH=${NODE_PATH} NODE_ENV=${NODE_ENV_VALUE} NODE_DEBUG=${DEBUG_ENV_PARAM} node ${INSPECTOR_OPT} ${TARGETPROG} ${PROG_EXTRA_OPTIONS}
375
+
376
+ EXIT_CODE=0
377
+ if ! NODE_PATH="${NODE_PATH}" NODE_ENV="${NODE_ENV_VALUE}" NODE_DEBUG="${DEBUG_ENV_PARAM}" node "${INSPECTOR_OPT} ${TARGET_PROGRAM} ${PROG_EXTRA_OPTIONS}"; then
378
+ EXIT_CODE="$?"
379
+ echo "[INFO] Process exited with exit code: $?"
380
+ fi
381
+
382
+ exit "${EXIT_CODE}"
337
383
 
338
384
  #
339
385
  # Local variables:
package/bin/watcher CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  * K2HR3 REST API
4
4
  *
5
- * Copyright 2017 Yahoo! Japan Corporation.
5
+ * Copyright 2017 Yahoo Japan Corporation.
6
6
  *
7
7
  * K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
8
8
  * common management information for the cloud.
@@ -113,7 +113,10 @@ if(!intervalobj){
113
113
  }
114
114
 
115
115
  /*
116
- * VIM modelines
117
- *
118
- * vim:set ts=4 fenc=utf-8:
116
+ * Local variables:
117
+ * tab-width: 4
118
+ * c-basic-offset: 4
119
+ * End:
120
+ * vim600: noexpandtab sw=4 ts=4 fdm=marker
121
+ * vim<600: noexpandtab sw=4 ts=4
119
122
  */
package/bin/www CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  * K2HR3 REST API
4
4
  *
5
- * Copyright 2017 Yahoo! Japan Corporation.
5
+ * Copyright 2017 Yahoo Japan Corporation.
6
6
  *
7
7
  * K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
8
8
  * common management information for the cloud.
@@ -171,7 +171,10 @@ function onListening()
171
171
  }
172
172
 
173
173
  /*
174
- * VIM modelines
175
- *
176
- * vim:set ts=4 fenc=utf-8:
174
+ * Local variables:
175
+ * tab-width: 4
176
+ * c-basic-offset: 4
177
+ * End:
178
+ * vim600: noexpandtab sw=4 ts=4 fdm=marker
179
+ * vim<600: noexpandtab sw=4 ts=4
177
180
  */