From fba2f00a73750698a5629d57182bd6b212a86387 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Wed, 2 May 2018 09:48:49 -0700 Subject: [PATCH] Packaging: Unmark systemd service file as a config file (#29004) 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 - docs/CHANGELOG.asciidoc | 1 + docs/reference/migration/migrate_7_0.asciidoc | 2 ++ .../reference/migration/migrate_7_0/packaging.asciidoc | 10 ++++++++++ .../test/resources/packaging/tests/30_deb_package.bats | 9 ++++++--- 5 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 docs/reference/migration/migrate_7_0/packaging.asciidoc diff --git a/distribution/packages/build.gradle b/distribution/packages/build.gradle index 33f98386a89..a6759a2e4f1 100644 --- a/distribution/packages/build.gradle +++ b/distribution/packages/build.gradle @@ -178,7 +178,6 @@ Closure commonPackageConfig(String type, boolean oss) { } // ========= systemd ========= - configurationFile '/usr/lib/systemd/system/elasticsearch.service' into('/usr/lib/tmpfiles.d') { from "${packagingFiles}/systemd/elasticsearch.conf" } diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 7fc5c48d73a..9755acfcb52 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -26,6 +26,7 @@ This section summarizes the changes in each release. <> ({pull}29609[#29609]) +<> ({pull}29004[#29004]) <> ({pull}29635[#29635]) <> ({pull}30185[#30185]) diff --git a/docs/reference/migration/migrate_7_0.asciidoc b/docs/reference/migration/migrate_7_0.asciidoc index 130f0ca80cc..aea6d14fac9 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 00000000000..4070d680733 --- /dev/null +++ b/docs/reference/migration/migrate_7_0/packaging.asciidoc @@ -0,0 +1,10 @@ +[[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` +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 59aaa3e8a07..397660b239a 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 3 ] + [ "$status" -eq $missing_exit_code ] run systemctl is-enabled elasticsearch.service [ "$status" -eq 1 ] @@ -166,7 +170,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" {