From 509c0a29e0fbfcd8b883584ddf87fc383efd078a Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Mon, 12 Mar 2018 21:29:59 -0700 Subject: [PATCH 1/5] Packaging: Unmark systemd service file as a config file Systemd overrides should happen through /etc/systemd/system, not directly editing the service file. This commit removes marking the service file as configuration for rpm and deb packages. --- distribution/packages/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/distribution/packages/build.gradle b/distribution/packages/build.gradle index 0f47f8263a7c5..c522d198fb0c0 100644 --- a/distribution/packages/build.gradle +++ b/distribution/packages/build.gradle @@ -134,7 +134,6 @@ Closure commonPackageConfig(String type) { } // ========= systemd ========= - configurationFile '/usr/lib/systemd/system/elasticsearch.service' into('/usr/lib/tmpfiles.d') { from "${packagingFiles}/systemd/elasticsearch.conf" } From a4dc719fa499ddd969949c532ba6ac546b1e95bd Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Tue, 20 Mar 2018 23:18:24 -0700 Subject: [PATCH 2/5] remove vagrant check on old file and add migration docs --- docs/reference/migration/migrate_7_0.asciidoc | 2 ++ docs/reference/migration/migrate_7_0/packaging.asciidoc | 9 +++++++++ .../test/resources/packaging/tests/30_deb_package.bats | 1 - 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 docs/reference/migration/migrate_7_0/packaging.asciidoc diff --git a/docs/reference/migration/migrate_7_0.asciidoc b/docs/reference/migration/migrate_7_0.asciidoc index 130f0ca80cce5..aea6d14fac9c8 100644 --- a/docs/reference/migration/migrate_7_0.asciidoc +++ b/docs/reference/migration/migrate_7_0.asciidoc @@ -28,6 +28,7 @@ Elasticsearch 6.x in order to be readable by Elasticsearch 7.x. * <> * <> * <> +* <> * <> * <> * <> @@ -41,6 +42,7 @@ include::migrate_7_0/cluster.asciidoc[] include::migrate_7_0/indices.asciidoc[] include::migrate_7_0/mappings.asciidoc[] include::migrate_7_0/search.asciidoc[] +include::migrate_7_0/packaging.asciidoc[] include::migrate_7_0/plugins.asciidoc[] include::migrate_7_0/api.asciidoc[] include::migrate_7_0/java.asciidoc[] diff --git a/docs/reference/migration/migrate_7_0/packaging.asciidoc b/docs/reference/migration/migrate_7_0/packaging.asciidoc new file mode 100644 index 0000000000000..9fda9f989d408 --- /dev/null +++ b/docs/reference/migration/migrate_7_0/packaging.asciidoc @@ -0,0 +1,9 @@ +[[breaking_70_packaging_changes]] +=== Packaging changes + +==== systemd service file is no longer configuration + +The systemd service file `/usr/lib/systemd/system/elasticsearch.service` +was previously marked as a configuration file in rpm and deb packages. +Overrides to the systemd elasticsearch service should be made +in `/etc/systemd/system/elasticsearch.service.d/override.conf`. diff --git a/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats b/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats index 0b06e74555394..1c6247f0d5392 100644 --- a/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats +++ b/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats @@ -161,7 +161,6 @@ setup() { # The service files are still here assert_file_exist "/etc/init.d/elasticsearch" - assert_file_exist "/usr/lib/systemd/system/elasticsearch.service" } @test "[DEB] purge package" { From a675a558ab649a3ca013a172803d298766129520 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Thu, 19 Apr 2018 14:09:26 -0700 Subject: [PATCH 3/5] fix systemd exit code --- .../src/test/resources/packaging/tests/30_deb_package.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats b/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats index 1c6247f0d5392..bac360f9d021b 100644 --- a/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats +++ b/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats @@ -128,7 +128,7 @@ setup() { if is_systemd; then # Debian systemd distros usually returns exit code 3 run systemctl status elasticsearch.service - [ "$status" -eq 3 ] + [ "$status" -eq 4 ] run systemctl is-enabled elasticsearch.service [ "$status" -eq 1 ] From a5bba4be260e2d05d7aca8bff7771330b10ea1f5 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Thu, 19 Apr 2018 16:44:06 -0700 Subject: [PATCH 4/5] add changelog entry --- docs/CHANGELOG.asciidoc | 2 ++ docs/reference/migration/migrate_7_0/packaging.asciidoc | 1 + 2 files changed, 3 insertions(+) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index b1cb9c3a4f57a..20558da656d0c 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -12,6 +12,8 @@ <> ({pull}29609[#29609]) +<> ({pull}29004[#29004]) + === Breaking Java Changes === Deprecations diff --git a/docs/reference/migration/migrate_7_0/packaging.asciidoc b/docs/reference/migration/migrate_7_0/packaging.asciidoc index 9fda9f989d408..4070d6807332d 100644 --- a/docs/reference/migration/migrate_7_0/packaging.asciidoc +++ b/docs/reference/migration/migrate_7_0/packaging.asciidoc @@ -1,6 +1,7 @@ [[breaking_70_packaging_changes]] === Packaging changes +[[systemd-service-file-config]] ==== systemd service file is no longer configuration The systemd service file `/usr/lib/systemd/system/elasticsearch.service` From 7b677b5764ad483116de970df2170586511e7d18 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Thu, 26 Apr 2018 12:45:18 -0700 Subject: [PATCH 5/5] add conditional for systemd missing exit code --- .../test/resources/packaging/tests/30_deb_package.bats | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats b/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats index a8560e160ef9d..397660b239a46 100644 --- a/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats +++ b/qa/vagrant/src/test/resources/packaging/tests/30_deb_package.bats @@ -131,9 +131,13 @@ setup() { # The removal must disable the service # see prerm file if is_systemd; then - # Debian systemd distros usually returns exit code 3 + missing_exit_code=4 + if [ $(systemctl --version | head -1 | awk '{print $2}') -lt 231 ]; then + # systemd before version 231 used exit code 3 when the service did not exist + missing_exit_code=3 + fi run systemctl status elasticsearch.service - [ "$status" -eq 4 ] + [ "$status" -eq $missing_exit_code ] run systemctl is-enabled elasticsearch.service [ "$status" -eq 1 ]