Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PLAY [Configure instance(s)] **************************************************
- GATHERING FACTS ***************************************************************
- ok: [localhost]
- TASK: [swapfile | Write swapfile] *********************************************
- ok: [localhost]
- TASK: [swapfile | Set swapfile permissions] ***********************************
- ok: [localhost]
- TASK: [swapfile | Create swapfile] ********************************************
- skipping: [localhost]
- TASK: [swapfile | Enable swapfile] ********************************************
- skipping: [localhost]
- TASK: [swapfile | Add swapfile to /etc/fstab] *********************************
- ok: [localhost]
- TASK: [swapfile | Configure vm.swappiness] ************************************
- skipping: [localhost]
- TASK: [swapfile | Configure vm.vfs_cache_pressure] ****************************
- skipping: [localhost]
- TASK: [server_utils | Install ubuntu system packages] *************************
- ok: [localhost] => (item=ack-grep,mosh,curl,tree,screen,tmux,curl,vim-tiny,dnsutils,inetutils-telnet,netcat)
- TASK: [user | debug ] *********************************************************
- 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 | assign admin role to admin users] *******************************
- skipping: [localhost]
- TASK: [user | get github key(s) and 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 | stat ] ********************************************************
- ok: [localhost]
- TASK: [common | Update CA Certificates] ***************************************
- changed: [localhost]
- TASK: [common | stat path=/usr/bin/update-ca-trust] ***************************
- ok: [localhost]
- TASK: [common | Update CA Trust] **********************************************
- skipping: [localhost]
- TASK: [common | Add common_users] *********************************************
- ok: [localhost] => (item=www-data)
- ok: [localhost] => (item=syslog)
- TASK: [common | check if instance is vagrant] *********************************
- ok: [localhost]
- TASK: [common | add edx ppa apt key] ******************************************
- ok: [localhost]
- TASK: [common | Add git apt repository] ***************************************
- ok: [localhost] => (item=ppa:git-core/ppa)
- ok: [localhost] => (item=deb http://ppa.edx.org trusty main)
- TASK: [common | Install role-independent useful system packages] **************
- ok: [localhost] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+trusty1,python-pip,python2.7-dev)
- TASK: [common | Install role-independent useful system packages] **************
- skipping: [localhost]
- TASK: [common | Create common directories] ************************************
- ok: [localhost] => (item={'path': u'/edx/var'})
- ok: [localhost] => (item={'path': u'/edx/app'})
- ok: [localhost] => (item={'path': u'/edx/bin'})
- ok: [localhost] => (item={'path': u'/edx/etc'})
- ok: [localhost] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'})
- ok: [localhost] => (item={'path': '/etc/logrotate.d/hourly'})
- ok: [localhost] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'})
- TASK: [common | upload sudo config for key forwarding as root] ****************
- ok: [localhost]
- TASK: [common | pip install virtualenv] ***************************************
- ok: [localhost] => (item=pip==7.1.2)
- ok: [localhost] => (item=setuptools==18.3.2)
- ok: [localhost] => (item=virtualenv==13.1.2)
- ok: [localhost] => (item=virtualenvwrapper==4.7.1)
- TASK: [common | update /etc/hosts] ********************************************
- skipping: [localhost]
- TASK: [common | update /etc/hostname] *****************************************
- skipping: [localhost]
- TASK: [common | run hostname] *************************************************
- skipping: [localhost]
- TASK: [common | Copy the templates to their respestive destination] ***********
- ok: [localhost] => (item={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'})
- ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'})
- ok: [localhost] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'})
- ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})
- TASK: [common | restart rsyslogd] *********************************************
- skipping: [localhost]
- 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 needed packages] ***************************************
- ok: [localhost] => (item=python-passlib)
- TASK: [nginx | Add apt key] ***************************************************
- ok: [localhost]
- TASK: [nginx | Add nginx repository] ******************************************
- ok: [localhost]
- TASK: [nginx | Remove old nginx packages] *************************************
- ok: [localhost]
- TASK: [nginx | Install the nginx package] *************************************
- 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 ['certs', 'cms', 'lms', 'forum', 'xqueue']] ***
- ok: [localhost] => (item=certs)
- ok: [localhost] => (item=cms)
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=forum)
- ok: [localhost] => (item=xqueue)
- TASK: [nginx | Creating nginx config links for ['certs', 'cms', 'lms', 'forum', 'xqueue']] ***
- ok: [localhost] => (item=certs)
- ok: [localhost] => (item=cms)
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=forum)
- ok: [localhost] => (item=xqueue)
- 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_redirects }}] ******
- skipping: [localhost]
- TASK: [nginx | Creating nginx redirect links for {{ nginx_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:technical@example.com">technical@example.com</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:technical@example.com">technical@example.com</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] => (item={'state': 'present', 'password': u'edx', 'name': u'edx'})
- 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]
- NOTIFIED: [nginx | restart nginx] *********************************************
- changed: [localhost]
- TASK: [nginx | make sure nginx has started] ***********************************
- ok: [localhost]
- TASK: [nginx | create nginx app dirs] *****************************************
- skipping: [localhost] => (item=/edx/app/nginx)
- skipping: [localhost] => (item=/edx/app/nginx/sites-available)
- skipping: [localhost] => (item=/etc/nginx/sites-enabled)
- skipping: [localhost] => (item=/edx/app/nginx/conf.d)
- TASK: [nginx | create nginx data dirs] ****************************************
- skipping: [localhost] => (item=/edx/var/nginx)
- skipping: [localhost] => (item=/edx/var/log/nginx)
- skipping: [localhost] => (item=/edx/var/nginx/server-static)
- TASK: [nginx | Install needed packages] ***************************************
- skipping: [localhost]
- TASK: [nginx | Add apt key] ***************************************************
- skipping: [localhost]
- TASK: [nginx | Add nginx repository] ******************************************
- skipping: [localhost]
- TASK: [nginx | Remove old nginx packages] *************************************
- skipping: [localhost]
- TASK: [nginx | Install the nginx package] *************************************
- skipping: [localhost]
- TASK: [nginx | Remove the default site] ***************************************
- skipping: [localhost]
- TASK: [nginx | Server configuration file] *************************************
- skipping: [localhost]
- TASK: [nginx | Creating common nginx configuration] ***************************
- skipping: [localhost]
- TASK: [nginx | Create robot rules] ********************************************
- skipping: [localhost]
- TASK: [nginx | Creating link for common nginx configuration] ******************
- skipping: [localhost]
- TASK: [nginx | Copying nginx configs for ['ecommerce']] ***********************
- skipping: [localhost] => (item=ecommerce)
- TASK: [nginx | Creating nginx config links for ['ecommerce']] *****************
- skipping: [localhost] => (item=ecommerce)
- 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_redirects }}] ******
- skipping: [localhost]
- TASK: [nginx | Creating nginx redirect links for {{ nginx_redirects }}] *******
- skipping: [localhost]
- TASK: [nginx | Create NGINX server templates] *********************************
- skipping: [localhost] => (item={'msg': u'If think you have encountered this message in error please let us know at <a href="mailto:technical@example.com">technical@example.com</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'})
- skipping: [localhost] => (item={'msg': u'We have been notified of the error, if it persists please let us know at <a href="mailto:technical@example.com">technical@example.com</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] => (item={'state': 'present', 'password': u'edx', 'name': u'edx'})
- TASK: [nginx | Create nginx log file location (just in case)] *****************
- skipping: [localhost]
- TASK: [nginx | stat] **********************************************************
- skipping: [localhost]
- TASK: [nginx | stat] **********************************************************
- skipping: [localhost]
- TASK: [nginx | copy ssl cert] *************************************************
- skipping: [localhost]
- TASK: [nginx | copy ssl key] **************************************************
- skipping: [localhost]
- TASK: [nginx | Removing default nginx config and restart (enabled)] ***********
- skipping: [localhost]
- TASK: [nginx | Set up nginx access log rotation] ******************************
- skipping: [localhost]
- TASK: [nginx | Set up nginx access log rotation] ******************************
- skipping: [localhost]
- TASK: [nginx | make sure nginx has started] ***********************************
- skipping: [localhost]
- TASK: [mysql | Look for mysql 5.6] ********************************************
- failed: [localhost] => {"changed": false, "cmd": "dpkg -s mysql-server", "delta": "0:00:00.042128", "end": "2016-05-30 16:37:24.036142", "rc": 1, "start": "2016-05-30 16:37:23.994014", "stdout_lines": [], "warnings": []}
- stderr: dpkg-query: package 'mysql-server' is not installed and no information is available
- Use dpkg --info (= dpkg-deb --info) to examine archive files,
- and dpkg --contents (= dpkg-deb --contents) to list their contents.
- ...ignoring
- TASK: [mysql | Important message] *********************************************
- skipping: [localhost]
- TASK: [mysql | pause ] ********************************************************
- skipping: [localhost]
- TASK: [mysql | Stop mysql service] ********************************************
- skipping: [localhost]
- TASK: [mysql | Remove experimental apt repository] ****************************
- skipping: [localhost]
- TASK: [mysql | Remove experimental version of mysql] **************************
- skipping: [localhost]
- TASK: [mysql | Add MySQL community apt key] ***********************************
- ok: [localhost]
- TASK: [mysql | Install MySQL community apt repositories] **********************
- ok: [localhost]
- TASK: [mysql | Install mysql-5.6 and dependencies] ****************************
- ok: [localhost] => (item=mysql-server-5.6,python-mysqldb)
- TASK: [mysql | Start mysql] ***************************************************
- ok: [localhost]
- TASK: [mysql | Ensure Anonymous user(s) does not exist] ***********************
- ok: [localhost] => (item=localhost)
- ok: [localhost] => (item=cordigera)
- TASK: [edxlocal | install packages needed for single server] ******************
- ok: [localhost] => (item=postfix,libjpeg-dev)
- TASK: [edxlocal | create databases] *******************************************
- ok: [localhost] => (item=ecommerce)
- ok: [localhost] => (item=dashboard)
- skipping: [localhost]
- ok: [localhost] => (item=xqueue)
- ok: [localhost] => (item=edxapp)
- ok: [localhost] => (item=edxapp_csmh)
- ok: [localhost] => (item=edx_notes_api)
- skipping: [localhost]
- ok: [localhost] => (item=analytics-api)
- ok: [localhost] => (item=reports)
- skipping: [localhost]
- skipping: [localhost]
- TASK: [edxlocal | create database users] **************************************
- ok: [localhost] => (item={'db': u'ecommerce', 'user': u'ecomm001', 'pass': u'password'})
- ok: [localhost] => (item={'db': u'dashboard', 'user': u'rosencrantz', 'pass': u'secret'})
- skipping: [localhost] => (item={'db': u'', 'user': u'', 'pass': u''})
- ok: [localhost] => (item={'db': u'xqueue', 'user': u'xqueue001', 'pass': u'password'})
- ok: [localhost] => (item={'db': u'edxapp', 'user': u'edxapp001', 'pass': u'password'})
- ok: [localhost] => (item={'db': u'edxapp_csmh', 'user': u'edxapp001', 'pass': u'password'})
- skipping: [localhost] => (item={'db': u'', 'user': u'{# PROGRAMS_DATABASES.default.USER | default(None) #}', 'pass': u'{# PROGRAMS_DATABASES.default.PASSWORD | default(None) #}'})
- skipping: [localhost] => (item={'db': u'', 'user': u'{# ANALYTICS_PIPELINE_OUTPUT_DATABASE.username #}', 'pass': u'{# ANALYTICS_PIPELINE_OUTPUT_DATABASE.password #}'})
- skipping: [localhost] => (item={'db': u'', 'user': u'{# HIVE_METASTORE_DATABASE.user | default(None) #}', 'pass': u'{# HIVE_METASTORE_DATABASE.password | default(None) #}'})
- skipping: [localhost] => (item={'db': u'', 'user': u'', 'pass': u''})
- skipping: [localhost] => (item={'db': u'', 'user': u'', 'pass': u''})
- TASK: [edxlocal | setup the migration db user] ********************************
- ok: [localhost] => (item=ecommerce)
- ok: [localhost] => (item=dashboard)
- skipping: [localhost]
- ok: [localhost] => (item=xqueue)
- ok: [localhost] => (item=edxapp)
- ok: [localhost] => (item=edxapp_csmh)
- ok: [localhost] => (item=edx_notes_api)
- skipping: [localhost]
- ok: [localhost] => (item=analytics-api)
- ok: [localhost] => (item=reports)
- skipping: [localhost]
- skipping: [localhost]
- TASK: [edxlocal | create api user for the analytics api] **********************
- ok: [localhost]
- TASK: [edxlocal | create read-only reports user for the analytics-api] ********
- ok: [localhost]
- TASK: [edxlocal | create a database for the hive metastore] *******************
- skipping: [localhost]
- TASK: [edxlocal | setup the edx-notes-api db user] ****************************
- ok: [localhost]
- TASK: [edxlocal | setup the read-only db user] ********************************
- ok: [localhost]
- TASK: [edxlocal | setup the admin db user] ************************************
- ok: [localhost]
- TASK: [edxlocal | install memcached] ******************************************
- ok: [localhost]
- TASK: [mongo | check to see that MongoDB 2.4 is not installed] ****************
- ok: [localhost]
- TASK: [mongo | verify 2.4 not installed] **************************************
- skipping: [localhost]
- TASK: [mongo | remove mongo 2.4 if present] ***********************************
- skipping: [localhost]
- TASK: [mongo | install python pymongo for mongo_user ansible module] **********
- ok: [localhost]
- TASK: [mongo | add the mongodb signing key] ***********************************
- ok: [localhost]
- TASK: [mongo | add the mongodb repo to the sources list] **********************
- ok: [localhost]
- TASK: [mongo | install mongo server and recommends] ***************************
- ok: [localhost]
- TASK: [mongo | create mongo dirs] *********************************************
- ok: [localhost] => (item=/edx/var/mongo)
- ok: [localhost] => (item=/edx/var/mongo/mongodb)
- ok: [localhost] => (item=/edx/var/log/mongo)
- ok: [localhost] => (item=/edx/var/mongo/mongodb/journal)
- TASK: [mongo | stop mongod service] *******************************************
- changed: [localhost]
- TASK: [mongo | move mongodb to {{ mongo_data_dir }}] **************************
- ok: [localhost]
- TASK: [mongo | copy mongodb key file] *****************************************
- skipping: [localhost]
- TASK: [mongo | copy configuration template] ***********************************
- ok: [localhost]
- TASK: [mongo | start mongo service] *******************************************
- changed: [localhost]
- TASK: [mongo | wait for mongo server to start] ********************************
- ok: [localhost]
- TASK: [mongo | drop super user script] ****************************************
- changed: [localhost]
- TASK: [mongo | create super user with js] *************************************
- changed: [localhost]
- TASK: [mongo | delete super user script] **************************************
- changed: [localhost]
- TASK: [mongo | Create the file to initialize the mongod replica set] **********
- skipping: [localhost]
- TASK: [mongo | Initialize the replication set] ********************************
- skipping: [localhost]
- TASK: [mongo | create a mongodb user] *****************************************
- ok: [localhost] => (item={'password': 'password', 'user': 'cs_comments_service', 'roles': 'readWrite', 'database': 'cs_comments_service'})
- ok: [localhost] => (item={'password': 'password', 'user': 'edxapp', 'roles': 'readWrite', 'database': 'edxapp'})
- TASK: [mongo | create a mongodb user] *****************************************
- skipping: [localhost] => (item={'password': 'password', 'user': 'cs_comments_service', 'roles': 'readWrite', 'database': 'cs_comments_service'})
- skipping: [localhost] => (item={'password': 'password', 'user': 'edxapp', 'roles': 'readWrite', 'database': 'edxapp'})
- TASK: [mongo | install s3cmd] *************************************************
- skipping: [localhost]
- TASK: [mongo | configure s3cmd] ***********************************************
- skipping: [localhost]
- TASK: [mongo | install backup-mongo-to-s3 script] *****************************
- skipping: [localhost]
- TASK: [mongo | schedule backup-mongo-to-3s crontab] ***************************
- skipping: [localhost]
- TASK: [rabbitmq | install python-software-properties if debian] ***************
- ok: [localhost]
- TASK: [rabbitmq | fetch the rabbitmq server deb] ******************************
- ok: [localhost]
- TASK: [rabbitmq | check if rabbit is installed] *******************************
- changed: [localhost]
- TASK: [rabbitmq | install rabbit package using gdebi] *************************
- skipping: [localhost]
- TASK: [rabbitmq | stop rabbit cluster] ****************************************
- changed: [localhost]
- TASK: [rabbitmq | send sigterm to any running rabbitmq processes] *************
- changed: [localhost]
- TASK: [rabbitmq | create rabbitmq edx directories] ****************************
- ok: [localhost] => (item=/edx/app/rabbitmq)
- ok: [localhost] => (item=/edx/var/log/rabbitmq)
- TASK: [rabbitmq | add queue monitoring script] ********************************
- ok: [localhost]
- TASK: [rabbitmq | set up a cron job to run the script] ************************
- ok: [localhost]
- TASK: [rabbitmq | create cookie directory] ************************************
- ok: [localhost]
- TASK: [rabbitmq | add rabbitmq erlang cookie] *********************************
- ok: [localhost]
- TASK: [rabbitmq | create rabbitmq config directory] ***************************
- ok: [localhost]
- TASK: [rabbitmq | add rabbitmq environment configuration] *********************
- ok: [localhost]
- TASK: [rabbitmq | add rabbitmq cluster configuration] *************************
- ok: [localhost]
- TASK: [rabbitmq | install plugins] ********************************************
- ok: [localhost]
- TASK: [rabbitmq | remove mnesia configuration] ********************************
- skipping: [localhost]
- TASK: [rabbitmq | start rabbit nodes] *****************************************
- changed: [localhost]
- TASK: [rabbitmq | wait for rabbit to start] ***********************************
- ok: [localhost]
- TASK: [rabbitmq | remove guest user] ******************************************
- ok: [localhost]
- TASK: [rabbitmq | add vhosts] *************************************************
- ok: [localhost] => (item=/)
- TASK: [rabbitmq | add admin users] ********************************************
- ok: [localhost] => (item=[{'password': 'the example admin password', 'name': 'admin'}, '/'])
- ok: [localhost] => (item=[{'password': 'edx', 'name': 'edx'}, '/'])
- ok: [localhost] => (item=[{'password': 'celery', 'name': 'celery'}, '/'])
- TASK: [rabbitmq | make queues mirrored] ***************************************
- skipping: [localhost] => (item=/)
- TASK: [rabbitmq | install admin tools] ****************************************
- ok: [localhost]
- TASK: [rabbitmq | ensure rabbitmqadmin attributes] ****************************
- 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] ************************
- skipping: [localhost]
- TASK: [supervisor | write the pre_suprevisor python script] *******************
- skipping: [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: [edxapp_common | Install system packages] *******************************
- ok: [localhost]
- TASK: [nltk | Install unzip] **************************************************
- ok: [localhost]
- TASK: [nltk | create the nltk data directory and subdirectories] **************
- ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
- ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
- ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
- TASK: [nltk | download nltk data] *********************************************
- ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
- ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
- ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
- TASK: [nltk | unarchive nltk data] ********************************************
- skipping: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
- skipping: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
- skipping: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
- TASK: [user | debug ] *********************************************************
- 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 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 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) and 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 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 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 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 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 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 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 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 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)
- ok: [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 | create directory to import the courses from github] ***********
- 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 | Check which `libblas` to use] ******************
- ok: [localhost]
- TASK: [edxapp | code sandbox | Use libblas.so.3gf in Ubuntu 12.04] ************
- skipping: [localhost]
- TASK: [edxapp | code sandbox | Use libblas.so.3 in Ubuntu 14.04] **************
- ok: [localhost]
- TASK: [edxapp | code sandbox | Check which `liblapac` to use] *****************
- ok: [localhost]
- TASK: [edxapp | code sandbox | Use liblapack.so.3gf in Ubuntu 12.04] **********
- skipping: [localhost]
- TASK: [edxapp | code sandbox | Use liblapack.so.3 in Ubuntu 14.04] ************
- ok: [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 | setup the newrelic python agent config] ***********************
- ok: [localhost]
- TASK: [edxapp | create ssh script for git (not authenticated)] ****************
- ok: [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 }}] ********
- changed: [localhost]
- TASK: [edxapp | git clean after checking out edx-platform] ********************
- changed: [localhost]
- TASK: [edxapp | checkout Stanford-style theme] ********************************
- skipping: [localhost]
- TASK: [edxapp | checkout comprehensive theme] *********************************
- skipping: [localhost]
- TASK: [edxapp | Stat each requirements file with Github URLs 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/github.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.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_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464297829.5844831, 'inode': 1190361, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1464626334.0385904, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1464297829.5844831, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626351.1467798, 'inode': 1190403, 'isgid': False, 'size': 5520, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1464626351.1467798, 'md5': 'd6c9e2944a33812290fb9efc493ca14f', 'isdir': False, 'ctime': 1464626351.1467798, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '32e34a7593aa8611b7715cc407d5f518ba73b799', 'islnk': False}, 'changed': False})
- skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/custom.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'stat': {'exists': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464297830.048488, 'inode': 1190142, 'isgid': False, 'size': 3965, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1464626334.0345905, 'md5': 'f11876063481fe9aacc2879879758de0', 'isdir': False, 'ctime': 1464297830.048488, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'e14d86d720440d4f94b13fee8e15d325b00da5c8', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464297830.2844903, 'inode': 1181484, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1464626334.0385904, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1464297830.2844903, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464297830.5084927, 'inode': 1190286, 'isgid': False, 'size': 127, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1464626334.0385904, 'md5': '2a65af8b4655641ed531cff8dba51b20', 'isdir': False, 'ctime': 1464297830.5084927, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0811c372115d2a8b67471f58b390583e0ede870a', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464297830.740495, 'inode': 1190143, 'isgid': False, 'size': 2206, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'xusr': False, 'atime': 1464626334.0385904, 'md5': 'a387ebae62e53bde12fe8a51e93373d6', 'isdir': False, 'ctime': 1464297830.740495, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'ea1c559737ba55acf759e8a7821dd0a1a36a4606', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, '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', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464297830.948497, 'inode': 1189975, 'isgid': False, 'size': 313, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'xusr': False, 'atime': 1464626334.0345905, 'md5': '1f8d2ca7aa01706f2859c25b8bede5f3', 'isdir': False, 'ctime': 1464297830.948497, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'cb294b185d8f40e49506c4c342acc8fd6b3683f6', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, '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', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464297831.1644993, 'inode': 1189971, 'isgid': False, 'size': 507, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'xusr': False, 'atime': 1464626334.0345905, 'md5': '09046a50cef36e7ca9f622fd3b3b397f', 'isdir': False, 'ctime': 1464297831.1644993, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '01e96ac6feaff75b076e04cbdb2b9b9a632a7034', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, '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', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464297831.4005017, 'inode': 1189968, 'isgid': False, 'size': 411, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'xusr': False, 'atime': 1464626334.0305903, 'md5': 'e62d71c98cff3129bbe6333ad96f9b00', 'isdir': False, 'ctime': 1464297831.4005017, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '8f31577e172d28cddd2e202214e5dd24ab90a243', 'islnk': False}, 'changed': False})
- 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 | Create the virtualenv to install the Python requirements] *****
- ok: [localhost]
- TASK: [edxapp | Stat each Python 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/github.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/local.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)
- TASK: [edxapp | install python requirements] **********************************
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626356.2028358, 'inode': 1189966, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1464626356.1988356, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1464626356.2028358, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626356.4388382, 'inode': 1190361, 'isgid': False, 'size': 5520, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1464626356.4388382, 'md5': 'd6c9e2944a33812290fb9efc493ca14f', 'isdir': False, 'ctime': 1464626356.4388382, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '32e34a7593aa8611b7715cc407d5f518ba73b799', 'islnk': False}, 'changed': False})
- skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/custom.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'stat': {'exists': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/local.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464215197.3549953, 'inode': 1189972, 'isgid': False, 'size': 254, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'xusr': False, 'atime': 1464215198.9350083, 'md5': '55ace0c3ccdb0b161709e8c7623be39e', 'isdir': False, 'ctime': 1464215197.3549953, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '108dd87a867bcb78ca0e0797122bb07c870157bc', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626356.6628408, 'inode': 1190403, 'isgid': False, 'size': 3965, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1464626356.658841, 'md5': 'f11876063481fe9aacc2879879758de0', 'isdir': False, 'ctime': 1464626356.6628408, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'e14d86d720440d4f94b13fee8e15d325b00da5c8', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626356.9028435, 'inode': 1190142, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1464626356.9028435, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1464626356.9028435, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626357.122846, 'inode': 1181484, 'isgid': False, 'size': 127, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1464626357.122846, 'md5': '2a65af8b4655641ed531cff8dba51b20', 'isdir': False, 'ctime': 1464626357.122846, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0811c372115d2a8b67471f58b390583e0ede870a', 'islnk': False}, 'changed': False})
- 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] ***
- ok: [localhost]
- TASK: [edxapp | code sandbox | Install sandbox requirements into sandbox venv] ***
- ok: [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 | create {{ item }} application config] *************************
- ok: [localhost] => (item=lms)
- ok: [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] ***********************
- ok: [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-update-assets', 'lms'])
- ok: [localhost] => (item=['edxapp-update-assets', 'cms'])
- ok: [localhost] => (item=['edxapp-shell', 'lms'])
- ok: [localhost] => (item=['edxapp-shell', 'cms'])
- TASK: [edxapp | migrate] ******************************************************
- changed: [localhost] => (item=lms)
- changed: [localhost] => (item=cms)
- TASK: [edxapp | gather {{ item }} static assets with paver] *******************
- skipping: [localhost] => (item=lms)
- skipping: [localhost] => (item=cms)
- TASK: [edxapp | update supervisor configuration] ******************************
- ok: [localhost]
- TASK: [edxapp | ensure edxapp has started] ************************************
- skipping: [localhost]
- TASK: [edxapp | ensure edxapp_workers has started] ****************************
- ok: [localhost]
- TASK: [edxapp | create symlinks from the venv bin dir] ************************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- ok: [localhost] => (item=django-admin.py)
- TASK: [edxapp | create symlinks from the repo dir] ****************************
- ok: [localhost] => (item=manage.py)
- TASK: [edxapp | remove read-only ssh key] *************************************
- skipping: [localhost]
- TASK: [edxapp | get instance information] *************************************
- skipping: [localhost]
- TASK: [edxapp | tag instance with edx_platform version] ***********************
- skipping: [localhost]
- TASK: [edxapp | tag instance with edxapp theme version] **********************
- skipping: [localhost]
- TASK: [edxapp | set_fact edxapp_installed=true] *******************************
- ok: [localhost]
- TASK: [edxapp | restart edxapp] ***********************************************
- skipping: [localhost]
- TASK: [edxapp | restart edxapp_workers] ***************************************
- changed: [localhost]
- 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)
- ok: [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 | create directory to import the courses from github] ***********
- 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 | Check which `libblas` to use] ******************
- ok: [localhost]
- TASK: [edxapp | code sandbox | Use libblas.so.3gf in Ubuntu 12.04] ************
- skipping: [localhost]
- TASK: [edxapp | code sandbox | Use libblas.so.3 in Ubuntu 14.04] **************
- ok: [localhost]
- TASK: [edxapp | code sandbox | Check which `liblapac` to use] *****************
- ok: [localhost]
- TASK: [edxapp | code sandbox | Use liblapack.so.3gf in Ubuntu 12.04] **********
- skipping: [localhost]
- TASK: [edxapp | code sandbox | Use liblapack.so.3 in Ubuntu 14.04] ************
- ok: [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 | setup the newrelic python agent config] ***********************
- ok: [localhost]
- TASK: [edxapp | create ssh script for git (not authenticated)] ****************
- ok: [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 Stanford-style theme] ********************************
- skipping: [localhost]
- TASK: [edxapp | checkout comprehensive theme] *********************************
- skipping: [localhost]
- TASK: [edxapp | Stat each requirements file with Github URLs 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/github.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.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_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626356.2028358, 'inode': 1189966, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1464626380.1151004, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1464626356.2028358, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626356.4388382, 'inode': 1190361, 'isgid': False, 'size': 5520, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1464626380.2711022, 'md5': 'd6c9e2944a33812290fb9efc493ca14f', 'isdir': False, 'ctime': 1464626356.4388382, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '32e34a7593aa8611b7715cc407d5f518ba73b799', 'islnk': False}, 'changed': False})
- skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/custom.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'stat': {'exists': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626356.6628408, 'inode': 1190403, 'isgid': False, 'size': 3965, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1464626380.7511075, 'md5': 'f11876063481fe9aacc2879879758de0', 'isdir': False, 'ctime': 1464626356.6628408, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'e14d86d720440d4f94b13fee8e15d325b00da5c8', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626356.9028435, 'inode': 1190142, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1464626380.8991091, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1464626356.9028435, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626357.122846, 'inode': 1181484, 'isgid': False, 'size': 127, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1464626381.0511107, 'md5': '2a65af8b4655641ed531cff8dba51b20', 'isdir': False, 'ctime': 1464626357.122846, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0811c372115d2a8b67471f58b390583e0ede870a', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626357.3588486, 'inode': 1190286, 'isgid': False, 'size': 2206, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'xusr': False, 'atime': 1464626547.5489542, 'md5': 'a387ebae62e53bde12fe8a51e93373d6', 'isdir': False, 'ctime': 1464626357.3588486, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'ea1c559737ba55acf759e8a7821dd0a1a36a4606', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, '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', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626357.582851, 'inode': 1190143, 'isgid': False, 'size': 313, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'xusr': False, 'atime': 1464626455.0359297, 'md5': '1f8d2ca7aa01706f2859c25b8bede5f3', 'isdir': False, 'ctime': 1464626357.582851, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'cb294b185d8f40e49506c4c342acc8fd6b3683f6', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, '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', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626357.8108535, 'inode': 1189975, 'isgid': False, 'size': 507, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'xusr': False, 'atime': 1464626452.7759047, 'md5': '09046a50cef36e7ca9f622fd3b3b397f', 'isdir': False, 'ctime': 1464626357.8108535, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '01e96ac6feaff75b076e04cbdb2b9b9a632a7034', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, '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', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626358.042856, 'inode': 1189971, 'isgid': False, 'size': 411, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'xusr': False, 'atime': 1464626451.791894, 'md5': 'e62d71c98cff3129bbe6333ad96f9b00', 'isdir': False, 'ctime': 1464626358.042856, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '8f31577e172d28cddd2e202214e5dd24ab90a243', 'islnk': False}, 'changed': False})
- 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 | Create the virtualenv to install the Python requirements] *****
- ok: [localhost]
- TASK: [edxapp | Stat each Python 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/github.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/local.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)
- TASK: [edxapp | install python requirements] **********************************
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626563.973136, 'inode': 1181464, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1464626563.973136, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1464626563.973136, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626564.2051387, 'inode': 1189966, 'isgid': False, 'size': 5520, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1464626564.2051387, 'md5': 'd6c9e2944a33812290fb9efc493ca14f', 'isdir': False, 'ctime': 1464626564.2051387, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '32e34a7593aa8611b7715cc407d5f518ba73b799', 'islnk': False}, 'changed': False})
- skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/custom.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'stat': {'exists': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/local.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464215197.3549953, 'inode': 1189972, 'isgid': False, 'size': 254, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'xusr': False, 'atime': 1464626380.5911057, 'md5': '55ace0c3ccdb0b161709e8c7623be39e', 'isdir': False, 'ctime': 1464215197.3549953, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '108dd87a867bcb78ca0e0797122bb07c870157bc', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626564.4451413, 'inode': 1190361, 'isgid': False, 'size': 3965, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1464626564.4451413, 'md5': 'f11876063481fe9aacc2879879758de0', 'isdir': False, 'ctime': 1464626564.4451413, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'e14d86d720440d4f94b13fee8e15d325b00da5c8', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626564.685144, 'inode': 1190403, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1464626564.685144, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1464626564.685144, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False})
- changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1001, 'exists': True, 'woth': False, 'mtime': 1464626564.9011464, 'inode': 1190142, 'isgid': False, 'size': 127, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1002, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1464626564.9011464, 'md5': '2a65af8b4655641ed531cff8dba51b20', 'isdir': False, 'ctime': 1464626564.9051464, 'isblk': False, 'xgrp': False, 'dev': 51714, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0811c372115d2a8b67471f58b390583e0ede870a', 'islnk': False}, 'changed': False})
- 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] ***
- ok: [localhost]
- TASK: [edxapp | code sandbox | Install sandbox requirements into sandbox venv] ***
- ok: [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 | create {{ item }} application config] *************************
- ok: [localhost] => (item=lms)
- ok: [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] **************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK: [edxapp | enable edxapp supervisor script] ******************************
- ok: [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-update-assets', 'lms'])
- ok: [localhost] => (item=['edxapp-update-assets', 'cms'])
- ok: [localhost] => (item=['edxapp-shell', 'lms'])
- ok: [localhost] => (item=['edxapp-shell', 'cms'])
- TASK: [edxapp | migrate] ******************************************************
- changed: [localhost] => (item=lms)
- changed: [localhost] => (item=cms)
- TASK: [edxapp | gather {{ item }} static assets with paver] *******************
- changed: [localhost] => (item=lms)
- changed: [localhost] => (item=cms)
- TASK: [edxapp | update supervisor configuration] ******************************
- ok: [localhost]
- TASK: [edxapp | ensure edxapp has started] ************************************
- ok: [localhost]
- TASK: [edxapp | ensure edxapp_workers has started] ****************************
- skipping: [localhost]
- TASK: [edxapp | create symlinks from the venv bin dir] ************************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- ok: [localhost] => (item=django-admin.py)
- TASK: [edxapp | create symlinks from the repo dir] ****************************
- ok: [localhost] => (item=manage.py)
- TASK: [edxapp | remove read-only ssh key] *************************************
- skipping: [localhost]
- TASK: [edxapp | get instance information] *************************************
- skipping: [localhost]
- TASK: [edxapp | tag instance with edx_platform version] ***********************
- skipping: [localhost]
- TASK: [edxapp | tag instance with edxapp theme version] **********************
- skipping: [localhost]
- TASK: [edxapp | set_fact edxapp_installed=true] *******************************
- ok: [localhost]
- TASK: [edxapp | restart edxapp] ***********************************************
- changed: [localhost]
- TASK: [edxapp | restart edxapp_workers] ***************************************
- skipping: [localhost]
- TASK: [edx_service | create application user] *********************************
- skipping: [localhost]
- TASK: [edx_service | create edx_service app, venv, data, and staticfiles dirs] ***
- skipping: [localhost]
- skipping: [localhost] => (item=venvs)
- skipping: [localhost] => (item=data)
- skipping: [localhost] => (item=staticfiles)
- TASK: [edx_service | create /edx/var and /edx/etc dirs] ***********************
- skipping: [localhost] => (item=/edx/var)
- skipping: [localhost] => (item=/edx/etc)
- TASK: [edx_service | create edx_service log dir] ******************************
- skipping: [localhost] => (item=/edx/var/log/ecommerce)
- TASK: [edx_service | write out app config file] *******************************
- skipping: [localhost]
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- skipping: [localhost]
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- skipping: [localhost]
- TASK: [edx_service | set git fetch.prune to ignore deleted remote refs] *******
- skipping: [localhost]
- TASK: [edx_service | validate git protocol] ***********************************
- skipping: [localhost] => (item={'REPO': 'ecommerce.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecommerce/ecommerce', 'SSH_KEY': None})
- TASK: [edx_service | install read-only ssh key] *******************************
- skipping: [localhost] => (item={'REPO': 'ecommerce.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecommerce/ecommerce', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over ssh] **********************************
- skipping: [localhost] => (item={'REPO': 'ecommerce.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecommerce/ecommerce', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over https] ********************************
- skipping: [localhost] => (item={'REPO': 'ecommerce.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecommerce/ecommerce', 'SSH_KEY': None})
- TASK: [edx_service | get instance information] ********************************
- skipping: [localhost]
- TASK: [edx_service | tag instance] ********************************************
- skipping: [localhost] => (item=[{'REPO': 'ecommerce.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecommerce/ecommerce', 'SSH_KEY': None}, {u'skipped': True, u'changed': False}])
- TASK: [edx-themes | create application user] **********************************
- skipping: [localhost]
- TASK: [edx-themes | create themes home dirs] **********************************
- skipping: [localhost]
- TASK: [edx-themes | set git fetch.prune to ignore deleted remote refs] ********
- skipping: [localhost]
- TASK: [edx-themes | validate git protocol] ************************************
- skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/etc/edx-themes/edx-themes', 'SSH_KEY': None})
- TASK: [edx-themes | install read-only ssh key] ********************************
- skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/etc/edx-themes/edx-themes', 'SSH_KEY': None})
- TASK: [edx-themes | checkout code over ssh] ***********************************
- skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/etc/edx-themes/edx-themes', 'SSH_KEY': None})
- TASK: [edx-themes | checkout code over https] *********************************
- skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/etc/edx-themes/edx-themes', 'SSH_KEY': None})
- TASK: [edx-themes | remove read-only ssh key] *********************************
- skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/etc/edx-themes/edx-themes', 'SSH_KEY': None})
- TASK: [oraclejdk | install debian needed pkgs] ********************************
- skipping: [localhost]
- TASK: [oraclejdk | download Oracle Java] **************************************
- skipping: [localhost]
- TASK: [oraclejdk | create jvm dir] ********************************************
- skipping: [localhost]
- TASK: [oraclejdk | untar Oracle Java] *****************************************
- skipping: [localhost]
- TASK: [oraclejdk | create symlink expected by elasticsearch] ******************
- skipping: [localhost]
- TASK: [oraclejdk | update alternatives java] **********************************
- skipping: [localhost] => (item=java)
- skipping: [localhost] => (item=javac)
- skipping: [localhost] => (item=javaws)
- TASK: [oraclejdk | add JAVA_HOME for Oracle Java] *****************************
- skipping: [localhost]
- TASK: [ecommerce | synchronize theme directories] *****************************
- skipping: [localhost]
- TASK: [ecommerce | add gunicorn configuration file] ***************************
- skipping: [localhost]
- TASK: [ecommerce | install application requirements] **************************
- skipping: [localhost] => (item=production.txt)
- skipping: [localhost] => (item=optional.txt)
- TASK: [ecommerce | create nodeenv] ********************************************
- skipping: [localhost]
- TASK: [ecommerce | install node dependencies] *********************************
- skipping: [localhost]
- TASK: [ecommerce | install bower dependencies] ********************************
- skipping: [localhost]
- TASK: [ecommerce | migrate] ***************************************************
- skipping: [localhost]
- TASK: [ecommerce | populate countries] ****************************************
- skipping: [localhost]
- TASK: [ecommerce | compile sass] **********************************************
- skipping: [localhost] => (item=update_assets --skip-collect)
- TASK: [ecommerce | run r.js optimizer] ****************************************
- skipping: [localhost]
- TASK: [ecommerce | run collectstatic] *****************************************
- skipping: [localhost] => (item=collectstatic --noinput)
- skipping: [localhost] => (item=compress)
- TASK: [ecommerce | write out the supervisor wrapper] **************************
- skipping: [localhost]
- TASK: [ecommerce | write supervisord config] **********************************
- skipping: [localhost]
- TASK: [ecommerce | setup the ecommence env file] ******************************
- skipping: [localhost]
- TASK: [ecommerce | enable supervisor script] **********************************
- skipping: [localhost]
- TASK: [ecommerce | update supervisor configuration] ***************************
- skipping: [localhost]
- TASK: [ecommerce | create symlinks from the-er venv bin dir] ******************
- skipping: [localhost] => (item=python)
- skipping: [localhost] => (item=pip)
- skipping: [localhost] => (item=django-admin.py)
- TASK: [ecommerce | create symlinks from the repo dir] *************************
- skipping: [localhost] => (item=manage.py)
- TASK: [ecommerce | restart the applicaton] ************************************
- skipping: [localhost]
- TASK: [edx_service | create application user] *********************************
- skipping: [localhost]
- TASK: [edx_service | create edx_service app, venv, data, and staticfiles dirs] ***
- skipping: [localhost]
- skipping: [localhost] => (item=venvs)
- skipping: [localhost] => (item=data)
- skipping: [localhost] => (item=staticfiles)
- TASK: [edx_service | create /edx/var and /edx/etc dirs] ***********************
- skipping: [localhost] => (item=/edx/var)
- skipping: [localhost] => (item=/edx/etc)
- TASK: [edx_service | create edx_service log dir] ******************************
- skipping: [localhost] => (item=/edx/var/log/ecomworker)
- TASK: [edx_service | write out app config file] *******************************
- skipping: [localhost]
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- skipping: [localhost]
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- skipping: [localhost]
- TASK: [edx_service | set git fetch.prune to ignore deleted remote refs] *******
- skipping: [localhost]
- TASK: [edx_service | validate git protocol] ***********************************
- skipping: [localhost] => (item={'REPO': 'ecommerce-worker.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecomworker/ecomworker', 'SSH_KEY': None})
- TASK: [edx_service | install read-only ssh key] *******************************
- skipping: [localhost] => (item={'REPO': 'ecommerce-worker.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecomworker/ecomworker', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over ssh] **********************************
- skipping: [localhost] => (item={'REPO': 'ecommerce-worker.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecomworker/ecomworker', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over https] ********************************
- skipping: [localhost] => (item={'REPO': 'ecommerce-worker.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecomworker/ecomworker', 'SSH_KEY': None})
- TASK: [edx_service | get instance information] ********************************
- skipping: [localhost]
- TASK: [edx_service | tag instance] ********************************************
- skipping: [localhost] => (item=[{'REPO': 'ecommerce-worker.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/ecomworker/ecomworker', 'SSH_KEY': None}, {u'skipped': True, u'changed': False}])
- TASK: [ecomworker | install application requirements] *************************
- skipping: [localhost] => (item=production.txt)
- skipping: [localhost] => (item=optional.txt)
- TASK: [ecomworker | write out the supervisor wrapper] *************************
- skipping: [localhost]
- TASK: [ecomworker | write supervisord config] *********************************
- skipping: [localhost]
- TASK: [ecomworker | setup the ecommerce_worker env file] **********************
- skipping: [localhost]
- TASK: [ecomworker | enable supervisor script] *********************************
- skipping: [localhost]
- TASK: [ecomworker | update supervisor configuration] **************************
- skipping: [localhost]
- TASK: [ecomworker | create symlinks from the venv bin dir] ********************
- skipping: [localhost] => (item=python)
- skipping: [localhost] => (item=pip)
- TASK: [ecomworker | restart the applicaton] ***********************************
- skipping: [localhost]
- TASK: [notifier | install notifier specific system packages] ******************
- ok: [localhost]
- TASK: [notifier | check if incommon ca is installed] **************************
- changed: [localhost]
- TASK: [notifier | create incommon ca directory] *******************************
- skipping: [localhost]
- TASK: [notifier | retrieve incommon server CA] ********************************
- skipping: [localhost]
- TASK: [notifier | add InCommon ca cert] ***************************************
- ok: [localhost]
- TASK: [notifier | update ca certs globally] ***********************************
- changed: [localhost]
- TASK: [notifier | create notifier user {{ notifier_user }}] *******************
- ok: [localhost]
- TASK: [notifier | create notifier app dir] ************************************
- ok: [localhost]
- TASK: [notifier | setup the notifier env] *************************************
- ok: [localhost]
- TASK: [notifier | drop a bash_profile] ****************************************
- ok: [localhost]
- TASK: [notifier | ensure .bashrc exists] **************************************
- changed: [localhost]
- TASK: [notifier | add source of notifier_env to .bashrc] **********************
- ok: [localhost]
- TASK: [notifier | add source venv to .bashrc] *********************************
- ok: [localhost]
- TASK: [notifier | create notifier DB directory] *******************************
- ok: [localhost]
- TASK: [notifier | create notifier/bin directory] ******************************
- ok: [localhost]
- TASK: [notifier | create notifier/.ssh directory] *****************************
- ok: [localhost]
- TASK: [notifier | create service log dir] *************************************
- ok: [localhost] => (item=/edx/var/log/notifier)
- TASK: [notifier | write supervisord wrapper for celery workers] ***************
- ok: [localhost]
- TASK: [notifier | write supervisord wrapper for scheduler] ********************
- ok: [localhost]
- TASK: [notifier | write supervisord config for celery workers] ****************
- ok: [localhost]
- TASK: [notifier | write supervisord config for scheduler] *********************
- ok: [localhost]
- TASK: [notifier | enable supervisord config for celery workers] ***************
- ok: [localhost]
- TASK: [notifier | enable supervisord config for scheduler] ********************
- ok: [localhost]
- TASK: [notifier | checkout code] **********************************************
- ok: [localhost]
- TASK: [notifier | create ssh script for git (not authenticated)] **************
- ok: [localhost]
- TASK: [notifier | create ssh script for git (authenticated)] ******************
- skipping: [localhost]
- TASK: [notifier | install read-only ssh key] **********************************
- skipping: [localhost]
- TASK: [notifier | checkout theme] *********************************************
- skipping: [localhost]
- TASK: [notifier | write notifier local settings] ******************************
- skipping: [localhost]
- TASK: [notifier | install application requirements] ***************************
- changed: [localhost]
- TASK: [notifier | fix permissions on notifer db file] *************************
- changed: [localhost]
- TASK: [notifier | syncdb] *****************************************************
- changed: [localhost]
- TASK: [edx_service | create application user] *********************************
- ok: [localhost]
- TASK: [edx_service | create edx_service app, venv, data, and staticfiles dirs] ***
- ok: [localhost]
- ok: [localhost] => (item=venvs)
- ok: [localhost] => (item=data)
- ok: [localhost] => (item=staticfiles)
- TASK: [edx_service | create /edx/var and /edx/etc dirs] ***********************
- ok: [localhost] => (item=/edx/var)
- ok: [localhost] => (item=/edx/etc)
- TASK: [edx_service | create edx_service log dir] ******************************
- ok: [localhost] => (item=/edx/var/log/analytics_api)
- TASK: [edx_service | write out app config file] *******************************
- ok: [localhost]
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- ok: [localhost] => (item=libmysqlclient-dev)
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- skipping: [localhost]
- TASK: [edx_service | set git fetch.prune to ignore deleted remote refs] *******
- changed: [localhost]
- TASK: [edx_service | validate git protocol] ***********************************
- skipping: [localhost] => (item={'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None})
- TASK: [edx_service | install read-only ssh key] *******************************
- skipping: [localhost] => (item={'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over ssh] **********************************
- skipping: [localhost] => (item={'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over https] ********************************
- ok: [localhost] => (item={'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None})
- TASK: [edx_service | get instance information] ********************************
- ok: [localhost]
- TASK: [edx_service | tag instance] ********************************************
- skipping: [localhost] => (item=[{'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None}, {'invocation': {'module_name': u'git_2_0_1', 'module_complex_args': {}, 'module_args': u'repo=https://github.com/edx/edx-analytics-data-api.git dest=/edx/app/analytics_api/analytics_api version=master'}, 'item': {'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None}, 'changed': False, 'after': 'a4b39021e061297bfa27672998dc0a5941404263', 'before': 'a4b39021e061297bfa27672998dc0a5941404263'}])
- TASK: [analytics_api | setup the analytics_api env file] **********************
- ok: [localhost]
- TASK: [analytics_api | add gunicorn configuration file] ***********************
- ok: [localhost]
- TASK: [analytics_api | install application requirements] **********************
- changed: [localhost] => (item=base.txt)
- changed: [localhost] => (item=production.txt)
- ok: [localhost] => (item=optional.txt)
- TASK: [analytics_api | migrate] ***********************************************
- changed: [localhost]
- TASK: [analytics_api | run collectstatic] *************************************
- changed: [localhost]
- TASK: [analytics_api | create api users] **************************************
- changed: [localhost] => (item={'key': 'dummy-api-user', 'value': 'changeme'})
- TASK: [analytics_api | write out the supervisor wrapper] **********************
- ok: [localhost]
- TASK: [analytics_api | write supervisord config] ******************************
- ok: [localhost]
- TASK: [analytics_api | enable supervisor script] ******************************
- ok: [localhost]
- TASK: [analytics_api | update supervisor configuration] ***********************
- changed: [localhost]
- TASK: [analytics_api | create symlinks from the venv bin dir] *****************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- ok: [localhost] => (item=django-admin.py)
- TASK: [analytics_api | create symlinks from the repo dir] *********************
- ok: [localhost] => (item=manage.py)
- TASK: [analytics_api | restart analytics_api] *********************************
- changed: [localhost]
- TASK: [edx_service | create application user] *********************************
- ok: [localhost]
- TASK: [edx_service | create edx_service app, venv, data, and staticfiles dirs] ***
- ok: [localhost]
- ok: [localhost] => (item=venvs)
- ok: [localhost] => (item=data)
- ok: [localhost] => (item=staticfiles)
- TASK: [edx_service | create /edx/var and /edx/etc dirs] ***********************
- ok: [localhost] => (item=/edx/var)
- ok: [localhost] => (item=/edx/etc)
- TASK: [edx_service | create edx_service log dir] ******************************
- ok: [localhost] => (item=/edx/var/log/insights)
- TASK: [edx_service | write out app config file] *******************************
- ok: [localhost]
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- ok: [localhost] => (item=libmysqlclient-dev,build-essential,gettext,openjdk-7-jdk)
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- skipping: [localhost]
- TASK: [edx_service | set git fetch.prune to ignore deleted remote refs] *******
- changed: [localhost]
- TASK: [edx_service | validate git protocol] ***********************************
- skipping: [localhost] => (item={'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None})
- TASK: [edx_service | install read-only ssh key] *******************************
- skipping: [localhost] => (item={'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over ssh] **********************************
- skipping: [localhost] => (item={'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over https] ********************************
- ok: [localhost] => (item={'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None})
- TASK: [edx_service | get instance information] ********************************
- ok: [localhost]
- TASK: [edx_service | tag instance] ********************************************
- skipping: [localhost] => (item=[{'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None}, {'invocation': {'module_name': u'git_2_0_1', 'module_complex_args': {}, 'module_args': u'repo=https://github.com/edx/edx-analytics-dashboard.git dest=/edx/app/insights/edx_analytics_dashboard version=master'}, 'item': {'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None}, 'changed': False, 'after': '4fb26be385bd47584e0b0eaa8c14db88fe3281e3', 'before': '4fb26be385bd47584e0b0eaa8c14db88fe3281e3'}])
- TASK: [insights | setup the insights env file] ********************************
- ok: [localhost]
- TASK: [insights | install application requirements] ***************************
- ok: [localhost] => (item=production.txt)
- ok: [localhost] => (item=optional.txt)
- TASK: [insights | create nodeenv] *********************************************
- ok: [localhost]
- TASK: [insights | install node dependencies] **********************************
- ok: [localhost]
- TASK: [insights | install bower dependencies] *********************************
- changed: [localhost]
- TASK: [insights | migrate] ****************************************************
- changed: [localhost]
- TASK: [insights | run r.js optimizer] *****************************************
- changed: [localhost]
- TASK: [insights | run collectstatic] ******************************************
- changed: [localhost] => (item=collectstatic --noinput)
- changed: [localhost] => (item=compress)
- TASK: [insights | compile translations] ***************************************
- changed: [localhost]
- TASK: [insights | write out the supervisior wrapper] **************************
- ok: [localhost]
- TASK: [insights | write supervisord config] ***********************************
- ok: [localhost]
- TASK: [insights | enable supervisor script] ***********************************
- ok: [localhost]
- TASK: [insights | update supervisor configuration] ****************************
- changed: [localhost]
- TASK: [insights | create symlinks from the venv bin dir] **********************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- ok: [localhost] => (item=django-admin.py)
- TASK: [insights | create manage.py symlink] ***********************************
- ok: [localhost]
- TASK: [insights | restart insights] *******************************************
- changed: [localhost]
- TASK: [edx_service | create application user] *********************************
- ok: [localhost]
- TASK: [edx_service | create edx_service app, venv, data, and staticfiles dirs] ***
- ok: [localhost]
- ok: [localhost] => (item=venvs)
- ok: [localhost] => (item=data)
- ok: [localhost] => (item=staticfiles)
- TASK: [edx_service | create /edx/var and /edx/etc dirs] ***********************
- ok: [localhost] => (item=/edx/var)
- ok: [localhost] => (item=/edx/etc)
- TASK: [edx_service | create edx_service log dir] ******************************
- ok: [localhost] => (item=/edx/var/log/edx_notes_api)
- TASK: [edx_service | write out app config file] *******************************
- ok: [localhost]
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- ok: [localhost] => (item=libmysqlclient-dev,python-mysqldb)
- TASK: [edx_service | install a bunch of system packages on which edx_service relies] ***
- skipping: [localhost]
- TASK: [edx_service | set git fetch.prune to ignore deleted remote refs] *******
- changed: [localhost]
- TASK: [edx_service | validate git protocol] ***********************************
- skipping: [localhost] => (item={'REPO': 'edx-notes-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/edx_notes_api/edx_notes_api', 'SSH_KEY': None})
- TASK: [edx_service | install read-only ssh key] *******************************
- skipping: [localhost] => (item={'REPO': 'edx-notes-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/edx_notes_api/edx_notes_api', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over ssh] **********************************
- skipping: [localhost] => (item={'REPO': 'edx-notes-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/edx_notes_api/edx_notes_api', 'SSH_KEY': None})
- TASK: [edx_service | checkout code over https] ********************************
- ok: [localhost] => (item={'REPO': 'edx-notes-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/edx_notes_api/edx_notes_api', 'SSH_KEY': None})
- TASK: [edx_service | get instance information] ********************************
- ok: [localhost]
- TASK: [edx_service | tag instance] ********************************************
- skipping: [localhost] => (item=[{'REPO': 'edx-notes-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/edx_notes_api/edx_notes_api', 'SSH_KEY': None}, {'invocation': {'module_name': u'git_2_0_1', 'module_complex_args': {}, 'module_args': u'repo=https://github.com/edx/edx-notes-api.git dest=/edx/app/edx_notes_api/edx_notes_api version=master'}, 'item': {'REPO': 'edx-notes-api.git', 'DOMAIN': u'github.com', 'VERSION': u'master', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/edx_notes_api/edx_notes_api', 'SSH_KEY': None}, 'changed': False, 'after': 'caf5719aa1fbcf344927c7530a2fd627d9d7782f', 'before': 'caf5719aa1fbcf344927c7530a2fd627d9d7782f'}])
- TASK: [edx_notes_api | install application requirements] **********************
- ok: [localhost] => (item=base.txt)
- TASK: [edx_notes_api | migrate] ***********************************************
- changed: [localhost]
- TASK: [edx_notes_api | write out gunicorn.py] *********************************
- ok: [localhost]
- TASK: [edx_notes_api | write out the supervisor wrapper] **********************
- ok: [localhost]
- TASK: [edx_notes_api | write supervisord config] ******************************
- ok: [localhost]
- TASK: [edx_notes_api | setup the edx_notes_api env file] **********************
- ok: [localhost]
- TASK: [edx_notes_api | enable supervisor script] ******************************
- ok: [localhost]
- TASK: [edx_notes_api | update supervisor configuration] ***********************
- changed: [localhost]
- TASK: [edx_notes_api | restart supervisor] ************************************
- changed: [localhost]
- TASK: [edx_notes_api | create symlinks from the venv bin dir] *****************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- ok: [localhost] => (item=django-admin.py)
- TASK: [edx_notes_api | create manage.py symlink] ******************************
- ok: [localhost]
- TASK: [edx_notes_api | restart edx_notes_api] *********************************
- changed: [localhost]
- TASK: [demo | create demo app and data dirs] **********************************
- ok: [localhost]
- TASK: [demo | check out the demo course] **************************************
- ok: [localhost]
- TASK: [demo | import demo course] *********************************************
- skipping: [localhost]
- TASK: [demo | create some test users and enroll them in the course] ***********
- skipping: [localhost] => (item={'password': 'edx', 'email': 'honor@example.com', 'mode': 'honor'})
- skipping: [localhost] => (item={'password': 'edx', 'email': 'audit@example.com', 'mode': 'audit'})
- skipping: [localhost] => (item={'password': 'edx', 'email': 'verified@example.com', 'mode': 'verified'})
- TASK: [demo | create staff user] **********************************************
- skipping: [localhost]
- TASK: [demo | add test users to the certificate whitelist] ********************
- skipping: [localhost] => (item={'password': 'edx', 'email': 'honor@example.com', 'mode': 'honor'})
- skipping: [localhost] => (item={'password': 'edx', 'email': 'audit@example.com', 'mode': 'audit'})
- skipping: [localhost] => (item={'password': 'edx', 'email': 'verified@example.com', 'mode': 'verified'})
- TASK: [demo | seed the forums for the demo course] ****************************
- skipping: [localhost] => (item={'password': 'edx', 'email': 'honor@example.com', 'mode': 'honor'})
- skipping: [localhost] => (item={'password': 'edx', 'email': 'audit@example.com', 'mode': 'audit'})
- skipping: [localhost] => (item={'password': 'edx', 'email': 'verified@example.com', 'mode': 'verified'})
- TASK: [oauth_client_setup | create OAuth2 Clients] ****************************
- changed: [localhost] => (item={'id': u'ecommerce-key', 'url_root': u'http://localhost:8002', 'secret': u'ecommerce-secret', 'name': u'ecommerce'})
- changed: [localhost] => (item={'id': u'YOUR_OAUTH2_KEY', 'url_root': u'http://127.0.0.1:8110', 'secret': u'secret', 'name': u'insights'})
- skipping: [localhost] => (item={'id': u'{# PROGRAMS_SOCIAL_AUTH_EDX_OIDC_KEY #}', 'url_root': u'{# PROGRAMS_URL_ROOT #}', 'secret': u'{# PROGRAMS_SOCIAL_AUTH_EDX_OIDC_SECRET #}', 'name': u'None'})
- skipping: [localhost] => (item={'id': u'{# CREDENTIALS_SOCIAL_AUTH_EDX_OIDC_KEY #}', 'url_root': u'{# CREDENTIALS_URL_ROOT #}', 'secret': u'{# CREDENTIALS_SOCIAL_AUTH_EDX_OIDC_SECRET #}', 'name': u'None'})
- TASK: [oraclejdk | install debian needed pkgs] ********************************
- ok: [localhost] => (item=curl)
- TASK: [oraclejdk | download Oracle Java] **************************************
- ok: [localhost]
- TASK: [oraclejdk | create jvm dir] ********************************************
- ok: [localhost]
- TASK: [oraclejdk | untar Oracle Java] *****************************************
- ok: [localhost]
- TASK: [oraclejdk | create symlink expected by elasticsearch] ******************
- ok: [localhost]
- TASK: [oraclejdk | update alternatives java] **********************************
- ok: [localhost] => (item=java)
- ok: [localhost] => (item=javac)
- ok: [localhost] => (item=javaws)
- TASK: [oraclejdk | add JAVA_HOME for Oracle Java] *****************************
- ok: [localhost]
- TASK: [elasticsearch | Install Elasticsearch repo key] ************************
- ok: [localhost]
- TASK: [elasticsearch | Add Elasticsearch Repo] ********************************
- ok: [localhost]
- TASK: [elasticsearch | install elasticsearch] *********************************
- ok: [localhost]
- TASK: [elasticsearch | create directories] ************************************
- ok: [localhost] => (item=/edx/var/elasticsearch)
- ok: [localhost] => (item=/edx/var/log/elasticsearch)
- ok: [localhost] => (item=/edx/etc/elasticsearch)
- TASK: [elasticsearch | update elasticsearch defaults] *************************
- ok: [localhost]
- TASK: [elasticsearch | drop the elasticsearch config] *************************
- ok: [localhost]
- TASK: [elasticsearch | drop the elasticsearch logging config] *****************
- ok: [localhost]
- TASK: [elasticsearch | Ensure elasticsearch is enabled and started] ***********
- ok: [localhost]
- TASK: [elasticsearch | Restart elastic when there has been an upgrade] ********
- skipping: [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 {{ forum_user }}] ****************************
- ok: [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 {{ forum_ruby_version }} installed] *****************
- changed: [localhost]
- TASK: [rbenv | install ruby {{ forum_ruby_version }}] *************************
- skipping: [localhost]
- TASK: [rbenv | set global ruby {{ forum_ruby_version }}] **********************
- changed: [localhost]
- TASK: [rbenv | install bundler] ***********************************************
- failed: [localhost] => {"changed": true, "cmd": "gem install bundler -v 1.11.2", "delta": "0:00:00.008546", "end": "2016-05-30 16:59:19.484287", "rc": 127, "start": "2016-05-30 16:59:19.475741", "warnings": []}
- stderr: /bin/sh: 1: gem: not found
- FATAL: all hosts have already failed -- aborting
- PLAY RECAP ********************************************************************
- INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | gather {{ item }} static assets with paver ---------------------------- 525.69s
- INFO:ansible.callback_plugins.datadog_tasks_timing:insights | run collectstatic ---------------------------------------------------- 82.41s
- INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install python requirements -------------------------------------------- 50.46s
- INFO:ansible.callback_plugins.datadog_tasks_timing:edx_service | get instance information ------------------------------------------ 30.22s
- INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Install edx-platform npm dependencies ---------------------------------- 25.79s
- INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | migrate ---------------------------------------------------------------- 25.36s
- INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | restart edxapp --------------------------------------------------------- 23.04s
- INFO:ansible.callback_plugins.datadog_tasks_timing:insights | run r.js optimizer --------------------------------------------------- 16.61s
- INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | checkout edx-platform repo into {{ edxapp_code_dir }} ------------------ 14.17s
- INFO:ansible.callback_plugins.datadog_tasks_timing:server_utils | Install ubuntu system packages ----------------------------------- 13.48s
- INFO:ansible.callback_plugins.datadog_tasks_timing:
- Playbook edx_sandbox finished: Mon May 30 16:59:19 2016, 415 total tasks. 0:17:27 elapsed.
- to retry, use: --limit @/root/edx_sandbox.retry
- localhost : ok=432 changed=86 unreachable=0 failed=1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement