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
OpenEdx
configuration
Commits
7dceecde
Commit
7dceecde
authored
Jul 29, 2013
by
John Jarvis
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #180 from edx/jarv/forum-cleanup
forum role cleanup
parents
ccf3521b
6b136f80
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
203 additions
and
66 deletions
+203
-66
playbooks/edx-east/edx_sandbox.yml
+29
-0
playbooks/roles/edxapp/vars/main.yml
+2
-2
playbooks/roles/edxlocal/tasks/main.yml
+8
-1
playbooks/roles/elasticsearch/tasks/main.yml
+23
-16
playbooks/roles/elasticsearch/vars/main.yml
+2
-3
playbooks/roles/forum/handlers/main.yml
+3
-2
playbooks/roles/forum/tasks/deploy.yml
+15
-6
playbooks/roles/forum/tasks/main.yml
+22
-7
playbooks/roles/forum/tasks/test.yml
+2
-3
playbooks/roles/forum/vars/main.yml
+5
-5
playbooks/roles/oraclejdk/tasks/main.yml
+25
-4
playbooks/roles/rbenv/tasks/main.yml
+67
-17
No files found.
playbooks/edx-east/edx_sandbox.yml
0 → 100644
View file @
7dceecde
---
# This playbook is to configuration
# the official edX sandbox instance
# sandbox.edx.org
-
name
:
Configure instance(s)
hosts
:
tag_Name_edx-sandbox
sudo
:
True
gather_facts
:
True
vars
:
migrate_db
:
True
mysql5_workaround
:
True
vars_files
:
-
"
{{
secure_dir
}}/vars/edx_sandbox.yml"
roles
:
-
common
-
nginx
-
edxlocal
# - edxapp
# - rabbitmq
# - oraclejdk
# - elasticsearch
# - { role: 'edxapp', celery_worker: True }
-
role
:
rbenv
rbenv_user
:
"
{{
forum_user
}}"
rbenv_user_home
:
"
{{
forum_home
}}"
rbenv_ruby_version
:
"
{{
forum_ruby_version
}}"
-
forum
playbooks/roles/edxapp/vars/main.yml
View file @
7dceecde
...
...
@@ -116,10 +116,10 @@ generic_env_config: &edxapp_generic_env
'
KEY_PREFIX'
:
'
integration_celery'
'
CELERY_BROKER_TRANSPORT'
:
'
amqp'
'
CELERY_BROKER_HOSTNAME'
:
'
'
'
COMMENTS_SERVICE_URL'
:
'
'
'
COMMENTS_SERVICE_URL'
:
'
http://localhost:4567
'
'
LOGGING_ENV'
:
'
sandbox'
'
SESSION_COOKIE_DOMAIN'
:
!!null
'
COMMENTS_SERVICE_KEY'
:
'
'
'
COMMENTS_SERVICE_KEY'
:
'
password
'
'
SEGMENT_IO_LMS'
:
true
'
CODE_JAIL'
:
'
limits'
:
...
...
playbooks/roles/edxlocal/tasks/main.yml
View file @
7dceecde
...
...
@@ -56,12 +56,19 @@
-
name
:
wait for mongo server to start
wait_for
:
port=27017 delay=2
-
name
:
create a mongodb user
-
name
:
create a mongodb user
for edxapp
mongodb_user
:
>
database=edxapp
name=edxapp
password=password
state=present
-
name
:
create a mongodb user for forums
mongodb_user
:
>
database=cs_comments_service
name=cs_comments_service
password=password
state=present
-
name
:
install memcached
apt
:
pkg=memcached state=present
playbooks/roles/elasticsearch/tasks/main.yml
View file @
7dceecde
-
name
:
elasticsearch | check for elasticsearch
command
:
test -f /var/tmp/elasticsearch-${elasticsearch_version}.deb
ignore_errors
:
true
register
:
elasticsearch_present
---
-
name
:
elasticsearch | download elasticsearch
get_url
:
url={{ elasticsearch_url }} dest=/var/tmp/{{ elasticsearch_file }}
when
:
elasticsearch_present|failed
tags
:
-
elasticsearch
-
install
# elasticsearch
#
# Dependencies:
#
# * common
# * oraclejdk
#
# Example play:
#
# roles:
# - common
# - oraclejdk
# - elasticsearch
-
name
:
elasticsearch | check elasticsearch version
shell
:
test -n "$(dpkg --list elasticsearch | grep {{ elasticsearch_version }})"
ignore_errors
:
true
register
:
elasticsearch_installed
-
name
:
elasticsearch | download elasticsearch
get_url
:
>
url={{ elasticsearch_url }}
dest=/var/tmp/{{ elasticsearch_file }}
force=no
-
name
:
elasticsearch | install elasticsearch from local package
shell
:
executable=/bin/bash dpkg -i /var/tmp/elasticsearch-${elasticsearch_version}.deb
when
:
elasticsearch_installed|failed
shell
:
>
dpkg -i /var/tmp/elasticsearch-{{ elasticsearch_version }}.deb
executable=/bin/bash
creates=/usr/share/elasticsearch/bin/elasticsearch
tags
:
-
elasticsearch
-
install
playbooks/roles/elasticsearch/vars/main.yml
View file @
7dceecde
...
...
@@ -2,5 +2,5 @@
elasticsearch_version
:
"
0.90.2"
elasticsearch_sha
:
"
397227ce37f616734f39f6e93539c9eaa82bec9"
elasticsearch_file
:
"
elasticsearch-${elastic_search_version}.deb"
elasticsearch_url
:
"
https://download.elasticsearch.org/elasticsearch/elasticsearch/{{
elastic_search_file
}}"
\ No newline at end of file
elasticsearch_file
:
"
elasticsearch-{{
elasticsearch_version
}}.deb"
elasticsearch_url
:
"
https://download.elasticsearch.org/elasticsearch/elasticsearch/{{
elasticsearch_file
}}"
playbooks/roles/forum/handlers/main.yml
View file @
7dceecde
---
-
name
:
forum | restart the forum service
service
:
name=cs_comments_service state=restarted
\ No newline at end of file
service
:
name=cs_comments_service state=restarted
playbooks/roles/forum/tasks/deploy.yml
View file @
7dceecde
---
-
name
:
forum | stop the forum service
service
:
name=cs_comments_service state=stopped
tags
:
-
deploy
-
name
:
forum | git checkout forum repo into {{ forum_code_dir }}
git
:
dest={{ forum_code_dir }} repo={{ forum_source_repo }} version={{ forum_version }}
sudo
:
yes
sudo_user
:
"
{{
forum_user
}}
"
sudo_user
:
"
{{
forum_user
}}"
notify
:
-
forum | restart the forum service
tags
:
...
...
@@ -12,8 +19,11 @@
shell
:
executable=/bin/bash {{ forum_home }}/.rbenv/shims/bundle install chdir={{ forum_code_dir }}
sudo
:
yes
sudo_user
:
"
{{
forum_user
}}"
notify
:
-
forum | restart the forum service
tags
:
-
forum
-
deploy
\ No newline at end of file
-
forum
-
deploy
-
name
:
forum | restart the forum service
service
:
name=cs_comments_service state=restarted
tags
:
-
deploy
playbooks/roles/forum/tasks/main.yml
View file @
7dceecde
---
# forum
#
# This role depends upon the rbenv role which needs to
# be included in the same playbook prior to this role.
# Dependencies:
#
# * common
# * elasticsearch
# * oraclejdk
# * rbenv
#
#
# Example play:
# roles:
# - common
# - oraclejdk
# - elasticsearch
# - role: rbenv
# rbenv_user: "{{ forum_user }}"
# rbenv_user_home: "{{ forum_rbenv_dir }}"
# rbenv_ruby_version: "{{ forum_ruby_version }}"
# - forum
-
name
:
forum | setup the forum env
template
:
src=forum_env.j2 dest={{ forum_home }}/forum_env owner={{ forum_user }} group={{ forum_user }}
...
...
@@ -40,17 +56,17 @@
tags
:
-
forum
-
install
only_if
:
"
'${ansible_distribution}'
==
'Debian'"
when
:
ansible_distribution == 'Debian'
-
name
:
forum | copy cs_comments_service upstart script
template
:
src=cs_comments_service.conf.j2 dest=/etc/init/cs_comments_service.conf owner=root group=root mode=
750
template
:
src=cs_comments_service.conf.j2 dest=/etc/init/cs_comments_service.conf owner=root group=root mode=
644
notify
:
-
forum | restart the forum service
tags
:
-
forum
-
install
only_if
:
"
'${ansible_distribution}'
==
'Ubuntu'"
when
:
ansible_distribution == 'Ubuntu'
-
include
:
deploy.yml
-
include
:
test.yml
\ No newline at end of file
-
include
:
test.yml
playbooks/roles/forum/tasks/test.yml
View file @
7dceecde
---
-
name
:
forum | test that the required service are listening
wait_for
:
port={{ item.port }} timeout=1
wait_for
:
port={{ item.port }} timeout=1
0
with_items
:
"
{{
forum_services
}}"
tags
:
-
forum
-
test
\ No newline at end of file
-
test
playbooks/roles/forum/vars/main.yml
View file @
7dceecde
---
forum_user
:
"
forum"
forum_home
:
"
/opt/forum"
forum_home
:
"
/opt/
wwc/
forum"
forum_ruby_version
:
"
1.9.3-p448"
forum_code_dir
:
"
{{
forum_home
}}/cs_comments_service"
forum_source_repo
:
"
https://github.com/edx/cs_comments_service.git"
...
...
@@ -10,10 +10,11 @@ forum_mongo_user: "cs_comments_service"
forum_mongo_password
:
"
password"
forum_mongo_host
:
"
localhost"
forum_mongo_port
:
"
27010"
forum_mongo_url
:
"
mongodb://{{
forum_mongo_user
}}:{{
forum_mongo_password
}}@{{
formum_mongo_host
}}:{{
forum_mongo_port
}}/{{
forum_mongo_database
}}"
forum_mongo_database
:
"
cs_comments_service"
forum_mongo_url
:
"
mongodb://{{
forum_mongo_user
}}:{{
forum_mongo_password
}}@{{
forum_mongo_host
}}:{{
forum_mongo_port
}}/{{
forum_mongo_database
}}"
forum_rack_env
:
"
development"
forum_sinatra_env
:
"
development"
forum_api_
id
:
"
tX5Dslg1y3OsCpFzRq
"
forum_api_
key
:
"
password
"
forum_elasticsearch_host
:
"
localhost"
forum_elasticsearch_port
:
"
9200"
forum_elasticsearch_url
:
"
http://{{
forum_elasticsearch_host
}}:{{
forum_elasticsearch_port
}}"
...
...
@@ -31,4 +32,4 @@ forum_services:
-
{
service
:
"
mongo"
,
host
:
"
{{
forum_mongo_host
}}"
,
port
:
"
27017"
}
-
{
service
:
"
mongo"
,
host
:
"
{{
forum_mongo_host
}}"
,
port
:
"
28017"
}
-
{
service
:
"
elasticsearch"
,
host
:
"
{{
forum_elasticsearch_host
}}"
,
port
:
"
9200"
}
-
{
service
:
"
elasticsearch"
,
host
:
"
{{
forum_elasticsearch_host
}}"
,
port
:
"
9300"
}
\ No newline at end of file
-
{
service
:
"
elasticsearch"
,
host
:
"
{{
forum_elasticsearch_host
}}"
,
port
:
"
9300"
}
playbooks/roles/oraclejdk/tasks/main.yml
View file @
7dceecde
---
# oraclejdk
#
# Dependencies:
#
# * common
#
# Example play:
#
# roles:
# - common
# - oraclejdk
-
name
:
oraclejdk | check for Oracle Java version {{ oraclejdk_base }}
command
:
test -d /usr/lib/jvm/{{ oraclejdk_base }}
ignore_errors
:
true
...
...
@@ -7,11 +21,19 @@
-
install
-
name
:
oraclejdk | download Oracle Java
shell
:
executable="/bin/bash curl -b gpw_e24=http%3A%2F%2Fwww.oracle.com -O -L {{ oraclejdk_url }} chdir=/var/tmp" creates="/var/tmp/{ oraclejdk_file }"
shell
:
>
curl -b gpw_e24=http%3A%2F%2Fwww.oracle.com -O -L {{ oraclejdk_url }}
executable=/bin/bash
chdir=/var/tmp
creates=/var/tmp/{{ oraclejdk_file }}
when
:
oraclejdk_present|failed
-
name
:
oraclejdk | install Oracle Java
shell
:
exectuable=/bin/bash mkdir -p /usr/lib/jvm && tar -C /usr/lib/jvm -zxvf /var/tmp/{{ oraclejdk_file }} creates="/usr/lib/jvm/{{ oraclejdk_base }}"
shell
:
>
mkdir -p /usr/lib/jvm && tar -C /usr/lib/jvm -zxvf /var/tmp/{{ oraclejdk_file }}
creates=/usr/lib/jvm/{{ oraclejdk_base }}
exectuable=/bin/bash
sudo
:
true
when
:
oraclejdk_present|failed
tags
:
...
...
@@ -30,4 +52,4 @@
when
:
oraclejdk_present|failed
tags
:
-
oraclejdk
-
install
\ No newline at end of file
-
install
playbooks/roles/rbenv/tasks/main.yml
View file @
7dceecde
---
# rbenv
#
# Dependencies:
#
# * common
#
# Example play:
#
# roles:
# - common
# - role: rbenv
# rbenv_user: "{{ forum_user }}"
# rbenv_user_home: "{{ forum_rbenv_dir }}"
# rbenv_ruby_version: "{{ forum_ruby_version }}"
#
# Parameters:
#
# * rbenv_user
# * rbenv_user_home
# * rbenv_ruby_version
#
# cribbed from https://github.com/mmoya/ansible-playbooks/blob/master/rbenv/main.yml
# with a number of changes.
...
...
@@ -12,21 +34,35 @@
-
fail
:
rbenv_ruby_version required for role
when
:
rbenv_ruby_version is not defined
#
# It's unfortunate that this needs to happen here,
# but the rbenv needs to exist when the service
# that relies on it is provisioned and the service
# user and it's home needs to exist for rbenv to
# install into.
#
-
name
:
rbenv | create rbenv owner $forum_user
user
:
name=$forum_user state=present shell=/bin/bash home=$forum_home
-
name
:
rbenv | create {{ rbenv_user_home }}
# workaround for the case where the parent
# directory doesn't exist
file
:
>
path={{ rbenv_user_home }}
state=directory
-
name
:
rbenv | create rbenv user {{ rbenv_user }}
user
:
>
name={{ rbenv_user }}
state=present
shell=/bin/bash
home={{ rbenv_user_home }}
createhome=yes
tags
:
-
forum
-
update
-
name
:
rbenv | ensure homedir permissions {{ rbenv_user_home }}
# workaround for the case where the parent
# directory doesn't exist
file
:
>
path={{ rbenv_user_home }}
owner={{ rbenv_user }}
group={{ rbenv_user }}
state=directory
-
name
:
rbenv | install build depends
apt
:
pkg=
$item
state=present install_recommends=no
apt
:
pkg=
{{ item }}
state=present install_recommends=no
with_items
:
-
build-essential
-
git
...
...
@@ -42,7 +78,10 @@
-
install
-
name
:
rbenv | update rbenv repo
git
:
repo=https://github.com/sstephenson/rbenv.git dest={{ rbenv_user_home }}/.rbenv version={{ rbenv_version }}
git
:
>
repo=https://github.com/sstephenson/rbenv.git
dest={{ rbenv_user_home }}/.rbenv
version={{ rbenv_version }}
sudo
:
true
sudo_user
:
"
{{
rbenv_user
}}"
tags
:
...
...
@@ -58,11 +97,19 @@
-
update
-
name
:
rbenv | drop a bash_profile
copy
:
src=../../common/files/bash_profile dest={{ rbenv_user_home }}/.bash_profile owner={{ rbenv_user }} group={{ rbenv_user }}
copy
:
>
src=../../common/files/bash_profile
dest={{ rbenv_user_home }}/.bash_profile
owner={{ rbenv_user }}
group={{ rbenv_user }}
-
name
:
rbenv | ensure ruby_env exists
template
:
src=ruby_env.j2 dest={{ rbenv_user_home }}/ruby_env owner={{ rbenv_user }} group={{ rbenv_user }}
template
:
>
src=ruby_env.j2
dest={{ rbenv_user_home }}/ruby_env
owner={{ rbenv_user }}
group={{ rbenv_user }}
tags
:
-
ruby
-
update
...
...
@@ -74,7 +121,11 @@
line='. {{ rbenv_user_home }}/ruby_env'
-
name
:
rbenv | drop a bash_profile
copy
:
src=../../common/files/bash_profile dest={{ rbenv_user_home }}/.bash_profile owner={{ rbenv_user }} group={{ rbenv_user }}
copy
:
>
src=../../common/files/bash_profile
dest={{ rbenv_user_home }}/.bash_profile
owner={{ rbenv_user }}
group={{ rbenv_user }}
-
name
:
rbenv | check ruby-build installed
command
:
test -x /usr/local/bin/ruby-build
...
...
@@ -95,7 +146,7 @@
-
install
-
name
:
rbenv | clone ruby-build repo
git
:
repo=https://github.com/sstephenson/ruby-build.git dest=
${tempdir.stdout
}/ruby-build
git
:
repo=https://github.com/sstephenson/ruby-build.git dest=
{{ tempdir.stdout }
}/ruby-build
when
:
rbuild_present|failed
sudo
:
true
sudo_user
:
"
{{
rbenv_user
}}"
...
...
@@ -160,4 +211,4 @@
when
:
ruby_installed|failed
tags
:
-
ruby
-
install
\ No newline at end of file
-
install
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