diff --git a/playbooks/roles/edxapp/handlers/main.yml b/playbooks/roles/edxapp/handlers/main.yml deleted file mode 100644 index fecc2f0830e..00000000000 --- a/playbooks/roles/edxapp/handlers/main.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: restart edxapp - supervisorctl_local: > - state=restarted - supervisorctl_path={{ supervisor_ctl }} - config={{ supervisor_cfg }} - name="edxapp:{{ item }}" - when: edxapp_installed is defined and celery_worker is not defined and not disable_edx_services - sudo_user: "{{ supervisor_service_user }}" - with_items: service_variants_enabled - -- name: restart edxapp_workers - supervisorctl_local: > - name="edxapp_worker:{{ item.service_variant }}_{{ item.queue }}_{{ item.concurrency }}" - supervisorctl_path={{ supervisor_ctl }} - config={{ supervisor_cfg }} - state=restarted - when: edxapp_installed is defined and celery_worker is defined and not disable_edx_services - with_items: edxapp_workers - sudo_user: "{{ common_web_user }}" diff --git a/playbooks/roles/edxapp/tasks/deploy.yml b/playbooks/roles/edxapp/tasks/deploy.yml index 36148fc6aee..af586839dfc 100644 --- a/playbooks/roles/edxapp/tasks/deploy.yml +++ b/playbooks/roles/edxapp/tasks/deploy.yml @@ -1,7 +1,4 @@ - name: setup the edxapp env - notify: - - "restart edxapp" - - "restart edxapp_workers" template: > src=edxapp_env.j2 dest={{ edxapp_app_dir }}/edxapp_env owner={{ edxapp_user }} group={{ common_web_user }} @@ -11,9 +8,6 @@ file: > path="{{ EDXAPP_CFG_DIR }}" state=directory owner="{{ edxapp_user }}" group="{{ common_web_group }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # Optional auth for git - name: create ssh script for git (not authenticated) @@ -59,16 +53,10 @@ environment: GIT_SSH: "{{ edxapp_git_ssh }}" register: edxapp_platform_checkout - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: git clean after checking out edx-platform shell: cd {{ edxapp_code_dir }} && git clean -xdf sudo_user: "{{ edxapp_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: checkout theme git: > @@ -81,9 +69,6 @@ environment: GIT_SSH: "{{ edxapp_git_ssh }}" register: edxapp_theme_checkout - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: create checksum for requirements, package.json and Gemfile shell: > @@ -105,9 +90,6 @@ command: | /bin/sed -i -e 's/github\.com/{{ COMMON_GIT_MIRROR }}/g' {{ " ".join(edxapp_all_req_files) }} sudo_user: "{{ edxapp_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # Ruby plays that need to be run after platform updates. - name: gem install bundler @@ -117,9 +99,6 @@ executable=/bin/bash environment: "{{ edxapp_environment }}" sudo_user: "{{ edxapp_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: bundle install shell: > @@ -128,9 +107,6 @@ executable=/bin/bash sudo_user: "{{ edxapp_user }}" environment: "{{ edxapp_environment }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # Set the npm registry # This needs to be done as root since npm is weird about @@ -140,27 +116,18 @@ npm config set registry '{{ COMMON_NPM_MIRROR_URL }}' creates="{{ edxapp_app_dir }}/.npmrc" environment: "{{ edxapp_environment }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # Set the npm registry permissions - name: Set the npm registry permissions file: path="{{ edxapp_app_dir }}/.npmrc" owner=edxapp group=edxapp - notify: - - "restart edxapp" - - "restart edxapp_workers" # Node play that need to be run after platform updates. - name: Install edx-platform npm dependencies shell: npm install chdir={{ edxapp_code_dir }} sudo_user: "{{ edxapp_user }}" environment: "{{ edxapp_environment }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # Install the python pre requirements into {{ edxapp_venv_dir }} @@ -172,9 +139,6 @@ extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" sudo_user: "{{ edxapp_user }}" environment: "{{ edxapp_environment }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" when: not inst.stat.exists or new.stat.md5 != inst.stat.md5 # Install the python modules into {{ edxapp_venv_dir }} @@ -187,9 +151,6 @@ chdir={{ edxapp_code_dir }} environment: "{{ edxapp_environment }}" sudo_user: "{{ edxapp_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" when: not inst.stat.exists or new.stat.md5 != inst.stat.md5 # Install the python post requirements into {{ edxapp_venv_dir }} @@ -201,9 +162,6 @@ extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" sudo_user: "{{ edxapp_user }}" environment: "{{ edxapp_environment }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" when: not inst.stat.exists or new.stat.md5 != inst.stat.md5 # Install the python paver requirements into {{ edxapp_venv_dir }} @@ -215,9 +173,6 @@ extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" sudo_user: "{{ edxapp_user }}" environment: "{{ edxapp_environment }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" when: not inst.stat.exists or new.stat.md5 != inst.stat.md5 # Install the python custom requirements into {{ edxapp_venv_dir }} @@ -234,9 +189,6 @@ extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" sudo_user: "{{ edxapp_user }}" environment: "{{ edxapp_environment }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" when: custom_requirements.stat.exists and new.stat.md5 != inst.stat.md5 # Install the final python modules into {{ edxapp_venv_dir }} @@ -251,9 +203,6 @@ - "{{ github_requirements_file }}" - "{{ local_requirements_file }}" sudo_user: "{{ edxapp_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # Private requriements require a ssh key to install, use the same key as the private key for edx-platform # If EDXAPP_INSTALL_PRIVATE_REQUIREMENTS is set to true EDXAPP_USE_GIT_IDENTITY must also be true @@ -270,9 +219,6 @@ environment: GIT_SSH: "{{ edxapp_git_ssh }}" when: EDXAPP_INSTALL_PRIVATE_REQUIREMENTS - notify: - - "restart edxapp" - - "restart edxapp_workers" # Install any custom extra requirements if defined in EDXAPP_EXTRA_REQUIREMENTS. - name: install python extra requirements @@ -284,9 +230,6 @@ state=present with_items: EDXAPP_EXTRA_REQUIREMENTS sudo_user: "{{ edxapp_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # If using CAS and you have a function for mapping attributes, install # the module here. The next few tasks set up the python code sandbox @@ -298,7 +241,6 @@ extra_args="-i {{ COMMON_PYPI_MIRROR_URL }} --exists-action w --use-mirrors" sudo_user: "{{ edxapp_user }}" when: EDXAPP_CAS_ATTRIBUTE_PACKAGE|length > 0 - notify: "restart edxapp" # Install the sandbox python modules into {{ edxapp_venv_dir }} - name : install sandbox requirements into regular venv @@ -314,9 +256,6 @@ - "{{ sandbox_post_requirements }}" sudo_user: "{{ edxapp_user }}" when: "not EDXAPP_PYTHON_SANDBOX and (not inst.stat.exists or new.stat.md5 != inst.stat.md5)" - notify: - - "restart edxapp" - - "restart edxapp_workers" # The next few tasks set up the python code sandbox @@ -336,9 +275,6 @@ extra_args="-i {{ COMMON_PYPI_MIRROR_URL }} --exists-action w --use-mirrors" sudo_user: "{{ edxapp_sandbox_user }}" when: EDXAPP_PYTHON_SANDBOX - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox @@ -353,9 +289,6 @@ when: EDXAPP_PYTHON_SANDBOX register: sandbox_install_output changed_when: sandbox_install_output.stdout is defined and 'installed' in sandbox_install_output.stdout - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox @@ -368,23 +301,16 @@ - name: compiling all py files in the edx-platform repo shell: "{{ edxapp_venv_bin }}/python -m compileall -x .git/.* {{ edxapp_code_dir }}" sudo_user: "{{ edxapp_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # alternative would be to give {{ common_web_user }} read access # to the virtualenv but that permission change will require # root access. - name: give other read permissions to the virtualenv command: chmod -R o+r "{{ edxapp_venv_dir }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: create checksum for installed requirements shell: cp /var/tmp/edxapp.req.new /var/tmp/edxapp.req.installed sudo_user: "{{ edxapp_user }}" - notify: "restart edxapp" # https://code.launchpad.net/~wligtenberg/django-openid-auth/mysql_fix/+merge/22726 @@ -394,9 +320,6 @@ shell: sed -i -e 's/claimed_id = models.TextField(max_length=2047, unique=True/claimed_id = models.TextField(max_length=2047/' {{ edxapp_venv_dir }}/lib/python2.7/site-packages/django_openid_auth/models.py when: openid_workaround is defined sudo_user: "{{ edxapp_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" # The next few tasks install xml courses. @@ -506,3 +429,23 @@ when: COMMON_TAG_EC2_INSTANCE - set_fact: edxapp_installed=true + +- name: restart edxapp + supervisorctl_local: > + state=restarted + supervisorctl_path={{ supervisor_ctl }} + config={{ supervisor_cfg }} + name="edxapp:{{ item }}" + when: edxapp_installed is defined and celery_worker is not defined and not disable_edx_services + sudo_user: "{{ supervisor_service_user }}" + with_items: service_variants_enabled + +- name: restart edxapp_workers + supervisorctl_local: > + name="edxapp_worker:{{ item.service_variant }}_{{ item.queue }}_{{ item.concurrency }}" + supervisorctl_path={{ supervisor_ctl }} + config={{ supervisor_cfg }} + state=restarted + when: edxapp_installed is defined and celery_worker is defined and not disable_edx_services + with_items: edxapp_workers + sudo_user: "{{ common_web_user }}" diff --git a/playbooks/roles/edxapp/tasks/main.yml b/playbooks/roles/edxapp/tasks/main.yml index 8f0b1b7442e..923154c6171 100644 --- a/playbooks/roles/edxapp/tasks/main.yml +++ b/playbooks/roles/edxapp/tasks/main.yml @@ -6,17 +6,11 @@ user: > name="{{ edxapp_user }}" home="{{ edxapp_app_dir }}" createhome=no shell=/bin/false - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: create edxapp user dirs file: > path="{{ item }}" state=directory owner="{{ edxapp_user }}" group="{{ common_web_group }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" with_items: - "{{ edxapp_app_dir }}" # needed for the ansible 1.5 git module @@ -44,18 +38,12 @@ file: > path="{{ edxapp_log_dir }}" state=directory owner="{{ common_log_user }}" group="{{ common_log_user }}" - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: create web-writable edxapp data dirs file: > path="{{ item }}" state=directory owner="{{ common_web_user }}" group="{{ edxapp_user }}" mode="0775" - notify: - - "restart edxapp" - - "restart edxapp_workers" with_items: - "{{ edxapp_course_data_dir }}" - "{{ edxapp_upload_dir }}" @@ -66,9 +54,6 @@ - name: install system packages on which LMS and CMS rely apt: pkg={{','.join(edxapp_debian_pkgs)}} state=present update_cache=yes - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: set up edxapp .npmrc template: @@ -77,9 +62,6 @@ mode=0600 - name: create log directories for service variants - notify: - - "restart edxapp" - - "restart edxapp_workers" file: > path={{ edxapp_log_dir }}/{{ item }} state=directory owner={{ common_log_user }} group={{ common_log_user }} diff --git a/playbooks/roles/edxapp/tasks/python_sandbox_env.yml b/playbooks/roles/edxapp/tasks/python_sandbox_env.yml index e582e579bd5..1793cb5ef34 100644 --- a/playbooks/roles/edxapp/tasks/python_sandbox_env.yml +++ b/playbooks/roles/edxapp/tasks/python_sandbox_env.yml @@ -10,33 +10,21 @@ - name: code sandbox | Create edxapp sandbox user user: name={{ edxapp_sandbox_user }} shell=/bin/false home={{ edxapp_sandbox_venv_dir }} - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox - name: code sandbox | Install apparmor utils system pkg apt: pkg=apparmor-utils state=present - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox - name: code sandbox | write out apparmor code sandbox config template: src=code.sandbox.j2 dest=/etc/apparmor.d/code.sandbox mode=0644 owner=root group=root - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox - name: code sandbox | write out sandbox user sudoers config template: src=95-sandbox-sudoer.j2 dest=/etc/sudoers.d/95-{{ edxapp_sandbox_user }} mode=0440 owner=root group=root validate='visudo -c -f %s' - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox @@ -44,24 +32,15 @@ # so we need to enable it in main.yml - name: code sandbox | start apparmor service service: name=apparmor state=started - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox - name: code sandbox | (bootstrap) load code sandbox profile command: apparmor_parser -r /etc/apparmor.d/code.sandbox - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox - name: code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE command: /usr/sbin/{{ edxapp_aa_command }} /etc/apparmor.d/code.sandbox - notify: - - "restart edxapp" - - "restart edxapp_workers" tags: - edxapp-sandbox diff --git a/playbooks/roles/edxapp/tasks/service_variant_config.yml b/playbooks/roles/edxapp/tasks/service_variant_config.yml index 40de51cf7ed..15757a4995e 100644 --- a/playbooks/roles/edxapp/tasks/service_variant_config.yml +++ b/playbooks/roles/edxapp/tasks/service_variant_config.yml @@ -5,9 +5,6 @@ sudo_user: "{{ edxapp_user }}" tags: edxapp_cfg with_items: service_variants_enabled - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: "create {{ item }} auth file" template: > @@ -15,9 +12,6 @@ dest={{ edxapp_app_dir }}/{{ item }}.auth.json sudo_user: "{{ edxapp_user }}" tags: edxapp_cfg - notify: - - "restart edxapp" - - "restart edxapp_workers" with_items: service_variants_enabled - name: "create {{ item }} application config" @@ -27,9 +21,6 @@ sudo_user: "{{ edxapp_user }}" tags: edxapp_cfg with_items: service_variants_enabled - notify: - - "restart edxapp" - - "restart edxapp_workers" - name: "create {{ item }} auth file" template: > @@ -37,9 +28,6 @@ dest={{ EDXAPP_CFG_DIR }}/{{ item }}.auth.yaml sudo_user: "{{ edxapp_user }}" tags: edxapp_cfg - notify: - - "restart edxapp" - - "restart edxapp_workers" with_items: service_variants_enabled @@ -65,8 +53,6 @@ src={{ item }}_gunicorn.py.j2 dest={{ edxapp_app_dir }}/{{ item }}_gunicorn.py with_items: service_variants_enabled sudo_user: "{{ edxapp_user }}" - notify: - - restart edxapp # write the supervisor script for celery workers @@ -125,9 +111,6 @@ DB_MIGRATION_PASS: "{{ COMMON_MYSQL_MIGRATE_PASS }}" EDX_PLATFORM_SETTINGS_OVERRIDE: "aws_migrate" with_items: service_variants_enabled - notify: - - "restart edxapp" - - "restart edxapp_workers" # Gather assets using paver if possible @@ -135,6 +118,3 @@ command: "{{ COMMON_BIN_DIR }}/edxapp-update-assets-{{ item }}" when: celery_worker is not defined and not devstack and item != "lms-preview" with_items: service_variants_enabled - notify: - - "restart edxapp" - - "restart edxapp_workers"