From 2658537bb4bf898541e6eea2c68e2eedb672bcef Mon Sep 17 00:00:00 2001 From: Paul Belanger Date: Wed, 31 Aug 2016 09:33:02 -0400 Subject: [PATCH] Per service configuration Since it is possible to run both nodepool and nodepool-builder, we should give the user 2 different configuration files. Change-Id: I9e825a331d04124a2548203cfd8d77935fdf7bb6 Signed-off-by: Paul Belanger --- defaults/main.yaml | 3 + files/etc/default/nodepool | 4 ++ files/etc/default/nodepool-builder | 5 ++ files/etc/sysconfig/nodepool | 4 ++ files/etc/sysconfig/nodepool-builder | 5 ++ .../systemd/system/nodepool-builder.service | 2 +- tasks/service.yaml | 67 +++++++++++++------ tests/test.yaml | 32 +++++++++ vars/Debian.yaml | 12 ++-- vars/RedHat.yaml | 12 ++-- 10 files changed, 115 insertions(+), 31 deletions(-) create mode 100644 files/etc/default/nodepool-builder create mode 100644 files/etc/sysconfig/nodepool-builder diff --git a/defaults/main.yaml b/defaults/main.yaml index 09b450c..502f13f 100644 --- a/defaults/main.yaml +++ b/defaults/main.yaml @@ -74,6 +74,9 @@ nodepool_file_nodepool_service_config_owner: root nodepool_file_nodepool_builder_service_group: root nodepool_file_nodepool_builder_service_owner: root +nodepool_file_nodepool_builder_service_config_group: root +nodepool_file_nodepool_builder_service_config_owner: root + nodepool_service_nodepool_enabled: yes nodepool_service_nodepool_manage: true nodepool_service_nodepool_name: nodepool diff --git a/files/etc/default/nodepool b/files/etc/default/nodepool index a3520a4..e178816 100644 --- a/files/etc/default/nodepool +++ b/files/etc/default/nodepool @@ -1 +1,5 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# + DIB_IMAGE_CACHE=/opt/nodepool/cache diff --git a/files/etc/default/nodepool-builder b/files/etc/default/nodepool-builder new file mode 100644 index 0000000..e178816 --- /dev/null +++ b/files/etc/default/nodepool-builder @@ -0,0 +1,5 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# + +DIB_IMAGE_CACHE=/opt/nodepool/cache diff --git a/files/etc/sysconfig/nodepool b/files/etc/sysconfig/nodepool index a3520a4..e178816 100644 --- a/files/etc/sysconfig/nodepool +++ b/files/etc/sysconfig/nodepool @@ -1 +1,5 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# + DIB_IMAGE_CACHE=/opt/nodepool/cache diff --git a/files/etc/sysconfig/nodepool-builder b/files/etc/sysconfig/nodepool-builder new file mode 100644 index 0000000..e178816 --- /dev/null +++ b/files/etc/sysconfig/nodepool-builder @@ -0,0 +1,5 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# + +DIB_IMAGE_CACHE=/opt/nodepool/cache diff --git a/files/etc/systemd/system/nodepool-builder.service b/files/etc/systemd/system/nodepool-builder.service index 85daa0f..27ac72a 100644 --- a/files/etc/systemd/system/nodepool-builder.service +++ b/files/etc/systemd/system/nodepool-builder.service @@ -6,7 +6,7 @@ After=syslog.target network.target Type=simple User=nodepool Group=nodepool -EnvironmentFile=-/etc/sysconfig/nodepool +EnvironmentFile=-/etc/sysconfig/nodepool-builder ExecStart=/usr/bin/nodepool-builder -d -l /etc/nodepool/logging.conf [Install] diff --git a/tasks/service.yaml b/tasks/service.yaml index cce8475..e1532eb 100644 --- a/tasks/service.yaml +++ b/tasks/service.yaml @@ -12,21 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. --- -- name: Define nodepool_file_nodepool_service_config_dest. - set_fact: - nodepool_file_nodepool_service_config_dest: "{{ __nodepool_file_nodepool_service_config_dest }}" - when: nodepool_file_nodepool_service_config_dest is not defined - -- name: Define nodepool_file_nodepool_service_config_mode. - set_fact: - nodepool_file_nodepool_service_config_mode: "{{ __nodepool_file_nodepool_service_config_mode }}" - when: nodepool_file_nodepool_service_config_mode is not defined - -- name: Define nodepool_file_nodepool_service_config_src. - set_fact: - nodepool_file_nodepool_service_config_src: "{{ __nodepool_file_nodepool_service_config_src }}" - when: nodepool_file_nodepool_service_config_src is not defined - - name: Define nodepool_file_nodepool_service_dest. set_fact: nodepool_file_nodepool_service_dest: "{{ __nodepool_file_nodepool_service_dest }}" @@ -42,6 +27,21 @@ nodepool_file_nodepool_service_src: "{{ __nodepool_file_nodepool_service_src }}" when: nodepool_file_nodepool_service_src is not defined +- name: Define nodepool_file_nodepool_service_config_dest. + set_fact: + nodepool_file_nodepool_service_config_dest: "{{ __nodepool_file_nodepool_service_config_dest }}" + when: nodepool_file_nodepool_service_config_dest is not defined + +- name: Define nodepool_file_nodepool_service_config_mode. + set_fact: + nodepool_file_nodepool_service_config_mode: "{{ __nodepool_file_nodepool_service_config_mode }}" + when: nodepool_file_nodepool_service_config_mode is not defined + +- name: Define nodepool_file_nodepool_service_config_src. + set_fact: + nodepool_file_nodepool_service_config_src: "{{ __nodepool_file_nodepool_service_config_src }}" + when: nodepool_file_nodepool_service_config_src is not defined + - name: Define nodepool_file_nodepool_builder_service_dest. set_fact: nodepool_file_nodepool_builder_service_dest: "{{ __nodepool_file_nodepool_builder_service_dest }}" @@ -57,13 +57,20 @@ nodepool_file_nodepool_builder_service_src: "{{ __nodepool_file_nodepool_builder_service_src }}" when: nodepool_file_nodepool_builder_service_src is not defined -- name: Copy nodepool service config into place. - copy: - dest: "{{ nodepool_file_nodepool_service_config_dest }}" - group: "{{ nodepool_file_nodepool_service_config_group }}" - mode: "{{ nodepool_file_nodepool_service_config_mode }}" - owner: "{{ nodepool_file_nodepool_service_config_owner }}" - src: "{{ nodepool_file_nodepool_service_config_src }}" +- name: Define nodepool_file_nodepool_builder_service_config_dest. + set_fact: + nodepool_file_nodepool_builder_service_config_dest: "{{ __nodepool_file_nodepool_builder_service_config_dest }}" + when: nodepool_file_nodepool_builder_service_config_dest is not defined + +- name: Define nodepool_file_nodepool_builder_service_config_mode. + set_fact: + nodepool_file_nodepool_builder_service_config_mode: "{{ __nodepool_file_nodepool_builder_service_config_mode }}" + when: nodepool_file_nodepool_builder_service_config_mode is not defined + +- name: Define nodepool_file_nodepool_builder_service_config_src. + set_fact: + nodepool_file_nodepool_builder_service_config_src: "{{ __nodepool_file_nodepool_builder_service_config_src }}" + when: nodepool_file_nodepool_builder_service_config_src is not defined - name: Copy nodepool services scripts into place. copy: @@ -73,6 +80,14 @@ owner: "{{ nodepool_file_nodepool_service_owner }}" src: "{{ nodepool_file_nodepool_service_src }}" +- name: Copy nodepool service config into place. + copy: + dest: "{{ nodepool_file_nodepool_service_config_dest }}" + group: "{{ nodepool_file_nodepool_service_config_group }}" + mode: "{{ nodepool_file_nodepool_service_config_mode }}" + owner: "{{ nodepool_file_nodepool_service_config_owner }}" + src: "{{ nodepool_file_nodepool_service_config_src }}" + - name: Copy nodepool-builder services scripts into place. copy: dest: "{{ nodepool_file_nodepool_builder_service_dest }}" @@ -81,6 +96,14 @@ owner: "{{ nodepool_file_nodepool_builder_service_owner }}" src: "{{ nodepool_file_nodepool_builder_service_src }}" +- name: Copy nodepool service config into place. + copy: + dest: "{{ nodepool_file_nodepool_builder_service_config_dest }}" + group: "{{ nodepool_file_nodepool_builder_service_config_group }}" + mode: "{{ nodepool_file_nodepool_builder_service_config_mode }}" + owner: "{{ nodepool_file_nodepool_builder_service_config_owner }}" + src: "{{ nodepool_file_nodepool_builder_service_config_src }}" + - name: Enable nodepool service. service: enabled: "{{ nodepool_service_nodepool_enabled }}" diff --git a/tests/test.yaml b/tests/test.yaml index 8b391d2..f3ae243 100644 --- a/tests/test.yaml +++ b/tests/test.yaml @@ -179,6 +179,38 @@ shell: /usr/sbin/service nodepool status tags: skip_ansible_lint + - name: Register /etc/default/nodepool + stat: + path: /etc/default/nodepool + 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/init.d/nodepool-builder stat: path: /etc/init.d/nodepool-builder diff --git a/vars/Debian.yaml b/vars/Debian.yaml index 0e9d56a..35750ac 100644 --- a/vars/Debian.yaml +++ b/vars/Debian.yaml @@ -33,14 +33,18 @@ __nodepool_build_depends: - python-pip - zlib1g-dev -__nodepool_file_nodepool_service_config_dest: /etc/default/nodepool -__nodepool_file_nodepool_service_config_mode: "0644" -__nodepool_file_nodepool_service_config_src: etc/default/nodepool - __nodepool_file_nodepool_service_dest: /etc/init.d/nodepool __nodepool_file_nodepool_service_mode: "0755" __nodepool_file_nodepool_service_src: etc/init.d/nodepool +__nodepool_file_nodepool_service_config_dest: /etc/default/nodepool +__nodepool_file_nodepool_service_config_mode: "0644" +__nodepool_file_nodepool_service_config_src: etc/default/nodepool + __nodepool_file_nodepool_builder_service_dest: /etc/init.d/nodepool-builder __nodepool_file_nodepool_builder_service_mode: "0755" __nodepool_file_nodepool_builder_service_src: etc/init.d/nodepool-builder + +__nodepool_file_nodepool_builder_service_config_dest: /etc/default/nodepool-builder +__nodepool_file_nodepool_builder_service_config_mode: "0644" +__nodepool_file_nodepool_builder_service_config_src: etc/default/nodepool-builder diff --git a/vars/RedHat.yaml b/vars/RedHat.yaml index 84f2e46..355bd10 100644 --- a/vars/RedHat.yaml +++ b/vars/RedHat.yaml @@ -24,14 +24,18 @@ __nodepool_build_depends: - python-pip - zlib-devel -__nodepool_file_nodepool_service_config_dest: /etc/sysconfig/nodepool -__nodepool_file_nodepool_service_config_mode: "0644" -__nodepool_file_nodepool_service_config_src: etc/sysconfig/nodepool - __nodepool_file_nodepool_service_dest: /etc/systemd/system/nodepool.service __nodepool_file_nodepool_service_mode: "0644" __nodepool_file_nodepool_service_src: etc/systemd/system/nodepool.service +__nodepool_file_nodepool_service_config_dest: /etc/sysconfig/nodepool +__nodepool_file_nodepool_service_config_mode: "0644" +__nodepool_file_nodepool_service_config_src: etc/sysconfig/nodepool + __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 + +__nodepool_file_nodepool_builder_service_config_dest: /etc/sysconfig/nodepool-builder +__nodepool_file_nodepool_builder_service_config_mode: "0644" +__nodepool_file_nodepool_builder_service_config_src: etc/sysconfig/nodepool-builder