Skip to content

Instantly share code, notes, and snippets.

@singingwolfboy
Created November 12, 2015 20:16
Show Gist options
  • Save singingwolfboy/689857d859a63f7c1988 to your computer and use it in GitHub Desktop.
Save singingwolfboy/689857d859a63f7c1988 to your computer and use it in GitHub Desktop.
edxapp@precise64:~/edx-platform$ rm -rf /edx/app/edxapp/venvs/edxapp
edxapp@precise64:~/edx-platform$ exit
exit
vagrant@precise64:~$ /edx/bin/update edx-platform django-upgrade/1.8
PLAY [Deploy edxapp] **********************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [user | debug var=user_info] ********************************************
ok: [localhost] => {
"var": {
"user_info": []
}
}
TASK: [user | create the edxadmin group] **************************************
ok: [localhost]
TASK: [user | ensure sudoers.d is read] ***************************************
ok: [localhost]
TASK: [user | grant full sudo access to the edxadmin group] *******************
ok: [localhost]
TASK: [user | create the users] ***********************************************
skipping: [localhost]
TASK: [user | create .ssh directory] ******************************************
skipping: [localhost]
TASK: [user | assign admin role to admin users] *******************************
skipping: [localhost]
TASK: [user | get github key[s]] **********************************************
skipping: [localhost]
TASK: [user | update the authorized_keys file] ********************************
skipping: [localhost]
TASK: [user | create bashrc file for normal users] ****************************
skipping: [localhost]
TASK: [user | create .profile for all users] **********************************
skipping: [localhost]
TASK: [user | modify shell for restricted users] ******************************
skipping: [localhost]
TASK: [user | create bashrc file for restricted users] ************************
skipping: [localhost]
TASK: [user | create sudoers file from template] ******************************
ok: [localhost]
TASK: [user | change home directory ownership to root for restricted users] ***
skipping: [localhost]
TASK: [user | create ~/bin directory] *****************************************
skipping: [localhost]
TASK: [user | create allowed command links] ***********************************
skipping: [localhost]
TASK: [security | install security packages] **********************************
skipping: [localhost]
TASK: [security | update all system packages] *********************************
skipping: [localhost]
TASK: [security | configure periodic unattended-upgrades] *********************
skipping: [localhost]
TASK: [security | disable unattended-upgrades] ********************************
skipping: [localhost]
TASK: [security | only unattended-upgrade from security repo] *****************
skipping: [localhost]
TASK: [security | disable security only updates on unattended-upgrades] *******
skipping: [localhost]
TASK: [security | Check if we are vulnerable] *********************************
skipping: [localhost]
TASK: [security | Apply bash security update if we are vulnerable] ************
skipping: [localhost]
TASK: [security | Check again and fail if we are still vulnerable] ************
skipping: [localhost]
TASK: [security | GHOST.c] ****************************************************
skipping: [localhost]
TASK: [security | compile GHOST] **********************************************
skipping: [localhost]
TASK: [security | Check if we are vulnerable] *********************************
skipping: [localhost]
TASK: [security | Apply glibc security update if we are vulnerable] ***********
skipping: [localhost]
TASK: [common | Update CA Certificates] ***************************************
changed: [localhost]
TASK: [common | Add user www-data] ********************************************
ok: [localhost]
TASK: [common | Create common directories] ************************************
changed: [localhost] => (item=/edx/var)
ok: [localhost] => (item=/edx/app)
ok: [localhost] => (item=/edx/bin)
ok: [localhost] => (item=/edx/etc)
TASK: [common | check if instance is vagrant] *********************************
ok: [localhost]
TASK: [common | Add git apt repository] ***************************************
ok: [localhost]
TASK: [common | Install role-independent useful system packages] **************
ok: [localhost]
TASK: [common | Create common log directory] **********************************
ok: [localhost]
TASK: [common | upload sudo config for key forwarding as root] ****************
ok: [localhost]
TASK: [common | pip install virtualenv] ***************************************
ok: [localhost] => (item=pip==1.5.6)
ok: [localhost] => (item=setuptools==3.6)
ok: [localhost] => (item=virtualenv==1.11.6)
ok: [localhost] => (item=virtualenvwrapper)
TASK: [common | Install rsyslog configuration for edX] ************************
ok: [localhost]
TASK: [common | Remove the default rsyslog configuration] *********************
ok: [localhost]
TASK: [common | Create hourly subdirectory in logrotate.d] ********************
ok: [localhost]
TASK: [common | Install logrotate configuration for edX] **********************
ok: [localhost]
TASK: [common | Install logrotate configuration for tracking file] ************
ok: [localhost]
TASK: [common | Add logrotate for tracking.log to cron.hourly] ****************
ok: [localhost]
TASK: [common | update /etc/hosts] ********************************************
skipping: [localhost]
TASK: [common | update /etc/hostname] *****************************************
skipping: [localhost]
TASK: [common | run hostname] *************************************************
skipping: [localhost]
TASK: [common | update /etc/dhcp/dhclient.conf] *******************************
skipping: [localhost]
TASK: [common | add ssh-warning banner motd] **********************************
ok: [localhost]
TASK: [common | update ssh config] ********************************************
ok: [localhost]
TASK: [aws | gather ec2 facts for use in other roles] *************************
ok: [localhost]
TASK: [aws | shell /sbin/ifconfig eth0 mtu 1500 up
] **************************
changed: [localhost]
TASK: [aws | lineinfile dest=/etc/dhcp/dhclient.conf regexp="^supercede interfact-mtu" line="supercede interface-mtu 1500;" insertbefore="^request"
] ***
changed: [localhost]
TASK: [aws | create all service directories] **********************************
ok: [localhost] => (item={'key': 'home', 'value': {'owner': 'root', 'path': u'/edx/app/aws', 'group': 'root', 'mode': '0755'}})
ok: [localhost] => (item={'key': 'data', 'value': {'owner': 'root', 'path': u'/edx/var/aws', 'group': 'root', 'mode': '0700'}})
ok: [localhost] => (item={'key': 'logs', 'value': {'owner': 'syslog', 'path': u'/edx/var/log/aws', 'group': 'syslog', 'mode': '0650'}})
TASK: [aws | install system packages] *****************************************
ok: [localhost]
TASK: [aws | install aws python packages] *************************************
ok: [localhost] => (item=https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz)
ok: [localhost] => (item=awscli==1.4.2)
ok: [localhost] => (item=boto=="2.34.0")
TASK: [aws | get s3cmd] *******************************************************
ok: [localhost]
TASK: [aws | untar s3cmd] *****************************************************
changed: [localhost]
TASK: [aws | create symlink for s3cmd] ****************************************
ok: [localhost]
TASK: [aws | create s3 log sync script] ***************************************
skipping: [localhost]
TASK: [aws | create symlink for s3 log sync script] ***************************
skipping: [localhost]
TASK: [aws | force logrotate on supervisor stop] ******************************
skipping: [localhost]
TASK: [aws | cronjob for s3 log sync] *****************************************
skipping: [localhost]
TASK: [aws | update the ssh motd on Ubuntu] ***********************************
skipping: [localhost] => (item=/etc/update-motd.d/10-help-text)
skipping: [localhost] => (item=/usr/share/landscape/landscape-sysinfo.wrapper)
skipping: [localhost] => (item=/etc/update-motd.d/51-cloudguest)
skipping: [localhost] => (item=/etc/update-motd.d/91-release-upgrade)
TASK: [nginx | create nginx app dirs] *****************************************
ok: [localhost] => (item=/edx/app/nginx)
ok: [localhost] => (item=/edx/app/nginx/sites-available)
ok: [localhost] => (item=/etc/nginx/sites-enabled)
ok: [localhost] => (item=/edx/app/nginx/conf.d)
TASK: [nginx | create nginx data dirs] ****************************************
ok: [localhost] => (item=/edx/var/nginx)
changed: [localhost] => (item=/edx/var/log/nginx)
ok: [localhost] => (item=/edx/var/nginx/server-static)
TASK: [nginx | Install nginx packages] ****************************************
ok: [localhost]
TASK: [nginx | Remove the default site] ***************************************
ok: [localhost]
TASK: [nginx | Server configuration file] *************************************
ok: [localhost]
TASK: [nginx | Creating common nginx configuration] ***************************
ok: [localhost]
TASK: [nginx | Create robot rules] ********************************************
skipping: [localhost]
TASK: [nginx | Creating link for common nginx configuration] ******************
ok: [localhost]
TASK: [nginx | Copying nginx configs for ['lms', 'cms']] **********************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [nginx | Creating nginx config links for ['lms', 'cms']] ****************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [nginx | Copying nginx extra configs] ***********************************
skipping: [localhost]
TASK: [nginx | Creating links for nginx extra configs] ************************
skipping: [localhost]
TASK: [nginx | Copying custom nginx config] ***********************************
skipping: [localhost]
TASK: [nginx | Copying nginx redirect configs for {{ NGINX_EDXAPP_CUSTOM_REDIRECTS }}] ***
skipping: [localhost]
TASK: [nginx | Creating nginx redirect links for {{ NGINX_EDXAPP_CUSTOM_REDIRECTS }}] ***
skipping: [localhost]
TASK: [nginx | Create NGINX server templates] *********************************
ok: [localhost] => (item={'msg': u'If think you have encountered this message in error please let us know at <a href="mailto:[email protected]">[email protected]</a>', 'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', 'heading': 'Uh oh, we are having some server issues..', 'file': 'rate-limit.html', 'title': 'Rate limit exceeded'})
ok: [localhost] => (item={'msg': u'We have been notified of the error, if it persists please let us know at <a href="mailto:[email protected]">[email protected]</a>', 'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', 'heading': 'Uh oh, we are having some server issues..', 'file': 'server-error.html', 'title': 'Server error'})
TASK: [nginx | Write out htpasswd file] ***************************************
skipping: [localhost]
TASK: [nginx | Create nginx log file location (just in case)] *****************
changed: [localhost]
TASK: [nginx | stat] **********************************************************
ok: [localhost -> 127.0.0.1]
TASK: [nginx | stat] **********************************************************
ok: [localhost -> 127.0.0.1]
TASK: [nginx | copy ssl cert] *************************************************
skipping: [localhost]
TASK: [nginx | copy ssl key] **************************************************
skipping: [localhost]
TASK: [nginx | Removing default nginx config and restart (enabled)] ***********
ok: [localhost]
TASK: [nginx | Set up nginx access log rotation] ******************************
ok: [localhost]
TASK: [nginx | Set up nginx access log rotation] ******************************
ok: [localhost]
TASK: [nginx | make sure nginx has started] ***********************************
ok: [localhost]
TASK: [edxapp_common | Install system packages] *******************************
ok: [localhost]
TASK: [supervisor | create application user] **********************************
ok: [localhost]
TASK: [supervisor | create supervisor service user] ***************************
ok: [localhost]
TASK: [supervisor | create supervisor directories] ****************************
ok: [localhost] => (item=/edx/app/supervisor)
ok: [localhost] => (item=/edx/app/supervisor/venvs/supervisor)
TASK: [supervisor | create service user accessible dirs] **********************
ok: [localhost] => (item=/edx/app/supervisor/conf.d)
ok: [localhost] => (item=/edx/app/supervisor/conf.available.d)
TASK: [supervisor | create supervisor directories] ****************************
ok: [localhost] => (item=/edx/var/supervisor)
ok: [localhost] => (item=/edx/var/log/supervisor)
TASK: [supervisor | install supervisor in its venv] ***************************
ok: [localhost]
TASK: [supervisor | install supervisor in its venv] ***************************
ok: [localhost] => (item=boto=="2.34.0")
ok: [localhost] => (item=python-simple-hipchat)
TASK: [supervisor | create supervisor upstart job] ****************************
ok: [localhost]
TASK: [supervisor | create pre_supervisor upstart job] ************************
ok: [localhost]
TASK: [supervisor | write the pre_suprevisor python script] *******************
ok: [localhost]
TASK: [supervisor | create supervisor master config] **************************
ok: [localhost]
TASK: [supervisor | create a symlink for supervisortctl] **********************
changed: [localhost]
TASK: [supervisor | create a symlink for supervisor cfg] **********************
ok: [localhost] => (item=/edx/app/supervisor/supervisord.conf)
ok: [localhost] => (item=/edx/app/supervisor/conf.d)
TASK: [supervisor | create helper script for running supervisor] **************
changed: [localhost]
TASK: [supervisor | start supervisor] *****************************************
ok: [localhost]
TASK: [supervisor | wait for web port to be available] ************************
skipping: [localhost]
TASK: [supervisor | update supervisor configuration] **************************
ok: [localhost]
TASK: [rbenv | fail rbenv_user required for role] *****************************
skipping: [localhost]
TASK: [rbenv | fail rbenv_dir required for role] ******************************
skipping: [localhost]
TASK: [rbenv | fail rbenv_ruby_version required for role] *********************
skipping: [localhost]
TASK: [rbenv | create rbenv user {{ edxapp_user }}] ***************************
changed: [localhost]
TASK: [rbenv | create rbenv dir if it does not exist] *************************
ok: [localhost]
TASK: [rbenv | install build depends] *****************************************
ok: [localhost] => (item=curl,build-essential,libcurl4-openssl-dev,libreadline-dev,libssl-dev,libxml2-dev,libxslt1-dev,zlib1g-dev)
TASK: [rbenv | update rbenv repo] *********************************************
ok: [localhost]
TASK: [rbenv | ensure ruby_env exists] ****************************************
ok: [localhost]
TASK: [rbenv | check ruby-build installed] ************************************
changed: [localhost]
TASK: [rbenv | if ruby-build exists, which versions we can install] ***********
changed: [localhost]
TASK: [rbenv | create temporary directory] ************************************
changed: [localhost]
TASK: [rbenv | clone ruby-build repo] *****************************************
changed: [localhost]
TASK: [rbenv | install ruby-build] ********************************************
changed: [localhost]
TASK: [rbenv | remove temporary directory] ************************************
changed: [localhost]
TASK: [rbenv | check ruby {{ edxapp_ruby_version }} installed] ****************
changed: [localhost]
TASK: [rbenv | install ruby {{ edxapp_ruby_version }}] ************************
skipping: [localhost]
TASK: [rbenv | set global ruby {{ edxapp_ruby_version }}] *********************
changed: [localhost]
TASK: [rbenv | install bundler] ***********************************************
changed: [localhost]
TASK: [rbenv | remove rbenv version of rake] **********************************
ok: [localhost]
TASK: [rbenv | install rake gem] **********************************************
changed: [localhost]
TASK: [rbenv | rehash] ********************************************************
changed: [localhost]
TASK: [supervisor | create application user] **********************************
ok: [localhost]
TASK: [supervisor | create supervisor service user] ***************************
ok: [localhost]
TASK: [supervisor | create supervisor directories] ****************************
ok: [localhost] => (item=/edx/app/devpi/supervisor)
ok: [localhost] => (item=/edx/app/devpi/venvs/supervisor)
TASK: [supervisor | create service user accessible dirs] **********************
ok: [localhost] => (item=/edx/app/devpi/supervisor/conf.d)
ok: [localhost] => (item=/edx/app/devpi/supervisor/conf.available.d)
TASK: [supervisor | create supervisor directories] ****************************
ok: [localhost] => (item=/edx/var/devpi/supervisor)
ok: [localhost] => (item=/edx/var/log/devpi/supervisor)
TASK: [supervisor | install supervisor in its venv] ***************************
ok: [localhost]
TASK: [supervisor | install supervisor in its venv] ***************************
ok: [localhost] => (item=boto=="2.34.0")
ok: [localhost] => (item=python-simple-hipchat)
TASK: [supervisor | create supervisor upstart job] ****************************
ok: [localhost]
TASK: [supervisor | create pre_supervisor upstart job] ************************
skipping: [localhost]
TASK: [supervisor | write the pre_suprevisor python script] *******************
ok: [localhost]
TASK: [supervisor | create supervisor master config] **************************
ok: [localhost]
TASK: [supervisor | create a symlink for supervisortctl] **********************
skipping: [localhost]
TASK: [supervisor | create a symlink for supervisor cfg] **********************
skipping: [localhost] => (item=/edx/app/devpi/supervisor/supervisord.conf)
skipping: [localhost] => (item=/edx/app/devpi/supervisor/conf.d)
TASK: [supervisor | create helper script for running supervisor] **************
skipping: [localhost]
TASK: [supervisor | start supervisor] *****************************************
ok: [localhost]
TASK: [supervisor | wait for web port to be available] ************************
skipping: [localhost]
TASK: [supervisor | update supervisor configuration] **************************
ok: [localhost]
TASK: [devpi | create devpi user] *********************************************
ok: [localhost]
TASK: [devpi | create devpi application directories] **************************
ok: [localhost] => (item=/edx/app/devpi)
ok: [localhost] => (item=/edx/app/devpi/venvs/devpi)
TASK: [devpi | create the devpi data directory, needs write access by the service user] ***
ok: [localhost] => (item=/edx/var/devpi)
ok: [localhost] => (item=/edx/var/devpi/data)
TASK: [devpi | install devpi pip pkgs] ****************************************
ok: [localhost] => (item=devpi-server)
ok: [localhost] => (item=eventlet)
TASK: [devpi | writing supervisor script] *************************************
ok: [localhost]
TASK: [devpi | create a symlink for venv python, pip] *************************
ok: [localhost] => (item=python)
ok: [localhost] => (item=pip)
TASK: [devpi | create a symlink for venv supervisor] **************************
ok: [localhost]
TASK: [devpi | create a symlink for supervisor config] ************************
ok: [localhost]
TASK: [devpi | update devpi supervisor configuration] *************************
ok: [localhost]
TASK: [devpi | ensure devpi is started] ***************************************
ok: [localhost]
TASK: [nltk | Install unzip] **************************************************
ok: [localhost]
TASK: [nltk | create the nltk data directory and subdirectories] **************
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
TASK: [nltk | download nltk data] *********************************************
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
TASK: [nltk | unarchive nltk data] ********************************************
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
TASK: [user | debug var=user_info] ********************************************
skipping: [localhost]
TASK: [user | create the edxadmin group] **************************************
skipping: [localhost]
TASK: [user | ensure sudoers.d is read] ***************************************
skipping: [localhost]
TASK: [user | grant full sudo access to the edxadmin group] *******************
skipping: [localhost]
TASK: [user | create the users] ***********************************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | create .ssh directory] ******************************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | assign admin role to admin users] *******************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | get github key[s]] **********************************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | update the authorized_keys file] ********************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | create bashrc file for normal users] ****************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | create .profile for all users] **********************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | modify shell for restricted users] ******************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | create bashrc file for restricted users] ************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | create sudoers file from template] ******************************
skipping: [localhost]
TASK: [user | change home directory ownership to root for restricted users] ***
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | create ~/bin directory] *****************************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | create allowed command links] ***********************************
skipping: [localhost] => (item=[{'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}, '/usr/bin/sudo'])
TASK: [edxapp | create application user] **************************************
ok: [localhost]
TASK: [edxapp | create edxapp user dirs] **************************************
ok: [localhost] => (item=/edx/app/edxapp)
ok: [localhost] => (item=/edx/app/edxapp/.ssh)
ok: [localhost] => (item=/edx/app/edxapp/venvs)
ok: [localhost] => (item=/edx/var/edxapp/themes)
changed: [localhost] => (item=/edx/var/edxapp/staticfiles)
ok: [localhost] => (item=/edx/var/edxapp/course_static)
changed: [localhost] => (item=/edx/var/edxapp/data)
TASK: [edxapp | create edxapp var dir] ****************************************
ok: [localhost]
TASK: [edxapp | make the course data dir] *************************************
ok: [localhost]
TASK: [edxapp | create edxapp log dir] ****************************************
ok: [localhost]
TASK: [edxapp | create web-writable edxapp data dirs] *************************
changed: [localhost] => (item=/edx/var/edxapp/data)
ok: [localhost] => (item=/edx/var/edxapp/uploads)
ok: [localhost] => (item=/edx/var/edxapp/media)
TASK: [edxapp | add ppas for current versions of nodejs] **********************
ok: [localhost]
TASK: [edxapp | install system packages on which LMS and CMS rely] ************
ok: [localhost]
TASK: [edxapp | set up edxapp .npmrc] *****************************************
changed: [localhost]
TASK: [edxapp | create log directories for service variants] ******************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | code sandbox | Use libblas for 3gf] ***************************
changed: [localhost]
TASK: [edxapp | code sandbox | Use liblapac for 3gf] **************************
changed: [localhost]
TASK: [edxapp | code sandbox | Create edxapp sandbox user] ********************
ok: [localhost]
TASK: [edxapp | code sandbox | Install apparmor utils system pkg] *************
ok: [localhost]
TASK: [edxapp | code sandbox | write out apparmor code sandbox config] ********
ok: [localhost]
TASK: [edxapp | code sandbox | write out sandbox user sudoers config] *********
ok: [localhost]
TASK: [edxapp | code sandbox | start apparmor service] ************************
ok: [localhost]
TASK: [edxapp | code sandbox | (bootstrap) load code sandbox profile] *********
changed: [localhost]
TASK: [edxapp | code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE] ***
changed: [localhost]
TASK: [edxapp | setup the edxapp env] *****************************************
ok: [localhost]
TASK: [edxapp | create edxapp configuration dir] ******************************
ok: [localhost]
TASK: [edxapp | create ssh script for git (not authenticated)] ****************
changed: [localhost]
TASK: [edxapp | create ssh script for git (authenticated)] ********************
skipping: [localhost]
TASK: [edxapp | install read-only ssh key] ************************************
skipping: [localhost]
TASK: [edxapp | set git fetch.prune to ignore deleted remote refs] ************
changed: [localhost]
TASK: [edxapp | checkout edx-platform repo into {{ edxapp_code_dir }}] ********
ok: [localhost]
TASK: [edxapp | git clean after checking out edx-platform] ********************
changed: [localhost]
TASK: [edxapp | checkout theme] ***********************************************
skipping: [localhost]
TASK: [edxapp | Stat each requirements file to ensure it exists] **************
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/pre.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
TASK: [edxapp | Updating requirement files for git mirror] ********************
changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', u'stat': {u'uid': 502, u'exists': True, u'woth': False, u'mtime': 1445365050.0, u'inode': 52425543, u'isgid': False, u'size': 562, u'wgrp': False, u'isuid': False, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', u'xusr': False, u'atime': 1447098871.0, u'md5': u'631200b444bce0c9b6dbe83e8f3433ed', u'isdir': False, u'ctime': 1445365051.0, u'isblk': False, u'xgrp': False, u'dev': 20, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'fabbc6bc08c2c9efd4fbc1149fb085539f3c9e70', u'islnk': False}, u'changed': False})
changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', u'stat': {u'uid': 502, u'exists': True, u'woth': False, u'mtime': 1445365051.0, u'inode': 52425544, u'isgid': False, u'size': 569, u'wgrp': False, u'isuid': False, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', u'xusr': False, u'atime': 1447098871.0, u'md5': u'ccf97c16c894b54dc2895668818a00df', u'isdir': False, u'ctime': 1445365051.0, u'isblk': False, u'xgrp': False, u'dev': 20, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'bce375fe85376a9aeb7f886e6b7202c2101004d5', u'islnk': False}, u'changed': False})
changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'stat': {u'uid': 502, u'exists': True, u'woth': False, u'mtime': 1447357376.0, u'inode': 54662815, u'isgid': False, u'size': 3445, u'wgrp': True, u'isuid': False, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'xusr': False, u'atime': 1447357393.0, u'md5': u'e0d36bc315aeceb8883f6133d4867f55', u'isdir': False, u'ctime': 1447357376.0, u'isblk': False, u'xgrp': False, u'dev': 20, u'roth': True, u'isfifo': False, u'mode': u'0664', u'checksum': u'327fe38d071120f1bf3235980073f242c8ff15f9', u'islnk': False}, u'changed': False})
changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', u'stat': {u'uid': 502, u'exists': True, u'woth': False, u'mtime': 1446477466.0, u'inode': 53498902, u'isgid': False, u'size': 111, u'wgrp': False, u'isuid': False, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', u'xusr': False, u'atime': 1447098871.0, u'md5': u'3b1b66700c2ceb14b6e58faded01bffb', u'isdir': False, u'ctime': 1446477466.0, u'isblk': False, u'xgrp': False, u'dev': 20, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'54252af609d183b23456f5062bc5505c75ecb942', u'islnk': False}, u'changed': False})
changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', u'stat': {u'uid': 502, u'exists': True, u'woth': False, u'mtime': 1447357376.0, u'inode': 54662816, u'isgid': False, u'size': 5130, u'wgrp': True, u'isuid': False, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', u'xusr': False, u'atime': 1447357393.0, u'md5': u'066cd04154382b25e6d73ac451c93f6d', u'isdir': False, u'ctime': 1447357376.0, u'isblk': False, u'xgrp': False, u'dev': 20, u'roth': True, u'isfifo': False, u'mode': u'0664', u'checksum': u'f2c2bde2f3add5d6f9aa9a500a8bc98cb893405a', u'islnk': False}, u'changed': False})
changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', u'stat': {u'uid': 502, u'exists': True, u'woth': False, u'mtime': 1445365051.0, u'inode': 52425548, u'isgid': False, u'size': 313, u'wgrp': False, u'isuid': False, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', u'xusr': False, u'atime': 1447098871.0, u'md5': u'1f8d2ca7aa01706f2859c25b8bede5f3', u'isdir': False, u'ctime': 1445365051.0, u'isblk': False, u'xgrp': False, u'dev': 20, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'cb294b185d8f40e49506c4c342acc8fd6b3683f6', u'islnk': False}, u'changed': False})
changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', u'stat': {u'uid': 502, u'exists': True, u'woth': False, u'mtime': 1445365051.0, u'inode': 52425549, u'isgid': False, u'size': 507, u'wgrp': False, u'isuid': False, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', u'xusr': False, u'atime': 1447098871.0, u'md5': u'09046a50cef36e7ca9f622fd3b3b397f', u'isdir': False, u'ctime': 1445365051.0, u'isblk': False, u'xgrp': False, u'dev': 20, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'01e96ac6feaff75b076e04cbdb2b9b9a632a7034', u'islnk': False}, u'changed': False})
changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'stat': {u'uid': 502, u'exists': True, u'woth': False, u'mtime': 1445365051.0, u'inode': 52425550, u'isgid': False, u'size': 430, u'wgrp': False, u'isuid': False, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'xusr': False, u'atime': 1447098871.0, u'md5': u'a9e3d33a36e6dd36863bd039478b06a9', u'isdir': False, u'ctime': 1445365051.0, u'isblk': False, u'xgrp': False, u'dev': 20, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'e029ed4816c4e5d3c23609e91541be4abcaefa96', u'islnk': False}, u'changed': False})
TASK: [edxapp | gem install bundler] ******************************************
changed: [localhost]
TASK: [edxapp | bundle install] ***********************************************
changed: [localhost]
TASK: [edxapp | Set the npm registry] *****************************************
ok: [localhost]
TASK: [edxapp | Set the npm registry permissions] *****************************
changed: [localhost]
TASK: [edxapp | Install edx-platform npm dependencies] ************************
changed: [localhost]
TASK: [edxapp | install python pre-requirements] ******************************
changed: [localhost]
TASK: [edxapp | install python base-requirements] *****************************
changed: [localhost]
TASK: [edxapp | stat path="{{ post_requirements_file }}"] *********************
ok: [localhost]
TASK: [edxapp | install python post-requirements] *****************************
changed: [localhost]
TASK: [edxapp | install python paver-requirements] ****************************
changed: [localhost]
TASK: [edxapp | stat path="{{ custom_requirements_file }}"] *******************
ok: [localhost]
TASK: [edxapp | install python custom-requirements] ***************************
skipping: [localhost]
TASK: [edxapp | install python post-post requirements] ************************
changed: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt)
changed: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/local.txt)
TASK: [edxapp | install python private requirements] **************************
skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt)
TASK: [edxapp | install python extra requirements] ****************************
skipping: [localhost]
TASK: [edxapp | install CAS attribute module] *********************************
skipping: [localhost]
TASK: [edxapp | install sandbox requirements into regular venv] ***************
skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt)
skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)
TASK: [edxapp | code sandbox | put sandbox apparmor profile in complain mode] ***
changed: [localhost]
TASK: [edxapp | code sandbox | Install base sandbox requirements and create sandbox virtualenv] ***
changed: [localhost]
TASK: [edxapp | code sandbox | Install sandbox requirements into sandbox venv] ***
changed: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)
TASK: [edxapp | code sandbox | put code sandbox into aa-enforce or aa-complain mode, depending on EDXAPP_SANDBOX_ENFORCE] ***
changed: [localhost]
TASK: [edxapp | compiling all py files in the edx-platform repo] **************
changed: [localhost]
TASK: [edxapp | give other read permissions to the virtualenv] ****************
changed: [localhost]
TASK: [edxapp | openid workaround] ********************************************
skipping: [localhost]
TASK: [edxapp | get s3 one time url] ******************************************
skipping: [localhost]
TASK: [edxapp | download from one time url] ***********************************
skipping: [localhost]
TASK: [edxapp | unzip the data to the data dir] *******************************
skipping: [localhost]
TASK: [edxapp | make the course data web user writable] ***********************
ok: [localhost]
TASK: [edxapp | create {{ item }} application config] *************************
changed: [localhost] => (item=lms)
changed: [localhost] => (item=cms)
TASK: [edxapp | create {{ item }} auth file] **********************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | create {{ item }} yaml application config] ********************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | create {{ item }} yaml auth file] *****************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | writing {{ item }} supervisor script] *************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | writing edxapp supervisor script] *****************************
ok: [localhost]
TASK: [edxapp | add gunicorn configuration files] *****************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | writing celery worker supervisor script] **********************
ok: [localhost]
TASK: [edxapp | enable {{ item }} supervisor script] **************************
skipping: [localhost] => (item=lms)
skipping: [localhost] => (item=cms)
TASK: [edxapp | enable edxapp supervisor script] ******************************
skipping: [localhost]
TASK: [edxapp | enable celery worker supervisor script] ***********************
skipping: [localhost]
TASK: [edxapp | create helper scripts for managing edxapp] ********************
ok: [localhost] => (item=['edxapp-migrate', 'lms'])
ok: [localhost] => (item=['edxapp-migrate', 'cms'])
ok: [localhost] => (item=['edxapp-runserver', 'lms'])
ok: [localhost] => (item=['edxapp-runserver', 'cms'])
ok: [localhost] => (item=['edxapp-syncdb', 'lms'])
ok: [localhost] => (item=['edxapp-syncdb', 'cms'])
ok: [localhost] => (item=['edxapp-update-assets', 'lms'])
ok: [localhost] => (item=['edxapp-update-assets', 'cms'])
ok: [localhost] => (item=['edxapp-shell', 'lms'])
ok: [localhost] => (item=['edxapp-shell', 'cms'])
TASK: [edxapp | syncdb and migrate] *******************************************
skipping: [localhost] => (item=lms)
skipping: [localhost] => (item=cms)
TASK: [edxapp | gather {{ item }} static assets with paver] *******************
failed: [localhost] => (item=lms) => {"changed": true, "cmd": ["/edx/bin/edxapp-update-assets-lms"], "delta": "0:00:11.825025", "end": "2015-11-12 20:09:55.091762", "item": "lms", "rc": 1, "start": "2015-11-12 20:09:43.266737", "warnings": []}
stderr: warning: unable to access '/root/.config/git/attributes': Permission denied
Traceback (most recent call last):
File "manage.py", line 111, in <module>
startup = importlib.import_module(edx_args.startup)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/edx/app/edxapp/edx-platform/lms/startup.py", line 11, in <module>
settings.INSTALLED_APPS # pylint: disable=pointless-statement
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/conf/__init__.py", line 113, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
stdout: ---> pavelib.assets.update_assets
---> pavelib.prereqs.install_ruby_prereqs
NO_PREREQ_INSTALL is set, not installing prereqs
---> pavelib.prereqs.install_node_prereqs
NO_PREREQ_INSTALL is set, not installing prereqs
python manage.py lms --settings=aws preprocess_assets lms/static/sass/*.scss lms/static/themed_sass
Captured Task Output:
---------------------
---> pavelib.assets.update_assets
---> pavelib.prereqs.install_ruby_prereqs
---> pavelib.prereqs.install_node_prereqs
python manage.py lms --settings=aws preprocess_assets lms/static/sass/*.scss lms/static/themed_sass
Build failed running pavelib.assets.update_assets: Subprocess return code: 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment