Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
configuration
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
configuration
Commits
95bc39e3
Commit
95bc39e3
authored
Feb 05, 2015
by
Max Rothman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Integrated edx_service
parent
6cc84722
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
30 additions
and
53 deletions
+30
-53
playbooks/roles/analytics-api/defaults/main.yml
+12
-11
playbooks/roles/analytics-api/meta/main.yml
+4
-1
playbooks/roles/analytics-api/tasks/main.yml
+11
-34
playbooks/roles/analytics-api/templates/edx/app/analytics-api/analytics-api.sh.j2
+2
-2
playbooks/roles/analytics-api/templates/edx/app/analytics-api/analytics-api.yaml.j2
+0
-4
playbooks/roles/analytics-api/templates/edx/app/supervisor/conf.d.available/analytics-api.conf.j2
+1
-1
No files found.
playbooks/roles/analytics-api/defaults/main.yml
View file @
95bc39e3
...
...
@@ -51,7 +51,7 @@ ANALYTICS_API_EMAIL_HOST_PASSWORD: 'mail_password'
ANALYTICS_API_EMAIL_PORT
:
587
ANALYTICS_API_AUTH_TOKEN
:
'
put-your-api-token-here'
ANALYTICS_API_CONFIG
:
ANALYTICS_API_
SERVICE_
CONFIG
:
ANALYTICS_DATABASE
:
'
reports'
SECRET_KEY
:
'
{{
ANALYTICS_API_SECRET_KEY
}}'
TIME_ZONE
:
'
{{
ANALYTICS_API_TIME_ZONE
}}'
...
...
@@ -69,6 +69,15 @@ ANALYTICS_API_CONFIG:
connect_timeout
:
10
DATABASES
:
'
{{
ANALYTICS_API_DATABASES
}}'
ANALYTICS_API_REPOS
:
-
PROTOCOL
:
"
{{
COMMON_GIT_PROTOCOL
}}"
DOMAIN
:
"
{{
COMMON_GIT_MIRROR
}}"
PATH
:
"
{{
COMMON_GIT_PATH
}}"
REPO
:
edx-analytics-data-api.git
VERSION
:
"
{{
ANALYTICS_API_VERSION
}}"
DESTINATION
:
"
{{
analytics_api_code_dir
}}"
SSH_KEY
:
"
{{
ANALYTICS_API_GIT_IDENTITY
}}"
ANALYTICS_API_GUNICORN_WORKERS
:
"
2"
ANALYTICS_API_GUNICORN_EXTRA
:
"
"
ANALYTICS_API_GUNICORN_EXTRA_CONF
:
"
"
...
...
@@ -80,25 +89,17 @@ analytics_api_environment:
DJANGO_SETTINGS_MODULE
:
"
analyticsdataserver.settings.production"
ANALYTICS_API_CFG
:
"
{{
COMMON_CFG_DIR
}}/{{
analytics_api_service_name
}}.yaml"
analytics_api_role_name
:
"
analytics-api"
analytics_api_service_name
:
"
analytics-api"
analytics_api_user
:
"
analytics-api"
analytics_api_app_dir
:
"
{{
COMMON_APP_DIR
}}/{{
analytics_api_service_name
}}"
analytics_api_home
:
"
{{
COMMON_APP_DIR
}}/{{
analytics_api_service_name
}}"
analytics_api_venv_base
:
"
{{
analytics_api_home
}}/venvs"
analytics_api_venv_dir
:
"
{{
analytics_api_venv_base
}}/{{
analytics_api_service_name
}}"
analytics_api_venv_bin
:
"
{{
analytics_api_venv_dir
}}/bin"
analytics_api_code_dir
:
"
{{
analytics_api_app_dir
}}/edx-analytics-data-api"
analytics_api_code_dir
:
"
{{
analytics_api_home
}}/{{
analytics_api_service_name
}}"
analytics_api_conf_dir
:
"
{{
analytics_api_home
}}"
analytics_api_gunicorn_host
:
"
127.0.0.1"
analytics_api_gunicorn_port
:
"
8100"
analytics_api_gunicorn_timeout
:
"
300"
analytics_api_django_settings
:
"
production"
analytics_api_source_repo
:
"
git@{{
COMMON_GIT_MIRROR
}}:edx/edx-analytics-data-api"
analytics_api_git_ssh_opts
:
"
-o
UserKnownHostsFile=/dev/null
-o
StrictHostKeyChecking=no
-i
{{
analytics_api_git_identity_file
}}"
analytics_api_git_identity_file
:
"
{{
analytics_api_app_dir
}}/git-identity"
analytics_api_log_dir
:
"
{{
COMMON_LOG_DIR
}}/{{
analytics_api_service_name
}}"
...
...
playbooks/roles/analytics-api/meta/main.yml
View file @
95bc39e3
...
...
@@ -21,6 +21,9 @@
dependencies
:
-
role
:
edx_service
edx_role_name
:
"
{{
analytics_api_role_name
}}"
edx_service_name
:
"
{{
analytics_api_service_name
}}"
edx_service_config
:
"
{{
ANALYTICS-API_SERVICE_CONFIG
}}"
edx_service_repos
:
"
{{
ANALYTICS_API_REPOS
}}"
edx_service_user
:
"
{{
analytics_api_user
}}"
edx_service_home
:
"
{{
analytics_api_home
}}"
-
supervisor
playbooks/roles/analytics-api/tasks/main.yml
View file @
95bc39e3
...
...
@@ -32,48 +32,27 @@
# ansible-playbook -i 'api.example.com,' ./analyticsapi.yml -e@/ansible/vars/deployment.yml -e@/ansible/vars/env-deployment.yml
#
-
name
:
install read-only ssh key
copy
:
>
content="{{ ANALYTICS_API_GIT_IDENTITY }}" dest={{ analytics_api_git_identity_file }}
owner={{ analytics_api_user }} group={{ analytics_api_user }} mode=0600
-
name
:
setup the analytics-api env file
template
:
>
src="edx/app/analytics-api/analytics_api_env.j2"
dest="{{ analytics_api_
app_dir
}}/analytics_api_env"
dest="{{ analytics_api_
home
}}/analytics_api_env"
owner={{ analytics_api_user }}
group={{ analytics_api_user }}
mode=0644
-
name
:
checkout code
git
:
>
dest={{ analytics_api_code_dir }} repo={{ analytics_api_source_repo }} version={{ ANALYTICS_API_VERSION }}
accept_hostkey=yes
ssh_opts="{{ analytics_api_git_ssh_opts }}"
register
:
analytics_api_code_checkout
notify
:
"
restart
the
analytics
service"
sudo_user
:
"
{{
analytics_api_user
}}"
-
name
:
"
add
gunicorn
configuration
file"
template
:
>
src=edx/app/analytics-api/analytics_api_gunicorn.py.j2
dest={{ analytics_api_
app_dir
}}/analytics_api_gunicorn.py
dest={{ analytics_api_
home
}}/analytics_api_gunicorn.py
sudo_user
:
"
{{
analytics_api_user
}}"
notify
:
"
restart
the
analytics
service"
-
name
:
write out app config file
template
:
>
src=edx/app/analytics-api/analytics-api.yaml.j2
dest={{ COMMON_CFG_DIR }}/{{ analytics_api_service_name }}.yaml
mode=0644 owner={{ analytics_api_user }} group={{ analytics_api_user }}
notify
:
restart the analytics service
-
name
:
install application requirements
pip
:
>
requirements="{{ analytics_api_requirements_base }}/{{ item }}"
virtualenv="{{ analytics_api_venv_dir }}" state=present
virtualenv="{{ analytics_api_home }}/venvs/{{ analytics_api_service_name }}"
state=present
sudo_user
:
"
{{
analytics_api_user
}}"
notify
:
restart the analytics service
with_items
:
analytics_api_requirements
-
name
:
migrate
...
...
@@ -81,7 +60,7 @@
chdir={{ analytics_api_code_dir }}
DB_MIGRATION_USER={{ COMMON_MYSQL_MIGRATE_USER }}
DB_MIGRATION_PASS={{ COMMON_MYSQL_MIGRATE_PASS }}
{{ analytics_api_
venv_bin }}
/python ./manage.py migrate --noinput
{{ analytics_api_
home }}/venvs/{{ analytics_api_service_name }}/bin
/python ./manage.py migrate --noinput
sudo_user
:
"
{{
analytics_api_user
}}"
environment
:
"
{{
analytics_api_environment
}}"
when
:
migrate_db is defined and migrate_db|lower == "yes"
...
...
@@ -89,14 +68,14 @@
-
name
:
run collectstatic
shell
:
>
chdir={{ analytics_api_code_dir }}
{{ analytics_api_
venv_bin }}
/python manage.py collectstatic --noinput
{{ analytics_api_
home }}/venvs/{{ analytics_api_service_name }}/bin/python
/python manage.py collectstatic --noinput
sudo_user
:
"
{{
analytics_api_user
}}"
environment
:
"
{{
analytics_api_environment
}}"
-
name
:
create api users
shell
:
>
chdir={{ analytics_api_code_dir }}
{{ analytics_api_
venv_bin }}
/python manage.py set_api_key {{ item.key }} {{ item.value }}
{{ analytics_api_
home }}/venvs/{{ analytics_api_service_name }}/bin
/python manage.py set_api_key {{ item.key }} {{ item.value }}
sudo_user
:
"
{{
analytics_api_user
}}"
environment
:
"
{{
analytics_api_environment
}}"
with_dict
:
ANALYTICS_API_USERS
...
...
@@ -104,7 +83,7 @@
-
name
:
write out the supervisior wrapper
template
:
>
src=edx/app/analytics-api/analytics-api.sh.j2
dest={{ analytics_api_
app_dir
}}/{{ analytics_api_service_name }}.sh
dest={{ analytics_api_
home
}}/{{ analytics_api_service_name }}.sh
mode=0650 owner={{ supervisor_user }} group={{ common_web_user }}
notify
:
restart the analytics service
...
...
@@ -130,7 +109,7 @@
-
name
:
create symlinks from the venv bin dir
file
:
>
src="{{ analytics_api_
venv_bin }}
/{{ item }}"
src="{{ analytics_api_
home }}/venvs/{{ analytics_api_service_name }}/bin
/{{ item }}"
dest="{{ COMMON_BIN_DIR }}/{{ item.split('.')[0] }}.analytics-api"
state=link
with_items
:
...
...
@@ -147,7 +126,4 @@
-
manage.py
-
name
:
remove read-only ssh key for the content repo
file
:
path={{ analytics_api_git_identity_file }} state=absent
-
include
:
tag_ec2.yml tags=deploy
when
:
COMMON_TAG_EC2_INSTANCE
file
:
path={{ analytics_api_git_identity_file }} state=absent
\ No newline at end of file
playbooks/roles/analytics-api/templates/edx/app/analytics-api/analytics-api.sh.j2
View file @
95bc39e3
...
...
@@ -13,6 +13,6 @@ export NEW_RELIC_APP_NAME="{{ ANALYTICS_API_NEWRELIC_APPNAME }}"
export
NEW_RELIC_LICENSE_KEY
=
"{{ NEWRELIC_LICENSE_KEY }}"
{
% endif -%
}
source
{{
analytics_api_
app_dir
}}
/analytics_api_env
source
{{
analytics_api_
home
}}
/analytics_api_env
{{
executable
}}
-c
{{
analytics_api_
app_dir
}}
/analytics_api_gunicorn.py
{{
ANALYTICS_API_GUNICORN_EXTRA
}}
analyticsdataserver.wsgi:application
{{
executable
}}
-c
{{
analytics_api_
home
}}
/analytics_api_gunicorn.py
{{
ANALYTICS_API_GUNICORN_EXTRA
}}
analyticsdataserver.wsgi:application
playbooks/roles/analytics-api/templates/edx/app/analytics-api/analytics-api.yaml.j2
deleted
100644 → 0
View file @
6cc84722
---
# {{ ansible_managed }}
{{ ANALYTICS_API_CONFIG | to_nice_yaml }}
playbooks/roles/analytics-api/templates/edx/app/supervisor/conf.d.available/analytics-api.conf.j2
View file @
95bc39e3
...
...
@@ -2,7 +2,7 @@
[program:{{ analytics_api_service_name }}]
command={{ analytics_api_
app_dir
}}/analytics-api.sh
command={{ analytics_api_
home
}}/analytics-api.sh
user={{ common_web_user }}
directory={{ analytics_api_code_dir }}
stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment