Created
November 12, 2015 20:16
-
-
Save singingwolfboy/689857d859a63f7c1988 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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