Commit 5bc2c072 by Arbab Nazar Committed by GitHub

Merge pull request #3150 from edx/arbab/supervisor-rewrite

writing ansible tasks using YAML syntax
parents af760deb d434fb99
......@@ -50,58 +50,40 @@
# supervisor_service: upstart-service-name
#
---
- name: create application user
user: >
name="{{ supervisor_user }}"
createhome=no
shell=/bin/false
tags:
- install
- install:base
- name: create supervisor service user
user: >
name="{{ supervisor_service_user }}"
createhome=no
shell=/bin/false
- name: Create application and supervisor service user
user:
name: "{{ item }}"
createhome: no
shell: /bin/false
with_items:
- "{{ supervisor_user }}"
- "{{ supervisor_service_user }}"
tags:
- install
- install:base
- name: create supervisor directories
file: >
name={{ item }}
state=directory
owner={{ supervisor_user }}
group={{ supervisor_service_user }}
mode="755"
- name: Create supervisor and service user accessible directories
file:
path: "{{ item }}"
state: directory
owner: "{{ supervisor_user }}"
group: "{{ supervisor_service_user }}"
mode: "0755"
with_items:
- "{{ supervisor_app_dir }}"
- "{{ supervisor_venv_dir }}"
tags:
- install
- install:base
- name: create service user accessible dirs
file: >
name={{ item }}
state=directory
owner={{ supervisor_user }}
group={{ supervisor_service_user }}
mode="775"
with_items:
- "{{ supervisor_cfg_dir }}"
- "{{ supervisor_available_dir }}"
tags:
- install
- install:base
- name: create supervisor directories
file: >
name={{ item }}
state=directory
owner={{ supervisor_service_user }}
group={{ supervisor_user }}
- name: Create supervisor directories
file:
path: "{{ item }}"
state: directory
owner: "{{ supervisor_service_user }}"
group: "{{ supervisor_user }}"
with_items:
- "{{ supervisor_data_dir }}"
- "{{ supervisor_log_dir }}"
......@@ -109,7 +91,7 @@
- install
- install:base
- name: install supervisor in its venv
- name: Install supervisor in its venv
pip:
name: supervisor
version: "{{ supervisor_version }}"
......@@ -121,20 +103,24 @@
- install
- install:base
- name: install supervisor in its venv
pip: >
name={{ item }} virtualenv="{{ supervisor_venv_dir }}" state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
- name: Install supervisor in its venv
pip:
name: "{{ item }}"
virtualenv: "{{ supervisor_venv_dir }}"
state: present
extra_args: "-i {{ COMMON_PYPI_MIRROR_URL }}"
become_user: "{{ supervisor_user }}"
with_items: supervisor_pip_pkgs
with_items: "{{ supervisor_pip_pkgs }}"
tags:
- install
- install:base
- name: create supervisor upstart job
template: >
src=etc/init/supervisor-upstart.conf.j2 dest=/etc/init/{{ supervisor_service }}.conf
owner=root group=root
- name: Create supervisor upstart job
template:
src: "etc/init/supervisor-upstart.conf.j2"
dest: "/etc/init/{{ supervisor_service }}.conf"
owner: root
group: root
tags:
- install
- install:base
......@@ -143,75 +129,79 @@
# tags and enables services based on the 'services' tag
# on instance startup.
- name: create pre_supervisor upstart job
template: >
src=etc/init/pre_supervisor.conf.j2 dest=/etc/init/pre_supervisor.conf
owner=root group=root
template:
src: "etc/init/pre_supervisor.conf.j2"
dest: "/etc/init/pre_supervisor.conf"
owner: root
group: root
when: supervisor_service == "supervisor" and disable_edx_services and not devstack
tags:
- to-remove
- aws-specfic
- name: write the pre_suprevisor python script
copy: >
src=pre_supervisor_checks.py
dest={{ supervisor_app_dir }}/pre_supervisor_checks.py
mode=0750
owner={{ supervisor_user }}
group={{ supervisor_service_user }}
- name: Write the pre_suprevisor python script
copy:
src: pre_supervisor_checks.py
dest: "{{ supervisor_app_dir }}/pre_supervisor_checks.py"
owner: "{{ supervisor_user }}"
group: "{{ supervisor_service_user }}"
mode: "0750"
when: disable_edx_services
tags:
- to-remove
- aws-specfic
- name: create supervisor master config
template: >
src=edx/app/supervisor/supervisord.conf.j2 dest={{ supervisor_cfg }}
owner={{ supervisor_user }} group={{ supervisor_service_user }}
mode=0644
- name: Create supervisor master config
template:
src: "edx/app/supervisor/supervisord.conf.j2"
dest: "{{ supervisor_cfg }}"
owner: "{{ supervisor_user }}"
group: "{{ supervisor_service_user }}"
mode: "0644"
tags:
- install
- install:config
- name: create a symlink for supervisortctl
# these links are deprecated in favor of the shell wrapper
file: >
src={{ supervisor_ctl }}
dest={{ COMMON_BIN_DIR }}/{{ supervisor_ctl|basename }}
state=absent
# this link is deprecated in favor of the shell wrapper
- name: Remove a symlink for supervisortctl
file:
src: "{{ supervisor_ctl }}"
dest: "{{ COMMON_BIN_DIR }}/{{ supervisor_ctl | basename }}"
state: absent
when: supervisor_service == "supervisor"
tags:
- install
- install:config
- name: create a symlink for supervisor cfg
# these links are deprecated in favor of the shell wrapper
file: >
src={{ item }}
dest={{ COMMON_CFG_DIR }}/{{ item|basename }}
state=absent
# these links are deprecated in favor of the shell wrapper
- name: Remove symlink for supervisor cfg
file:
src: "{{ item }}"
dest: "{{ COMMON_CFG_DIR }}/{{ item | basename }}"
state: absent
when: supervisor_service == "supervisor"
with_items:
- "{{ supervisor_cfg }}"
- "{{ supervisor_cfg_dir }}"
- "{{ supervisor_cfg }}"
- "{{ supervisor_cfg_dir }}"
tags:
- install
- install:config
- name: create helper script for running supervisor
template: >
src=edx/bin/supervisorctl.j2
dest={{ COMMON_BIN_DIR }}/supervisorctl
owner={{ supervisor_service_user }}
mode=0755
- name: Create helper script for running supervisor
template:
src: "edx/bin/supervisorctl.j2"
dest: "{{ COMMON_BIN_DIR }}/supervisorctl"
owner: "{{ supervisor_service_user }}"
mode: "0755"
when: supervisor_service == "supervisor"
tags:
- install
- install:config
- name: start supervisor
service: >
name={{ supervisor_service }}
state=started
- name: Start supervisor
service:
name: "{{ supervisor_service }}"
state: started
register: start_supervisor
tags:
- manage
......@@ -219,8 +209,10 @@
# calling update on supervisor too soon after it
# starts will result in an errror.
- name: wait for web port to be available
wait_for: port={{ supervisor_http_bind_port }} timeout=5
- name: Wait for web port to be available
wait_for:
port: "{{ supervisor_http_bind_port }}"
timeout: 5
when: start_supervisor.changed
tags:
- manage
......@@ -232,7 +224,7 @@
# we don't use notifications for supervisor because
# they don't work well with parameterized roles.
# See https://github.com/ansible/ansible/issues/4853
- name: update supervisor configuration
- name: Update supervisor configuration
shell: "{{ supervisor_ctl }} -c {{ supervisor_cfg }} update"
register: supervisor_update
changed_when: supervisor_update.stdout is defined and supervisor_update.stdout != ""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment