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
64891052
Commit
64891052
authored
Feb 03, 2016
by
Tim Krones
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Vagrantfiles and playbook for analyticstack.
parent
947eedfe
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
84 additions
and
101 deletions
+84
-101
playbooks/vagrant-analytics.yml
+12
-0
vagrant/base/analyticstack/Vagrantfile
+31
-58
vagrant/release/analyticstack/Vagrantfile
+41
-43
No files found.
playbooks/vagrant-analytics.yml
View file @
64891052
...
@@ -14,8 +14,10 @@
...
@@ -14,8 +14,10 @@
EDXAPP_LMS_BASE
:
127.0.0.1:8000
EDXAPP_LMS_BASE
:
127.0.0.1:8000
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"
roles
:
roles
:
-
common
-
common
-
vhost
-
edx_ansible
-
edx_ansible
-
mysql
-
mysql
-
edxlocal
-
edxlocal
...
@@ -24,7 +26,17 @@
...
@@ -24,7 +26,17 @@
-
oraclejdk
-
oraclejdk
-
elasticsearch
-
elasticsearch
-
forum
-
forum
-
ecommerce
-
ecomworker
-
{
role
:
'
rabbitmq'
,
rabbitmq_ip
:
'
127.0.0.1'
}
-
programs
-
role
:
notifier
NOTIFIER_DIGEST_TASK_INTERVAL
:
"
5"
-
browsers
-
browsermob-proxy
-
local_dev
-
demo
-
demo
-
oauth_client_setup
-
analytics_api
-
analytics_api
-
analytics_pipeline
-
analytics_pipeline
-
insights
-
insights
...
...
vagrant/base/analyticstack/Vagrantfile
View file @
64891052
...
@@ -8,20 +8,9 @@ VAGRANTFILE_API_VERSION = "2"
...
@@ -8,20 +8,9 @@ VAGRANTFILE_API_VERSION = "2"
MEMORY
=
4096
MEMORY
=
4096
CPU_COUNT
=
2
CPU_COUNT
=
2
edx_platform_mount_dir
=
"edx-platform"
vm_guest_ip
=
"192.168.33.10"
themes_mount_dir
=
"themes"
if
ENV
[
"VAGRANT_GUEST_IP"
]
forum_mount_dir
=
"cs_comments_service"
vm_guest_ip
=
ENV
[
"VAGRANT_GUEST_IP"
]
insights_mount_dir
=
"insights"
analytics_api_mount_dir
=
"analytics_api"
if
ENV
[
'VAGRANT_MOUNT_BASE'
]
edx_platform_mount_dir
=
ENV
[
'VAGRANT_MOUNT_BASE'
]
+
"/"
+
edx_platform_mount_dir
themes_mount_dir
=
ENV
[
'VAGRANT_MOUNT_BASE'
]
+
"/"
+
themes_mount_dir
forum_mount_dir
=
ENV
[
'VAGRANT_MOUNT_BASE'
]
+
"/"
+
forum_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
Vagrant
.
configure
(
VAGRANTFILE_API_VERSION
)
do
|
config
|
Vagrant
.
configure
(
VAGRANTFILE_API_VERSION
)
do
|
config
|
...
@@ -30,57 +19,34 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
...
@@ -30,57 +19,34 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config
.
vm
.
box
=
"precise64"
config
.
vm
.
box
=
"precise64"
config
.
vm
.
box_url
=
"http://files.vagrantup.com/precise64.box"
config
.
vm
.
box_url
=
"http://files.vagrantup.com/precise64.box"
config
.
vm
.
network
:private_network
,
ip:
"192.168.33.10"
config
.
vm
.
network
:private_network
,
ip:
vm_guest_ip
config
.
vm
.
network
:forwarded_port
,
guest:
8000
,
host:
8000
# LMS
config
.
vm
.
network
:forwarded_port
,
guest:
8001
,
host:
8001
# Studio
# If you want to run the box but don't need network ports, set VAGRANT_NO_PORTS=1.
config
.
vm
.
network
:forwarded_port
,
guest:
8003
,
host:
8003
# LMS for Bok Choy
# This is useful if you want to run more than one box at once.
config
.
vm
.
network
:forwarded_port
,
guest:
8031
,
host:
8031
# Studio for Bok Choy
if
not
ENV
[
'VAGRANT_NO_PORTS'
]
config
.
vm
.
network
:forwarded_port
,
guest:
8120
,
host:
8120
# edX Notes Service
config
.
vm
.
network
:forwarded_port
,
guest:
8000
,
host:
8000
# LMS
config
.
vm
.
network
:forwarded_port
,
guest:
8765
,
host:
8765
config
.
vm
.
network
:forwarded_port
,
guest:
8001
,
host:
8001
# Studio
config
.
vm
.
network
:forwarded_port
,
guest:
9200
,
host:
9200
config
.
vm
.
network
:forwarded_port
,
guest:
8002
,
host:
8002
# Ecommerce
config
.
vm
.
network
:forwarded_port
,
guest:
18080
,
host:
18080
config
.
vm
.
network
:forwarded_port
,
guest:
8003
,
host:
8003
# LMS for Bok Choy
config
.
vm
.
network
:forwarded_port
,
guest:
8100
,
host:
8100
# Analytics Data API
config
.
vm
.
network
:forwarded_port
,
guest:
8004
,
host:
8004
# Programs
config
.
vm
.
network
:forwarded_port
,
guest:
8110
,
host:
8110
# Insights
config
.
vm
.
network
:forwarded_port
,
guest:
8031
,
host:
8031
# Studio for Bok Choy
config
.
vm
.
network
:forwarded_port
,
guest:
50070
,
host:
50070
# HDFS Admin UI
config
.
vm
.
network
:forwarded_port
,
guest:
8120
,
host:
8120
# edX Notes Service
config
.
vm
.
network
:forwarded_port
,
guest:
8088
,
host:
8088
# Hadoop Resource Manager
config
.
vm
.
network
:forwarded_port
,
guest:
8765
,
host:
8765
config
.
ssh
.
insert_key
=
true
config
.
vm
.
network
:forwarded_port
,
guest:
9200
,
host:
9200
config
.
vm
.
network
:forwarded_port
,
guest:
18080
,
host:
18080
config
.
vm
.
network
:forwarded_port
,
guest:
8100
,
host:
8100
# Analytics Data API
config
.
vm
.
network
:forwarded_port
,
guest:
8110
,
host:
8110
# Insights
config
.
vm
.
network
:forwarded_port
,
guest:
50070
,
host:
50070
# HDFS Admin UI
config
.
vm
.
network
:forwarded_port
,
guest:
8088
,
host:
8088
# Hadoop Resource Manager
end
config
.
vm
.
synced_folder
"."
,
"/vagrant"
,
disabled:
true
config
.
ssh
.
insert_key
=
true
# Enable X11 forwarding so we can interact with GUI applications
# Enable X11 forwarding so we can interact with GUI applications
if
ENV
[
'VAGRANT_X11'
]
if
ENV
[
'VAGRANT_X11'
]
config
.
ssh
.
forward_x11
=
true
config
.
ssh
.
forward_x11
=
true
end
end
if
ENV
[
'VAGRANT_USE_VBOXFS'
]
==
'true'
config
.
vm
.
synced_folder
"
#{
edx_platform_mount_dir
}
"
,
"/edx/app/edxapp/edx-platform"
,
create:
true
,
owner:
"edxapp"
,
group:
"www-data"
config
.
vm
.
synced_folder
"
#{
themes_mount_dir
}
"
,
"/edx/app/edxapp/themes"
,
create:
true
,
owner:
"edxapp"
,
group:
"www-data"
config
.
vm
.
synced_folder
"
#{
forum_mount_dir
}
"
,
"/edx/app/forum/cs_comments_service"
,
create:
true
,
owner:
"forum"
,
group:
"www-data"
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"
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
config
.
vm
.
synced_folder
"
#{
edx_platform_mount_dir
}
"
,
"/edx/app/edxapp/edx-platform"
,
create:
true
,
nfs:
true
config
.
vm
.
synced_folder
"
#{
themes_mount_dir
}
"
,
"/edx/app/edxapp/themes"
,
create:
true
,
nfs:
true
config
.
vm
.
synced_folder
"
#{
forum_mount_dir
}
"
,
"/edx/app/forum/cs_comments_service"
,
create:
true
,
nfs:
true
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
config
.
vm
.
provider
:virtualbox
do
|
vb
|
config
.
vm
.
provider
:virtualbox
do
|
vb
|
vb
.
customize
[
"modifyvm"
,
:id
,
"--memory"
,
MEMORY
.
to_s
]
vb
.
customize
[
"modifyvm"
,
:id
,
"--memory"
,
MEMORY
.
to_s
]
vb
.
customize
[
"modifyvm"
,
:id
,
"--cpus"
,
CPU_COUNT
.
to_s
]
vb
.
customize
[
"modifyvm"
,
:id
,
"--cpus"
,
CPU_COUNT
.
to_s
]
...
@@ -107,6 +73,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
...
@@ -107,6 +73,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
if
ENV
[
'OPENEDX_RELEASE'
]
if
ENV
[
'OPENEDX_RELEASE'
]
ansible
.
extra_vars
=
{
ansible
.
extra_vars
=
{
edx_platform_version:
ENV
[
'OPENEDX_RELEASE'
],
edx_platform_version:
ENV
[
'OPENEDX_RELEASE'
],
configuration_version:
ENV
[
'OPENEDX_RELEASE'
],
certs_version:
ENV
[
'OPENEDX_RELEASE'
],
certs_version:
ENV
[
'OPENEDX_RELEASE'
],
forum_version:
ENV
[
'OPENEDX_RELEASE'
],
forum_version:
ENV
[
'OPENEDX_RELEASE'
],
xqueue_version:
ENV
[
'OPENEDX_RELEASE'
],
xqueue_version:
ENV
[
'OPENEDX_RELEASE'
],
...
@@ -118,5 +85,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
...
@@ -118,5 +85,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
if
ENV
[
'EDX_PLATFORM_VERSION'
]
if
ENV
[
'EDX_PLATFORM_VERSION'
]
ansible
.
extra_vars
[
'edx_platform_version'
]
=
ENV
[
'EDX_PLATFORM_VERSION'
]
ansible
.
extra_vars
[
'edx_platform_version'
]
=
ENV
[
'EDX_PLATFORM_VERSION'
]
end
end
if
ENV
[
'ECOMMERCE_VERSION'
]
ansible
.
extra_vars
[
'ECOMMERCE_VERSION'
]
=
ENV
[
'ECOMMERCE_VERSION'
]
end
if
ENV
[
'PROGRAMS_VERSION'
]
ansible
.
extra_vars
[
'PROGRAMS_VERSION'
]
=
ENV
[
'PROGRAMS_VERSION'
]
end
end
end
end
end
vagrant/release/analyticstack/Vagrantfile
View file @
64891052
Vagrant
.
require_version
">= 1.
5.3
"
Vagrant
.
require_version
">= 1.
6.5
"
unless
Vagrant
.
has_plugin?
(
"vagrant-vbguest"
)
unless
Vagrant
.
has_plugin?
(
"vagrant-vbguest"
)
raise
"Please install the vagrant-vbguest plugin by running `vagrant plugin install vagrant-vbguest`"
raise
"Please install the vagrant-vbguest plugin by running `vagrant plugin install vagrant-vbguest`"
end
end
...
@@ -21,20 +21,22 @@ ansible-playbook -i localhost, -c local vagrant-analytics.yml -e configuration_v
...
@@ -21,20 +21,22 @@ ansible-playbook -i localhost, -c local vagrant-analytics.yml -e configuration_v
SCRIPT
SCRIPT
edx_platform_mount_dir
=
"edx-platform"
MOUNT_DIRS
=
{
themes_mount_dir
=
"themes"
:edx_platform
=>
{
:repo
=>
"edx-platform"
,
:local
=>
"/edx/app/edxapp/edx-platform"
,
:owner
=>
"edxapp"
},
forum_mount_dir
=
"cs_comments_service"
:themes
=>
{
:repo
=>
"themes"
,
:local
=>
"/edx/app/edxapp/themes"
,
:owner
=>
"edxapp"
},
insights_mount_dir
=
"insights"
:forum
=>
{
:repo
=>
"cs_comments_service"
,
:local
=>
"/edx/app/forum/cs_comments_service"
,
:owner
=>
"forum"
},
analytics_api_mount_dir
=
"analytics_api"
:ecommerce
=>
{
:repo
=>
"ecommerce"
,
:local
=>
"/edx/app/ecommerce/ecommerce"
,
:owner
=>
"ecommerce"
},
:ecommerce_worker
=>
{
:repo
=>
"ecommerce-worker"
,
:local
=>
"/edx/app/ecommerce_worker/ecommerce_worker"
,
:owner
=>
"ecommerce_worker"
},
:programs
=>
{
:repo
=>
"programs"
,
:local
=>
"/edx/app/programs/programs"
,
:owner
=>
"programs"
},
:insights
=>
{
:repo
=>
"insights"
,
:local
=>
"/edx/app/insights/edx_analytics_dashboard"
,
:owner
=>
"insights"
},
:analytics_api
=>
{
:repo
=>
"analytics_api"
,
:local
=>
"/edx/app/analytics_api/analytics_api"
,
:owner
=>
"analytics_api"
},
# This src directory won't have useful permissions. You can set them from the
# vagrant user in the guest OS. "sudo chmod 0777 /edx/src" is useful.
:src
=>
{
:repo
=>
"src"
,
:local
=>
"/edx/src"
,
:owner
=>
"root"
},
}
if
ENV
[
'VAGRANT_MOUNT_BASE'
]
if
ENV
[
'VAGRANT_MOUNT_BASE'
]
MOUNT_DIRS
.
each
{
|
k
,
v
|
MOUNT_DIRS
[
k
][
:repo
]
=
ENV
[
'VAGRANT_MOUNT_BASE'
]
+
"/"
+
MOUNT_DIRS
[
k
][
:repo
]
}
edx_platform_mount_dir
=
ENV
[
'VAGRANT_MOUNT_BASE'
]
+
"/"
+
edx_platform_mount_dir
themes_mount_dir
=
ENV
[
'VAGRANT_MOUNT_BASE'
]
+
"/"
+
themes_mount_dir
forum_mount_dir
=
ENV
[
'VAGRANT_MOUNT_BASE'
]
+
"/"
+
forum_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
Vagrant
.
configure
(
VAGRANTFILE_API_VERSION
)
do
|
config
|
Vagrant
.
configure
(
VAGRANTFILE_API_VERSION
)
do
|
config
|
...
@@ -44,15 +46,25 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
...
@@ -44,15 +46,25 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config
.
vm
.
box_url
=
"http://files.edx.org/vagrant-images/analyticstack.box"
config
.
vm
.
box_url
=
"http://files.edx.org/vagrant-images/analyticstack.box"
config
.
vm
.
network
:private_network
,
ip:
"192.168.33.10"
config
.
vm
.
network
:private_network
,
ip:
"192.168.33.10"
config
.
vm
.
network
:forwarded_port
,
guest:
8000
,
host:
8000
config
.
vm
.
network
:forwarded_port
,
guest:
8001
,
host:
8001
# If you want to run the box but don't need network ports, set VAGRANT_NO_PORTS=1.
config
.
vm
.
network
:forwarded_port
,
guest:
18080
,
host:
18080
# This is useful if you want to run more than one box at once.
config
.
vm
.
network
:forwarded_port
,
guest:
8765
,
host:
8765
if
not
ENV
[
'VAGRANT_NO_PORTS'
]
config
.
vm
.
network
:forwarded_port
,
guest:
9200
,
host:
9200
config
.
vm
.
network
:forwarded_port
,
guest:
8000
,
host:
8000
# LMS
config
.
vm
.
network
:forwarded_port
,
guest:
8100
,
host:
8100
# Analytics Data API
config
.
vm
.
network
:forwarded_port
,
guest:
8001
,
host:
8001
# Studio
config
.
vm
.
network
:forwarded_port
,
guest:
8110
,
host:
8110
# Insights
config
.
vm
.
network
:forwarded_port
,
guest:
8002
,
host:
8002
# Ecommerce
config
.
vm
.
network
:forwarded_port
,
guest:
50070
,
host:
50070
# HDFS Admin UI
config
.
vm
.
network
:forwarded_port
,
guest:
8003
,
host:
8003
# LMS for Bok Choy
config
.
vm
.
network
:forwarded_port
,
guest:
8088
,
host:
8088
# Hadoop Resource Manager
config
.
vm
.
network
:forwarded_port
,
guest:
8031
,
host:
8031
# Studio for Bok Choy
config
.
vm
.
network
:forwarded_port
,
guest:
8120
,
host:
8120
# edX Notes Service
config
.
vm
.
network
:forwarded_port
,
guest:
8765
,
host:
8765
config
.
vm
.
network
:forwarded_port
,
guest:
9200
,
host:
9200
# Elasticsearch
config
.
vm
.
network
:forwarded_port
,
guest:
18080
,
host:
18080
# Forums
config
.
vm
.
network
:forwarded_port
,
guest:
8100
,
host:
8100
# Analytics Data API
config
.
vm
.
network
:forwarded_port
,
guest:
8110
,
host:
8110
# Insights
config
.
vm
.
network
:forwarded_port
,
guest:
9876
,
host:
9876
# ORA2 Karma tests
config
.
vm
.
network
:forwarded_port
,
guest:
50070
,
host:
50070
# HDFS Admin UI
config
.
vm
.
network
:forwarded_port
,
guest:
8088
,
host:
8088
# Hadoop Resource Manager
end
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,27 +75,13 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
...
@@ -63,27 +75,13 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
end
end
if
ENV
[
'VAGRANT_USE_VBOXFS'
]
==
'true'
if
ENV
[
'VAGRANT_USE_VBOXFS'
]
==
'true'
config
.
vm
.
synced_folder
"
#{
edx_platform_mount_dir
}
"
,
"/edx/app/edxapp/edx-platform"
,
MOUNT_DIRS
.
each
{
|
k
,
v
|
create:
true
,
owner:
"edxapp"
,
group:
"www-data"
config
.
vm
.
synced_folder
v
[
:repo
],
v
[
:local
],
create:
true
,
owner:
v
[
:owner
],
group:
"www-data"
config
.
vm
.
synced_folder
"
#{
themes_mount_dir
}
"
,
"/edx/app/edxapp/themes"
,
}
create:
true
,
owner:
"edxapp"
,
group:
"www-data"
config
.
vm
.
synced_folder
"
#{
forum_mount_dir
}
"
,
"/edx/app/forum/cs_comments_service"
,
create:
true
,
owner:
"forum"
,
group:
"www-data"
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"
,
MOUNT_DIRS
.
each
{
|
k
,
v
|
create:
true
,
nfs:
true
config
.
vm
.
synced_folder
v
[
:repo
],
v
[
:local
],
create:
true
,
nfs:
true
config
.
vm
.
synced_folder
"
#{
themes_mount_dir
}
"
,
"/edx/app/edxapp/themes"
,
}
create:
true
,
nfs:
true
config
.
vm
.
synced_folder
"
#{
forum_mount_dir
}
"
,
"/edx/app/forum/cs_comments_service"
,
create:
true
,
nfs:
true
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
config
.
vm
.
provider
:virtualbox
do
|
vb
|
config
.
vm
.
provider
:virtualbox
do
|
vb
|
...
...
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