Commit 405d13e2 by Saleem Latif

Automate full Otto provisioning with multitenant support

parent 08486dd2
- name: Setup Site and Site Configurations for Otto
hosts: all
become: True
gather_facts: True
vars_files:
- "roles/edxapp/defaults/main.yml"
- "roles/ecommerce/defaults/main.yml"
roles:
- otto_multitenant_setup
...@@ -41,7 +41,8 @@ ECOMMERCE_SECRET_KEY: 'Your secret key here' ...@@ -41,7 +41,8 @@ ECOMMERCE_SECRET_KEY: 'Your secret key here'
ECOMMERCE_TIME_ZONE: 'UTC' ECOMMERCE_TIME_ZONE: 'UTC'
ECOMMERCE_LANGUAGE_CODE: 'en-us' ECOMMERCE_LANGUAGE_CODE: 'en-us'
ECOMMERCE_EDX_API_KEY: 'PUT_YOUR_API_KEY_HERE' # This should match the value set for edxapp ECOMMERCE_EDX_API_KEY: 'PUT_YOUR_API_KEY_HERE' # This should match the value set for edxapp
ECOMMERCE_ECOMMERCE_URL_ROOT: 'http://localhost:8002' ECOMMERCE_ECOMMERCE_DOMAIN: 'localhost:8002'
ECOMMERCE_ECOMMERCE_URL_ROOT: 'http://{{ ECOMMERCE_ECOMMERCE_DOMAIN }}'
ECOMMERCE_LOGOUT_URL: '{{ ECOMMERCE_ECOMMERCE_URL_ROOT }}/logout/' ECOMMERCE_LOGOUT_URL: '{{ ECOMMERCE_ECOMMERCE_URL_ROOT }}/logout/'
ECOMMERCE_LMS_URL_ROOT: 'http://127.0.0.1:8000' ECOMMERCE_LMS_URL_ROOT: 'http://127.0.0.1:8000'
ECOMMERCE_JWT_SECRET_KEY: '{{ EDXAPP_JWT_SECRET_KEY | default("lms-secret") }}' ECOMMERCE_JWT_SECRET_KEY: '{{ EDXAPP_JWT_SECRET_KEY | default("lms-secret") }}'
......
---
#
# edX Configuration
#
# github: https://github.com/edx/configuration
# wiki: https://openedx.atlassian.net/wiki/display/OpenOPS
# code style: https://openedx.atlassian.net/wiki/display/OpenOPS/Ansible+Code+Conventions
# license: https://github.com/edx/configuration/blob/master/LICENSE.TXT
#
##
# Defaults for role otto_multitenant_setup
#
#
# vars are namespaced with the module name.
#
otto_multitenant_setup_role_name: otto_multitenant_setup
ECOMMERCE_PARTNER_CODE: openedx
ECOMMERCE_PARTNER_NAME: Open Edx
OTTO_MULTITENANT_SETUP_THEME_SASS_PATH: sass
OTTO_MULTITENANT_SETUP_PAYMENT_PROCESSORS: cybersource,paypal
OTTO_MULTITENANT_SETUP_FROM_EMAIL: notifications@example.com
---
#
# edX Configuration
#
# github: https://github.com/edx/configuration
# wiki: https://openedx.atlassian.net/wiki/display/OpenOPS
# code style: https://openedx.atlassian.net/wiki/display/OpenOPS/Ansible+Code+Conventions
# license: https://github.com/edx/configuration/blob/master/LICENSE.TXT
#
##
# Role includes for role edx_themes
#
dependencies:
- common_vars
---
#
# edX Configuration
#
# github: https://github.com/edx/configuration
# wiki: https://openedx.atlassian.net/wiki/display/OpenOPS
# code style: https://openedx.atlassian.net/wiki/display/OpenOPS/Ansible+Code+Conventions
# license: https://github.com/edx/configuration/blob/master/LICENSE.TXT
#
#
#
# Tasks for role otto_multitenant_setup
#
# Overview:
#
#
# Dependencies:
#
#
# Example play:
#
#
- name: Setup Site and Site Configurations for Otto
shell: >
{{ COMMON_BIN_DIR }}/python.ecommerce {{ COMMON_BIN_DIR }}/manage.ecommerce create_or_update_site
--settings=ecommerce.settings.production
--site-domain='{{ ECOMMERCE_ECOMMERCE_DOMAIN }}'
--site-name='{{ ECOMMERCE_ECOMMERCE_DOMAIN }}'
--partner-code='{{ ECOMMERCE_PARTNER_CODE }}'
--partner-name='{{ ECOMMERCE_PARTNER_NAME }}'
--lms-url-root='{{ ECOMMERCE_LMS_URL_ROOT }}'
--theme-scss-path='{{ OTTO_MULTITENANT_SETUP_THEME_SASS_PATH }}'
--payment-processors='{{ OTTO_MULTITENANT_SETUP_PAYMENT_PROCESSORS }}'
--client-id='{{ ECOMMERCE_SOCIAL_AUTH_EDX_OIDC_KEY }}'
--client-secret='{{ ECOMMERCE_SOCIAL_AUTH_EDX_OIDC_SECRET }}'
--from-email='{{ OTTO_MULTITENANT_SETUP_FROM_EMAIL }}'
become_user: "{{ ecommerce_user }}"
environment: "{{ ecommerce_environment }}"
...@@ -10,9 +10,24 @@ ...@@ -10,9 +10,24 @@
EDXAPP_NO_PREREQ_INSTALL: 0 EDXAPP_NO_PREREQ_INSTALL: 0
COMMON_SSH_PASSWORD_AUTH: "yes" COMMON_SSH_PASSWORD_AUTH: "yes"
EDXAPP_LMS_BASE: 127.0.0.1:8000 EDXAPP_LMS_BASE: 127.0.0.1:8000
ECOMMERCE_ECOMMERCE_DOMAIN: "localhost:8002"
ECOMMERCE_PARTNER_CODE: edx
OTTO_MULTITENANT_SETUP_FROM_EMAIL: devstack-notifications@edx.org
EDXAPP_OAUTH_ENFORCE_SECURE: false EDXAPP_OAUTH_ENFORCE_SECURE: false
EDXAPP_LMS_BASE_SCHEME: http EDXAPP_LMS_BASE_SCHEME: http
ECOMMERCE_DJANGO_SETTINGS_MODULE: "ecommerce.settings.devstack" ECOMMERCE_DJANGO_SETTINGS_MODULE: "ecommerce.settings.devstack"
ECOMMERCE_COMPREHENSIVE_THEME_DIRS: ["/edx/var/edx-themes/edx-themes/ecommerce", "/edx/app/ecommerce/ecommerce/ecommerce/themes"]
ECOMMERCE_ENABLE_COMPREHENSIVE_THEMING: true
ECOMMERCE_DEFAULT_SITE_THEME: null
EDXAPP_COMPREHENSIVE_THEME_DIRS: ["/edx/var/edx-themes/edx-themes/edx-platform", "/edx/app/edxapp/edx-platform/themes"]
EDXAPP_ENABLE_COMPREHENSIVE_THEMING: true
EDXAPP_DEFAULT_SITE_THEME: null
THEMES_GIT_IDENTITY: null
THEMES_GIT_PROTOCOL: "https"
THEMES_VERSION: "release"
THEMES_GIT_MIRROR: "github.com"
THEMES_GIT_PATH: "edx"
THEMES_REPO: "sample-themes.git"
roles: roles:
- common - common
- vhost - vhost
...@@ -36,3 +51,4 @@ ...@@ -36,3 +51,4 @@
- local_dev - local_dev
- demo - demo
- oauth_client_setup - oauth_client_setup
- otto_multitenant_setup
...@@ -286,9 +286,11 @@ EDXAPP_ECOMMERCE_API_URL: "https://ecommerce-${deploy_host}/api/v2" ...@@ -286,9 +286,11 @@ EDXAPP_ECOMMERCE_API_URL: "https://ecommerce-${deploy_host}/api/v2"
EDXAPP_COURSE_CATALOG_API_URL: "https://catalog-${deploy_host}/api/v1" EDXAPP_COURSE_CATALOG_API_URL: "https://catalog-${deploy_host}/api/v1"
ECOMMERCE_ECOMMERCE_URL_ROOT: "https://ecommerce-${deploy_host}" ECOMMERCE_ECOMMERCE_URL_ROOT: "https://ecommerce-${deploy_host}"
ECOMMERCE_ECOMMERCE_DOMAIN: "ecommerce-${deploy_host}"
ECOMMERCE_LMS_URL_ROOT: "https://${deploy_host}" ECOMMERCE_LMS_URL_ROOT: "https://${deploy_host}"
ECOMMERCE_SOCIAL_AUTH_REDIRECT_IS_HTTPS: true ECOMMERCE_SOCIAL_AUTH_REDIRECT_IS_HTTPS: true
ECOMMERCE_PARTNER_CODE: edx
OTTO_MULTITENANT_SETUP_FROM_EMAIL: sandbox-notifications@edx.org
PROGRAMS_LMS_URL_ROOT: "https://${deploy_host}" PROGRAMS_LMS_URL_ROOT: "https://${deploy_host}"
PROGRAMS_URL_ROOT: "https://programs-${deploy_host}" PROGRAMS_URL_ROOT: "https://programs-${deploy_host}"
PROGRAMS_SOCIAL_AUTH_REDIRECT_IS_HTTPS: true PROGRAMS_SOCIAL_AUTH_REDIRECT_IS_HTTPS: true
...@@ -388,6 +390,8 @@ if [[ $run_oauth == "true" ]]; then ...@@ -388,6 +390,8 @@ if [[ $run_oauth == "true" ]]; then
run_ansible oauth_client_setup.yml -i "${deploy_host}," $extra_var_arg --user ubuntu run_ansible oauth_client_setup.yml -i "${deploy_host}," $extra_var_arg --user ubuntu
fi fi
run_ansible otto_multitenant_setup.yml -i "${deploy_host}," $extra_var_arg --user ubuntu
# set the hostname # set the hostname
run_ansible set_hostname.yml -i "${deploy_host}," -e hostname_fqdn=${deploy_host} --user ubuntu run_ansible set_hostname.yml -i "${deploy_host}," -e hostname_fqdn=${deploy_host} --user ubuntu
......
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