Last active
March 13, 2016 17:39
-
-
Save ariestiyansyah/3dcd22ca1c7db51903ba to your computer and use it in GitHub Desktop.
named-release/dogwood.1 error
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HEAD is now at 23011d4... Add a message in the fullstack Vagrantfile also. | |
Requirement already satisfied (use --upgrade to upgrade): ansible==1.9.3-edx from git+https://github.com/edx/[email protected]#egg=ansible==1.9.3-edx in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1)) | |
Requirement already satisfied (use --upgrade to upgrade): PyYAML==3.11 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2)) | |
Requirement already satisfied (use --upgrade to upgrade): Jinja2==2.7.3 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 3)) | |
Requirement already satisfied (use --upgrade to upgrade): MarkupSafe==0.23 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 4)) | |
Requirement already satisfied (use --upgrade to upgrade): boto==2.32.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 5)) | |
Requirement already satisfied (use --upgrade to upgrade): ecdsa==0.11 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 6)) | |
Requirement already satisfied (use --upgrade to upgrade): paramiko==1.15.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 7)) | |
Requirement already satisfied (use --upgrade to upgrade): pycrypto==2.6.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 8)) | |
Requirement already satisfied (use --upgrade to upgrade): wsgiref==0.1.2 in /usr/lib/python2.7 (from -r requirements.txt (line 9)) | |
Requirement already satisfied (use --upgrade to upgrade): docopt==0.6.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 10)) | |
Requirement already satisfied (use --upgrade to upgrade): python-simple-hipchat==0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 11)) | |
Requirement already satisfied (use --upgrade to upgrade): prettytable==0.7.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 12)) | |
Requirement already satisfied (use --upgrade to upgrade): awscli==1.4.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 14)) | |
Requirement already satisfied (use --upgrade to upgrade): datadog==0.8.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 15)) | |
Collecting pymongo==3.1 (from -r requirements.txt (line 16)) | |
Using cached pymongo-3.1.tar.gz | |
Requirement already satisfied (use --upgrade to upgrade): MySQL-python==1.2.5 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 17)) | |
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python2.7/dist-packages (from ansible==1.9.3-edx->-r requirements.txt (line 1)) | |
Requirement already satisfied (use --upgrade to upgrade): botocore<0.63.0,>=0.62.0 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): bcdoc<0.13.0,>=0.12.0 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): six>=1.1.0 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): colorama==0.2.5 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): docutils>=0.10 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): rsa==3.1.2 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): decorator>=3.3.2 in /usr/local/lib/python2.7/dist-packages (from datadog==0.8.0->-r requirements.txt (line 15)) | |
Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/lib/python2.7/dist-packages (from datadog==0.8.0->-r requirements.txt (line 15)) | |
Requirement already satisfied (use --upgrade to upgrade): jmespath==0.4.1 in /usr/local/lib/python2.7/dist-packages (from botocore<0.63.0,>=0.62.0->awscli==1.4.2->-r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): python-dateutil>=2.1 in /usr/local/lib/python2.7/dist-packages (from botocore<0.63.0,>=0.62.0->awscli==1.4.2->-r requirements.txt (line 13)) | |
Requirement already satisfied (use --upgrade to upgrade): pyasn1>=0.1.3 in /usr/local/lib/python2.7/dist-packages (from rsa==3.1.2->awscli==1.4.2->-r requirements.txt (line 13)) | |
Installing collected packages: pymongo | |
Found existing installation: pymongo 2.7.2 | |
Uninstalling pymongo-2.7.2: | |
Successfully uninstalled pymongo-2.7.2 | |
Running setup.py install for pymongo | |
Successfully installed pymongo-3.1 | |
You are using pip version 7.1.2, however version 8.1.0 is available. | |
You should consider upgrading via the 'pip install --upgrade pip' command. | |
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 system packages] ******************************** | |
ok: [localhost] => (item=ack-grep,mosh,curl,tree,screen,tmux,curl,vim-tiny,dnsutils,inetutils-telnet,netcat) | |
TASK: [user | debug var=user_info] ******************************************** | |
ok: [localhost] => { | |
"var": { | |
"user_info": [] | |
} | |
} | |
TASK: [user | create the edxadmin group] ************************************** | |
ok: [localhost] | |
TASK: [user | Install role-independent useful system packages] **************** | |
ok: [localhost] => (item=curl) | |
TASK: [user | ensure sudoers.d is read] *************************************** | |
ok: [localhost] | |
TASK: [user | grant full sudo access to the edxadmin group] ******************* | |
ok: [localhost] | |
TASK: [user | create the users] *********************************************** | |
skipping: [localhost] | |
TASK: [user | create .ssh directory] ****************************************** | |
skipping: [localhost] | |
TASK: [user | assign admin role to admin users] ******************************* | |
skipping: [localhost] | |
TASK: [user | get github key[s]] ********************************************** | |
skipping: [localhost] | |
TASK: [user | update the authorized_keys file] ******************************** | |
skipping: [localhost] | |
TASK: [user | create bashrc file for normal users] **************************** | |
skipping: [localhost] | |
TASK: [user | create .profile for all users] ********************************** | |
skipping: [localhost] | |
TASK: [user | modify shell for restricted users] ****************************** | |
skipping: [localhost] | |
TASK: [user | create bashrc file for restricted users] ************************ | |
skipping: [localhost] | |
TASK: [user | create sudoers file from template] ****************************** | |
ok: [localhost] | |
TASK: [user | change home directory ownership to root for restricted users] *** | |
skipping: [localhost] | |
TASK: [user | create ~/bin directory] ***************************************** | |
skipping: [localhost] | |
TASK: [user | create allowed command links] *********************************** | |
skipping: [localhost] | |
TASK: [security | install security packages] ********************************** | |
skipping: [localhost] | |
TASK: [security | update all system packages] ********************************* | |
skipping: [localhost] | |
TASK: [security | configure periodic unattended-upgrades] ********************* | |
skipping: [localhost] | |
TASK: [security | disable unattended-upgrades] ******************************** | |
skipping: [localhost] | |
TASK: [security | only unattended-upgrade from security repo] ***************** | |
skipping: [localhost] | |
TASK: [security | disable security only updates on unattended-upgrades] ******* | |
skipping: [localhost] | |
TASK: [security | Check if we are vulnerable] ********************************* | |
skipping: [localhost] | |
TASK: [security | Apply bash security update if we are vulnerable] ************ | |
skipping: [localhost] | |
TASK: [security | Check again and fail if we are still vulnerable] ************ | |
skipping: [localhost] | |
TASK: [security | GHOST.c] **************************************************** | |
skipping: [localhost] | |
TASK: [security | compile GHOST] ********************************************** | |
skipping: [localhost] | |
TASK: [security | Check if we are vulnerable] ********************************* | |
skipping: [localhost] | |
TASK: [security | Apply glibc security update if we are vulnerable] *********** | |
skipping: [localhost] | |
TASK: [common | Update CA Certificates] *************************************** | |
changed: [localhost] | |
TASK: [common | Add user www-data] ******************************************** | |
ok: [localhost] | |
TASK: [common | check if instance is vagrant] ********************************* | |
ok: [localhost] | |
TASK: [common | add edx ppa apt key] ****************************************** | |
ok: [localhost] | |
TASK: [common | Add git apt repository] *************************************** | |
ok: [localhost] | |
TASK: [common | Add edx apt repository] *************************************** | |
ok: [localhost] | |
TASK: [common | Install role-independent useful system packages] ************** | |
ok: [localhost] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev) | |
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) | |
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 nginx packages] **************************************** | |
ok: [localhost] | |
TASK: [nginx | Remove the default site] *************************************** | |
ok: [localhost] | |
TASK: [nginx | Server configuration file] ************************************* | |
ok: [localhost] | |
TASK: [nginx | Creating common nginx configuration] *************************** | |
ok: [localhost] | |
TASK: [nginx | Create robot rules] ******************************************** | |
skipping: [localhost] | |
TASK: [nginx | Creating link for common nginx configuration] ****************** | |
ok: [localhost] | |
TASK: [nginx | Copying nginx configs for ['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:[email protected]">[email protected]</a>', 'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', 'heading': 'Uh oh, we are having some server issues..', 'file': 'rate-limit.html', 'title': 'Rate limit exceeded'}) | |
ok: [localhost] => (item={'msg': u'We have been notified of the error, if it persists please let us know at <a href="mailto:[email protected]">[email protected]</a>', 'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', 'heading': 'Uh oh, we are having some server issues..', 'file': 'server-error.html', 'title': 'Server error'}) | |
TASK: [nginx | Write out htpasswd file] *************************************** | |
skipping: [localhost] | |
TASK: [nginx | Create nginx log file location (just in case)] ***************** | |
changed: [localhost] | |
TASK: [nginx | stat] ********************************************************** | |
ok: [localhost -> 127.0.0.1] | |
TASK: [nginx | stat] ********************************************************** | |
ok: [localhost -> 127.0.0.1] | |
TASK: [nginx | copy ssl cert] ************************************************* | |
skipping: [localhost] | |
TASK: [nginx | copy ssl key] ************************************************** | |
skipping: [localhost] | |
TASK: [nginx | Removing default nginx config and restart (enabled)] *********** | |
ok: [localhost] | |
TASK: [nginx | Set up nginx access log rotation] ****************************** | |
ok: [localhost] | |
TASK: [nginx | Set up nginx access log rotation] ****************************** | |
ok: [localhost] | |
TASK: [nginx | make sure nginx has started] *********************************** | |
ok: [localhost] | |
TASK: [mysql | Add MySQL experimental apt key] ******************************** | |
ok: [localhost] | |
TASK: [mysql | Install apt repository] **************************************** | |
ok: [localhost] | |
TASK: [mysql | install mysql 56 and dependencies] ***************************** | |
ok: [localhost] => (item=software-properties-common,python-mysqldb,mysql-server=5.6.*) | |
TASK: [mysql | Ensure Anonymous user(s) does not exist] *********************** | |
ok: [localhost] => (item=localhost) | |
ok: [localhost] => (item=deltamooc) | |
TASK: [mysql | start mysql] *************************************************** | |
ok: [localhost] | |
TASK: [edxlocal | install packages needed for single server] ****************** | |
ok: [localhost] => (item=postfix,libjpeg-dev) | |
TASK: [edxlocal | create databases] ******************************************* | |
skipping: [localhost] | |
ok: [localhost] => (item=dashboard) | |
skipping: [localhost] | |
ok: [localhost] => (item=xqueue) | |
ok: [localhost] => (item=edxapp) | |
ok: [localhost] => (item=edx_notes_api) | |
skipping: [localhost] | |
ok: [localhost] => (item=analytics-api) | |
ok: [localhost] => (item=reports) | |
TASK: [edxlocal | create database users] ************************************** | |
skipping: [localhost] => (item={'db': u'', 'user': u'{# ECOMMERCE_DATABASES.default.USER | default(None) #}', 'pass': u'{# ECOMMERCE_DATABASES.default.PASSWORD | default(None) #}'}) | |
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'}) | |
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) #}'}) | |
TASK: [edxlocal | setup the migration db user] ******************************** | |
skipping: [localhost] | |
ok: [localhost] => (item=dashboard) | |
skipping: [localhost] | |
ok: [localhost] => (item=xqueue) | |
ok: [localhost] => (item=edxapp) | |
ok: [localhost] => (item=edx_notes_api) | |
skipping: [localhost] | |
ok: [localhost] => (item=analytics-api) | |
ok: [localhost] => (item=reports) | |
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] ********** | |
changed: [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] *************************** | |
changed: [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: [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: [rbenv | fail rbenv_user required for role] ***************************** | |
skipping: [localhost] | |
TASK: [rbenv | fail rbenv_dir required for role] ****************************** | |
skipping: [localhost] | |
TASK: [rbenv | fail rbenv_ruby_version required for role] ********************* | |
skipping: [localhost] | |
TASK: [rbenv | create rbenv user {{ edxapp_user }}] *************************** | |
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 {{ edxapp_ruby_version }} installed] **************** | |
changed: [localhost] | |
TASK: [rbenv | install ruby {{ edxapp_ruby_version }}] ************************ | |
skipping: [localhost] | |
TASK: [rbenv | set global ruby {{ edxapp_ruby_version }}] ********************* | |
changed: [localhost] | |
TASK: [rbenv | install bundler] *********************************************** | |
changed: [localhost] | |
TASK: [rbenv | remove rbenv version of rake] ********************************** | |
ok: [localhost] | |
TASK: [rbenv | install rake gem] ********************************************** | |
changed: [localhost] | |
TASK: [rbenv | rehash] ******************************************************** | |
changed: [localhost] | |
TASK: [supervisor | create application user] ********************************** | |
ok: [localhost] | |
TASK: [supervisor | create supervisor service user] *************************** | |
ok: [localhost] | |
TASK: [supervisor | create supervisor directories] **************************** | |
ok: [localhost] => (item=/edx/app/devpi/supervisor) | |
ok: [localhost] => (item=/edx/app/devpi/venvs/supervisor) | |
TASK: [supervisor | create service user accessible dirs] ********************** | |
ok: [localhost] => (item=/edx/app/devpi/supervisor/conf.d) | |
ok: [localhost] => (item=/edx/app/devpi/supervisor/conf.available.d) | |
TASK: [supervisor | create supervisor directories] **************************** | |
ok: [localhost] => (item=/edx/var/devpi/supervisor) | |
ok: [localhost] => (item=/edx/var/log/devpi/supervisor) | |
TASK: [supervisor | install supervisor in its venv] *************************** | |
ok: [localhost] | |
TASK: [supervisor | install supervisor in its venv] *************************** | |
ok: [localhost] => (item=boto=="2.34.0") | |
ok: [localhost] => (item=python-simple-hipchat) | |
TASK: [supervisor | create supervisor upstart job] **************************** | |
ok: [localhost] | |
TASK: [supervisor | create pre_supervisor upstart job] ************************ | |
skipping: [localhost] | |
TASK: [supervisor | write the pre_suprevisor python script] ******************* | |
skipping: [localhost] | |
TASK: [supervisor | create supervisor master config] ************************** | |
ok: [localhost] | |
TASK: [supervisor | create a symlink for supervisortctl] ********************** | |
skipping: [localhost] | |
TASK: [supervisor | create a symlink for supervisor cfg] ********************** | |
skipping: [localhost] => (item=/edx/app/devpi/supervisor/supervisord.conf) | |
skipping: [localhost] => (item=/edx/app/devpi/supervisor/conf.d) | |
TASK: [supervisor | create helper script for running supervisor] ************** | |
skipping: [localhost] | |
TASK: [supervisor | start supervisor] ***************************************** | |
ok: [localhost] | |
TASK: [supervisor | wait for web port to be available] ************************ | |
skipping: [localhost] | |
TASK: [supervisor | update supervisor configuration] ************************** | |
ok: [localhost] | |
TASK: [devpi | create devpi user] ********************************************* | |
ok: [localhost] | |
TASK: [devpi | create devpi application directories] ************************** | |
ok: [localhost] => (item=/edx/app/devpi) | |
ok: [localhost] => (item=/edx/app/devpi/venvs/devpi) | |
TASK: [devpi | create the devpi data directory, needs write access by the service user] *** | |
ok: [localhost] => (item=/edx/var/devpi) | |
ok: [localhost] => (item=/edx/var/devpi/data) | |
TASK: [devpi | install devpi pip pkgs] **************************************** | |
ok: [localhost] => (item=devpi-server) | |
ok: [localhost] => (item=eventlet) | |
TASK: [devpi | writing supervisor script] ************************************* | |
ok: [localhost] | |
TASK: [devpi | create a symlink for venv python, pip] ************************* | |
ok: [localhost] => (item=python) | |
ok: [localhost] => (item=pip) | |
TASK: [devpi | create a symlink for venv supervisor] ************************** | |
ok: [localhost] | |
TASK: [devpi | create a symlink for supervisor config] ************************ | |
ok: [localhost] | |
TASK: [devpi | update devpi supervisor configuration] ************************* | |
ok: [localhost] | |
TASK: [devpi | ensure devpi is started] *************************************** | |
ok: [localhost] | |
TASK: [nltk | Install unzip] ************************************************** | |
ok: [localhost] | |
TASK: [nltk | create the nltk data directory and subdirectories] ************** | |
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) | |
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) | |
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) | |
TASK: [nltk | download nltk data] ********************************************* | |
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) | |
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) | |
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) | |
TASK: [nltk | unarchive nltk data] ******************************************** | |
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) | |
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) | |
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) | |
TASK: [user | debug var=user_info] ******************************************** | |
skipping: [localhost] | |
TASK: [user | create the edxadmin group] ************************************** | |
skipping: [localhost] | |
TASK: [user | Install role-independent useful system packages] **************** | |
skipping: [localhost] | |
TASK: [user | ensure sudoers.d is read] *************************************** | |
skipping: [localhost] | |
TASK: [user | grant full sudo access to the edxadmin group] ******************* | |
skipping: [localhost] | |
TASK: [user | create the users] *********************************************** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | create .ssh directory] ****************************************** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | assign admin role to admin users] ******************************* | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | get github key[s]] ********************************************** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | update the authorized_keys file] ******************************** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | create bashrc file for normal users] **************************** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | create .profile for all users] ********************************** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | modify shell for restricted users] ****************************** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | create bashrc file for restricted users] ************************ | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | create sudoers file from template] ****************************** | |
skipping: [localhost] | |
TASK: [user | change home directory ownership to root for restricted users] *** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | create ~/bin directory] ***************************************** | |
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}) | |
TASK: [user | create allowed command links] *********************************** | |
skipping: [localhost] => (item=[{'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}, '/usr/bin/sudo']) | |
TASK: [edxapp | create application user] ************************************** | |
ok: [localhost] | |
TASK: [edxapp | create edxapp user dirs] ************************************** | |
ok: [localhost] => (item=/edx/app/edxapp) | |
ok: [localhost] => (item=/edx/app/edxapp/.ssh) | |
ok: [localhost] => (item=/edx/app/edxapp/venvs) | |
ok: [localhost] => (item=/edx/var/edxapp/themes) | |
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 | Use libblas for 3gf] *************************** | |
changed: [localhost] | |
TASK: [edxapp | code sandbox | Use liblapac for 3gf] ************************** | |
changed: [localhost] | |
TASK: [edxapp | code sandbox | Create edxapp sandbox user] ******************** | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | Install apparmor utils system pkg] ************* | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | write out apparmor code sandbox config] ******** | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | write out sandbox user sudoers config] ********* | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | start apparmor service] ************************ | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | (bootstrap) load code sandbox profile] ********* | |
changed: [localhost] | |
TASK: [edxapp | code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE] *** | |
changed: [localhost] | |
TASK: [edxapp | setup the edxapp env] ***************************************** | |
ok: [localhost] | |
TASK: [edxapp | create edxapp configuration dir] ****************************** | |
ok: [localhost] | |
TASK: [edxapp | create ssh script for git (not authenticated)] **************** | |
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 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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.0735211, 'inode': 660545, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457847773.5335712, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1457847766.0735211, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.1375217, 'inode': 660550, 'isgid': False, 'size': 6029, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457847773.5815716, 'md5': 'd93d7282464c6baf4d187bece22b38ca', 'isdir': False, 'ctime': 1457847766.1375217, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '5d581586a0426eeec37fc83b62eada0ca46176bb', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.201522, 'inode': 660551, 'isgid': False, 'size': 3459, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457847773.7295725, 'md5': '92268cb1cbbc25a0f8d419c1647828d4', 'isdir': False, 'ctime': 1457847766.201522, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a36e125c54a87fa72bc3c253b4510f957dc96e5', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.2655225, 'inode': 660552, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457847773.7775729, 'md5': '1b9a81d6fac03c0f39fc6296e86b9d61', 'isdir': False, 'ctime': 1457847766.2655225, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '4833ac9d984930a0b95771e1f9f9b6589a5abb65', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.329523, 'inode': 660553, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457847773.8255732, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1457847766.329523, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.3855233, 'inode': 660554, 'isgid': False, 'size': 2086, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858701.36298, 'md5': '5a37399f88dcb354d34837f086adb60e', 'isdir': False, 'ctime': 1457847766.3895233, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0339b3092653a74cd3a14b2d439a43a0bb01d89f', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.4495237, 'inode': 660555, 'isgid': False, 'size': 313, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457847850.0580776, 'md5': '1f8d2ca7aa01706f2859c25b8bede5f3', 'isdir': False, 'ctime': 1457847766.4495237, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.509524, 'inode': 660556, 'isgid': False, 'size': 507, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457847848.89807, 'md5': '09046a50cef36e7ca9f622fd3b3b397f', 'isdir': False, 'ctime': 1457847766.509524, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457847766.5775247, 'inode': 660557, 'isgid': False, 'size': 411, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457847848.3580666, 'md5': 'e62d71c98cff3129bbe6333ad96f9b00', 'isdir': False, 'ctime': 1457847766.5815246, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '8f31577e172d28cddd2e202214e5dd24ab90a243', 'islnk': False}, 'changed': False}) | |
TASK: [edxapp | gem install bundler] ****************************************** | |
changed: [localhost] | |
TASK: [edxapp | bundle install] *********************************************** | |
changed: [localhost] | |
TASK: [edxapp | Set the npm registry] ***************************************** | |
ok: [localhost] | |
TASK: [edxapp | Set the npm registry permissions] ***************************** | |
changed: [localhost] | |
TASK: [edxapp | Install edx-platform npm dependencies] ************************ | |
changed: [localhost] | |
TASK: [edxapp | 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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858716.69907, 'inode': 660558, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858716.69907, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1457858716.69907, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858716.7710705, 'inode': 660545, 'isgid': False, 'size': 6029, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858716.7710705, 'md5': 'd93d7282464c6baf4d187bece22b38ca', 'isdir': False, 'ctime': 1457858716.7710705, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '5d581586a0426eeec37fc83b62eada0ca46176bb', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457841335.0860224, 'inode': 670605, 'isgid': False, 'size': 254, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457841338.2580147, 'md5': '55ace0c3ccdb0b161709e8c7623be39e', 'isdir': False, 'ctime': 1457841335.0860224, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858716.859071, 'inode': 660550, 'isgid': False, 'size': 3459, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858716.859071, 'md5': '92268cb1cbbc25a0f8d419c1647828d4', 'isdir': False, 'ctime': 1457858716.859071, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a36e125c54a87fa72bc3c253b4510f957dc96e5', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858716.9430714, 'inode': 660551, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858716.9430714, 'md5': '1b9a81d6fac03c0f39fc6296e86b9d61', 'isdir': False, 'ctime': 1457858716.9430714, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '4833ac9d984930a0b95771e1f9f9b6589a5abb65', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858717.027072, 'inode': 660552, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858717.027072, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1457858717.027072, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', '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 | openid workaround] ******************************************** | |
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-syncdb', 'lms']) | |
ok: [localhost] => (item=['edxapp-syncdb', 'cms']) | |
ok: [localhost] => (item=['edxapp-update-assets', 'lms']) | |
ok: [localhost] => (item=['edxapp-update-assets', 'cms']) | |
ok: [localhost] => (item=['edxapp-shell', 'lms']) | |
ok: [localhost] => (item=['edxapp-shell', 'cms']) | |
TASK: [edxapp | 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] => (item=lms) | |
skipping: [localhost] => (item=cms) | |
TASK: [edxapp | ensure edxapp_workers has started] **************************** | |
ok: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
ok: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
ok: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
ok: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
ok: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
ok: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
ok: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 1, 'max_tasks_per_child': 1}) | |
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] => (item=lms) | |
skipping: [localhost] => (item=cms) | |
TASK: [edxapp | restart edxapp_workers] *************************************** | |
changed: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
changed: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
changed: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
changed: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
changed: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
changed: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
changed: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 1, 'max_tasks_per_child': 1}) | |
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 | Use libblas for 3gf] *************************** | |
changed: [localhost] | |
TASK: [edxapp | code sandbox | Use liblapac for 3gf] ************************** | |
changed: [localhost] | |
TASK: [edxapp | code sandbox | Create edxapp sandbox user] ******************** | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | Install apparmor utils system pkg] ************* | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | write out apparmor code sandbox config] ******** | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | write out sandbox user sudoers config] ********* | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | start apparmor service] ************************ | |
ok: [localhost] | |
TASK: [edxapp | code sandbox | (bootstrap) load code sandbox profile] ********* | |
changed: [localhost] | |
TASK: [edxapp | code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE] *** | |
changed: [localhost] | |
TASK: [edxapp | setup the edxapp env] ***************************************** | |
ok: [localhost] | |
TASK: [edxapp | create edxapp configuration dir] ****************************** | |
ok: [localhost] | |
TASK: [edxapp | create ssh script for git (not authenticated)] **************** | |
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 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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858716.69907, 'inode': 660558, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858725.4751215, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1457858716.69907, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858716.7710705, 'inode': 660545, 'isgid': False, 'size': 6029, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858725.535122, 'md5': 'd93d7282464c6baf4d187bece22b38ca', 'isdir': False, 'ctime': 1457858716.7710705, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '5d581586a0426eeec37fc83b62eada0ca46176bb', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858716.859071, 'inode': 660550, 'isgid': False, 'size': 3459, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858725.7071228, 'md5': '92268cb1cbbc25a0f8d419c1647828d4', 'isdir': False, 'ctime': 1457858716.859071, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a36e125c54a87fa72bc3c253b4510f957dc96e5', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858716.9430714, 'inode': 660551, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858725.7631233, 'md5': '1b9a81d6fac03c0f39fc6296e86b9d61', 'isdir': False, 'ctime': 1457858716.9430714, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '4833ac9d984930a0b95771e1f9f9b6589a5abb65', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858717.027072, 'inode': 660552, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858725.8151236, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1457858717.027072, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858717.1030724, 'inode': 660553, 'isgid': False, 'size': 2086, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858860.163911, 'md5': '5a37399f88dcb354d34837f086adb60e', 'isdir': False, 'ctime': 1457858717.1030724, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0339b3092653a74cd3a14b2d439a43a0bb01d89f', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858717.1790729, 'inode': 660554, 'isgid': False, 'size': 313, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858803.7595806, 'md5': '1f8d2ca7aa01706f2859c25b8bede5f3', 'isdir': False, 'ctime': 1457858717.1790729, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858717.2550733, 'inode': 660555, 'isgid': False, 'size': 507, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858802.611574, 'md5': '09046a50cef36e7ca9f622fd3b3b397f', 'isdir': False, 'ctime': 1457858717.2550733, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858717.3390737, 'inode': 660556, 'isgid': False, 'size': 411, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858802.0195704, 'md5': 'e62d71c98cff3129bbe6333ad96f9b00', 'isdir': False, 'ctime': 1457858717.3390737, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '8f31577e172d28cddd2e202214e5dd24ab90a243', 'islnk': False}, 'changed': False}) | |
TASK: [edxapp | gem install bundler] ****************************************** | |
changed: [localhost] | |
TASK: [edxapp | bundle install] *********************************************** | |
changed: [localhost] | |
TASK: [edxapp | Set the npm registry] ***************************************** | |
ok: [localhost] | |
TASK: [edxapp | Set the npm registry permissions] ***************************** | |
changed: [localhost] | |
TASK: [edxapp | Install edx-platform npm dependencies] ************************ | |
changed: [localhost] | |
TASK: [edxapp | 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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858875.2439995, 'inode': 660528, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858875.2439995, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1457858875.2439995, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858875.332, 'inode': 660557, 'isgid': False, 'size': 6029, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858875.332, 'md5': 'd93d7282464c6baf4d187bece22b38ca', 'isdir': False, 'ctime': 1457858875.332, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '5d581586a0426eeec37fc83b62eada0ca46176bb', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457841335.0860224, 'inode': 670605, 'isgid': False, 'size': 254, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457841338.2580147, 'md5': '55ace0c3ccdb0b161709e8c7623be39e', 'isdir': False, 'ctime': 1457841335.0860224, 'isblk': False, 'xgrp': False, 'dev': 2049, '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858875.4040003, 'inode': 660545, 'isgid': False, 'size': 3459, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858875.4040003, 'md5': '92268cb1cbbc25a0f8d419c1647828d4', 'isdir': False, 'ctime': 1457858875.4040003, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a36e125c54a87fa72bc3c253b4510f957dc96e5', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858875.4720006, 'inode': 660550, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858875.4720006, 'md5': '1b9a81d6fac03c0f39fc6296e86b9d61', 'isdir': False, 'ctime': 1457858875.4720006, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '4833ac9d984930a0b95771e1f9f9b6589a5abb65', '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': 1004, 'exists': True, 'woth': False, 'mtime': 1457858875.5360012, 'inode': 660551, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1005, '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': 1457858875.5360012, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1457858875.5360012, 'isblk': False, 'xgrp': False, 'dev': 2049, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', '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 | openid workaround] ******************************************** | |
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-syncdb', 'lms']) | |
ok: [localhost] => (item=['edxapp-syncdb', 'cms']) | |
ok: [localhost] => (item=['edxapp-update-assets', 'lms']) | |
ok: [localhost] => (item=['edxapp-update-assets', 'cms']) | |
ok: [localhost] => (item=['edxapp-shell', 'lms']) | |
ok: [localhost] => (item=['edxapp-shell', 'cms']) | |
TASK: [edxapp | migrate] ****************************************************** | |
changed: [localhost] => (item=lms) | |
changed: [localhost] => (item=cms) | |
TASK: [edxapp | gather {{ item }} static assets with paver] ******************* | |
changed: [localhost] => (item=lms) | |
jchanged: [localhost] => (item=cms) | |
TASK: [edxapp | update supervisor configuration] ****************************** | |
ok: [localhost] | |
TASK: [edxapp | ensure edxapp has started] ************************************ | |
ok: [localhost] => (item=lms) | |
ok: [localhost] => (item=cms) | |
TASK: [edxapp | ensure edxapp_workers has started] **************************** | |
skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 1, 'max_tasks_per_child': 1}) | |
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] => (item=lms) | |
changed: [localhost] => (item=cms) | |
TASK: [edxapp | restart edxapp_workers] *************************************** | |
skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
skipping: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 1, 'max_tasks_per_child': 1}) | |
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', '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': '3b4aa46288518a6f22089f48d3ce923d96349c6e', 'before': '3b4aa46288518a6f22089f48d3ce923d96349c6e'}]) | |
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', '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': '247207921f98e29b686742cd803d903f44447fba', 'before': '247207921f98e29b686742cd803d903f44447fba'}]) | |
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', '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) | |
failed: [localhost] => (item=optional.txt) => {"cmd": "/edx/app/edx_notes_api/venvs/edx_notes_api/bin/pip install --exists-action w -r /edx/app/edx_notes_api/edx_notes_api/requirements/optional.txt", "failed": true, "item": "optional.txt"} | |
msg: | |
:stderr: Could not open requirements file: [Errno 2] No such file or directory: '/edx/app/edx_notes_api/edx_notes_api/requirements/optional.txt' | |
You are using pip version 7.1.2, however version 8.1.0 is available. | |
You should consider upgrading via the 'pip install --upgrade pip' command. | |
FATAL: all hosts have already failed -- aborting | |
PLAY RECAP ******************************************************************** | |
INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | gather {{ item }} static assets with paver ---------------------------- 524.99s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:insights | run collectstatic --------------------------------------------------- 155.05s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install python requirements -------------------------------------------- 74.59s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:insights | run r.js optimizer --------------------------------------------------- 74.46s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install mongo server and recommends ------------------------------------- 17.77s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | checkout edx-platform repo into {{ edxapp_code_dir }} ------------------ 14.24s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp_common | Install system packages ----------------------------------------- 13.73s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install system packages on which LMS and CMS rely ---------------------- 13.72s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:common | Install role-independent useful system packages ------------------------ 13.71s | |
INFO:ansible.callback_plugins.datadog_tasks_timing:server_utils | Install system packages ------------------------------------------ 13.69s | |
INFO:ansible.callback_plugins.datadog_tasks_timing: | |
Playbook edx_sandbox finished: Sun Mar 13 09:03:26 2016, 319 total tasks. 0:17:40 elapsed. | |
to retry, use: --limit @/home/deltamooc/edx_sandbox.retry | |
localhost : ok=366 changed=90 unreachable=0 failed=1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment