Switch to separate elements and scripts directories
This will give the user more flexibility when defining source folders. Change-Id: Ib57f81fc6892c55e67be647d2f1d2e56fd4f08ec Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
parent
d214efab4b
commit
3f9c17f936
|
@ -43,9 +43,13 @@ Role Variables
|
|||
# Default: /var/lib/nodepool
|
||||
nodepool_user_home: /var/lib/nodepool
|
||||
|
||||
# Path to folder containing elements/ and scripts/ used by nodepool.
|
||||
# Path to folder containing elements used by nodepool.
|
||||
# Default: ""
|
||||
nodepool_project_config_dir: ""
|
||||
nodepool_elements_dir: ""
|
||||
|
||||
# Path to folder containing scripts used by nodepool.
|
||||
# Default: ""
|
||||
nodepool_scripts_dir: ""
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
|
|
@ -17,16 +17,19 @@ nodepool_user_name: nodepool
|
|||
nodepool_user_group: "{{ nodepool_user_name }}"
|
||||
nodepool_user_home: "/var/lib/{{ nodepool_user_name }}"
|
||||
|
||||
nodepool_project_config_dir: ""
|
||||
nodepool_project_config_dir_dest: /etc/nodepool/config
|
||||
nodepool_elements_dir: ""
|
||||
nodepool_elements_dir_dest: /etc/nodepool/elements
|
||||
|
||||
nodepool_scripts_dir: ""
|
||||
nodepool_scripts_dir_dest: /etc/nodepool/scripts
|
||||
|
||||
nodepool_config_database_dburi: "sqlite:///{{ nodepool_user_home }}/nodepool.db"
|
||||
nodepool_config_elements_dir: "{{ nodepool_project_config_dir_dest }}/elements"
|
||||
nodepool_config_elements_dir: "{{ nodepool_elements_dir_dest }}"
|
||||
nodepool_config_gearman_servers: []
|
||||
nodepool_config_images_dir: /opt/nodepool/images
|
||||
nodepool_config_log_config: /etc/nodepool/logging.conf
|
||||
nodepool_config_secure_config: /etc/nodepool/secure.conf
|
||||
nodepool_config_scripts_dir: "{{ nodepool_project_config_dir_dest }}/scripts"
|
||||
nodepool_config_scripts_dir: "{{ nodepool_scripts_dir_dest }}"
|
||||
nodepool_config_zmq_publishers: []
|
||||
|
||||
nodepool_file_logging_conf: etc/nodepool/logging.conf
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
src: "{{ nodepool_file_logging_conf }}"
|
||||
notify: Restart nodepool
|
||||
|
||||
- name: Create nodepool project config directory.
|
||||
- name: Create nodepool elements directory.
|
||||
file:
|
||||
group: "{{ ansible_ssh_user }}"
|
||||
mode: 0775
|
||||
|
@ -76,14 +76,34 @@
|
|||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ nodepool_project_config_dir_dest }}"
|
||||
- "{{ nodepool_elements_dir_dest }}"
|
||||
|
||||
- name: Rsync nodepool project config directory.
|
||||
- name: Rsync nodepool elements directory.
|
||||
sudo: no
|
||||
synchronize:
|
||||
dest: "{{ nodepool_project_config_dir_dest }}"
|
||||
dest: "{{ nodepool_elements_dir_dest }}"
|
||||
perms: yes
|
||||
rsync_opts:
|
||||
- '--delete'
|
||||
src: "{{ nodepool_project_config_dir }}"
|
||||
when: nodepool_project_config_dir != ""
|
||||
src: "{{ nodepool_elements_dir }}"
|
||||
when: nodepool_elements_dir != ""
|
||||
|
||||
- name: Create nodepool scripts directory.
|
||||
file:
|
||||
group: "{{ ansible_ssh_user }}"
|
||||
mode: 0775
|
||||
owner: "{{ ansible_ssh_user }}"
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ nodepool_scripts_dir_dest }}"
|
||||
|
||||
- name: Rsync nodepool scripts directory.
|
||||
sudo: no
|
||||
synchronize:
|
||||
dest: "{{ nodepool_scripts_dir_dest }}"
|
||||
perms: yes
|
||||
rsync_opts:
|
||||
- '--delete'
|
||||
src: "{{ nodepool_scripts_dir }}"
|
||||
when: nodepool_scripts_dir != ""
|
||||
|
|
|
@ -42,24 +42,45 @@
|
|||
that:
|
||||
- nodepool_user_home_getent.stdout == '/var/lib/nodepool'
|
||||
|
||||
- name: Register nodepool_project_config_dir_dest_stat.
|
||||
- name: Register nodepool_elements_dir_dest_stat.
|
||||
stat:
|
||||
path: /etc/nodepool/config
|
||||
register: nodepool_project_config_dir_dest_stat
|
||||
path: /etc/nodepool/elements
|
||||
register: nodepool_elements_dir_dest_stat
|
||||
|
||||
- name: Assert nodepool_project_config_dir_dest tests.
|
||||
- name: Assert nodepool_elements_dir_dest tests.
|
||||
assert:
|
||||
that:
|
||||
- nodepool_project_config_dir_dest_stat.stat.exists
|
||||
- nodepool_project_config_dir_dest_stat.stat.isdir
|
||||
- nodepool_elements_dir_dest_stat.stat.exists
|
||||
- nodepool_elements_dir_dest_stat.stat.isdir
|
||||
# NOTE(pabelanger): This means we are hardcoded to the
|
||||
# openstack-infra jenkins user in nodepool.
|
||||
- nodepool_project_config_dir_dest_stat.stat.pw_name == 'jenkins'
|
||||
- nodepool_project_config_dir_dest_stat.stat.gr_name == 'jenkins'
|
||||
- nodepool_project_config_dir_dest_stat.stat.mode == '0775'
|
||||
- nodepool_elements_dir_dest_stat.stat.pw_name == 'jenkins'
|
||||
- nodepool_elements_dir_dest_stat.stat.gr_name == 'jenkins'
|
||||
- nodepool_elements_dir_dest_stat.stat.mode == '0775'
|
||||
|
||||
- name: Ensure /etc/nodepool/config is empty.
|
||||
shell: "ls -1 /etc/nodepool/config | wc -l"
|
||||
- name: Ensure /etc/nodepool/elements is empty.
|
||||
shell: "ls -1 /etc/nodepool/elements | wc -l"
|
||||
register: result
|
||||
failed_when: result.stdout != "0"
|
||||
|
||||
- name: Register nodepool_scripts_dir_dest_stat.
|
||||
stat:
|
||||
path: /etc/nodepool/scripts
|
||||
register: nodepool_scripts_dir_dest_stat
|
||||
|
||||
- name: Assert nodepool_scripts_dir_dest tests.
|
||||
assert:
|
||||
that:
|
||||
- nodepool_scripts_dir_dest_stat.stat.exists
|
||||
- nodepool_scripts_dir_dest_stat.stat.isdir
|
||||
# NOTE(pabelanger): This means we are hardcoded to the
|
||||
# openstack-infra jenkins user in nodepool.
|
||||
- nodepool_scripts_dir_dest_stat.stat.pw_name == 'jenkins'
|
||||
- nodepool_scripts_dir_dest_stat.stat.gr_name == 'jenkins'
|
||||
- nodepool_scripts_dir_dest_stat.stat.mode == '0775'
|
||||
|
||||
- name: Ensure /etc/nodepool/scripts is empty.
|
||||
shell: "ls -1 /etc/nodepool/scripts | wc -l"
|
||||
register: result
|
||||
failed_when: result.stdout != "0"
|
||||
|
||||
|
|
Loading…
Reference in New Issue