From 5c8d047bd45208664faf6b55dd59c306054c45b5 Mon Sep 17 00:00:00 2001 From: Paul Belanger Date: Mon, 29 May 2017 10:42:18 -0400 Subject: [PATCH] Switch to systemd configuration files Now that we are using systemd everywhere, we can simplify our service configuration. Change-Id: I9bacb3925f8e95587d459284758de337f9a270c3 Depends-On: I37ae527a93f5d5300c9ac4a1b4a6ca4363e7096d Signed-off-by: Paul Belanger --- tasks/service.yaml | 18 +++++ templates/etc/default/nodepool-builder | 15 ---- templates/etc/default/nodepool-launcher | 15 ---- templates/etc/sysconfig/nodepool-builder | 12 ---- templates/etc/sysconfig/nodepool-launcher | 12 ---- .../systemd/system/nodepool-builder.service | 17 +++++ .../system/nodepool-builder.service.centos-7 | 13 ---- .../nodepool-builder.service.d/redhat.conf | 5 ++ .../ubuntu-xenial.conf | 3 + .../nodepool-builder.service.ubuntu-xenial | 13 ---- .../systemd/system/nodepool-launcher.service | 17 +++++ .../system/nodepool-launcher.service.centos-7 | 13 ---- .../nodepool-launcher.service.d/redhat.conf | 5 ++ .../ubuntu-xenial.conf | 3 + .../nodepool-launcher.service.ubuntu-xenial | 13 ---- tests/test.yaml | 72 ------------------- vars/redhat.yaml | 12 ++-- vars/ubuntu-xenial.yaml | 12 ++-- 18 files changed, 80 insertions(+), 190 deletions(-) delete mode 100644 templates/etc/default/nodepool-builder delete mode 100644 templates/etc/default/nodepool-launcher delete mode 100644 templates/etc/sysconfig/nodepool-builder delete mode 100644 templates/etc/sysconfig/nodepool-launcher create mode 100644 templates/etc/systemd/system/nodepool-builder.service delete mode 100644 templates/etc/systemd/system/nodepool-builder.service.centos-7 create mode 100644 templates/etc/systemd/system/nodepool-builder.service.d/redhat.conf create mode 100644 templates/etc/systemd/system/nodepool-builder.service.d/ubuntu-xenial.conf delete mode 100644 templates/etc/systemd/system/nodepool-builder.service.ubuntu-xenial create mode 100644 templates/etc/systemd/system/nodepool-launcher.service delete mode 100644 templates/etc/systemd/system/nodepool-launcher.service.centos-7 create mode 100644 templates/etc/systemd/system/nodepool-launcher.service.d/redhat.conf create mode 100644 templates/etc/systemd/system/nodepool-launcher.service.d/ubuntu-xenial.conf delete mode 100644 templates/etc/systemd/system/nodepool-launcher.service.ubuntu-xenial diff --git a/tasks/service.yaml b/tasks/service.yaml index 09cd482..44e5806 100644 --- a/tasks/service.yaml +++ b/tasks/service.yaml @@ -83,6 +83,15 @@ register: nodepool_file_nodepool_builder_service when: nodepool_file_nodepool_builder_service_manage +- name: Create nodepool-builder service config directory. + become: yes + file: + group: "{{ nodepool_file_nodepool_builder_service_config_group }}" + owner: "{{ nodepool_file_nodepool_builder_service_config_owner }}" + path: "{{ nodepool_file_nodepool_builder_service_dest }}.d" + state: directory + when: nodepool_file_nodepool_builder_service_config_manage + - name: Install nodepool-builder service config into place. become: yes template: @@ -105,6 +114,15 @@ register: nodepool_file_nodepool_launcher_service when: nodepool_file_nodepool_launcher_service_manage +- name: Create nodepool-launcher service config directory. + become: yes + file: + group: "{{ nodepool_file_nodepool_launcher_service_config_group }}" + owner: "{{ nodepool_file_nodepool_launcher_service_config_owner }}" + path: "{{ nodepool_file_nodepool_launcher_service_dest }}.d" + state: directory + when: nodepool_file_nodepool_launcher_service_config_manage + - name: Install nodepool-launcher service config into place. become: yes template: diff --git a/templates/etc/default/nodepool-builder b/templates/etc/default/nodepool-builder deleted file mode 100644 index 31f9641..0000000 --- a/templates/etc/default/nodepool-builder +++ /dev/null @@ -1,15 +0,0 @@ -# This file is generated by Ansible -# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN -# - -# The prefix used when nodepool-builder was installed. Be sure to update this -# value if you are using a virtualenv. -PREFIX=/usr/local - -# Options to pass to nodepool-builder. -ARGS="-l /etc/nodepool/builder-logging.conf" - -# The user used to nodepool-builder service. -RUNASUSER=nodepool - -DIB_IMAGE_CACHE=/opt/nodepool/cache diff --git a/templates/etc/default/nodepool-launcher b/templates/etc/default/nodepool-launcher deleted file mode 100644 index ed71f0d..0000000 --- a/templates/etc/default/nodepool-launcher +++ /dev/null @@ -1,15 +0,0 @@ -# This file is generated by Ansible -# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN -# - -# The prefix used when nodepool-launcher was installed. Be sure to update this -# value if you are using a virtualenv. -PREFIX=/usr/local - -# Options to pass to nodepool-launcher. -ARGS="-l /etc/nodepool/launcher-logging.conf --no-webapp" - -# The user used to nodepool-launcher service. -RUNASUSER=nodepool - -DIB_IMAGE_CACHE=/opt/nodepool/cache diff --git a/templates/etc/sysconfig/nodepool-builder b/templates/etc/sysconfig/nodepool-builder deleted file mode 100644 index 8e40f1c..0000000 --- a/templates/etc/sysconfig/nodepool-builder +++ /dev/null @@ -1,12 +0,0 @@ -# This file is generated by Ansible -# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN -# - -# The prefix used when nodepool-builder was installed. Be sure to update this -# value if you are using a virtualenv. -PREFIX=/usr - -# Options to pass to nodepool-builder. -ARGS="-l /etc/nodepool/builder-logging.conf" - -DIB_IMAGE_CACHE=/opt/nodepool/cache diff --git a/templates/etc/sysconfig/nodepool-launcher b/templates/etc/sysconfig/nodepool-launcher deleted file mode 100644 index 0de2cc5..0000000 --- a/templates/etc/sysconfig/nodepool-launcher +++ /dev/null @@ -1,12 +0,0 @@ -# This file is generated by Ansible -# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN -# - -# The prefix used when nodepool-launcher was installed. Be sure to update this -# value if you are using a virtualenv. -PREFIX=/usr - -# Options to pass to nodepool-launcher. -ARGS="-l /etc/nodepool/launcher-logging.conf --no-webapp" - -DIB_IMAGE_CACHE=/opt/nodepool/cache diff --git a/templates/etc/systemd/system/nodepool-builder.service b/templates/etc/systemd/system/nodepool-builder.service new file mode 100644 index 0000000..1623c43 --- /dev/null +++ b/templates/etc/systemd/system/nodepool-builder.service @@ -0,0 +1,17 @@ +[Unit] +Description=Nodepool Builder Service +After=syslog.target network.target + +[Service] +Type=simple +# Options to pass to nodepool-builder. +Environment="ARGS=-l /etc/nodepool/builder-logging.conf" +# The prefix used when nodepool-builder was installed. Be sure to update this +# value if you are using a virtualenv. +Environment="PREFIX=/usr/local" +Group=nodepool +User=nodepool +ExecStart=/bin/sh -c "${PREFIX}/bin/nodepool-builder -d ${ARGS}" + +[Install] +WantedBy=multi-user.target diff --git a/templates/etc/systemd/system/nodepool-builder.service.centos-7 b/templates/etc/systemd/system/nodepool-builder.service.centos-7 deleted file mode 100644 index a9eb5b7..0000000 --- a/templates/etc/systemd/system/nodepool-builder.service.centos-7 +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Nodepool Builder Service -After=syslog.target network.target - -[Service] -Type=simple -User=nodepool -Group=nodepool -EnvironmentFile=-/etc/sysconfig/nodepool-builder -ExecStart=/bin/sh -c "${PREFIX}/bin/nodepool-builder -d ${ARGS}" - -[Install] -WantedBy=multi-user.target diff --git a/templates/etc/systemd/system/nodepool-builder.service.d/redhat.conf b/templates/etc/systemd/system/nodepool-builder.service.d/redhat.conf new file mode 100644 index 0000000..ce86bc9 --- /dev/null +++ b/templates/etc/systemd/system/nodepool-builder.service.d/redhat.conf @@ -0,0 +1,5 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# +[Service] +Environment="PREFIX=/usr" diff --git a/templates/etc/systemd/system/nodepool-builder.service.d/ubuntu-xenial.conf b/templates/etc/systemd/system/nodepool-builder.service.d/ubuntu-xenial.conf new file mode 100644 index 0000000..602ac8e --- /dev/null +++ b/templates/etc/systemd/system/nodepool-builder.service.d/ubuntu-xenial.conf @@ -0,0 +1,3 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# diff --git a/templates/etc/systemd/system/nodepool-builder.service.ubuntu-xenial b/templates/etc/systemd/system/nodepool-builder.service.ubuntu-xenial deleted file mode 100644 index 27ecfda..0000000 --- a/templates/etc/systemd/system/nodepool-builder.service.ubuntu-xenial +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Nodepool Builder Service -After=syslog.target network.target - -[Service] -Type=simple -User=nodepool -Group=nodepool -EnvironmentFile=-/etc/default/nodepool-builder -ExecStart=/bin/sh -c "${PREFIX}/bin/nodepool-builder -d ${ARGS}" - -[Install] -WantedBy=multi-user.target diff --git a/templates/etc/systemd/system/nodepool-launcher.service b/templates/etc/systemd/system/nodepool-launcher.service new file mode 100644 index 0000000..e1d66e8 --- /dev/null +++ b/templates/etc/systemd/system/nodepool-launcher.service @@ -0,0 +1,17 @@ +[Unit] +Description=Nodepool Launcher Service +After=syslog.target network.target + +[Service] +Type=simple +# Options to pass to nodepool-launcher. +Environment="ARGS=-l /etc/nodepool/launcher-logging.conf" +# The prefix used when nodepool-launcher was installed. Be sure to update this +# value if you are using a virtualenv. +Environment="PREFIX=/usr/local" +Group=nodepool +User=nodepool +ExecStart=/bin/sh -c "${PREFIX}/bin/nodepool-launcher -d ${ARGS}" + +[Install] +WantedBy=multi-user.target diff --git a/templates/etc/systemd/system/nodepool-launcher.service.centos-7 b/templates/etc/systemd/system/nodepool-launcher.service.centos-7 deleted file mode 100644 index 8c6f8b2..0000000 --- a/templates/etc/systemd/system/nodepool-launcher.service.centos-7 +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Nodepool Launcher Service -After=syslog.target network.target - -[Service] -Type=simple -User=nodepool -Group=nodepool -EnvironmentFile=-/etc/sysconfig/nodepool-launcher -ExecStart=/bin/sh -c "${PREFIX}/bin/nodepool-launcher -d ${ARGS}" - -[Install] -WantedBy=multi-user.target diff --git a/templates/etc/systemd/system/nodepool-launcher.service.d/redhat.conf b/templates/etc/systemd/system/nodepool-launcher.service.d/redhat.conf new file mode 100644 index 0000000..ce86bc9 --- /dev/null +++ b/templates/etc/systemd/system/nodepool-launcher.service.d/redhat.conf @@ -0,0 +1,5 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# +[Service] +Environment="PREFIX=/usr" diff --git a/templates/etc/systemd/system/nodepool-launcher.service.d/ubuntu-xenial.conf b/templates/etc/systemd/system/nodepool-launcher.service.d/ubuntu-xenial.conf new file mode 100644 index 0000000..602ac8e --- /dev/null +++ b/templates/etc/systemd/system/nodepool-launcher.service.d/ubuntu-xenial.conf @@ -0,0 +1,3 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# diff --git a/templates/etc/systemd/system/nodepool-launcher.service.ubuntu-xenial b/templates/etc/systemd/system/nodepool-launcher.service.ubuntu-xenial deleted file mode 100644 index 9d6ad6f..0000000 --- a/templates/etc/systemd/system/nodepool-launcher.service.ubuntu-xenial +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Nodepool Launcher Service -After=syslog.target network.target - -[Service] -Type=simple -User=nodepool -Group=nodepool -EnvironmentFile=-/etc/default/nodepool-launcher -ExecStart=/bin/sh -c "${PREFIX}/bin/nodepool-launcher -d ${ARGS}" - -[Install] -WantedBy=multi-user.target diff --git a/tests/test.yaml b/tests/test.yaml index 1475fa7..3f6393d 100644 --- a/tests/test.yaml +++ b/tests/test.yaml @@ -151,44 +151,10 @@ - nodepool_git_dest_stat.stat.exists - nodepool_git_dest_stat.stat.isdir - - name: Register /etc/default/nodepool-builder - stat: - path: /etc/default/nodepool-builder - register: debian_nodepool_builder_sysconfig_stat - when: ansible_os_family == 'Debian' - - - name: Assert debian_nodepool_builder_sysconfig_stat tests. - assert: - that: - - debian_nodepool_builder_sysconfig_stat.stat.exists - - debian_nodepool_builder_sysconfig_stat.stat.isreg - - debian_nodepool_builder_sysconfig_stat.stat.pw_name == 'root' - - debian_nodepool_builder_sysconfig_stat.stat.gr_name == 'root' - - debian_nodepool_builder_sysconfig_stat.stat.mode == '0644' - when: ansible_os_family == 'Debian' - - - name: Register /etc/sysconfig/nodepool-builder - stat: - path: /etc/sysconfig/nodepool-builder - register: redhat_nodepool_builder_sysconfig_stat - when: ansible_os_family == 'RedHat' - - - name: Assert redhat_nodepool_builder_sysconfig_stat tests. - assert: - that: - - redhat_nodepool_builder_sysconfig_stat.stat.exists - - redhat_nodepool_builder_sysconfig_stat.stat.isreg - - redhat_nodepool_builder_sysconfig_stat.stat.pw_name == 'root' - - redhat_nodepool_builder_sysconfig_stat.stat.gr_name == 'root' - - redhat_nodepool_builder_sysconfig_stat.stat.mode == '0644' - when: ansible_os_family == 'RedHat' - - name: Register /etc/systemd/system/nodepool-builder.service stat: path: /etc/systemd/system/nodepool-builder.service register: _nodepool_builder_service_systemd_stat - when: (ansible_os_family == 'RedHat') or - (ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'xenial') - name: Assert _nodepool_builder_service_systemd_stat tests. assert: @@ -198,52 +164,16 @@ - _nodepool_builder_service_systemd_stat.stat.pw_name == 'root' - _nodepool_builder_service_systemd_stat.stat.gr_name == 'root' - _nodepool_builder_service_systemd_stat.stat.mode == '0644' - when: (ansible_os_family == 'RedHat') or - (ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'xenial') - name: Ensure nodepool-builder is running. become: yes shell: /usr/sbin/service nodepool-builder status tags: skip_ansible_lint - - name: Register /etc/default/nodepool-launcher - stat: - path: /etc/default/nodepool-launcher - register: debian_nodepool_launcher_sysconfig_stat - when: ansible_os_family == 'Debian' - - - name: Assert debian_nodepool_launcher_sysconfig_stat tests. - assert: - that: - - debian_nodepool_launcher_sysconfig_stat.stat.exists - - debian_nodepool_launcher_sysconfig_stat.stat.isreg - - debian_nodepool_launcher_sysconfig_stat.stat.pw_name == 'root' - - debian_nodepool_launcher_sysconfig_stat.stat.gr_name == 'root' - - debian_nodepool_launcher_sysconfig_stat.stat.mode == '0644' - when: ansible_os_family == 'Debian' - - - name: Register /etc/sysconfig/nodepool-launcher - stat: - path: /etc/sysconfig/nodepool-launcher - register: redhat_nodepool_launcher_sysconfig_stat - when: ansible_os_family == 'RedHat' - - - name: Assert redhat_nodepool_launcher_sysconfig_stat tests. - assert: - that: - - redhat_nodepool_launcher_sysconfig_stat.stat.exists - - redhat_nodepool_launcher_sysconfig_stat.stat.isreg - - redhat_nodepool_launcher_sysconfig_stat.stat.pw_name == 'root' - - redhat_nodepool_launcher_sysconfig_stat.stat.gr_name == 'root' - - redhat_nodepool_launcher_sysconfig_stat.stat.mode == '0644' - when: ansible_os_family == 'RedHat' - - name: Register /etc/systemd/system/nodepool-launcher.service stat: path: /etc/systemd/system/nodepool-launcher.service register: _nodepool_launcher_service_systemd_stat - when: (ansible_os_family == 'RedHat') or - (ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'xenial') - name: Assert _nodepool_launcher_service_systemd_stat tests. assert: @@ -253,8 +183,6 @@ - _nodepool_launcher_service_systemd_stat.stat.pw_name == 'root' - _nodepool_launcher_service_systemd_stat.stat.gr_name == 'root' - _nodepool_launcher_service_systemd_stat.stat.mode == '0644' - when: (ansible_os_family == 'RedHat') or - (ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'xenial') - name: Ensure nodepool-launcher is running. become: yes diff --git a/vars/redhat.yaml b/vars/redhat.yaml index 5601df2..3a02c72 100644 --- a/vars/redhat.yaml +++ b/vars/redhat.yaml @@ -24,16 +24,16 @@ __nodepool_build_depends: __nodepool_file_nodepool_builder_service_dest: /etc/systemd/system/nodepool-builder.service __nodepool_file_nodepool_builder_service_mode: 0644 -__nodepool_file_nodepool_builder_service_src: etc/systemd/system/nodepool-builder.service.centos-7 +__nodepool_file_nodepool_builder_service_src: etc/systemd/system/nodepool-builder.service -__nodepool_file_nodepool_builder_service_config_dest: /etc/sysconfig/nodepool-builder +__nodepool_file_nodepool_builder_service_config_dest: /etc/systemd/system/nodepool-builder.service.d/override.conf __nodepool_file_nodepool_builder_service_config_mode: 0644 -__nodepool_file_nodepool_builder_service_config_src: etc/sysconfig/nodepool-builder +__nodepool_file_nodepool_builder_service_config_src: etc/systemd/system/nodepool-builder.service.d/redhat.conf __nodepool_file_nodepool_launcher_service_dest: /etc/systemd/system/nodepool-launcher.service __nodepool_file_nodepool_launcher_service_mode: 0644 -__nodepool_file_nodepool_launcher_service_src: etc/systemd/system/nodepool-launcher.service.centos-7 +__nodepool_file_nodepool_launcher_service_src: etc/systemd/system/nodepool-launcher.service -__nodepool_file_nodepool_launcher_service_config_dest: /etc/sysconfig/nodepool-launcher +__nodepool_file_nodepool_launcher_service_config_dest: /etc/systemd/system/nodepool-launcher.service.d/override.conf __nodepool_file_nodepool_launcher_service_config_mode: 0644 -__nodepool_file_nodepool_launcher_service_config_src: etc/sysconfig/nodepool-launcher +__nodepool_file_nodepool_launcher_service_config_src: etc/systemd/system/nodepool-launcher.service.d/redhat.conf diff --git a/vars/ubuntu-xenial.yaml b/vars/ubuntu-xenial.yaml index d4b3351..72f8f60 100644 --- a/vars/ubuntu-xenial.yaml +++ b/vars/ubuntu-xenial.yaml @@ -35,16 +35,16 @@ __nodepool_build_depends: __nodepool_file_nodepool_builder_service_dest: /etc/systemd/system/nodepool-builder.service __nodepool_file_nodepool_builder_service_mode: 0644 -__nodepool_file_nodepool_builder_service_src: etc/systemd/system/nodepool-builder.service.ubuntu-xenial +__nodepool_file_nodepool_builder_service_src: etc/systemd/system/nodepool-builder.service -__nodepool_file_nodepool_builder_service_config_dest: /etc/default/nodepool-builder +__nodepool_file_nodepool_builder_service_config_dest: /etc/systemd/system/nodepool-builder.service.d/override.conf __nodepool_file_nodepool_builder_service_config_mode: 0644 -__nodepool_file_nodepool_builder_service_config_src: etc/default/nodepool-builder +__nodepool_file_nodepool_builder_service_config_src: etc/systemd/system/nodepool-builder.service.d/ubuntu-xenial.conf __nodepool_file_nodepool_launcher_service_dest: /etc/systemd/system/nodepool-launcher.service __nodepool_file_nodepool_launcher_service_mode: 0644 -__nodepool_file_nodepool_launcher_service_src: etc/systemd/system/nodepool-launcher.service.ubuntu-xenial +__nodepool_file_nodepool_launcher_service_src: etc/systemd/system/nodepool-launcher.service -__nodepool_file_nodepool_launcher_service_config_dest: /etc/default/nodepool-launcher +__nodepool_file_nodepool_launcher_service_config_dest: /etc/systemd/system/nodepool-launcher.service.d/override.conf __nodepool_file_nodepool_launcher_service_config_mode: 0644 -__nodepool_file_nodepool_launcher_service_config_src: etc/default/nodepool-launcher +__nodepool_file_nodepool_launcher_service_config_src: etc/systemd/system/nodepool-launcher.service.d/ubuntu-xenial.conf