Merge pull request #13154 from id/emqx-12190-fix-apt-purge

fix(deb): fix apt purge when emqx service was still running
This commit is contained in:
Ivan Dyachkov 2024-05-31 07:26:24 +02:00 committed by GitHub
commit b14a138bf1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 29 additions and 5 deletions

View File

@ -21,6 +21,8 @@ set -e
case "$1" in case "$1" in
purge) purge)
# force kill all processes owned by emqx, if any
pkill -9 -u emqx || true
rm -f /etc/default/emqx rm -f /etc/default/emqx
if [ -d /var/lib/emqx ]; then if [ -d /var/lib/emqx ]; then
@ -38,9 +40,8 @@ case "$1" in
if [ -e /etc/init.d/emqx ]; then if [ -e /etc/init.d/emqx ]; then
rm /etc/init.d/emqx rm /etc/init.d/emqx
fi fi
# Remove User & Group, killing any process owned by them # Remove User & Group
if getent passwd emqx >/dev/null; then if getent passwd emqx >/dev/null; then
pkill -u emqx || true
deluser --quiet --system emqx deluser --quiet --system emqx
fi fi
if getent group emqx >/dev/null; then if getent group emqx >/dev/null; then

View File

@ -54,7 +54,7 @@ defmodule EMQXUmbrella.MixProject do
{:jiffy, github: "emqx/jiffy", tag: "1.0.6", override: true}, {:jiffy, github: "emqx/jiffy", tag: "1.0.6", override: true},
{:cowboy, github: "emqx/cowboy", tag: "2.9.2", override: true}, {:cowboy, github: "emqx/cowboy", tag: "2.9.2", override: true},
{:esockd, github: "emqx/esockd", tag: "5.11.2", override: true}, {:esockd, github: "emqx/esockd", tag: "5.11.2", override: true},
{:rocksdb, github: "emqx/erlang-rocksdb", tag: "1.8.0-emqx-2", override: true}, {:rocksdb, github: "emqx/erlang-rocksdb", tag: "1.8.0-emqx-5", override: true},
{:ekka, github: "emqx/ekka", tag: "0.19.3", override: true}, {:ekka, github: "emqx/ekka", tag: "0.19.3", override: true},
{:gen_rpc, github: "emqx/gen_rpc", tag: "3.3.1", override: true}, {:gen_rpc, github: "emqx/gen_rpc", tag: "3.3.1", override: true},
{:grpc, github: "emqx/grpc-erl", tag: "0.6.12", override: true}, {:grpc, github: "emqx/grpc-erl", tag: "0.6.12", override: true},

View File

@ -82,7 +82,7 @@
{jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.6"}}}, {jiffy, {git, "https://github.com/emqx/jiffy", {tag, "1.0.6"}}},
{cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.2"}}}, {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.2"}}},
{esockd, {git, "https://github.com/emqx/esockd", {tag, "5.11.2"}}}, {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.11.2"}}},
{rocksdb, {git, "https://github.com/emqx/erlang-rocksdb", {tag, "1.8.0-emqx-2"}}}, {rocksdb, {git, "https://github.com/emqx/erlang-rocksdb", {tag, "1.8.0-emqx-5"}}},
{ekka, {git, "https://github.com/emqx/ekka", {tag, "0.19.3"}}}, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.19.3"}}},
{gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.3.1"}}}, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.3.1"}}},
{grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.12"}}}, {grpc, {git, "https://github.com/emqx/grpc-erl", {tag, "0.6.12"}}},

View File

@ -131,6 +131,21 @@ emqx_test(){
exit 1 exit 1
fi fi
echo "try to install again and purge while the service is running"
dpkg -i "${PACKAGE_PATH}/${packagename}"
if [ "$(dpkg -l | grep ${EMQX_NAME} | awk '{print $1}')" != "ii" ]
then
echo "package install error"
exit 1
fi
if ! /usr/bin/emqx start
then
echo "ERROR: failed_to_start_emqx"
cat /var/log/emqx/erlang.log.1 || true
cat /var/log/emqx/emqx.log.1 || true
exit 1
fi
/usr/bin/emqx ping
dpkg -P "${EMQX_NAME}" dpkg -P "${EMQX_NAME}"
if dpkg -l |grep -q emqx if dpkg -l |grep -q emqx
then then

View File

@ -100,7 +100,15 @@ def test_docs_link(driver, login, dashboard_url):
driver.get(dest_url) driver.get(dest_url)
ensure_current_url(driver, dest_url) ensure_current_url(driver, dest_url)
xpath_link_help = "//div[@id='app']//div[@class='nav-header']//a[contains(@class, 'link-help')]" xpath_link_help = "//div[@id='app']//div[@class='nav-header']//a[contains(@class, 'link-help')]"
link_help = driver.find_element(By.XPATH, xpath_link_help) # retry up to 5 times
for _ in range(5):
try:
link_help = driver.find_element(By.XPATH, xpath_link_help)
break
except NoSuchElementException:
time.sleep(1)
else:
raise AssertionError("Cannot find the help link")
driver.execute_script("arguments[0].click();", link_help) driver.execute_script("arguments[0].click();", link_help)
prefix, emqx_version = fetch_version(dashboard_url) prefix, emqx_version = fetch_version(dashboard_url)