Commit 3b507cf9 by Max Rothman

Merge pull request #1802 from edx/max/dash2underscore

Convert dashes to underscores
parents d7947fdb 983b0359
......@@ -15,7 +15,7 @@ EDX_NOTES_API_GUNICORN_WORKERS_EXTRA: ""
EDX_NOTES_API_WORKERS_EXTRA_CONF: ""
EDX_NOTES_API_LANG: en-us
EDX_NOTES_API_WORKERS: !!null
EDX_NOTES_API_DATASTORE_NAME: edx-notes-api
EDX_NOTES_API_DATASTORE_NAME: "{{ edx_notes_api_service_name }}"
EDX_NOTES_API_MYSQL_DB_USER: notes001
EDX_NOTES_API_MYSQL_DB_NAME: "{{ EDX_NOTES_API_DATASTORE_NAME }}"
EDX_NOTES_API_MYSQL_DB_PASS: secret
......@@ -24,8 +24,8 @@ EDX_NOTES_API_ELASTICSEARCH_URL: http://127.0.0.1:9200
EDX_NOTES_API_NEWRELIC_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-notes"
# Change these values!!
EDX_NOTES_API_SECRET_KEY: "i^,9%i=e=y/Nlpb=Mkx!j&,HD9d/17F][9P,FLdwM2+G6|]BEU"
EDX_NOTES_API_CLIENT_ID: edx-notes-id
EDX_NOTES_API_CLIENT_SECRET: edx-notes-secret
EDX_NOTES_API_CLIENT_ID: edx_notes_id
EDX_NOTES_API_CLIENT_SECRET: edx_notes_secret
EDX_NOTES_API_GIT_SSH_KEY: !!null
EDX_NOTES_API_DATABASES:
......@@ -41,12 +41,12 @@ EDX_NOTES_API_ALLOWED_HOSTS:
- localhost
EDX_NOTES_API_REPOS:
- PROTOCOL: "{{COMMON_GIT_PROTOCOL}}"
DOMAIN: "{{COMMON_GIT_MIRROR}}"
PATH: "{{COMMON_GIT_PATH}}"
- PROTOCOL: "{{ COMMON_GIT_PROTOCOL }}"
DOMAIN: "{{ COMMON_GIT_MIRROR }}"
PATH: "{{ COMMON_GIT_PATH }}"
REPO: edx-notes-api.git
VERSION: e0d/migration-overrides
DESTINATION: "{{edx_notes_api_code_dir}}"
VERSION: master
DESTINATION: "{{ edx_notes_api_code_dir }}"
SSH_KEY: "{{ EDX_NOTES_API_GIT_SSH_KEY }}"
#
......@@ -61,7 +61,7 @@ edx_notes_api_service_config:
CLIENT_ID: "{{ EDX_NOTES_API_CLIENT_ID }}"
CLIENT_SECRET: "{{ EDX_NOTES_API_CLIENT_SECRET }}"
ELASTICSEARCH_URL: "{{ EDX_NOTES_API_ELASTICSEARCH_URL }}"
ELASTICSEARCH_INDEX: "edx-notes"
ELASTICSEARCH_INDEX: "edx_notes"
# Number of rows to return by default in result.
RESULTS_DEFAULT_SIZE: 25
# Max number of rows to return in result.
......@@ -79,18 +79,10 @@ edx_notes_api_service_config:
#
# vars are namespace with the module name.
#
edx_notes_api_code_dir: "{{ edx_notes_api_app_dir }}/edx-notes-api"
edx_notes_api_role_name: edx-notes-api
edx_notes_api_service_name: "{{ edx_notes_api_role_name }}"
# underscore name
edx_notes_api_role_name_safe: "{{ edx_notes_api_role_name.replace('-', '_') }}"
edx_notes_api_source_repo: https://{{ COMMON_GIT_MIRROR }}/edx/edx-notes-api.git
edx_notes_api_user: "{{ edx_notes_api_role_name }}"
edx_notes_api_app_dir: "{{ COMMON_APP_DIR }}/{{ edx_notes_api_service_name }}"
edx_notes_api_service_name: edx_notes_api
edx_notes_api_user: "{{ edx_notes_api_service_name }}"
edx_notes_api_home: "{{ COMMON_APP_DIR }}/{{ edx_notes_api_service_name }}"
edx_notes_api_python_path: "{{ edx_notes_api_code_dir }}/edx-notes-api"
edx_notes_api_code_dir: "{{ edx_notes_api_home }}/{{ edx_notes_api_service_name }}"
edx_notes_api_conf_dir: "{{ edx_notes_api_home }}"
edx_notes_api_gunicorn_host: "127.0.0.1"
......
......@@ -21,10 +21,9 @@
dependencies:
- role: edx_service
edx_role_name: "{{ edx_notes_api_role_name }}"
edx_service_name: "{{ edx_notes_api_service_name }}"
edx_service_config: "{{ edx_notes_api_service_config }}"
edx_service_repos: "{{ edx_notes_api_repos }}"
edx_service_repos: "{{ EDX_NOTES_API_REPOS }}"
edx_service_user: "{{ edx_notes_api_user }}"
edx_service_home: "{{ edx_notes_api_home }}"
- supervisor
......@@ -47,8 +47,8 @@
- name: install application requirements
pip: >
requirements="{{ edx_notes_api_requirements_base }}/{{ item }}"
virtualenv="{{ edx_notes_api_home }}/venvs" state=present
extra_args="--exists-action w"
virtualenv="{{ edx_notes_api_home }}/venvs/{{ edx_notes_api_service_name }}"
state=present extra_args="--exists-action w"
sudo_user: "{{ edx_notes_api_user }}"
with_items: edx_notes_api_requirements
......@@ -65,8 +65,8 @@
- name: write out gunicorn.py
template: >
src=edx/app/edx-notes-api/{{ edx_notes_api_service_name }}-gunicorn.py.j2
dest={{ edx_notes_api_app_dir }}/{{ edx_notes_api_service_name }}-gunicorn.py
src=edx/app/edx_notes_api/edx_notes_api_gunicorn.py.j2
dest={{ edx_notes_api_home }}/{{ edx_notes_api_service_name }}_gunicorn.py
mode=0650 owner={{ supervisor_user }} group={{ common_web_user }}
tags:
- deploy
......@@ -108,7 +108,7 @@
- name: create symlinks from the venv bin dir
file: >
src="{{ edx_notes_api_home }}/venvs/{{ edx_notes_api_service_name }}/bin/{{ item }}"
dest="{{ COMMON_BIN_DIR }}/{{ item.split('.')[0] }}.{{ edx_notes_api_role_name }}"
dest="{{ COMMON_BIN_DIR }}/{{ item.split('.')[0] }}.{{ edx_notes_api_service_name }}"
state=link
with_items:
- python
......@@ -118,5 +118,5 @@
- name: create manage.py symlink
file: >
src="{{ edx_notes_api_manage }}"
dest="{{ COMMON_BIN_DIR }}/manage.{{ edx_notes_api_role_name }}"
dest="{{ COMMON_BIN_DIR }}/manage.{{ edx_notes_api_service_name }}"
state=link
[program:{{ edx_notes_api_service_name }}]
{% set edx_notes_api_venv_bin = edx_notes_api_home + '/venvs/' + edx_notes_api_service_name + '/bin' %}
{% if COMMON_ENABLE_NEWRELIC_APP %}
{% set executable = edx_notes_api_venv_bin + '/newrelic-admin run-program ' + edx_notes_api_venv_bin + '/gunicorn' %}
{% else %}
{% set executable = edx_notes_api_venv_bin + '/gunicorn' %}
{% endif %}
command={{ executable }} -c {{ edx_notes_api_app_dir }}/edx-notes-api-gunicorn.py {{ EDX_NOTES_API_GUNICORN_WORKERS_EXTRA }} {{ edx_notes_api_wsgi }}
command={{ executable }} -c {{ edx_notes_api_home }}/edx_notes_api_gunicorn.py {{ EDX_NOTES_API_GUNICORN_WORKERS_EXTRA }} {{ edx_notes_api_wsgi }}
user={{ common_web_user }}
directory={{ edx_notes_api_code_dir }}
......
......@@ -24,7 +24,21 @@
# depency definition.
#
# dependencies:
# - { role: edx_service, edx_service_name: "hotg" }
# - role: edx_service
# edx_service_name: "hotg"
# edx_service_config: "{{ structure_to_be_written_to_config_file_in_/edx/etc }}"
# edx_service_repos:
# - PROTOCOL: [https/ssh]
# DOMAIN: github.com
# PATH: edx
# REPO: hotg
# VERSION: master
# DESTINATION: "/edx/app/hotg/hotg"
# SSH_KEY: <required if PROTOCOL==ssh>
# - PROTOCOL
# ...
# edx_service_user: hotg_system_user
# edx_service_home: "/edx/app/hotg"
#
# Generating an ssh key so service users can do a git
......@@ -70,6 +84,7 @@
# Replace dashes with underscores to support roles that use
# dashes (the role vars will contain underscores)
#TODO: REMOVE UNDERSCORE-TO-DASH CONVERSION ONCE ALL ROLES ARE NORMALIZED
- name: install a bunch of system packages on which edx_service relies
apt: pkg={{ item }} state=present
with_items: "{{ edx_service_name.replace('-', '_') }}_debian_pkgs"
......@@ -81,21 +96,9 @@
when: ansible_distribution in common_redhat_variants
- name: check if git repo exists before pruning
stat: path={{ item.DESTINATION }}/.git
register: git_dir_exists
with_items: edx_service_repos
- name: git prune before checking out
shell: cd {{ item.0.DESTINATION }} && git remote prune origin
sudo_user: "{{ edx_service_name }}"
when: >
(item.1.stat.exists) and
(item.1.stat.isdir is defined) and
item.1.stat.isdir
with_together:
- edx_service_repos
- git_dir_exists.results
- name: set git fetch.prune to ignore deleted remote refs
shell: git config --global fetch.prune true
sudo_user: "{{ edx_service_user }}"
- name: validate git protocol
fail: msg='REPOS.PROTOCOL must be "https" or "ssh"'
......@@ -104,7 +107,7 @@
- name: install read-only ssh key
copy: >
dest="{{ edx_service_home }}.ssh/{{ item.REPO }}"
dest="{{ edx_service_home }}/.ssh/{{ item.REPO }}"
content="{{ item.SSH_KEY }}" owner={{ edx_service_user }}
group={{ edx_service_user }} mode=0600
when: item.PROTOCOL == "ssh"
......@@ -114,8 +117,8 @@
git: >
repo=git@{{ item.DOMAIN }}:{{ item.PATH }}/{{ item.REPO }}
dest={{ item.DESTINATION }} version={{ item.VERSION }}
accept_hostkey=yes key_file={{ edx_service_home }}.ssh/{{ item.REPO }}
sudo_user: "{{ edx_role_name }}"
accept_hostkey=yes key_file={{ edx_service_home }}/.ssh/{{ item.REPO }}
sudo_user: "{{ edx_service_user }}"
register: code_checkout
when: item.PROTOCOL == "ssh"
with_items: edx_service_repos
......@@ -124,7 +127,7 @@
git: >
repo=https://{{ item.DOMAIN }}/{{ item.PATH }}/{{ item.REPO }}
dest={{ item.DESTINATION }} version={{ item.VERSION }}
sudo_user: "{{ edx_role_name }}"
sudo_user: "{{ edx_service_user }}"
register: code_checkout
when: item.PROTOCOL == "https"
with_items: edx_service_repos
......@@ -139,7 +142,7 @@
args:
tags:
"version:{{edx_service_name}}" : "{{ item.0.DOMAIN }}/{{ item.0.PATH }}/{{ item.0.REPO }} {{ item.1.after |truncate(7,True,'') }}"
when: item.1.after is defined
when: item.1.after is defined and ansible_ec2_instance_id is defined
with_together:
- edx_service_repos
- code_checkout.results
......
upstream {{ edx_notes_api_role_name_safe }}_app_server {
upstream {{ edx_notes_api_service_name }}_app_server {
{% for host in nginx_edx_notes_api_gunicorn_hosts %}
server {{ host }}:{{ edx_notes_api_gunicorn_port }} fail_timeout=0;
{% endfor %}
......@@ -20,7 +20,7 @@ location @proxy_to_app {
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://{{ edx_notes_api_role_name_safe }}_app_server;
proxy_pass http://{{ edx_notes_api_service_name }}_app_server;
}
}
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