Merge "Don't hardcode puppet-3-specific config paths"
This commit is contained in:
commit
d5dbfc3a62
@ -10,8 +10,8 @@ puppet_server: puppet
|
||||
certname: "{{ ansible_fqdn }}"
|
||||
puppet_data_binding_terminus: hiera
|
||||
puppet_reports: store
|
||||
puppet_basemodulepath: '$confdir/modules'
|
||||
puppet_environmentpath: '$confdir/environments'
|
||||
puppet_basemodulepath: ''
|
||||
puppet_environmentpath: ''
|
||||
puppet_hiera_datadir: '/opt/system-config/'
|
||||
puppet_environment_basedir: '/opt/system-config/'
|
||||
puppet_environment: production
|
||||
|
@ -59,7 +59,7 @@ def main():
|
||||
for path in paths:
|
||||
full_path = os.path.join(p['location'], path)
|
||||
if os.path.exists(full_path):
|
||||
good_paths.append(full_path)
|
||||
good_paths.append(path)
|
||||
|
||||
module.exit_json(paths=good_paths)
|
||||
|
||||
|
@ -1,9 +1,22 @@
|
||||
---
|
||||
- name: Set puppet conf dir
|
||||
set_fact:
|
||||
puppet_confdir: "{{ '/etc/puppet' if puppet_version == '3' else '/etc/puppetlabs/puppet' }}"
|
||||
|
||||
- name: Set puppet code dir
|
||||
set_fact:
|
||||
puppet_codedir: "{{ '/etc/puppet' if puppet_version == '3' else '/etc/puppetlabs/code' }}"
|
||||
|
||||
- name: Enable puppet environments explicitly for puppet 3
|
||||
set_fact:
|
||||
puppet_environmentpath: '$confdir/environments'
|
||||
when: puppet_version == '3' and puppet_environmentpath == ''
|
||||
|
||||
# Create our config
|
||||
- name: Create puppet.conf from template
|
||||
template:
|
||||
src: "puppet.conf.j2"
|
||||
dest: "/etc/puppet/puppet.conf"
|
||||
dest: "{{ puppet_confdir }}/puppet.conf"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
@ -11,14 +24,14 @@
|
||||
- name: Create hiera.yaml from template
|
||||
template:
|
||||
src: "hiera.yaml.j2"
|
||||
dest: "/etc/puppet/hiera.yaml"
|
||||
dest: "{{ puppet_confdir }}/hiera.yaml"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: symlink hiera config files together
|
||||
file:
|
||||
src: "/etc/puppet/hiera.yaml"
|
||||
src: "{{ puppet_confdir }}/hiera.yaml"
|
||||
dest: "/etc/hiera.yaml"
|
||||
owner: root
|
||||
group: root
|
||||
@ -27,7 +40,7 @@
|
||||
|
||||
- name: create environment directory
|
||||
file:
|
||||
path: "/etc/puppet/environments/{{ puppet_environment }}"
|
||||
path: "{{ puppet_codedir }}/environments/{{ puppet_environment }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
@ -37,7 +50,7 @@
|
||||
- name: create environment.conf from template
|
||||
template:
|
||||
src: "environment.conf.j2"
|
||||
dest: "/etc/puppet/environments/{{ puppet_environment }}/environment.conf"
|
||||
dest: "{{ puppet_codedir }}/environments/{{ puppet_environment }}/environment.conf"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
@ -1,9 +1,45 @@
|
||||
---
|
||||
- name: Get management server puppet version
|
||||
shell:
|
||||
cmd: "PATH=$PATH:/opt/puppetlabs/bin puppet --version | cut -d '.' -f 1"
|
||||
delegate_to: localhost
|
||||
register: mgmt_puppet_version
|
||||
|
||||
- name: Set management server puppet version fact
|
||||
set_fact:
|
||||
mgmt_puppet_version: "{{ mgmt_puppet_version.stdout }}"
|
||||
|
||||
- name: Sanity check management server puppet version
|
||||
fail: "Unsupported puppet version {{ mgmt_puppet_version }}"
|
||||
when: (mgmt_puppet_version != '3' and mgmt_puppet_version != '4')
|
||||
|
||||
- name: Get puppet version
|
||||
shell:
|
||||
cmd: "PATH=$PATH:/opt/puppetlabs/bin puppet --version | cut -d '.' -f 1"
|
||||
register: puppet_version
|
||||
|
||||
- name: Set puppet version fact
|
||||
set_fact:
|
||||
puppet_version: "{{ puppet_version.stdout }}"
|
||||
|
||||
- name: Sanity check puppet version
|
||||
fail: "Unsupported puppet version {{ puppet_version }}"
|
||||
when: (puppet_version != '3' and puppet_version != '4')
|
||||
|
||||
- block:
|
||||
- name: Set management server hieradata var
|
||||
set_fact:
|
||||
mgmt_hieradata: "{{ '/etc/puppet/hieradata' + puppet_environment if mgmt_puppet_version == '3' else '/etc/puppetlabs/code/environments/' + puppet_environment + '/hieradata' }}"
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Set hieradata var
|
||||
set_fact:
|
||||
hieradata: "{{ '/etc/puppet/hieradata' + puppet_environment if puppet_version == '3' else '/etc/puppetlabs/code/environments/' + puppet_environment + '/hieradata' }}"
|
||||
|
||||
- name: ensure hiera directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ hieradata }}/{{ puppet_environment }}/{{ item }}"
|
||||
path: "{{ hieradata }}//{{ item }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0700
|
||||
@ -15,14 +51,14 @@
|
||||
puppet_get_hiera_file_list:
|
||||
fqdn: "{{ ansible_fqdn }}"
|
||||
groups: "{{ hostvars[inventory_hostname].group_names }}"
|
||||
location: "{{ hieradata }}/{{ puppet_environment }}"
|
||||
location: "{{ hieradata }}"
|
||||
delegate_to: localhost
|
||||
register: hiera_file_paths
|
||||
|
||||
- name: copy hiera files
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: "{{ item }}"
|
||||
src: "{{ mgmt_hieradata + '/' + item }}"
|
||||
dest: "{{ hieradata + '/' item }}"
|
||||
mode: 0600
|
||||
with_items: "{{ hiera_file_paths.paths|default() }}"
|
||||
|
||||
@ -41,10 +77,31 @@
|
||||
state: link
|
||||
when: copy_hieradata
|
||||
|
||||
- name: Set management server puppet module dir to user-defined path
|
||||
set_fact:
|
||||
mgmt_puppet_module_dir: "{{ puppet_basemodulepath }}"
|
||||
when: puppet_basemodulepath != ''
|
||||
|
||||
- name: Set management server puppet module dir
|
||||
set_fact:
|
||||
mgmt_puppet_module_dir: "{{ '/etc/puppet/modules' if mgmt_puppet_version == '3' else '/etc/puppetlabs/code/modules' }}"
|
||||
delegate_to: localhost
|
||||
when: mgmt_puppet_module_dir is not defined
|
||||
|
||||
- name: Set puppet module dir to user-defined path
|
||||
set_fact:
|
||||
puppet_module_dir: "{{ puppet_basemodulepath }}"
|
||||
when: puppet_basemodulepath != ''
|
||||
|
||||
- name: Set puppet module dir
|
||||
set_fact:
|
||||
puppet_module_dir: "{{ '/etc/puppet' if puppet_version == '3' else '/etc/puppetlabs/code' }}"
|
||||
when: puppet_module_dir is not defined
|
||||
|
||||
- name: copy system puppet modules
|
||||
synchronize:
|
||||
src: /etc/puppet/modules
|
||||
dest: /etc/puppet
|
||||
src: "{{ mgmt_puppet_module_dir }}"
|
||||
dest: "{{ puppet_module_dir }}"
|
||||
|
||||
when:
|
||||
- copy_puppet
|
||||
|
@ -1 +1 @@
|
||||
modulepath = '{{ puppet_basemodulepath }}:{{ puppet_environment_basedir }}{{ puppet_environment }}/modules'
|
||||
modulepath = {{ puppet_basemodulepath if puppet_basemodulepath != '' else '$basemodulepath' }}:$environmentpath/{{ puppet_environment }}/modules:{{ puppet_environment_basedir if puppet_environment_basedir != '' else '$environmentpath' }}/{{ puppet_environment }}/modules
|
||||
|
@ -8,9 +8,13 @@ certname={{ certname }}
|
||||
pluginsync=true
|
||||
data_binding_terminus={{ puppet_data_binding_terminus }}
|
||||
reports={{ puppet_reports }}
|
||||
basemodulepath = {{ puppet_basemodulepath }}
|
||||
environmentpath={{ puppet_environmentpath }}
|
||||
environmenttimeout=0
|
||||
{% if puppet_basemodulepath != '' %}
|
||||
basemodulepath = {{ puppet_basemodulepath }}
|
||||
{% endif %}
|
||||
{% if puppet_environmentpath != '' %}
|
||||
environmentpath={{ puppet_environmentpath }}
|
||||
{% endif %}
|
||||
|
||||
[master]
|
||||
# These are needed when the puppetmaster is run by passenger
|
||||
|
Loading…
Reference in New Issue
Block a user