Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
cb4fba6
Pin the discovery version to the release we want
Jul 7, 2017
5a3b2d1
Copy pattern for delegating auth to the api, skipping basic auth, fro…
Jul 13, 2017
eda65fd
upgrade node version to 6.11.1
arizzitano Jul 11, 2017
9054985
Vagrantfile updates for ginkgo, and ficus changes that never made it …
Jul 14, 2017
df9b575
Fullstack memory bumps from ficus that never made it to master.
Jul 15, 2017
bb5bc41
Have to pin analytics code to the right version
Jul 17, 2017
77f39b9
No more need for SANDBOX_ENABLE_ECOMMERCE
Jul 17, 2017
4e839bb
Add optional task to rebuild the forum elasticsearch index
pomegranited Jul 14, 2017
c5ff0aa
Merge pull request #4001 from open-craft/jill/ginkgo/forum-rebuild-index
gsong Jul 25, 2017
9da256a
Revert "Revert "[asadiqbal08/ENT-322] Add 'enterprise_worker' user to…
Jul 28, 2017
3c10c04
Merge pull request #4027 from edx/douglashall/enterprise_worker
nedbat Aug 3, 2017
05cca2b
sandbox.sh will use command-line args for the big playbook run
Aug 9, 2017
8f6dd7b
Vagrantfile updates for ginkgo.1
Aug 14, 2017
67b4c16
Adding all defaults required for VIDEO_IMAGE_SETTINGS
macdiesel Jul 11, 2017
bad6a43
Updated forum tags to update env settings on configuration
blarghmatey Aug 17, 2017
3d66402
Added a way to override having the aws role be installed. In cases wh…
shaidar Jul 31, 2017
4bb7064
Exposed configuration of atomic requests
blarghmatey Sep 25, 2017
af71be8
ignore node_modules directory while compiling python files
ziafazal Sep 19, 2017
b680fe8
Merge pull request #4126 from edx/george/ospr-1876-ginkgo
gsong Oct 3, 2017
9d6eb34
Vagrantfile changes for ginkgo.2
Dec 14, 2017
e1dfcae
Override DISCOVERY_VERSION in install script
myleshk Jan 12, 2018
78406b8
Upgrade setuptools, pip, and virtualenv
jmbowman Mar 28, 2018
d6a17a2
Add git status to this diagnostic helper
Jul 11, 2018
90a27ef
sandbox.sh -> native.sh, with improvements
Jul 12, 2018
8a0b40a
Check that git working trees are clean
Jul 10, 2018
4964ff7
added README for my config
terapyon Aug 27, 2018
f6355d7
added edx remote config for CMScom
terapyon Aug 27, 2018
dc6f0b9
remove ec and insite
terapyon Aug 27, 2018
bd6b1f2
Update generate-passwords.sh
ringobouya Aug 28, 2018
60e3c08
Update native.sh
ringobouya Aug 28, 2018
f932deb
Update native.sh
ringobouya Aug 28, 2018
0f69d10
Update native.sh
ringobouya Aug 28, 2018
5d49eb4
Update main.yml
ringobouya Aug 28, 2018
8e333ab
Update native.sh
ringobouya Aug 30, 2018
2835f32
Update native.sh
ringobouya Aug 30, 2018
1466a60
Update main.yml
ringobouya Aug 30, 2018
7532dd4
Update create_mongo_users.yml
ringobouya Aug 30, 2018
393ab02
Update edx_cmscom.yml
ringobouya Aug 30, 2018
e967aba
added symlink
ringobouya Aug 30, 2018
19999ab
Update edx_cmscom.yml
ringobouya Aug 30, 2018
6be479a
Update edx_cmscom.yml
ringobouya Aug 30, 2018
06833d2
Delete create_mongo_users.yml
ringobouya Aug 30, 2018
ac928fc
Update edx_cmscom.yml
ringobouya Aug 30, 2018
1130bb7
Update edx_cmscom.yml
ringobouya Aug 30, 2018
f0878bf
Update create_mongo_users.yml
ringobouya Aug 30, 2018
f6ca1e3
Update create_mongo_users.yml
ringobouya Aug 30, 2018
15b4cda
Update deploy.yml
ringobouya Oct 12, 2018
1b52b55
Create analytics_single_cmscom.yml
ringobouya Oct 30, 2018
4412388
Create native-insights.sh
ringobouya Oct 30, 2018
583fc8d
Update analytics_single_cmscom.yml
ringobouya Oct 30, 2018
c09c41b
Update main.yml
ringobouya Oct 30, 2018
7a2db7c
Update main.yml
ringobouya Nov 1, 2018
bc3f194
Update edx_cmscom.yml
ringobouya Feb 21, 2019
43d7265
Update main.yml
ringobouya Feb 26, 2019
188c732
Update deploy.yml
ringobouya Mar 4, 2019
72aec1a
Update analytics_single_cmscom.yml
ringobouya Mar 14, 2019
927bfbd
Merge pull request #1 from cmscom/cmscom/ginkgo.master-terada-201808
terapyon Jul 3, 2019
d9d9c43
Merge branch 'cmscom/ginkgo.master' into cmscom/hawthorn.master-from-…
terapyon Jul 4, 2019
ca82221
forgot adding files
terapyon Jul 4, 2019
b47eea7
Update edx_cmscom.yml
ringobouya Jul 19, 2019
77ccb2d
Create env_hawthorn
ringobouya Jul 19, 2019
72bc377
Update native.sh
ringobouya Jul 19, 2019
06a4187
Update generate-passwords.sh
ringobouya Aug 6, 2019
62cd28d
use edx local
terapyon Dec 19, 2019
bfb6fb6
Install mongo for local
terapyon Dec 20, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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"`.
Expand Down
6 changes: 6 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Configuration Management
########################

About
**********

fro CMScom config


Introduction
************

Expand Down
22 changes: 22 additions & 0 deletions playbooks/analytics_single_cmscom.yml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions playbooks/create_mongo_users.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}"
Expand Down
101 changes: 101 additions & 0 deletions playbooks/edx_cmscom.yml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions playbooks/edx_sandbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
- lms
- forum
- xqueue
- ecommerce
nginx_default_sites:
- lms
- role: edxlocal
Expand All @@ -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
Expand Down
20 changes: 11 additions & 9 deletions playbooks/roles/analytics_pipeline/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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' ' '"
Expand Down
63 changes: 63 additions & 0 deletions playbooks/roles/edxremote/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -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) }}"
}
4 changes: 4 additions & 0 deletions playbooks/roles/edxremote/meta/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
dependencies:
- common
# - mysql
109 changes: 109 additions & 0 deletions playbooks/roles/edxremote/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -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'

Loading