diff --git a/CHANGELOG.md b/CHANGELOG.md index e7e4a6d9d4d..f5b5d1383dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -232,6 +232,12 @@ - Added `NGINX_EDXAPP_CMS_APP_EXTRA`, which makes it possible to add custom settings to the site configuration for Studio. - Added `NGINX_EDXAPP_LMS_APP_EXTRA`, which makes it possible to add custom settings to the site configuration for the LMS. +- Role: edxapp + - Added creation of enterprise_worker user to provisioning. This user is used by the edx-enterprise package when making API requests to Open edX IDAs. + +- Role: forum + - Added `FORUM_REBUILD_INDEX` to rebuild the ElasticSearch index from the database, when enabled. Default: `False`. + - Role: edxapp - Let `confirm_email` in `EDXAPP_REGISTRATION_EXTRA_FIELDS` default to `"hidden"`. - Let `terms_of_service` in `EDXAPP_REGISTRATION_EXTRA_FIELDS` default to `"hidden"`. diff --git a/README.rst b/README.rst index 48618d20dbb..ea7fcb87cf3 100644 --- a/README.rst +++ b/README.rst @@ -1,6 +1,12 @@ Configuration Management ######################## +About +********** + +fro CMScom config + + Introduction ************ diff --git a/playbooks/analytics_single_cmscom.yml b/playbooks/analytics_single_cmscom.yml new file mode 100644 index 00000000000..038d9863abf --- /dev/null +++ b/playbooks/analytics_single_cmscom.yml @@ -0,0 +1,22 @@ +# for insights +- name: Deploy all analytics services to a single node + hosts: all + become: True + gather_facts: True + vars: + migrate_db: "no" + disable_edx_services: false + ENABLE_DATADOG: False + ENABLE_SPLUNKFORWARDER: False + ENABLE_NEWRELIC: False + roles: +# - aws +# - mysql +# - edxlocal + - memcache + - analytics_api + - analytics_pipeline + - role: nginx + nginx_sites: + - insights + - insights diff --git a/playbooks/create_mongo_users.yml b/playbooks/create_mongo_users.yml index 1188db18dc3..3e472000d08 100644 --- a/playbooks/create_mongo_users.yml +++ b/playbooks/create_mongo_users.yml @@ -28,14 +28,14 @@ ansible_python_interpreter: "/usr/bin/env python" tasks: - name: install python mongo module - pip: name=pymongo state=present + pip: name=pymongo state=present version="{{ pymongo_version }}" - name: create a mongodb user mongodb_user: database: "{{ item.database }}" login_user: "{{ MONGO_ADMIN_USER }}" login_password: "{{ MONGO_ADMIN_PASSWORD }}" - login_host: "{{ login_host }}" + login_host: "{{ MONGO_IP }}" name: "{{ item.user }}" password: "{{ item.password }}" roles: "{{ item.roles }}" diff --git a/playbooks/edx_cmscom.yml b/playbooks/edx_cmscom.yml new file mode 100644 index 00000000000..f0db289e6dc --- /dev/null +++ b/playbooks/edx_cmscom.yml @@ -0,0 +1,101 @@ +--- + +# Example sandbox configuration +# for single server community +# installs + +- name: Bootstrap instance(s) + hosts: all + gather_facts: no + become: True + roles: + - python + +# TODO: 2019-07-19 +# added mongo setting +#- include: edx-east/create_mongo_users.yml + +- name: Configure instance(s) + hosts: all + become: True + gather_facts: True + vars: + migrate_db: "yes" + EDXAPP_LMS_NGINX_PORT: '80' + edx_platform_version: 'master' + # Set to false if deployed behind another proxy/load balancer. + NGINX_SET_X_FORWARDED_HEADERS: True + DISCOVERY_URL_ROOT: 'http://localhost:{{ DISCOVERY_NGINX_PORT }}' + ecommerce_create_demo_data: false + credentials_create_demo_data: false + SANDBOX_ENABLE_DISCOVERY: true + SANDBOX_ENABLE_ECOMMERCE: false + SANDBOX_ENABLE_ANALYTICS_API: true + SANDBOX_ENABLE_INSIGHTS: false + SANDBOX_ENABLE_RABBITMQ: true + JOURNALS_ENABLED: false + # test 20191119 + EDXAPP_MYSQL_HOST: localhost + roles: + - role: swapfile + SWAPFILE_SIZE: 4GB + - role: nginx + nginx_sites: + - certs + - cms + - lms + - forum + - xqueue + nginx_default_sites: + - lms +# test 20191119 off to on + - role: edxlocal + when: EDXAPP_MYSQL_HOST == 'localhost' +# - role: edxremote + - role: memcache + when: "'localhost' in ' '.join(EDXAPP_MEMCACHE)" +# 20191220 comment in for local install +# - role: mongo_3_2 +# when: "'localhost' in EDXAPP_MONGO_HOSTS" + - role: mongo_3_2 + when: "'localhost' in EDXAPP_MONGO_HOSTS" + - role: rabbitmq + rabbitmq_ip: 127.0.0.1 + when: SANDBOX_ENABLE_RABBITMQ + - role: edxapp + celery_worker: True + - edxapp + - role: ecommerce + when: SANDBOX_ENABLE_ECOMMERCE + - role: ecomworker + ECOMMERCE_WORKER_BROKER_HOST: 127.0.0.1 + when: SANDBOX_ENABLE_ECOMMERCE + - role: analytics_api + when: SANDBOX_ENABLE_ANALYTICS_API + - role: insights + when: SANDBOX_ENABLE_INSIGHTS + # not ready yet: - edx_notes_api +# - demo + - oauth_client_setup + - oraclejdk + - role: elasticsearch + when: "'localhost' in EDXAPP_ELASTIC_SEARCH_CONFIG|map(attribute='host')" + - forum + - role: discovery + when: SANDBOX_ENABLE_DISCOVERY + - role: journals + when: JOURNALS_ENABLED + - role: notifier + NOTIFIER_DIGEST_TASK_INTERVAL: 5 + - role: xqueue + update_users: True + - certs + - edx_ansible + - role: datadog + when: COMMON_ENABLE_DATADOG + - role: splunkforwarder + when: COMMON_ENABLE_SPLUNKFORWARDER + - role: postfix_queue + when: POSTFIX_QUEUE_EXTERNAL_SMTP_HOST != '' + - role: datadog-uninstall + when: not COMMON_ENABLE_DATADOG diff --git a/playbooks/edx_sandbox.yml b/playbooks/edx_sandbox.yml index 1f9f09c8f62..3e05d644822 100644 --- a/playbooks/edx_sandbox.yml +++ b/playbooks/edx_sandbox.yml @@ -40,6 +40,7 @@ - lms - forum - xqueue + - ecommerce nginx_default_sites: - lms - role: edxlocal @@ -54,8 +55,7 @@ - role: edxapp celery_worker: True - edxapp - - role: ecommerce - when: SANDBOX_ENABLE_ECOMMERCE + - ecommerce - role: ecomworker ECOMMERCE_WORKER_BROKER_HOST: 127.0.0.1 when: SANDBOX_ENABLE_ECOMMERCE diff --git a/playbooks/roles/analytics_pipeline/tasks/main.yml b/playbooks/roles/analytics_pipeline/tasks/main.yml index c7d8da70c13..cc1b8d9d869 100644 --- a/playbooks/roles/analytics_pipeline/tasks/main.yml +++ b/playbooks/roles/analytics_pipeline/tasks/main.yml @@ -220,15 +220,17 @@ - install - install:configuration -- name: Grant access to table storing test data in output database - mysql_user: - user: "{{ ANALYTICS_PIPELINE_OUTPUT_DATABASE.username }}" - password: "{{ ANALYTICS_PIPELINE_OUTPUT_DATABASE.password }}" - priv: 'acceptance%.*:ALL' - append_privs: yes - tags: - - install - - install:configuration +# TODO: すでに設定されているデータ。おそらく不要なはず +#- name: Grant access to table storing test data in output database +# mysql_user: +# user: "{{ ANALYTICS_PIPELINE_OUTPUT_DATABASE.username }}" +# password: "{{ ANALYTICS_PIPELINE_OUTPUT_DATABASE.password }}" +# host: "{{ ANALYTICS_PIPELINE_OUTPUT_DATABASE.host }}" +# priv: 'acceptance%.*:ALL' +# append_privs: yes +# tags: +# - install +# - install:configuration - name: Test if Hive metadata store schema exists shell: ". {{ HADOOP_COMMON_CONF_DIR }}/hadoop-env.sh && {{ HIVE_HOME }}/bin/hive | tr '\n' ' '" diff --git a/playbooks/roles/edxremote/defaults/main.yml b/playbooks/roles/edxremote/defaults/main.yml new file mode 100644 index 00000000000..5f368163398 --- /dev/null +++ b/playbooks/roles/edxremote/defaults/main.yml @@ -0,0 +1,63 @@ +--- +edxlocal_debian_pkgs: + - postfix + - libjpeg-dev + +edxlocal_databases: + - "{{ ECOMMERCE_DEFAULT_DB_NAME | default(None) }}" + - "{{ INSIGHTS_DATABASE_NAME | default(None) }}" + - "{{ XQUEUE_MYSQL_DB_NAME | default(None) }}" + - "{{ EDXAPP_MYSQL_DB_NAME | default(None) }}" + - "{{ EDXAPP_MYSQL_CSMH_DB_NAME | default(None) }}" + - "{{ EDX_NOTES_API_MYSQL_DB_NAME | default(None) }}" + - "{{ ANALYTICS_API_DEFAULT_DB_NAME | default(None) }}" + - "{{ ANALYTICS_API_REPORTS_DB_NAME | default(None) }}" + - "{{ CREDENTIALS_DEFAULT_DB_NAME | default(None) }}" + - "{{ DISCOVERY_DEFAULT_DB_NAME | default(None) }}" + +edxlocal_database_users: + - { + db: "{{ ECOMMERCE_DEFAULT_DB_NAME | default(None) }}", + user: "{{ ECOMMERCE_DATABASE_USER | default(None) }}", + pass: "{{ ECOMMERCE_DATABASE_PASSWORD | default(None) }}" + } + - { + db: "{{ INSIGHTS_DATABASE_NAME | default(None) }}", + user: "{{ INSIGHTS_DATABASE_USER | default(None) }}", + pass: "{{ INSIGHTS_DATABASE_PASSWORD | default(None) }}" + } + - { + db: "{{ XQUEUE_MYSQL_DB_NAME | default(None) }}", + user: "{{ XQUEUE_MYSQL_USER | default(None) }}", + pass: "{{ XQUEUE_MYSQL_PASSWORD | default(None) }}" + } + - { + db: "{{ EDXAPP_MYSQL_DB_NAME | default(None) }}", + user: "{{ EDXAPP_MYSQL_USER | default(None) }}", + pass: "{{ EDXAPP_MYSQL_PASSWORD | default(None) }}" + } + - { + db: "{{ EDXAPP_MYSQL_CSMH_DB_NAME | default(None) }}", + user: "{{ EDXAPP_MYSQL_CSMH_USER | default(None) }}", + pass: "{{ EDXAPP_MYSQL_CSMH_PASSWORD | default(None) }}" + } + - { + db: "{{ ANALYTICS_PIPELINE_OUTPUT_DATABASE_NAME | default(None) }}", + user: "{{ ANALYTICS_PIPELINE_OUTPUT_DATABASE_USER | default(None) }}", + pass: "{{ ANALYTICS_PIPELINE_OUTPUT_DATABASE_PASSWORD | default(None) }}" + } + - { + db: "{{ HIVE_METASTORE_DATABASE_NAME | default(None) }}", + user: "{{ HIVE_METASTORE_DATABASE_USER | default(None) }}", + pass: "{{ HIVE_METASTORE_DATABASE_PASSWORD | default(None) }}" + } + - { + db: "{{ CREDENTIALS_DEFAULT_DB_NAME | default(None) }}", + user: "{{ CREDENTIALS_MYSQL_USER | default(None) }}", + pass: "{{ CREDENTIALS_MYSQL_PASSWORD | default(None) }}" + } + - { + db: "{{ DISCOVERY_DEFAULT_DB_NAME | default(None) }}", + user: "{{ DISCOVERY_MYSQL_USER | default(None) }}", + pass: "{{ DISCOVERY_MYSQL_PASSWORD | default(None) }}" + } diff --git a/playbooks/roles/edxremote/meta/main.yml b/playbooks/roles/edxremote/meta/main.yml new file mode 100644 index 00000000000..edc87cdd654 --- /dev/null +++ b/playbooks/roles/edxremote/meta/main.yml @@ -0,0 +1,4 @@ +--- +dependencies: + - common +# - mysql diff --git a/playbooks/roles/edxremote/tasks/main.yml b/playbooks/roles/edxremote/tasks/main.yml new file mode 100644 index 00000000000..612de9ac08b --- /dev/null +++ b/playbooks/roles/edxremote/tasks/main.yml @@ -0,0 +1,109 @@ + # Installs packages to run edx locally on a single instance +# +--- +- name: Install packages needed for single server + apt: + name: "{{ item }}" + install_recommends: yes + state: present + with_items: "{{ edxlocal_debian_pkgs }}" + +# TODO: Add a test to make sure mysql is running. + +- name: create databases + mysql_db: + login_host: "{{ EDXAPP_MYSQL_HOST }}" + login_user: "{{ COMMON_MYSQL_ADMIN_USER }}" + login_password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + db: "{{ item }}" + state: present + encoding: utf8 + when: item != None and item != '' + with_items: "{{ edxlocal_databases }}" + +- name: create database users + mysql_user: + login_host: "{{ EDXAPP_MYSQL_HOST }}" + login_user: "{{ COMMON_MYSQL_ADMIN_USER }}" + login_password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + host: '%' + name: "{{ item.user }}" + password: "{{ item.pass }}" + priv: "{{ item.db }}.*:ALL" + append_privs: yes + when: item.db != None and item.db != '' + with_items: "{{ edxlocal_database_users }}" + +- name: setup the migration db user + mysql_user: + login_host: "{{ EDXAPP_MYSQL_HOST }}" + login_user: "{{ COMMON_MYSQL_ADMIN_USER }}" + login_password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + host: '%' + name: "{{ COMMON_MYSQL_MIGRATE_USER }}" + password: "{{ COMMON_MYSQL_MIGRATE_PASS }}" + priv: "{{ item }}.*:ALL" + append_privs: yes + when: item != None and item != '' + with_items: "{{ edxlocal_databases }}" + +- name: create api user for the analytics api + mysql_user: + login_host: "{{ EDXAPP_MYSQL_HOST }}" + login_user: "{{ COMMON_MYSQL_ADMIN_USER }}" + login_password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + host: '%' + name: "api001" + password: "{{ ANALYTICS_API_DATABASES.default.PASSWORD }}" + priv: '{{ ANALYTICS_API_DATABASES.default.NAME }}.*:ALL/reports.*:SELECT' + when: ANALYTICS_API_SERVICE_CONFIG is defined + +- name: create read-only reports user for the analytics-api + mysql_user: + login_host: "{{ EDXAPP_MYSQL_HOST }}" + login_user: "{{ COMMON_MYSQL_ADMIN_USER }}" + login_password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + host: '%' + name: reports001 + password: "{{ ANALYTICS_API_DATABASES.reports.PASSWORD }}" + priv: '{{ ANALYTICS_API_DATABASES.reports.NAME }}.*:SELECT' + when: ANALYTICS_API_SERVICE_CONFIG is defined + +- name: create a database for the hive metastore + mysql_db: + login_host: "{{ EDXAPP_MYSQL_HOST }}" + login_user: "{{ COMMON_MYSQL_ADMIN_USER }}" + login_password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + db: "{{ HIVE_METASTORE_DATABASE.name }}" + state: "present" + encoding: "latin1" + when: HIVE_METASTORE_DATABASE is defined + +- name: setup the edx-notes-api db user + mysql_user: + login_host: "{{ EDXAPP_MYSQL_HOST }}" + login_user: "{{ COMMON_MYSQL_ADMIN_USER }}" + login_password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + host: '%' + name: "{{ EDX_NOTES_API_MYSQL_DB_USER }}" + password: "{{ EDX_NOTES_API_MYSQL_DB_PASS }}" + priv: "{{ EDX_NOTES_API_MYSQL_DB_NAME }}.*:SELECT,INSERT,UPDATE,DELETE" + when: EDX_NOTES_API_MYSQL_DB_USER is defined + +- name: setup the read-only db user + mysql_user: + login_host: "{{ EDXAPP_MYSQL_HOST }}" + login_user: "{{ COMMON_MYSQL_ADMIN_USER }}" + login_password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + host: '%' + name: "{{ COMMON_MYSQL_READ_ONLY_USER }}" + password: "{{ COMMON_MYSQL_READ_ONLY_PASS }}" + priv: "*.*:ALL" + +- name: setup the admin db user + mysql_user: + name: "{{ COMMON_MYSQL_ADMIN_USER }}" + password: "{{ COMMON_MYSQL_ADMIN_PASS }}" + priv: "*.*:CREATE USER" + when: EDXAPP_MYSQL_HOST == 'localhost' + diff --git a/playbooks/roles/forum/tasks/deploy.yml b/playbooks/roles/forum/tasks/deploy.yml index c8a0d16a819..9071a2198b7 100644 --- a/playbooks/roles/forum/tasks/deploy.yml +++ b/playbooks/roles/forum/tasks/deploy.yml @@ -84,6 +84,17 @@ - migrate - migrate:db +- name: rebuild elasticsearch indexes + command: "{{ forum_code_dir }}/bin/rake search:rebuild_index" + args: + chdir: "{{ forum_code_dir }}" + become_user: "{{ forum_user }}" + environment: "{{ forum_environment }}" + when: migrate_db is defined and migrate_db|lower == "yes" and FORUM_REBUILD_INDEX|bool + tags: + - migrate + - migrate:db + # call supervisorctl update. this reloads # the supervisorctl config and restarts # the services if any of the configurations diff --git a/playbooks/roles/mongo_2_6/tasks/main.yml b/playbooks/roles/mongo_2_6/tasks/main.yml index 1e1672b54b0..ac97bf17ea7 100644 --- a/playbooks/roles/mongo_2_6/tasks/main.yml +++ b/playbooks/roles/mongo_2_6/tasks/main.yml @@ -206,6 +206,7 @@ database: "{{ item.database }}" login_user: "{{ MONGO_ADMIN_USER }}" login_password: "{{ MONGO_ADMIN_PASSWORD }}" + login_host: "{{ MONGO_IP }}" name: "{{ item.user }}" password: "{{ item.password }}" roles: "{{ item.roles }}" @@ -221,6 +222,7 @@ database: "{{ item.database }}" login_user: "{{ MONGO_ADMIN_USER }}" login_password: "{{ MONGO_ADMIN_PASSWORD }}" + login_host: "{{ MONGO_IP }}" name: "{{ item.user }}" password: "{{ item.password }}" roles: "{{ item.roles }}" diff --git a/playbooks/roles/notifier/tasks/deploy.yml b/playbooks/roles/notifier/tasks/deploy.yml index 7debe60a507..334ba7f4ec0 100644 --- a/playbooks/roles/notifier/tasks/deploy.yml +++ b/playbooks/roles/notifier/tasks/deploy.yml @@ -120,13 +120,14 @@ - "manage" - "manage:start" -- name: restart notifier-celery-workers - supervisorctl: - name: "notifier-celery-workers" - state: restarted - config: "{{ supervisor_cfg }}" - supervisorctl_path: "{{ supervisor_ctl }}" - when: not disable_edx_services - tags: - - "manage" - - "manage:start" +# cmscom@2019-03-04 +#- name: restart notifier-celery-workers +# supervisorctl: +# name: "notifier-celery-workers" +# state: restarted +# config: "{{ supervisor_cfg }}" +# supervisorctl_path: "{{ supervisor_ctl }}" +# when: not disable_edx_services +# tags: +# - "manage" +# - "manage:start" diff --git a/util/install/env_hawthorn b/util/install/env_hawthorn new file mode 100644 index 00000000000..c3480718a8e --- /dev/null +++ b/util/install/env_hawthorn @@ -0,0 +1,3 @@ +#!/bin/sh +export OPENEDX_RELEASE=open-release/hawthorn.master +export OPENEDX_RELEASE2=cmscom/hawthorn.master-from-ginkgo diff --git a/util/install/generate-passwords.sh b/util/install/generate-passwords.sh index 417a7e9c39e..ca748d8d466 100755 --- a/util/install/generate-passwords.sh +++ b/util/install/generate-passwords.sh @@ -3,8 +3,9 @@ # Read a list of Ansible variables that should have generated values, and make # a new file just like it, with the generated values. -TARGET=${OPENEDX_RELEASE-master} -wget -q "https://raw.githubusercontent.com/edx/configuration/$TARGET/playbooks/sample_vars/passwords.yml" -O passwords-template.yml +#TARGET=${OPENEDX_RELEASE-master} +TARGET=${OPENEDX_RELEASE2} +wget -q "https://raw.githubusercontent.com/cmscom/configuration/$TARGET/playbooks/sample_vars/passwords.yml" -O passwords-template.yml while IFS= read -r line; do # Make a random string. SECRET_KEY's should be longer. diff --git a/util/install/native-insights.sh b/util/install/native-insights.sh new file mode 100644 index 00000000000..d61a31e970e --- /dev/null +++ b/util/install/native-insights.sh @@ -0,0 +1,135 @@ +#!/bin/bash +## +## Installs the pre-requisites for running Open edX on a single Ubuntu 16.04 +## instance. This script is provided as a convenience and any of these +## steps could be executed manually. +## +## Note that this script requires that you have the ability to run +## commands as root via sudo. Caveat Emptor! +## + +## +## Sanity checks +## + +if [[ ! $OPENEDX_RELEASE ]]; then + echo "You must define OPENEDX_RELEASE" + exit +fi + +if [[ `lsb_release -rs` != "16.04" ]]; then + echo "This script is only known to work on Ubuntu 16.04, exiting..." + exit +fi + +## +## Log what's happening +## + +mkdir -p logs +log_file=logs/install-$(date +%Y%m%d-%H%M%S).log +exec > >(tee $log_file) 2>&1 +echo "Capturing output to $log_file" +echo "Installation started at $(date '+%Y-%m-%d %H:%M:%S')" + +function finish { + echo "Installation finished at $(date '+%Y-%m-%d %H:%M:%S')" +} +trap finish EXIT + +echo "Installing release '$OPENEDX_RELEASE'" + +## +## Set ppa repository source for gcc/g++ 4.8 in order to install insights properly +## +sudo apt-get install -y python-software-properties +sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test + +## +## Update and Upgrade apt packages +## +sudo apt-get update -y +sudo apt-get upgrade -y + +## added require modules. @cmscom +sudo apt-get install -y mariadb-client + +## +## Install system pre-requisites +## +sudo apt-get install -y build-essential software-properties-common curl git-core libxml2-dev libxslt1-dev python-pip libmysqlclient-dev python-apt python-dev libxmlsec1-dev libfreetype6-dev swig gcc g++ +sudo pip install --upgrade pip==9.0.3 +sudo pip install --upgrade setuptools==39.0.1 +sudo -H pip install --upgrade virtualenv==15.2.0 + +## +## Overridable version variables in the playbooks. Each can be overridden +## individually, or with $OPENEDX_RELEASE. +## +VERSION_VARS=( + edx_platform_version + certs_version + forum_version + xqueue_version + configuration_version + demo_version + NOTIFIER_VERSION + INSIGHTS_VERSION + ANALYTICS_API_VERSION + ECOMMERCE_VERSION + ECOMMERCE_WORKER_VERSION + DISCOVERY_VERSION +) + +for var in ${VERSION_VARS[@]}; do + # Each variable can be overridden by a similarly-named environment variable, + # or OPENEDX_RELEASE, if provided. + ENV_VAR=$(echo $var | tr '[:lower:]' '[:upper:]') + eval override=\${$ENV_VAR-\$OPENEDX_RELEASE} + if [ -n "$override" ]; then + EXTRA_VARS="-e $var=$override $EXTRA_VARS" + fi +done + +# my-passwords.yml is the file made by generate-passwords.sh. +if [[ -f my-passwords.yml ]]; then + EXTRA_VARS="-e@$(pwd)/my-passwords.yml $EXTRA_VARS" +fi + +CONFIGURATION_VERSION=${CONFIGURATION_VERSION-$OPENEDX_RELEASE} + +## +## Clone the configuration repository and run Ansible +## +cd /var/tmp +git clone https://github.com/cmscom/configuration +cd configuration +#git checkout $CONFIGURATION_VERSION +git checkout cmscom/ginkgo.master-terada-201808 +git pull + +## +## Install the ansible requirements +## +cd /var/tmp/configuration +sudo -H pip install -r requirements.txt + +## +## Run the edx_sandbox.yml playbook in the configuration/playbooks directory +## +cd /var/tmp/configuration/playbooks && sudo -E ansible-playbook -c local ./analytics_single_cmscom.yml -i "localhost," $EXTRA_VARS "$@" +ansible_status=$? + +if [[ $ansible_status -ne 0 ]]; then + echo " " + echo "========================================" + echo "Ansible failed!" + echo "----------------------------------------" + echo "If you need help, see https://open.edx.org/getting-help ." + echo "When asking for help, please provide as much information as you can." + echo "These might be helpful:" + echo " Your log file is at $log_file" + echo " Your environment:" + env | egrep -i 'version|release' | sed -e 's/^/ /' + echo "========================================" +fi diff --git a/util/install/native.sh b/util/install/native.sh index f83272a60f7..266c905a9fa 100644 --- a/util/install/native.sh +++ b/util/install/native.sh @@ -51,6 +51,9 @@ sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo apt-get update -y sudo apt-get upgrade -y +## added require modules. @cmscom +sudo apt-get install -y mariadb-client + ## ## Install system pre-requisites ## @@ -100,9 +103,10 @@ CONFIGURATION_VERSION=${CONFIGURATION_VERSION-$OPENEDX_RELEASE} ## Clone the configuration repository and run Ansible ## cd /var/tmp -git clone https://github.com/edx/configuration +git clone https://github.com/cmscom/configuration cd configuration -git checkout $CONFIGURATION_VERSION +#git checkout $CONFIGURATION_VERSION +git checkout cmscom/hawthorn.master-from-ginkgo git pull ## @@ -114,7 +118,7 @@ sudo -H pip install -r requirements.txt ## ## Run the edx_sandbox.yml playbook in the configuration/playbooks directory ## -cd /var/tmp/configuration/playbooks && sudo -E ansible-playbook -c local ./edx_sandbox.yml -i "localhost," $EXTRA_VARS "$@" +cd /var/tmp/configuration/playbooks && sudo -E ansible-playbook -c local ./edx_cmscom.yml -i "localhost," $EXTRA_VARS "$@" ansible_status=$? if [[ $ansible_status -ne 0 ]]; then diff --git a/util/vpc-tools/abbey.py b/util/vpc-tools/abbey.py index a8067d3cf46..6ef52588d16 100644 --- a/util/vpc-tools/abbey.py +++ b/util/vpc-tools/abbey.py @@ -330,6 +330,7 @@ def create_instance_args(): VIRTUAL_ENV_VERSION="15.2.0" PIP_VERSION="9.0.3" SETUPTOOLS_VERSION="39.0.1" +EDX_PPA="deb http://ppa.edx.org precise main" EDX_PPA_KEY_SERVER="keyserver.ubuntu.com" EDX_PPA_KEY_ID="B41E5E3969464050"