From 623790385292acf4cb4f357a8d089e9d08d4d212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Jeanneret?= Date: Thu, 26 Jul 2018 10:26:58 +0200 Subject: [PATCH] Allow to remove xinetd service The xinetd service isn't used anymore on the host - it runs in containers where it is needed, meaning that service can be dropped for good, as well as its package. Change-Id: I004a43c1b6c9cee21c24749bd6589435530e48e0 --- docker/services/xinetd.yaml | 66 +++++++++++++++++++ overcloud-resource-registry-puppet.j2.yaml | 3 +- .../notes/remove-xinetd-859f2a31631774d1.yaml | 8 +++ roles/Controller.yaml | 1 + roles/ControllerNoCeph.yaml | 1 + roles/Undercloud.yaml | 1 + roles_data.yaml | 1 + roles_data_undercloud.yaml | 1 + 8 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 docker/services/xinetd.yaml create mode 100644 releasenotes/notes/remove-xinetd-859f2a31631774d1.yaml diff --git a/docker/services/xinetd.yaml b/docker/services/xinetd.yaml new file mode 100644 index 0000000000..7803052ef2 --- /dev/null +++ b/docker/services/xinetd.yaml @@ -0,0 +1,66 @@ +heat_template_version: rocky + +description: > + Drop xinetd if operator requests it. + +parameters: + DefaultPasswords: + default: {} + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + RoleName: + default: '' + description: Role name on which the service is applied + type: string + RoleParameters: + default: {} + description: Parameters specific to the role + type: json + UpgradeRemoveUnusedPackages: + default: false + type: boolean + description: Remove package if the service is being disabled during upgrade + +outputs: + role_data: + description: Remove xinetd since it is not used anymore in containerized environment + value: + service_name: xinetd + docker_config: {} + puppet_config: + config_volume: '' + step_config: '' + config_image: '' + config_settings: {} + upgrade_tasks: + - when: step|int == 2 + block: + - name: stop and deactivate xinetd service + service: + name: xinetd + state: stopped + enabled: no + - when: step|int == 3 + block: + - name: set remove_xinetd_pkg fact + set_fact: + remove_xinetd_pkg: {get_param: UpgradeRemoveUnusedPackages} + - name: remove xinetd package + package: + name: xinetd + state: removed + when: remove_xinetd_pkg|bool diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index e713ce05e3..761d680ae7 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -225,7 +225,8 @@ resource_registry: OS::TripleO::Services::GnocchiApi: docker/services/gnocchi-api.yaml OS::TripleO::Services::GnocchiMetricd: docker/services/gnocchi-metricd.yaml OS::TripleO::Services::GnocchiStatsd: docker/services/gnocchi-statsd.yaml - + # Drop Xinetd + OS::TripleO::Services::Xinetd: docker/services/xinetd.yaml # Services that are disabled by default (use relevant environment files): diff --git a/releasenotes/notes/remove-xinetd-859f2a31631774d1.yaml b/releasenotes/notes/remove-xinetd-859f2a31631774d1.yaml new file mode 100644 index 0000000000..184b45f658 --- /dev/null +++ b/releasenotes/notes/remove-xinetd-859f2a31631774d1.yaml @@ -0,0 +1,8 @@ +--- +features: + - Allows to stop and disable xinetd service, as it not used anymore. + - Allows to remove xinetd package when UpgradeRemoveUnusedPackages is set to + "True". +deprecations: + - xinetd service is deprecated, so we stop it, disable it, and optionnaly + remove its package. diff --git a/roles/Controller.yaml b/roles/Controller.yaml index 77a79f7374..3afc7e30c7 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -178,3 +178,4 @@ - OS::TripleO::Services::Vpp - OS::TripleO::Services::Zaqar - OS::TripleO::Services::Ptp + - OS::TripleO::Services::Xinetd diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml index aad0a391ca..59301e75a5 100644 --- a/roles/ControllerNoCeph.yaml +++ b/roles/ControllerNoCeph.yaml @@ -171,3 +171,4 @@ - OS::TripleO::Services::Vpp - OS::TripleO::Services::Zaqar - OS::TripleO::Services::Ptp + - OS::TripleO::Services::Xinetd diff --git a/roles/Undercloud.yaml b/roles/Undercloud.yaml index 019490b3d6..821dee297a 100644 --- a/roles/Undercloud.yaml +++ b/roles/Undercloud.yaml @@ -87,3 +87,4 @@ - OS::TripleO::Services::UndercloudUpgrade - OS::TripleO::Services::TripleoValidations - OS::TripleO::Services::Zaqar + - OS::TripleO::Services::Xinetd diff --git a/roles_data.yaml b/roles_data.yaml index 98806399d5..00416e69bf 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -181,6 +181,7 @@ - OS::TripleO::Services::Vpp - OS::TripleO::Services::Zaqar - OS::TripleO::Services::Ptp + - OS::TripleO::Services::Xinetd ############################################################################### # Role: Compute # ############################################################################### diff --git a/roles_data_undercloud.yaml b/roles_data_undercloud.yaml index 7f00e8261e..b5c091cc1f 100644 --- a/roles_data_undercloud.yaml +++ b/roles_data_undercloud.yaml @@ -90,4 +90,5 @@ - OS::TripleO::Services::UndercloudUpgrade - OS::TripleO::Services::TripleoValidations - OS::TripleO::Services::Zaqar + - OS::TripleO::Services::Xinetd