Skip to content

Instantly share code, notes, and snippets.

@singingwolfboy
Created January 27, 2015 21:45
Show Gist options
  • Save singingwolfboy/a2ddff80f5dbb9a1dde9 to your computer and use it in GitHub Desktop.
Save singingwolfboy/a2ddff80f5dbb9a1dde9 to your computer and use it in GitHub Desktop.
Updating edx-platform via ansible
vagrant@precise64:/edx/app/edx_ansible/edx_ansible/playbooks/edx-east$ /edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i localhost, -c local edxapp.yml -e "@/edx/app/edx_ansible/server-vars.yml"
[WARNING]: It is unneccessary to use '{{' in loops, leave variables in loop
expressions bare.
PLAY [Deploy edxapp] **********************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [user | debug var=user_info] ********************************************
ok: [localhost] => {
"item": "",
"user_info": []
}
TASK: [user | create the edxadmin group] **************************************
ok: [localhost]
TASK: [user | ensure sudoers.d is read] ***************************************
ok: [localhost]
TASK: [user | grant full sudo access to the edxadmin group] *******************
ok: [localhost]
TASK: [user | create the users] ***********************************************
skipping: [localhost]
TASK: [user | create .ssh directory] ******************************************
skipping: [localhost]
TASK: [user | assign admin role to admin users] *******************************
skipping: [localhost]
TASK: [user | copy github key[s] to .ssh/authorized_keys2] ********************
skipping: [localhost]
TASK: [user | set permissions on .ssh/authorized_keys2] ***********************
skipping: [localhost]
TASK: [user | copy additional authorized keys] ********************************
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: [common | Add user www-data] ********************************************
ok: [localhost]
TASK: [common | Create common directories] ************************************
ok: [localhost] => (item=/edx/var)
ok: [localhost] => (item=/edx/app)
ok: [localhost] => (item=/edx/bin)
ok: [localhost] => (item=/edx/etc)
TASK: [common | check if instance is vagrant] *********************************
ok: [localhost]
TASK: [common | Install python-pycurl] ****************************************
ok: [localhost]
TASK: [common | Add git apt repository] ***************************************
ok: [localhost]
TASK: [common | Install role-independent useful system packages] **************
ok: [localhost]
TASK: [common | Create common log directory] **********************************
ok: [localhost]
TASK: [common | upload sudo config for key forwarding as root] ****************
ok: [localhost]
TASK: [common | pip install virtualenv] ***************************************
ok: [localhost] => (item=pip==1.5.6)
ok: [localhost] => (item=setuptools==3.6)
ok: [localhost] => (item=virtualenv==1.11.6)
ok: [localhost] => (item=virtualenvwrapper)
TASK: [common | Install rsyslog configuration for edX] ************************
ok: [localhost]
TASK: [common | Remove the default rsyslog configuration] *********************
ok: [localhost]
TASK: [common | Create hourly subdirectory in logrotate.d] ********************
ok: [localhost]
TASK: [common | Install logrotate configuration for edX] **********************
ok: [localhost]
TASK: [common | Install logrotate configuration for tracking file] ************
ok: [localhost]
TASK: [common | Add logrotate for tracking.log to cron.hourly] ****************
ok: [localhost]
TASK: [common | update /etc/hosts] ********************************************
skipping: [localhost]
TASK: [common | update /etc/hostname] *****************************************
skipping: [localhost]
TASK: [common | run hostname] *************************************************
skipping: [localhost]
TASK: [common | update /etc/dhcp/dhclient.conf] *******************************
skipping: [localhost]
TASK: [common | update the ssh motd on Ubuntu] ********************************
skipping: [localhost] => (item=/etc/update-motd.d/10-help-text)
skipping: [localhost] => (item=/usr/share/landscape/landscape-sysinfo.wrapper)
skipping: [localhost] => (item=/etc/update-motd.d/51-cloudguest)
skipping: [localhost] => (item=/etc/update-motd.d/91-release-upgrade)
TASK: [common | add ssh-warning banner motd] **********************************
ok: [localhost]
TASK: [common | update ssh config] ********************************************
ok: [localhost]
TASK: [aws | create data directories] *****************************************
ok: [localhost] => (item=/edx/var/aws)
ok: [localhost] => (item=/edx/var/log/aws)
TASK: [aws | create app directory] ********************************************
ok: [localhost] => (item=/edx/app/aws)
TASK: [aws | install system packages] *****************************************
ok: [localhost]
TASK: [aws | install aws python packages] *************************************
ok: [localhost] => (item=https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz)
ok: [localhost] => (item=awscli==1.4.2)
ok: [localhost] => (item=boto==2.32.0)
TASK: [aws | get s3cmd] *******************************************************
ok: [localhost]
TASK: [aws | untar s3cmd] *****************************************************
skipping: [localhost]
TASK: [aws | create symlink for s3cmd] ****************************************
ok: [localhost]
TASK: [aws | create s3 log sync script] ***************************************
skipping: [localhost]
TASK: [aws | create symlink for s3 log sync script] ***************************
skipping: [localhost]
TASK: [aws | run s3 log sync script on supervisor shutdown] *******************
skipping: [localhost]
TASK: [aws | cronjob for s3 log sync] *****************************************
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=/edx/app/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)
TASK: [nginx | Install nginx packages] ****************************************
ok: [localhost]
TASK: [nginx | Server configuration file] *************************************
ok: [localhost]
TASK: [nginx | Creating common nginx configuration] ***************************
ok: [localhost]
TASK: [nginx | Create robot rules] ********************************************
skipping: [localhost]
TASK: [nginx | Creating link for common nginx configuration] ******************
ok: [localhost]
TASK: [nginx | Copying nginx configs for ['lms', 'cms']] **********************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [nginx | Creating nginx config links for ['lms', 'cms']] ****************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [nginx | Copying nginx extra configs] ***********************************
skipping: [localhost]
TASK: [nginx | Creating links for nginx extra configs] ************************
skipping: [localhost]
TASK: [nginx | Copying custom nginx config] ***********************************
skipping: [localhost]
TASK: [nginx | Copying nginx redirect configs for {{NGINX_EDXAPP_CUSTOM_REDIRECTS}}] ***
skipping: [localhost]
TASK: [nginx | Creating nginx redirect links for {{NGINX_EDXAPP_CUSTOM_REDIRECTS}}] ***
skipping: [localhost]
TASK: [nginx | Write out htpasswd file] ***************************************
skipping: [localhost]
TASK: [nginx | Create nginx log file location (just in case)] *****************
changed: [localhost]
TASK: [nginx | stat] **********************************************************
ok: [localhost]
TASK: [nginx | stat] **********************************************************
ok: [localhost]
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: [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)
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] **********************
ok: [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 | start supervisor] *****************************************
ok: [localhost]
TASK: [supervisor | wait for web port to be available] ************************
skipping: [localhost]
TASK: [supervisor | update supervisor configuration] **************************
ok: [localhost]
TASK: [rbenv | fail rbenv_user required for role] *****************************
skipping: [localhost]
TASK: [rbenv | fail rbenv_dir required for role] ******************************
skipping: [localhost]
TASK: [rbenv | fail rbenv_ruby_version required for role] *********************
skipping: [localhost]
TASK: [rbenv | create rbenv user {{edxapp_user}}] *****************************
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] *********************************************
changed: [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)
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 | start supervisor] *****************************************
ok: [localhost]
TASK: [supervisor | wait for web port to be available] ************************
skipping: [localhost]
TASK: [supervisor | update supervisor configuration] **************************
ok: [localhost]
TASK: [devpi | create devpi user] *********************************************
ok: [localhost]
TASK: [devpi | create devpi application directories] **************************
ok: [localhost] => (item=/edx/app/devpi)
ok: [localhost] => (item=/edx/app/devpi/venvs/devpi)
TASK: [devpi | create the devpi data directory, needs write access by the service user] ***
ok: [localhost] => (item=/edx/var/devpi)
ok: [localhost] => (item=/edx/var/devpi/data)
TASK: [devpi | install devpi pip pkgs] ****************************************
ok: [localhost] => (item=devpi-server)
ok: [localhost] => (item=eventlet)
TASK: [devpi | writing supervisor script] *************************************
ok: [localhost]
TASK: [devpi | create a symlink for venv python, pip] *************************
ok: [localhost] => (item=python)
ok: [localhost] => (item=pip)
TASK: [devpi | create a symlink for venv supervisor] **************************
ok: [localhost]
TASK: [devpi | create a symlink for supervisor config] ************************
ok: [localhost]
TASK: [devpi | update devpi supervisor configuration] *************************
ok: [localhost]
TASK: [devpi | ensure devpi is started] ***************************************
ok: [localhost]
TASK: [nltk | Install unzip] **************************************************
ok: [localhost]
TASK: [nltk | create the nltk data directory and subdirectories] **************
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
TASK: [nltk | download nltk data] *********************************************
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
TASK: [nltk | unarchive nltk data] ********************************************
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'})
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'})
skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})
TASK: [user | debug var=user_info] ********************************************
skipping: [localhost]
TASK: [user | create the edxadmin group] **************************************
skipping: [localhost]
TASK: [user | ensure sudoers.d is read] ***************************************
skipping: [localhost]
TASK: [user | grant full sudo access to the edxadmin group] *******************
skipping: [localhost]
TASK: [user | create the users] ***********************************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | create .ssh directory] ******************************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | assign admin role to admin users] *******************************
skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})
TASK: [user | copy github key[s] to .ssh/authorized_keys2] ********************
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 | set permissions on .ssh/authorized_keys2] ***********************
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 | copy additional authorized keys] ********************************
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/var/edxapp)
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)
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] *************************
ok: [localhost] => (item=/edx/var/edxapp/data)
ok: [localhost] => (item=/edx/var/edxapp/uploads)
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 | create log directories for service variants] ******************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
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 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 | checkout edx-platform repo into {{edxapp_code_dir}}] **********
failed: [localhost] => {"failed": true, "item": ""}
msg: Failed to download remote objects and refs
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/vagrant/edxapp.retry
localhost : ok=131 changed=16 unreachable=0 failed=1
vagrant@precise64:/edx/app/edx_ansible/edx_ansible/playbooks/edx-east$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment