Skip to content

Commit

Permalink
Move install tasks into pre_tasks
Browse files Browse the repository at this point in the history
Several install-time tasks are in the post install
tasks, mixed in with the config tasks.

This patch moves them to the pre_install task set
to make a clean break between pre/install/post
tasks and tidies up the tasks a little.

Change-Id: I12bceda01e747bc1c41925a7d4afeca8f7ce9d8e
  • Loading branch information
Jesse Pretorius committed Nov 21, 2017
1 parent a8997f8 commit 330459b
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 138 deletions.
2 changes: 2 additions & 0 deletions tasks/main.yml
Expand Up @@ -33,6 +33,8 @@
- repo_server-install

- include: repo_post_install.yml
tags:
- repo_server-config

- include: repo_cacher.yml
static: no
Expand Down
148 changes: 10 additions & 138 deletions tasks/repo_post_install.yml
Expand Up @@ -13,15 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

- name: create the system group
group:
name: "{{ repo_service_group_name }}"
state: "present"
system: "yes"
tags:
- pkg-repo-group
- repo_server-install

- name: Remove old key file(s) if found
file:
path: "{{ item }}"
Expand All @@ -31,137 +22,25 @@
- "{{ repo_service_home_folder }}/.ssh/id_rsa"
- "{{ repo_service_home_folder }}/.ssh/id_rsa.pub"
when: repo_recreate_keys | bool
tags:
- repo-key
- repo-key-create
- repo_server-install

- name: Create the nginx system user
user:
name: "{{ repo_service_user_name }}"
group: "{{ repo_service_group_name }}"
comment: "Nginx repo user"
shell: "/bin/bash"
system: "yes"
createhome: "yes"
home: "{{ repo_service_home_folder }}"
tags:
- pkg-repo-user
- repo-key
- repo-key-create
- repo_server-install

- name: Generate the nginx system user ssh key
user:
name: "{{ repo_service_user_name }}"
generate_ssh_key: "yes"
tags:
- pkg-repo-user
- repo-key
- repo-key-create
- repo_server-config

- name: File and directory setup (non-root user)
file:
path: "{{ item.path }}"
state: "{{ item.state }}"
owner: "{{ repo_service_user_name }}"
group: "{{ repo_service_group_name }}"
mode: "{{ item.mode | default('02755') }}"
with_items:
- path: "{{ repo_service_home_folder }}"
state: "directory"
- path: "{{ repo_service_home_folder }}/.ssh"
state: "directory"
mode: "02700"
- path: "{{ repo_service_home_folder }}/repo"
state: "directory"
- path: "{{ repo_service_home_folder }}/repo/links"
state: "directory"
- path: "{{ repo_service_home_folder }}/repo/os-releases"
state: "directory"
- path: "{{ repo_service_home_folder }}/repo/os-releases/{{ openstack_release }}"
state: "directory"
- path: "{{ repo_service_home_folder }}/repo/pools"
state: "directory"
- path: "{{ repo_service_home_folder }}/repo/venvs"
state: "directory"
- path: "/var/log/nginx"
state: "directory"
mode: "0775"
tags:
- pkg-repo-dirs
- repo_server-install

- name: Drop repo pre/post command script
template:
src: repo_prepost_cmd.sh.j2
dest: "{{ repo_service_home_folder }}/repo/repo_prepost_cmd.sh"
mode: "0750"
owner: "root"
group: "root"
tags:
- pkg-repo-config
- repo_server-install

- name: Check if the git folder exists already
stat:
path: "{{ repo_git_cache_dir }}"
register: _git_folder
tags:
- pkg-repo-dirs
- repo_server-install

- name: Git service data folder setup
file:
path: "{{ (_git_folder.stat.exists and _git_folder.stat.islnk) | ternary(_git_folder.stat.lnk_source, repo_git_cache_dir) }}"
state: "directory"
owner: "{{ repo_service_user_name }}"
group: "{{ repo_service_group_name }}"
recurse: true
tags:
- pkg-repo-dirs
- repo_server-install

- name: File and directory setup (root user)
file:
path: "{{ item.path }}"
state: "{{ item.state }}"
owner: "root"
group: "root"
mode: "{{ item.mode | default(omit) }}"
with_items:
- path: "/etc/lsyncd"
state: "directory"
mode: "0755"
- path: "/var/log/lsyncd"
state: "directory"
mode: "0755"
- path: "/etc/nginx/sites-enabled/default"
state: "absent"
- path: "/etc/nginx/sites-available"
state: "directory"
mode: "0644"
- path: "/etc/nginx/sites-enabled"
state: "directory"
mode: "0644"
tags:
- repo_server-install

- name: Drop NGINX configuration files
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
with_items:
- { src: "nginx.conf.j2", dest: "/etc/nginx/nginx.conf" }
- { src: "rsyncd.conf.j2", dest: "/etc/rsyncd.conf" }
- { src: "openstack-slushee.vhost.j2", dest: "/etc/nginx/sites-available/openstack-slushee.vhost" }
- src: "nginx.conf.j2"
dest: "/etc/nginx/nginx.conf"
- src: "rsyncd.conf.j2"
dest: "/etc/rsyncd.conf"
- src: "openstack-slushee.vhost.j2"
dest: "/etc/nginx/sites-available/openstack-slushee.vhost"
notify:
- reload nginx
tags:
- pkg-repo-nginx
- pkg-repo-config
- repo_server-config

- name: Enable openstack-slushee site
file:
Expand All @@ -170,10 +49,6 @@
state: "link"
notify:
- reload nginx
tags:
- pkg-repo-nginx
- pkg-repo-config
- repo_server-config

- name: Place git daemon systemd init script
template:
Expand All @@ -183,12 +58,9 @@
owner: "root"
group: "root"
with_items:
- { src: "git.service.j2", dest: "{{ systemd_utils_prefix }}/system/git@.service" }
- { src: "git.socket.j2", dest: "{{ systemd_utils_prefix }}/system/git.socket" }
when:
- ansible_service_mgr == 'systemd'
- src: "git.service.j2"
dest: "{{ systemd_utils_prefix }}/system/git@.service"
- src: "git.socket.j2"
dest: "{{ systemd_utils_prefix }}/system/git.socket"
notify:
- reload git socket
tags:
- git-daemon-init
- repo_server-config
73 changes: 73 additions & 0 deletions tasks/repo_pre_install.yml
Expand Up @@ -26,3 +26,76 @@
dest: "/etc/default/rsync"
notify:
- reload rsyncd

- name: create the system group
group:
name: "{{ repo_service_group_name }}"
state: "present"
system: "yes"

- name: Create the nginx system user
user:
name: "{{ repo_service_user_name }}"
group: "{{ repo_service_group_name }}"
comment: "Nginx repo user"
shell: "/bin/bash"
system: "yes"
createhome: "yes"
home: "{{ repo_service_home_folder }}"

- name: File and directory setup (non-root user)
file:
path: "{{ item.path }}"
state: "{{ item.state | default('directory') }}"
owner: "{{ repo_service_user_name }}"
group: "{{ repo_service_group_name }}"
mode: "{{ item.mode | default('02755') }}"
with_items:
- path: "{{ repo_service_home_folder }}"
- path: "{{ repo_service_home_folder }}/.ssh"
mode: "02700"
- path: "{{ repo_service_home_folder }}/repo"
- path: "{{ repo_service_home_folder }}/repo/links"
- path: "{{ repo_service_home_folder }}/repo/os-releases"
- path: "{{ repo_service_home_folder }}/repo/os-releases/{{ openstack_release }}"
- path: "{{ repo_service_home_folder }}/repo/pools"
- path: "{{ repo_service_home_folder }}/repo/venvs"
- path: "/var/log/nginx"
mode: "0775"

- name: Drop repo pre/post command script
template:
src: repo_prepost_cmd.sh.j2
dest: "{{ repo_service_home_folder }}/repo/repo_prepost_cmd.sh"
mode: "0750"
owner: "root"
group: "root"

- name: Check if the git folder exists already
stat:
path: "{{ repo_git_cache_dir }}"
register: _git_folder

- name: Git service data folder setup
file:
path: "{{ (_git_folder.stat.exists and _git_folder.stat.islnk) | ternary(_git_folder.stat.lnk_source, repo_git_cache_dir) }}"
state: "directory"
owner: "{{ repo_service_user_name }}"
group: "{{ repo_service_group_name }}"
recurse: true

- name: File and directory setup (root user)
file:
path: "{{ item.path }}"
state: "{{ item.state | default('directory') }}"
owner: "root"
group: "root"
mode: "0755"
with_items:
- path: "/etc/lsyncd"
- path: "/var/log/lsyncd"
- path: "/etc/nginx/sites-enabled/default"
state: "absent"
- path: "/etc/nginx/sites-available"
- path: "/etc/nginx/sites-enabled"

0 comments on commit 330459b

Please sign in to comment.