From 2eaf536e4cb3fe244712f78ce18e58a8a0ed42d5 Mon Sep 17 00:00:00 2001 From: Paul Belanger Date: Fri, 11 Dec 2015 14:38:10 -0500 Subject: [PATCH] Add jenkins_jobs.ini template Change-Id: I887b2b9715ab31dd6db8b68c20f01b70a18d81c7 Signed-off-by: Paul Belanger --- defaults/main.yaml | 14 +++++++ tasks/config.yaml | 9 +++++ .../etc/jenkins_jobs/jenkins_jobs.ini.j2 | 14 +++++++ tests/files/etc/jenkins_jobs/jenkins_jobs.ini | 14 +++++++ tests/test.yaml | 38 +++++++++++++++++++ 5 files changed, 89 insertions(+) create mode 100644 templates/etc/jenkins_jobs/jenkins_jobs.ini.j2 create mode 100644 tests/files/etc/jenkins_jobs/jenkins_jobs.ini diff --git a/defaults/main.yaml b/defaults/main.yaml index 9769b26..feddefd 100644 --- a/defaults/main.yaml +++ b/defaults/main.yaml @@ -17,6 +17,20 @@ jenkins_job_builder_user_name: root jenkins_job_builder_user_group: "{{ jenkins_job_builder_user_name }}" jenkins_job_builder_user_home: /var/lib/jenkins_job_builder +jenkins_job_builder_config_job_builder_allow_duplicates: False +jenkins_job_builder_config_job_builder_ignore_cache: True +jenkins_job_builder_config_job_builder_keep_descriptions: False +jenkins_job_builder_config_job_builder_recursive: False + +jenkins_job_builder_config_jenkins_user: jenkins +jenkins_job_builder_config_jenkins_password: "" +jenkins_job_builder_config_jenkins_url: http://localhost:8008 +jenkins_job_builder_config_jenkins_query_plugins_info: False + +jenkins_job_builder_template_jenkins_jobs_ini_dest: /etc/jenkins_jobs/jenkins_jobs.ini +jenkins_job_builder_template_jenkins_jobs_ini_mode: "0440" +jenkins_job_builder_template_jenkins_jobs_ini_src: etc/jenkins_jobs/jenkins_jobs.ini.j2 + # tasks/install.yaml jenkins_job_builder_git_dest: /opt/ansible-role-jenkins-job-builder/git/openstack-infra/jenkins-job-builder jenkins_job_builder_git_uri: https://git.openstack.org/openstack-infra/jenkins-job-builder diff --git a/tasks/config.yaml b/tasks/config.yaml index 9e51ebf..ade7d0a 100644 --- a/tasks/config.yaml +++ b/tasks/config.yaml @@ -19,4 +19,13 @@ path: "{{ item }}" state: directory with_items: + - /etc/jenkins_jobs - "{{ jenkins_job_builder_user_home }}" + +- name: Template jenkins_jobs.ini file. + template: + dest: "{{ jenkins_job_builder_template_jenkins_jobs_ini_dest }}" + group: "{{ jenkins_job_builder_user_group }}" + mode: "{{ jenkins_job_builder_template_jenkins_jobs_ini_mode }}" + owner: "{{ jenkins_job_builder_user_name }}" + src: "{{ jenkins_job_builder_template_jenkins_jobs_ini_src }}" diff --git a/templates/etc/jenkins_jobs/jenkins_jobs.ini.j2 b/templates/etc/jenkins_jobs/jenkins_jobs.ini.j2 new file mode 100644 index 0000000..136b4ef --- /dev/null +++ b/templates/etc/jenkins_jobs/jenkins_jobs.ini.j2 @@ -0,0 +1,14 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# +[job_builder] +allow_duplicates = {{ jenkins_job_builder_config_job_builder_allow_duplicates }} +keep_descriptions = {{ jenkins_job_builder_config_job_builder_keep_descriptions }} +ignore_cache = {{ jenkins_job_builder_config_job_builder_ignore_cache }} +recursive = {{ jenkins_job_builder_config_job_builder_recursive }} + +[jenkins] +password = {{ jenkins_job_builder_config_jenkins_password }} +query_plugins_info = {{ jenkins_job_builder_config_jenkins_query_plugins_info }} +url = {{ jenkins_job_builder_config_jenkins_url }} +user = {{ jenkins_job_builder_config_jenkins_user }} diff --git a/tests/files/etc/jenkins_jobs/jenkins_jobs.ini b/tests/files/etc/jenkins_jobs/jenkins_jobs.ini new file mode 100644 index 0000000..c9a8615 --- /dev/null +++ b/tests/files/etc/jenkins_jobs/jenkins_jobs.ini @@ -0,0 +1,14 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# +[job_builder] +allow_duplicates = False +keep_descriptions = False +ignore_cache = True +recursive = False + +[jenkins] +password = +query_plugins_info = False +url = http://localhost:8008 +user = jenkins diff --git a/tests/test.yaml b/tests/test.yaml index 98be0ec..68bc31d 100644 --- a/tests/test.yaml +++ b/tests/test.yaml @@ -40,3 +40,41 @@ - jenkins_job_builder_user_home_stat.stat.pw_name == 'root' - jenkins_job_builder_user_home_stat.stat.gr_name == 'root' - jenkins_job_builder_user_home_stat.stat.mode == '0755' + + - name: Register /etc/jenkins_jobs. + stat: + path: /etc/jenkins_jobs + register: jenkins_jobs_stat + + - name: Assert /etc/jenkins_jobs tests. + assert: + that: + - jenkins_jobs_stat.stat.exists + - jenkins_jobs_stat.stat.isdir + - jenkins_jobs_stat.stat.pw_name == 'root' + - jenkins_jobs_stat.stat.gr_name == 'root' + - jenkins_jobs_stat.stat.mode == '0755' + + - name: Register jenkins_jobs.ini. + stat: + path: /etc/jenkins_jobs/jenkins_jobs.ini + register: jenkins_jobs_ini_stat + + - name: Assert /etc/jenkins_jobs tests. + assert: + that: + - jenkins_jobs_ini_stat.stat.exists + - jenkins_jobs_ini_stat.stat.isreg + - jenkins_jobs_ini_stat.stat.pw_name == 'root' + - jenkins_jobs_ini_stat.stat.gr_name == 'root' + - jenkins_jobs_ini_stat.stat.mode == '0440' + + - name: Ensure jenkins_jobs.ini was templated. + copy: + dest: /etc/jenkins_jobs/jenkins_jobs.ini + src: files/etc/jenkins_jobs/jenkins_jobs.ini + register: jenkins_jobs_ini + + - name: Assert jenkins_jobs.ini did not change. + assert: + that: "{{ jenkins_jobs_ini.changed | bool }} == False"