Commit Graph

57 Commits

Author SHA1 Message Date
Zaiming Shi 31b1646611 feat: inspect parent pid if emqx pid enters defunct state 2021-08-10 00:24:16 +02:00
Zaiming Shi 1a80b9dc47 fix: bin/emqx change use ps -p to check if pid is running 2021-08-09 22:46:31 +02:00
Zaiming Shi cd92f73ca1 test: add debug print 2021-08-09 22:09:11 +02:00
Zaiming Shi f1262e04bf feat: log error if timed out waiting after init:stop 2021-08-09 10:28:30 +02:00
Zaiming Shi 668ecbe97b fix: improve node stop wait loop 2021-08-09 10:28:04 +02:00
Zaiming Shi 9f3063a823 refactor: bin/emqx call fucntions for error logs 2021-08-09 10:28:04 +02:00
Zaiming Shi 562ce1a81b feat: bin/emqx pass down DEBUG if su exec 2021-08-08 11:14:20 +02:00
Zaiming Shi bc23ff5e47 feat: add graceful shutdown
prior to this cahnge emqx node shutdown is done by init:stop
which might have undesired stop order of the applications

in this change, emqx_machine_terminator is added to stop apps
in defined order and then terminate the node in infinite loop
2021-08-05 14:11:58 +02:00
Zaiming Shi 522d8e0a4a refactor(config): split config and schema 2021-08-04 08:36:10 +02:00
Zaiming (Stone) Shi 3d0cb11682
Merge pull request #5374 from zmstone/chore-delete-emqx-name-and-emqx-host-env-var
chore: delete EMQX_NAME and EMQX_HOST env variables
2021-08-03 17:08:50 +02:00
Zaiming Shi 2fd0742d2b refactor(emqx_ctl): simplify emqx_ctl 2021-08-02 20:35:24 +02:00
Zaiming Shi 8d687e50fd chore: delete EMQX_NAME and EMQX_HOST env variables 2021-07-31 12:02:38 +02:00
Zaiming (Stone) Shi cb2909dfbf
Merge pull request #5369 from zmstone/fix-boot-log
fix(bin/emqx): fix boot log
2021-07-31 08:53:15 +02:00
Zaiming Shi 2e3c98dd55 fix(bin/emqx): fix boot log
prior to this fix the logger message (syslog) has the name and pid
missing.
with this change, the programe name, and its boot command is logged
to syslog, so the console boot is cleaner
2021-07-31 00:29:53 +02:00
Zaiming Shi d68589e0cb feat(boot): make possible to boot on short name 2021-07-27 22:16:10 +02:00
Zaiming Shi 02206dd428 fix(bin/emqx): delete stale todo 2021-07-27 20:33:29 +02:00
Shawn 4d279e47d8 chore(merge): merge code from master 2021-07-17 01:20:57 +08:00
William Yang 3a7d0c3e84 fix(script): emqx die if call_hocon failed 2021-07-16 23:16:51 +08:00
Shawn 8e32d5314d
Merge branch 'master' into emqx_config 2021-07-14 09:33:58 +08:00
zhanghongtong 54c776ebdf fix(emqx-edge): fix sed error when emqx-edge start 2021-07-12 14:22:47 +08:00
Zaiming (Stone) Shi 6b3cfd7c5d
fix(boot): boot exit on config error (#5200)
* fix(hocon): fail on hocon command errors

call_hocon bash function respects exit code

* fix(bin/emax): get dist_port config from hocon

after config file refactoring (to hocon format) the grep pattern
no longer works

* fix(bin/emqx): set -o pipefail

* feat(bin/emqx): add a DEBUG option
2021-07-10 08:51:35 +08:00
Shawn 0ac2492b36 fix(config): read app env 'config_files' to get the path to emqx.conf 2021-07-08 19:27:36 +08:00
Shawn db38137d5c feat(config): apply new config struct to emqx_alarm 2021-07-01 15:00:59 +08:00
Shawn d2c50baf93 fix(config): set console_handler.enable to turewhen start from console 2021-06-30 19:24:37 +08:00
Zaiming Shi 2919623563 chore(bin/emqx): print env override when generating config 2021-06-18 09:02:25 +08:00
Zaiming Shi c3bbe2c6b6 refactor(bin/emqx): invoke hocon_cli from nodetool
nodetool has all lib paths set up correctly by reading the
persisted RELEASES file

calling hocon escript directly has two problems:
1. it may not be able to find the beams compiled
2. if we use ERL_LIBS, it may find the version after hot beam upgrade
2021-06-15 14:12:34 +02:00
Zaiming Shi 49f844b1dd feat(bin/emqx): simlified config generation commands 2021-06-15 12:35:08 +02:00
z8674558 9c6276a654 chore(bin/emqx): support license conf option 2021-06-04 22:10:16 +09:00
z8674558 b4eb0c4df6 chore(bin/emqx): use hocon get 2021-06-03 17:03:08 +09:00
z8674558 47f7b35a60 chore(bin/emqx): add todo on hocon 2021-06-01 17:06:09 +09:00
Zaiming Shi 5546d24b6d refactor: always use hocon to generate config
previously we supports skipping config generation if USE_CUTTLEFISH
not set to true.
it has never been tested (at least not in automated tests)
now it's time to drop it.
2021-06-01 17:06:09 +09:00
z8674558 4b174b0277 feat(conf): use hocon schema 2021-06-01 17:05:52 +09:00
Zaiming Shi cb5a21ceff chore(nodetool): ensure correct lib dirs
Prioro to this change, ekka lib dir was added by inspecting
the ekka lib version in persisted RELEASES file.
However, this file may not be the true version if a hot
upgrade failed in the middle.
In this fix, it reads the per-version emqx.rel file
content to load lib paths.
2021-05-14 05:41:00 +09:00
Zaiming Shi 3aba50605a chore(nodetool): ensure correct lib dirs
Prioro to this change, ekka lib dir was added by inspecting
the ekka lib version in persisted RELEASES file.
However, this file may not be the true version if a hot
upgrade failed in the middle.
In this fix, it reads the per-version emqx.rel file
content to load lib paths.
2021-05-10 12:04:22 +02:00
Zaiming Shi 2a9a5e74d7 fix(bin/emqx): print cuttlefish error 2021-04-10 08:48:13 +00:00
Yudai Kiyofuji e3a5f65c88
feat(config): print override env (#4517) 2021-04-09 16:28:01 +02:00
Zaiming Shi a8a9bda484 chore(bin/emqx): Fix typo 2021-04-02 15:53:19 +08:00
z8674558 299d489ef9 refactor(bin/emqx): use cuttlefish `get` to get values from .conf 2021-04-02 08:42:58 +02:00
Zaiming Shi d4c6b6b926 chore(scripts): ensure no space in cookie 2021-03-29 09:40:10 +02:00
Zaiming Shi a898f6be1e chore(scripts): boot commands also need node name and cookie 2021-03-24 16:21:15 +01:00
Zaiming Shi 6476a5ea92 fix(script): nodetool use remsh prefixed node name 2021-03-24 16:21:15 +01:00
Zaiming Shi 4ee0dbdea4 fix(scripts): Finds node name and cookie from vm.args
For node name and cookie overriden from environment variable
the only way to find it from another shell is to inspect
the vm.args file.

For node boot commands, the vm.args file may not have been created
yet, so we need to inspect node name in emqx.conf
2021-03-24 16:21:15 +01:00
zhanghongtong 106b738a89 chore(script): make emqx work with docker entrypoint 2021-03-23 23:08:56 +08:00
Zaiming Shi 09c4f6eef0 chore(boot): Do not ps -ef inspect node name
In case there are multiple nodes running
the current code (before this commit) will fail

If we choose to fix, it may stop the wrong node
2021-03-23 14:48:03 +01:00
Zaiming Shi 178404c821 chore(build): add rebar_mix plugin 2021-03-19 12:22:43 +01:00
Zaiming Shi b629a6c58c chore(scripts): fix typo for var names 2021-03-09 20:22:48 +01:00
turtleDeng 115397523d
chore(build): add more enterprise build support (#4302) 2021-03-08 20:47:31 +08:00
Zaiming Shi 5d71e51985 fix(config): Do not allow customizing cuttlefish env override prefix
We have quite a few EMQX_ prefixed variables used in bash scripts
having to meta-programming bash is not quite readable
2021-03-02 15:29:44 +01:00
Zaiming Shi fc03d7aea9 fix(config): use config value default log.to for daemon mode 2021-03-02 15:28:13 +01:00
Zaiming Shi 6b2949e2c1 chore(config): Change default log_to config
By default log to file.
When start from console or forgreground, only log to console.
Only log to file for package builds.
2021-03-02 14:05:04 +01:00