Commit Graph

37 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 22f7cc1622 test: replace 'slave' and 'ct_slave' with 'peer' 2023-12-01 08:07:09 +01:00
Zaiming (Stone) Shi cf72c04fdd test: fix peer node stop and plugin SUITE typo 2023-11-30 09:53:36 +01:00
Ilya Averyanov 75704513d8 fix(plugins): fix backward compatibility 2023-11-07 19:06:37 +03:00
Ilya Averyanov 14983ec14a chore(hooks): validate hookpoints and document hook callbacks
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2023-09-26 14:27:42 +03:00
Thales Macedo Garitezi 4dfbc859f9 fix(plugins): update plugin order on whole cluster
Fixes https://emqx.atlassian.net/browse/EMQX-10879
2023-08-30 16:39:52 -03:00
Thales Macedo Garitezi 6337f52cf9 fix(plugins): start/stop plugins when loading config from CLI
Fixes https://emqx.atlassian.net/browse/EMQX-10288
2023-07-07 13:37:51 -03:00
Andrew Mayorov fe0b8cfbaf
test(conf): respect `init_config_load_done` in emqx_conf itself
This should make task of configuring various applications (emqx_conf
/ emqx) during testsuites setup much simpler.
2023-07-04 13:20:02 +02:00
Thales Macedo Garitezi 64258120d7 fix(plugins): use `emqx:running_nodes` for multicall operations
Fixes https://emqx.atlassian.net/browse/EMQX-10079
2023-06-01 14:00:43 -03:00
Thales Macedo Garitezi 89cd6cfede fix(plugins): attempt to extract plugin from current node on startup
Fixes https://emqx.atlassian.net/browse/EMQX-9605

Fixes https://github.com/emqx/emqx-elixir-plugin/issues/25

If an user happens to configure a plugin in a lone-node cluster via
environment variables, it would fail to start up as there are no other
nodes to copy the plugin from.  Here, we attempt to check if the
package is present in the current node but not yet extracted.
2023-04-18 11:10:23 -03:00
Thales Macedo Garitezi 947e014132 test: improve cluster node helpers
* Add option to start autocluster.  This is useful for scenarios where
a cluster is already running and has some configurations set (via
config handler/cluster rpc) and later another node joins.

* Improve mnesia data directory isolation for nodes.  A new dir is set
so that we may avoid intra and inter-suite flakiness due to dirty
tables and schema.

* The janitor is now called synchronously.  This ensures the cleanup
is done before the test pid dies.
2023-03-16 13:43:01 -03:00
Serge Tupchii bde4215a11 fix: copy plugins to a new node joining a cluster
Closes: EMQX-8889
2023-03-14 20:42:57 +02:00
Stefan Strigler a866c995f5 test: add test for arbitrary content in tar file 2023-02-06 09:46:16 +01:00
Stefan Strigler bc69a00329 test: get plugin template as artifact 2023-01-17 09:50:17 +01:00
Zaiming (Stone) Shi dbc10c2eed chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
Andrew Mayorov 4f00f0968d
ci: update to emqx-plugin-template 5.0.0 2022-12-16 13:45:06 +03:00
Zhongwen Deng 430cb32ee0 fix: plugin_test failed 2022-06-17 12:09:18 +08:00
Shawn f59443eaee fix: add macro HP_HIGHEST=1000 2022-06-16 09:16:43 +08:00
Zaiming (Stone) Shi 2065be569e fix(emqx_cluster_rpc): fail fast on stale state
Due to:

* Cluster RPC MFA is not idempotent!
* There is a lack of rollback for callback's side-effects

For instance, when two nodes try to add a cluster-singleton
concurrently, one of them will have to wait for the table lock
then try to catch-up, then try to apply MFA.
The catch-up will have the singleton created, but the initiated
initiated multicall apply will fail causing the commit to rollback,
but not to 'undo' the singleton creation.
Later, the retries will fail indefinitely.
2022-06-12 20:18:48 +02:00
Zaiming (Stone) Shi 02c3f87b31 style: reformat all remaining apps 2022-04-27 15:51:18 +02:00
Thales Macedo Garitezi b1902cff27
test: silence export warning 2022-04-04 15:20:48 -03:00
Zhongwen Deng 88e0c4067f fix: api_plugins common test failed bump dashboard to v0.25.0. 2022-03-21 17:56:22 +08:00
Zhongwen Deng df6141e4b8 test: fix plugin ct failed 2022-03-21 17:56:22 +08:00
Zhongwen Deng 4cde1274c7 test: fix build demo plugins crash. 2022-03-13 16:00:58 +08:00
Zhongwen Deng 141c3adc76 fix: ct failed 2022-03-12 09:23:38 +08:00
Zhongwen Deng 704d1b20c6 fix: add bpapi.versions 2022-03-12 00:29:18 +08:00
zhongwencool 7160bc06b3 feat(plugin): add plugin http api 2022-03-11 15:55:02 +08:00
zhongwencool 1ef2b8d06c chore(test): delete plugin_template from plugins_SUITE 2022-03-11 15:55:02 +08:00
zhongwencool 3414e0b601 feat(plugin): http api 2022-03-11 15:55:02 +08:00
Thales Macedo Garitezi 60e791e0e3
test: add test case for elixir plugin 2022-02-24 14:20:36 -03:00
Thales Macedo Garitezi b784c2e1ec
refactor: allow testing different plugin repos more easily 2022-02-22 15:03:53 -03:00
Kian-Meng Ang fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
Zaiming (Stone) Shi 68eb13d478 fix: portable shebang 2021-12-27 15:45:12 +01:00
Zaiming (Stone) Shi b1ec8c1aba fix(plugins): fix relative positioning 2021-12-16 21:57:08 +01:00
Zaiming (Stone) Shi b9a3b558ee refactor(plugins): refactor plugins configuration interface 2021-12-16 13:59:20 +01:00
Zaiming (Stone) Shi d3d8b3a01f fix: allow listener not_found before restart 2021-12-12 22:18:56 +01:00
Zaiming (Stone) Shi 38ac10d3e2 feat(plugins): add emqx_plugins skeleton
* added emqx_plugins app.
* emqx_plugins.erl is moved from emqx app to emqx_plugins app
  same for the test SUITE
2021-12-12 19:40:34 +01:00