Commit f818f828 by Gabe Mulley

changes from initial feedback

parent 72a82807
* First run of ansible always fails - I suspect a version bootstrapping issue
* .rbenv is modified in forums (this may be related to the issue above)
* fix auto-registration of new oauth2 client in LMS (insights role) * fix auto-registration of new oauth2 client in LMS (insights role)
* the new version of edx-oauth2-provider is not being installed for some reason? * the new version of edx-oauth2-provider is not being installed for some reason?
* manual addition of "DEBUG: true" to /edx/etc/insights.yml in order to get django to serve static assets from "runserver" * manual addition of "DEBUG: true" to /edx/etc/insights.yml in order to get django to serve static assets from "runserver"
* fix 'False', should be just false in /edx/etc/insights.yml
* had to manually run "python manage.py migrate" on the insights app * had to manually run "python manage.py migrate" on the insights app
* EXTRA_SCOPES = ['permissions'] in insights base.py settings * EXTRA_SCOPES = ['permissions'] in insights base.py settings
* LMS master rejects this scope? * LMS master rejects this scope?
* ensure hdfs://localhost:9000/data/ directory exists
* change permissions of /edx/var/log/tracking/tracking.log to 644
* document instructions * document instructions
* vagrant up * vagrant up
* as vagrant user run "/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i localhost, -c local analytics_single.yml" * as vagrant user run "cd /edx/app/edx_ansible/edx_ansible/playbooks/edx-east && /edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i localhost, -c local analytics_single.yml"
* sudo su hadoop * sudo su hadoop
* edx-analytics-hadoop.sh start * edx-analytics-hadoop.sh start
/edx/bin/manage.edxapp lms --settings=aws create_oauth2_client http://localhost:8110 http://localhost:8110/complete/edx-oidc/ confidential --username staff --client_name insights --client_id YOUR_OAUTH2_KEY --client_secret secret --trusted
\ No newline at end of file
...@@ -6,15 +6,6 @@ ...@@ -6,15 +6,6 @@
migrate_db: yes migrate_db: yes
disable_edx_services: true disable_edx_services: true
insights_register_oauth_app: yes insights_register_oauth_app: yes
INSIGHTS_OAUTH2_APP_CLIENT_NAME: insights
INSIGHTS_OAUTH2_APP_USERNAME: staff
INSIGHTS_OAUTH2_APP_URL_ROOT: http://localhost:8110
INSIGHTS_OAUTH2_URL_ROOT: http://127.0.0.1:8000/oauth2
INSIGHTS_COURSE_API_URL: http://localhost:8000/api/course_structure/v0/
INSIGHTS_SOCIAL_AUTH_REDIRECT_IS_HTTPS: 'false'
INSIGHTS_SESSION_COOKIE_NAME: insights_sessionid
INSIGHTS_CSRF_COOKIE_NAME: insights_csrftoken
INSIGHTS_LANGUAGE_COOKIE_NAME: insights_language
roles: roles:
- edxlocal - edxlocal
- analytics_api - analytics_api
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
# Defaults for role insights # Defaults for role insights
# #
INSIGHTS_LMS_BASE: 'http://localhost:8000'
INSIGHTS_MEMCACHE: [ 'localhost:11211' ] INSIGHTS_MEMCACHE: [ 'localhost:11211' ]
INSIGHTS_FEEDBACK_EMAIL: 'dashboard@example.com' INSIGHTS_FEEDBACK_EMAIL: 'dashboard@example.com'
INSIGHTS_MKTG_BASE: 'http://example.com' INSIGHTS_MKTG_BASE: 'http://example.com'
...@@ -18,12 +19,14 @@ INSIGHTS_PRIVACY_POLICY_URL: '{{ INSIGHTS_MKTG_BASE }}/privacy-policy' ...@@ -18,12 +19,14 @@ INSIGHTS_PRIVACY_POLICY_URL: '{{ INSIGHTS_MKTG_BASE }}/privacy-policy'
INSIGHTS_TERMS_OF_SERVICE_URL: '{{ INSIGHTS_MKTG_BASE }}/terms-service' INSIGHTS_TERMS_OF_SERVICE_URL: '{{ INSIGHTS_MKTG_BASE }}/terms-service'
INSIGHTS_SUPPORT_URL: '' INSIGHTS_SUPPORT_URL: ''
INSIGHTS_OAUTH2_SECRET: 'secret' INSIGHTS_OAUTH2_SECRET: 'secret'
INSIGHTS_OAUTH2_URL_ROOT: 'url_root' INSIGHTS_OAUTH2_URL_ROOT: '{{ INSIGHTS_LMS_BASE }}/oauth2'
INSIGHTS_OAUTH2_APP_CLIENT_NAME: insights
INSIGHTS_OAUTH2_APP_USERNAME: staff
INSIGHTS_SOCIAL_AUTH_REDIRECT_IS_HTTPS: false
INSIGHTS_SECRET_KEY: 'YOUR_SECRET_KEY_HERE' INSIGHTS_SECRET_KEY: 'YOUR_SECRET_KEY_HERE'
INSIGHTS_OAUTH2_KEY: 'YOUR_OAUTH2_KEY' INSIGHTS_OAUTH2_KEY: 'YOUR_OAUTH2_KEY'
# This will not work on single instance sandboxes # This will not work on single instance sandboxes
INSIGHTS_DOC_BASE: 'http://localhost/en/latest' INSIGHTS_DOC_BASE: 'http://localhost/en/latest'
INSIGHTS_LMS_BASE: 'http://localhost:8000'
ANALYTICS_API_ENDPOINT: 'http://localhost:8100/api/v0' ANALYTICS_API_ENDPOINT: 'http://localhost:8100/api/v0'
INSIGHTS_DATA_API_AUTH_TOKEN: 'changeme' INSIGHTS_DATA_API_AUTH_TOKEN: 'changeme'
INSIGHTS_PLATFORM_NAME: 'edX' INSIGHTS_PLATFORM_NAME: 'edX'
...@@ -72,7 +75,7 @@ INSIGHTS_CONFIG: ...@@ -72,7 +75,7 @@ INSIGHTS_CONFIG:
SECRET_KEY: '{{ INSIGHTS_SECRET_KEY }}' SECRET_KEY: '{{ INSIGHTS_SECRET_KEY }}'
DATA_API_URL: '{{ ANALYTICS_API_ENDPOINT }}' DATA_API_URL: '{{ ANALYTICS_API_ENDPOINT }}'
DATA_API_AUTH_TOKEN: '{{ INSIGHTS_DATA_API_AUTH_TOKEN }}' DATA_API_AUTH_TOKEN: '{{ INSIGHTS_DATA_API_AUTH_TOKEN }}'
SOCIAL_AUTH_REDIRECT_IS_HTTPS: '{{ INSIGHTS_SOCIAL_AUTH_REDIRECT_IS_HTTPS | default(true) | bool }}' SOCIAL_AUTH_REDIRECT_IS_HTTPS: '{{ INSIGHTS_SOCIAL_AUTH_REDIRECT_IS_HTTPS }}'
SOCIAL_AUTH_EDX_OIDC_KEY: '{{ INSIGHTS_OAUTH2_KEY }}' SOCIAL_AUTH_EDX_OIDC_KEY: '{{ INSIGHTS_OAUTH2_KEY }}'
SOCIAL_AUTH_EDX_OIDC_SECRET: '{{ INSIGHTS_OAUTH2_SECRET }}' SOCIAL_AUTH_EDX_OIDC_SECRET: '{{ INSIGHTS_OAUTH2_SECRET }}'
SOCIAL_AUTH_EDX_OIDC_URL_ROOT: '{{ INSIGHTS_OAUTH2_URL_ROOT }}' SOCIAL_AUTH_EDX_OIDC_URL_ROOT: '{{ INSIGHTS_OAUTH2_URL_ROOT }}'
...@@ -107,16 +110,16 @@ INSIGHTS_CONFIG: ...@@ -107,16 +110,16 @@ INSIGHTS_CONFIG:
COURSE_API_URL: "{{ INSIGHTS_COURSE_API_URL }}" COURSE_API_URL: "{{ INSIGHTS_COURSE_API_URL }}"
# When insights is co-located with other django services, we need to ensure they don't all # When insights is co-located with other django services, we need to ensure they don't all
# use the same cookie names. # use the same cookie names.
SESSION_COOKIE_NAME: "{{ INSIGHTS_SESSION_COOKIE_NAME | default('sessionid') }}" SESSION_COOKIE_NAME: "{{ INSIGHTS_SESSION_COOKIE_NAME | default('insights_sessionid') }}"
CSRF_COOKIE_NAME: "{{ INSIGHTS_CSRF_COOKIE_NAME | default('csrftoken') }}" CSRF_COOKIE_NAME: "{{ INSIGHTS_CSRF_COOKIE_NAME | default('insights_csrftoken') }}"
LANGUAGE_COOKIE_NAME: "{{ INSIGHTS_LANGUAGE_COOKIE_NAME | default('language') }}" LANGUAGE_COOKIE_NAME: "{{ INSIGHTS_LANGUAGE_COOKIE_NAME | default('insights_language') }}"
INSIGHTS_NEWRELIC_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-analytics-api" INSIGHTS_NEWRELIC_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-analytics-api"
INSIGHTS_PIP_EXTRA_ARGS: "-i {{ COMMON_PYPI_MIRROR_URL }}" INSIGHTS_PIP_EXTRA_ARGS: "-i {{ COMMON_PYPI_MIRROR_URL }}"
INSIGHTS_NGINX_PORT: "18110" INSIGHTS_NGINX_PORT: "18110"
INSIGHTS_GUNICORN_WORKERS: "2" INSIGHTS_GUNICORN_WORKERS: "2"
INSIGHTS_GUNICORN_EXTRA: "" INSIGHTS_GUNICORN_EXTRA: ""
INSIGHTS_COURSE_API_URL: "URL FOR COURSE API" INSIGHTS_COURSE_API_URL: "{{ INSIGHTS_LMS_BASE}}/api/course_structure/v0/"
INSIGHTS_VERSION: "master" INSIGHTS_VERSION: "master"
INSIGHTS_GIT_IDENTITY: !!null INSIGHTS_GIT_IDENTITY: !!null
......
...@@ -13,6 +13,8 @@ themes_mount_dir = "themes" ...@@ -13,6 +13,8 @@ themes_mount_dir = "themes"
forum_mount_dir = "cs_comments_service" forum_mount_dir = "cs_comments_service"
ora_mount_dir = "ora" ora_mount_dir = "ora"
ecommerce_mount_dir = "ecommerce" ecommerce_mount_dir = "ecommerce"
insights_mount_dir = "insights"
analytics_api_mount_dir = "analytics_api"
if ENV['VAGRANT_MOUNT_BASE'] if ENV['VAGRANT_MOUNT_BASE']
...@@ -21,6 +23,8 @@ if ENV['VAGRANT_MOUNT_BASE'] ...@@ -21,6 +23,8 @@ if ENV['VAGRANT_MOUNT_BASE']
forum_mount_dir = ENV['VAGRANT_MOUNT_BASE'] + "/" + forum_mount_dir forum_mount_dir = ENV['VAGRANT_MOUNT_BASE'] + "/" + forum_mount_dir
ora_mount_dir = ENV['VAGRANT_MOUNT_BASE'] + "/" + ora_mount_dir ora_mount_dir = ENV['VAGRANT_MOUNT_BASE'] + "/" + ora_mount_dir
ecommerce_mount_dir = ENV['VAGRANT_MOUNT_BASE'] + "/" + ecommerce_mount_dir ecommerce_mount_dir = ENV['VAGRANT_MOUNT_BASE'] + "/" + ecommerce_mount_dir
insights_mount_dir = ENV['VAGRANT_MOUNT_BASE'] + "/" + insights_mount_dir
analytics_api_mount_dir = ENV['VAGRANT_MOUNT_BASE'] + "/" + analytics_api_mount_dir
end end
...@@ -40,6 +44,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| ...@@ -40,6 +44,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.network :forwarded_port, guest: 8765, host: 8765 config.vm.network :forwarded_port, guest: 8765, host: 8765
config.vm.network :forwarded_port, guest: 9200, host: 9200 config.vm.network :forwarded_port, guest: 9200, host: 9200
config.vm.network :forwarded_port, guest: 18080, host: 18080 config.vm.network :forwarded_port, guest: 18080, host: 18080
config.vm.network :forwarded_port, guest: 8100, host: 8100 # Insights
config.vm.network :forwarded_port, guest: 8110, host: 8110 # Analytics Data API
config.ssh.insert_key = true config.ssh.insert_key = true
config.vm.synced_folder ".", "/vagrant", disabled: true config.vm.synced_folder ".", "/vagrant", disabled: true
...@@ -63,6 +69,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| ...@@ -63,6 +69,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.synced_folder "#{ora_mount_dir}", "/edx/app/ora/ora", config.vm.synced_folder "#{ora_mount_dir}", "/edx/app/ora/ora",
create: true, owner: "ora", group: "www-data" create: true, owner: "ora", group: "www-data"
end end
config.vm.synced_folder "#{insights_mount_dir}", "/edx/app/insights/edx_analytics_dashboard",
create: true, owner: "insights", group: "www-data"
config.vm.synced_folder "#{analytics_api_mount_dir}", "/edx/app/analytics_api/analytics_api",
create: true, owner: "analytics_api", group: "www-data"
else else
config.vm.synced_folder "#{edx_platform_mount_dir}", "/edx/app/edxapp/edx-platform", config.vm.synced_folder "#{edx_platform_mount_dir}", "/edx/app/edxapp/edx-platform",
create: true, nfs: true create: true, nfs: true
...@@ -77,6 +87,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| ...@@ -77,6 +87,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.synced_folder "#{ora_mount_dir}", "/edx/app/ora/ora", config.vm.synced_folder "#{ora_mount_dir}", "/edx/app/ora/ora",
create: true, nfs: true create: true, nfs: true
end end
config.vm.synced_folder "#{insights_mount_dir}", "/edx/app/insights/edx_analytics_dashboard",
create: true, nfs: true
config.vm.synced_folder "#{analytics_api_mount_dir}", "/edx/app/analytics_api/analytics_api",
create: true, nfs: true
end end
......
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