Created
January 27, 2015 21:45
-
-
Save singingwolfboy/a2ddff80f5dbb9a1dde9 to your computer and use it in GitHub Desktop.
Updating edx-platform via ansible
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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