Skip to content

Instantly share code, notes, and snippets.

@singingwolfboy
Created January 29, 2015 15:09
Show Gist options
  • Save singingwolfboy/64d070c76c3648317ea9 to your computer and use it in GitHub Desktop.
Save singingwolfboy/64d070c76c3648317ea9 to your computer and use it in GitHub Desktop.
Update from Aspen to master
% vagrant ssh
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
* Documentation: https://help.ubuntu.com/
New release '14.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
*******************************************************************
* _ __ __ *
* _ _| |\ \/ / This system is for the use of authorized *
* / -_) _` | > < users only. Usage of this system may be *
* \___\__,_|/_/\_\ monitored and recorded by system personnel. *
* *
* Anyone using this system expressly consents to such monitoring *
* and is advised that if such monitoring reveals possible *
* evidence of criminal activity, system personnel may provide the *
* evidence from such monitoring to law enforcement officials. *
* *
*******************************************************************
Last login: Tue Oct 28 18:26:42 2014 from 10.0.2.2
vagrant@precise64:~$ cd /edx/app/edx_ansible/
vagrant@precise64:/edx/app/edx_ansible$ git branch
fatal: Not a git repository (or any of the parent directories): .git
vagrant@precise64:/edx/app/edx_ansible$ cd edx_ansible/
vagrant@precise64:/edx/app/edx_ansible/edx_ansible$ git branch
* release
vagrant@precise64:/edx/app/edx_ansible/edx_ansible$ git checkout master
fatal: Unable to create '/edx/app/edx_ansible/edx_ansible/.git/index.lock': Permission denied
vagrant@precise64:/edx/app/edx_ansible/edx_ansible$ sudo git checkout master
Branch master set up to track remote branch master from origin.
Switched to a new branch 'master'
vagrant@precise64:/edx/app/edx_ansible/edx_ansible$ sudo git pull
remote: Counting objects: 2222, done.
remote: Compressing objects: 100% (1061/1061), done.
remote: Total 2222 (delta 1035), reused 2002 (delta 898)
Receiving objects: 100% (2222/2222), 581.12 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1035/1035), done.
From https://github.com/edx/configuration
ff4bcb0..c76243a master -> origin/master
* [new branch] arbab/termination-as-motd -> origin/arbab/termination-as-motd
* [new branch] benp/add-pipeline-devstack -> origin/benp/add-pipeline-devstack
* [new branch] benp/add-xstack-tests -> origin/benp/add-xstack-tests
* [new branch] benp/cleaner-jenkins -> origin/benp/cleaner-jenkins
* [new branch] benp/mysql56b -> origin/benp/mysql56b
* [new branch] benp/packer-har-vagrant -> origin/benp/packer-har-vagrant
* [new branch] benp/packerify-harprofiler -> origin/benp/packerify-harprofiler
* [new branch] benp/refactor-jenkins-master -> origin/benp/refactor-jenkins-master
* [new branch] derf/NEWRELIC_S3_WATCHER_set_default -> origin/derf/NEWRELIC_S3_WATCHER_set_default
* [new branch] derf/finance_email_variable -> origin/derf/finance_email_variable
* [new branch] derf/git-prune-on-private-repos -> origin/derf/git-prune-on-private-repos
* [new branch] derf/specify_a_boto_version_for_supervisor -> origin/derf/specify_a_boto_version_for_supervisor
* [new branch] e0d/cherry-pick-prune -> origin/e0d/cherry-pick-prune
* [new branch] e0d/docker -> origin/e0d/docker
* [new branch] e0d/docker-hacking -> origin/e0d/docker-hacking
* [new branch] e0d/edx-notes-api -> origin/e0d/edx-notes-api
* [new branch] e0d/es-play -> origin/e0d/es-play
* [new branch] e0d/mysql-56-on-release -> origin/e0d/mysql-56-on-release
* [new branch] e0d/optionally-update-ssh-config -> origin/e0d/optionally-update-ssh-config
e4f6295..b40bf5d e0d/service-builder -> origin/e0d/service-builder
* [new branch] e0d/update-ami-release -> origin/e0d/update-ami-release
* [new branch] e0d/update-full-ami -> origin/e0d/update-full-ami
* [new branch] e0d/with-cd -> origin/e0d/with-cd
* [new branch] edxapp-tender-domain -> origin/edxapp-tender-domain
* [new branch] feanil/ca_certs -> origin/feanil/ca_certs
* [new branch] feanil/embargo_ability -> origin/feanil/embargo_ability
* [new branch] feanil/update_for_alton_upgrade -> origin/feanil/update_for_alton_upgrade
* [new branch] feanil/updates_for_ec2_linux -> origin/feanil/updates_for_ec2_linux
* [new branch] feanil/use_wheels -> origin/feanil/use_wheels
* [new branch] fmyzjs-COMMON_GIT_MIRROR -> origin/fmyzjs-COMMON_GIT_MIRROR
* [new branch] gabe/analytics-docker -> origin/gabe/analytics-docker
* [new branch] jarv/add-helper-scripts -> origin/jarv/add-helper-scripts
* [new branch] jarv/config-refactor-wip -> origin/jarv/config-refactor-wip
* [new branch] jarv/config-yaml -> origin/jarv/config-yaml
* [new branch] jarv/create-pkg-role -> origin/jarv/create-pkg-role
* [new branch] jarv/default-for-oath -> origin/jarv/default-for-oath
* [new branch] jarv/fix-cert-checkout -> origin/jarv/fix-cert-checkout
* [new branch] jarv/fix-flag -> origin/jarv/fix-flag
* [new branch] jarv/fix-flag-release -> origin/jarv/fix-flag-release
* [new branch] jarv/nginx-links -> origin/jarv/nginx-links
* [new branch] jarv/pkg-test -> origin/jarv/pkg-test
* [new branch] jarv/xserver-null-values -> origin/jarv/xserver-null-values
* [new branch] max/dash2underscore -> origin/max/dash2underscore
* [new branch] max/git-refactor -> origin/max/git-refactor
* [new branch] oleg/edxnotes -> origin/oleg/edxnotes
33783a7..04ac827 release -> origin/release
+ 5b10afe...d2baa6f remove-loop-vars -> origin/remove-loop-vars (forced update)
* [new branch] tim/notes -> origin/tim/notes
* [new branch] will/gather-facts-for-security-role -> origin/will/gather-facts-for-security-role
* [new tag] rc/2014-11-03-lavash-0 -> rc/2014-11-03-lavash-0
Updating ff4bcb0..c76243a
Fast-forward
.travis.yml | 10 +
AUTHORS | 2 +
CHANGELOG.md | 19 ++
README.md | 2 -
playbooks/edx-east/edx_continuous_integration.yml | 4 +-
playbooks/edx-east/edx_provision.yml | 2 +-
playbooks/edx_sandbox.yml | 1 +
playbooks/library/mongo_user_1.8 | 252 +++++++++++++++++++++
playbooks/roles/analytics-api/defaults/main.yml | 1 +
playbooks/roles/analytics-api/tasks/deploy.yml | 11 +-
.../edx/app/analytics-api/analytics-api.sh.j2 | 2 +-
.../app/analytics-api/analytics_api_gunicorn.py.j2 | 12 +
playbooks/roles/analytics-server/defaults/main.yml | 90 --------
playbooks/roles/analytics-server/files/git_ssh.sh | 2 -
playbooks/roles/analytics-server/meta/main.yml | 12 -
playbooks/roles/analytics-server/tasks/deploy.yml | 81 -------
playbooks/roles/analytics-server/tasks/main.yml | 136 -----------
.../templates/etc/init/analytics.conf.j2 | 21 --
.../wwc/analytics-server/analytics-server_env.j2 | 7 -
.../templates/opt/wwc/analytics.auth.json.j2 | 1 -
.../templates/tmp/analytics-server.git_ssh.sh.j2 | 2 -
playbooks/roles/analytics/defaults/main.yml | 91 --------
playbooks/roles/analytics/tasks/deploy.yml | 81 -------
playbooks/roles/analytics/tasks/main.yml | 136 -----------
.../analytics/templates/etc/init/analytics.conf.j2 | 21 --
.../templates/opt/wwc/analytics.auth.json.j2 | 1 -
.../templates/opt/wwc/analytics/analytics_env.j2 | 7 -
.../templates/tmp/analytics.git_ssh.sh.j2 | 2 -
playbooks/roles/aws/defaults/main.yml | 4 +-
playbooks/roles/aws/templates/send-logs-to-s3.j2 | 4 +-
playbooks/roles/certs/defaults/main.yml | 2 +-
playbooks/roles/certs/tasks/deploy.yml | 10 +
playbooks/roles/common/defaults/main.yml | 3 +-
playbooks/roles/common/tasks/main.yml | 6 +-
playbooks/roles/datadog/defaults/main.yml | 2 +
playbooks/roles/datadog/tasks/main.yml | 9 +-
playbooks/roles/edx_ansible/templates/update.j2 | 4 +
playbooks/roles/edxapp/defaults/main.yml | 78 +++++--
playbooks/roles/edxapp/handlers/main.yml | 20 --
playbooks/roles/edxapp/meta/main.yml | 1 +
playbooks/roles/edxapp/tasks/deploy.yml | 118 ++++------
playbooks/roles/edxapp/tasks/main.yml | 18 --
.../roles/edxapp/tasks/python_sandbox_env.yml | 21 --
.../roles/edxapp/tasks/service_variant_config.yml | 59 +++--
playbooks/roles/edxapp/tasks/xml.yml | 6 +
playbooks/roles/edxapp/templates/cms.auth.yaml.j2 | 1 +
playbooks/roles/edxapp/templates/cms.conf.j2 | 16 +-
playbooks/roles/edxapp/templates/cms.env.yaml.j2 | 1 +
.../roles/edxapp/templates/cms_gunicorn.py.j2 | 24 ++
.../edxapp/templates/edx/bin/edxapp-migrate-cms.j2 | 3 +
.../edxapp/templates/edx/bin/edxapp-migrate-lms.j2 | 3 +
.../templates/edx/bin/edxapp-runserver-cms.j2 | 3 +
.../templates/edx/bin/edxapp-runserver-lms.j2 | 3 +
.../edxapp/templates/edx/bin/edxapp-shell-cms.j2 | 3 +
.../edxapp/templates/edx/bin/edxapp-shell-lms.j2 | 3 +
.../edxapp/templates/edx/bin/edxapp-syncdb-cms.j2 | 3 +
.../edxapp/templates/edx/bin/edxapp-syncdb-lms.j2 | 3 +
.../templates/edx/bin/edxapp-update-assets-cms.j2 | 3 +
.../templates/edx/bin/edxapp-update-assets-lms.j2 | 3 +
.../edxapp/templates/edx/bin/edxapp_common.j2 | 11 +
playbooks/roles/edxapp/templates/lms.auth.yaml.j2 | 1 +
playbooks/roles/edxapp/templates/lms.conf.j2 | 17 +-
playbooks/roles/edxapp/templates/lms.env.yaml.j2 | 1 +
.../roles/edxapp/templates/lms_gunicorn.py.j2 | 24 ++
playbooks/roles/edxapp_common/defaults/main.yml | 22 ++
playbooks/roles/edxapp_common/tasks/main.yml | 5 +
playbooks/roles/edxlocal/defaults/main.yml | 5 +-
playbooks/roles/edxlocal/tasks/main.yml | 30 +++
playbooks/roles/edxlocal/tasks/remove_mysql_55.yml | 16 ++
playbooks/roles/elasticsearch/tasks/main.yml | 12 -
playbooks/roles/gitreload/defaults/main.yml | 47 ++++
.../handlers/main.yml | 21 +-
.../handlers => gitreload/meta}/main.yml | 19 +-
playbooks/roles/gitreload/tasks/course_pull.yml | 34 +++
playbooks/roles/gitreload/tasks/deploy.yml | 62 +++++
playbooks/roles/gitreload/tasks/main.yml | 84 +++++++
.../edx/app/gitreload/gitreload_gunicorn.py.j2 | 14 ++
.../templates/edx/app/gitreload/gr.env.json.j2 | 1 +
.../supervisor/conf.available.d/gitreload.conf.j2 | 13 ++
playbooks/roles/haproxy/defaults/main.yml | 2 +-
playbooks/roles/harprofiler/defaults/main.yml | 14 ++
playbooks/roles/harprofiler/meta/main.yml | 6 +
playbooks/roles/harprofiler/tasks/main.yml | 54 +++++
playbooks/roles/harprofiler/templates/bashrc.j2 | 3 +
.../templates/validate_harprofiler_install.sh.j2 | 9 +
playbooks/roles/in_production/tasks/main.yml | 20 --
playbooks/roles/insights/defaults/main.yml | 13 +-
playbooks/roles/insights/tasks/deploy.yml | 10 +-
playbooks/roles/jenkins_worker/defaults/main.yml | 33 +--
playbooks/roles/jenkins_worker/meta/main.yml | 2 +
playbooks/roles/jenkins_worker/tasks/java.yml | 3 +
playbooks/roles/jenkins_worker/tasks/main.yml | 2 +-
playbooks/roles/jenkins_worker/tasks/packer.yml | 4 +-
playbooks/roles/jenkins_worker/tasks/python.yml | 16 +-
playbooks/roles/jenkins_worker/tasks/system.yml | 10 +
.../jenkins_worker/templates/pip-accel.conf.j2 | 7 +
playbooks/roles/jscover/defaults/main.yml | 10 +
.../tasks/jscover.yml => jscover/tasks/main.yml} | 3 +-
playbooks/roles/local_dev/app_bashrc.j2 | 18 --
playbooks/roles/local_dev/defaults/main.yml | 5 +
playbooks/roles/local_dev/meta/main.yml | 4 +
playbooks/roles/local_dev/templates/app_bashrc.j2 | 16 ++
.../roles/logstash/templates/logstash.conf.j2 | 16 +-
playbooks/roles/mariadb/defaults/main.yml | 7 +
playbooks/roles/mariadb/tasks/cluster.yml | 9 +-
playbooks/roles/mongo/defaults/main.yml | 11 +-
playbooks/roles/mongo/tasks/main.yml | 71 ++++--
playbooks/roles/mongo/templates/create_root.js.j2 | 23 ++
.../{repset_init.j2 => repset_init.js.j2} | 32 ++-
playbooks/roles/newrelic/defaults/main.yml | 11 +
playbooks/roles/newrelic/meta/main.yml | 9 +
playbooks/roles/newrelic/tasks/main.yml | 7 +-
playbooks/roles/newrelic/tasks/s3-watcher.yml | 75 ++++++
.../s3_watcher/config/newrelic_plugins.yml.j2 | 30 +++
.../templates/s3-watcher-bundle-install.sh.j2 | 7 +
.../newrelic/templates/s3-watcher-supervisor.sh.j2 | 7 +
.../roles/newrelic/templates/s3watcher.conf.j2 | 9 +
playbooks/roles/nginx/defaults/main.yml | 11 +-
playbooks/roles/nginx/tasks/main.yml | 8 +-
.../templates/edx/app/nginx/sites-available/cms.j2 | 18 +-
.../edx/app/nginx/sites-available/gitreload.j2 | 35 +++
.../templates/edx/app/nginx/sites-available/lms.j2 | 25 +-
.../app/nginx/sites-available/s3_maintenance.j2 | 15 ++
.../roles/nginx/templates/etc/nginx/nginx.conf.j2 | 2 +-
playbooks/roles/notifier/defaults/main.yml | 21 +-
playbooks/roles/notifier/tasks/deploy.yml | 22 +-
playbooks/roles/notifier/tasks/main.yml | 52 +++--
.../conf.d/notifier-celery-workers.conf.j2 | 2 +-
.../supervisor/conf.d/notifier-scheduler.conf.j2 | 2 +-
.../notifier-celery-workers-supervisor.sh.j2 | 2 +-
.../templates/notifier-scheduler-supervisor.sh.j2 | 2 +-
playbooks/roles/ora/defaults/main.yml | 1 +
playbooks/roles/ora/tasks/deploy.yml | 7 +
playbooks/roles/ora/templates/ora.conf.j2 | 2 +-
playbooks/roles/ora/templates/ora_gunicorn.py.j2 | 13 ++
playbooks/roles/supervisor/defaults/main.yml | 2 +-
.../supervisor/files/pre_supervisor_checks.py | 62 ++++-
playbooks/roles/supervisor/tasks/main.yml | 14 +-
.../supervisor/templates/edx/bin/supervisorctl.j2 | 2 +
.../files/test-development-environment.sh | 4 +-
playbooks/roles/user/tasks/main.yml | 29 +--
playbooks/roles/user/templates/authorized_keys.j2 | 14 ++
playbooks/roles/xqueue/defaults/main.yml | 2 +-
playbooks/roles/xqueue/tasks/deploy.yml | 9 +-
playbooks/roles/xqueue/tasks/tag_ec2.yml | 11 -
playbooks/roles/xqueue/templates/xqueue.conf.j2 | 10 +-
.../roles/xqueue/templates/xqueue_gunicorn.py.j2 | 19 ++
playbooks/roles/xserver/defaults/main.yml | 7 +-
playbooks/roles/xserver/tasks/deploy.yml | 7 +
playbooks/roles/xserver/tasks/main.yml | 9 +-
playbooks/roles/xserver/templates/xserver.conf.j2 | 2 +-
.../roles/xserver/templates/xserver_gunicorn.py.j2 | 13 ++
playbooks/run_role.yml | 2 +-
playbooks/vagrant-cluster.yml | 13 +-
playbooks/vagrant-devstack.yml | 2 +
requirements.txt | 2 +-
util/install/vagrant.sh | 17 +-
util/jenkins/ansible-provision.sh | 12 +-
util/jenkins/certificate-whitelist.sh | 2 +-
util/jenkins/change-enrollment-course.sh | 4 +-
util/jenkins/change-enrollment.sh | 13 +-
util/jenkins/django-admin.sh | 4 +-
util/jenkins/issue-certificate.sh | 13 +-
util/jinja_check.py | 31 +++
util/packer/README.rst | 21 ++
util/packer/harprofiler.json | 38 ++++
util/packer/jenkins_worker.json | 9 +-
util/vpc-tools/abbey.py | 4 +-
util/vpc-tools/tag-old-ebs.py | 207 +++++++++++++++++
util/vpc-tools/vpc-tools.py | 91 +++++---
vagrant/release/devstack/Vagrantfile | 19 +-
vagrant/release/fullstack/Vagrantfile | 5 +-
172 files changed, 2205 insertions(+), 1233 deletions(-)
mode change 100644 => 100755 AUTHORS
create mode 100644 playbooks/library/mongo_user_1.8
create mode 100644 playbooks/roles/analytics-api/templates/edx/app/analytics-api/analytics_api_gunicorn.py.j2
delete mode 100644 playbooks/roles/analytics-server/defaults/main.yml
delete mode 100644 playbooks/roles/analytics-server/files/git_ssh.sh
delete mode 100644 playbooks/roles/analytics-server/meta/main.yml
delete mode 100644 playbooks/roles/analytics-server/tasks/deploy.yml
delete mode 100644 playbooks/roles/analytics-server/tasks/main.yml
delete mode 100644 playbooks/roles/analytics-server/templates/etc/init/analytics.conf.j2
delete mode 100644 playbooks/roles/analytics-server/templates/opt/wwc/analytics-server/analytics-server_env.j2
delete mode 100644 playbooks/roles/analytics-server/templates/opt/wwc/analytics.auth.json.j2
delete mode 100644 playbooks/roles/analytics-server/templates/tmp/analytics-server.git_ssh.sh.j2
delete mode 100644 playbooks/roles/analytics/defaults/main.yml
delete mode 100644 playbooks/roles/analytics/tasks/deploy.yml
delete mode 100644 playbooks/roles/analytics/tasks/main.yml
delete mode 100644 playbooks/roles/analytics/templates/etc/init/analytics.conf.j2
delete mode 100644 playbooks/roles/analytics/templates/opt/wwc/analytics.auth.json.j2
delete mode 100644 playbooks/roles/analytics/templates/opt/wwc/analytics/analytics_env.j2
delete mode 100644 playbooks/roles/analytics/templates/tmp/analytics.git_ssh.sh.j2
delete mode 100644 playbooks/roles/edxapp/handlers/main.yml
create mode 100644 playbooks/roles/edxapp/templates/cms.auth.yaml.j2
create mode 100644 playbooks/roles/edxapp/templates/cms.env.yaml.j2
create mode 100644 playbooks/roles/edxapp/templates/cms_gunicorn.py.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-migrate-cms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-migrate-lms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-runserver-cms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-runserver-lms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-shell-cms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-shell-lms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-syncdb-cms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-syncdb-lms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets-cms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets-lms.j2
create mode 100644 playbooks/roles/edxapp/templates/edx/bin/edxapp_common.j2
create mode 100644 playbooks/roles/edxapp/templates/lms.auth.yaml.j2
create mode 100644 playbooks/roles/edxapp/templates/lms.env.yaml.j2
create mode 100644 playbooks/roles/edxapp/templates/lms_gunicorn.py.j2
create mode 100644 playbooks/roles/edxapp_common/defaults/main.yml
create mode 100644 playbooks/roles/edxapp_common/tasks/main.yml
create mode 100644 playbooks/roles/edxlocal/tasks/remove_mysql_55.yml
create mode 100644 playbooks/roles/gitreload/defaults/main.yml
rename playbooks/roles/{analytics-server => gitreload}/handlers/main.yml (57%)
rename playbooks/roles/{analytics/handlers => gitreload/meta}/main.yml (59%)
create mode 100644 playbooks/roles/gitreload/tasks/course_pull.yml
create mode 100644 playbooks/roles/gitreload/tasks/deploy.yml
create mode 100644 playbooks/roles/gitreload/tasks/main.yml
create mode 100644 playbooks/roles/gitreload/templates/edx/app/gitreload/gitreload_gunicorn.py.j2
create mode 100644 playbooks/roles/gitreload/templates/edx/app/gitreload/gr.env.json.j2
create mode 100644 playbooks/roles/gitreload/templates/edx/app/supervisor/conf.available.d/gitreload.conf.j2
create mode 100644 playbooks/roles/harprofiler/defaults/main.yml
create mode 100644 playbooks/roles/harprofiler/meta/main.yml
create mode 100644 playbooks/roles/harprofiler/tasks/main.yml
create mode 100644 playbooks/roles/harprofiler/templates/bashrc.j2
create mode 100644 playbooks/roles/harprofiler/templates/validate_harprofiler_install.sh.j2
delete mode 100644 playbooks/roles/in_production/tasks/main.yml
create mode 100644 playbooks/roles/jenkins_worker/tasks/java.yml
create mode 100644 playbooks/roles/jenkins_worker/templates/pip-accel.conf.j2
create mode 100644 playbooks/roles/jscover/defaults/main.yml
rename playbooks/roles/{jenkins_worker/tasks/jscover.yml => jscover/tasks/main.yml} (89%)
delete mode 100644 playbooks/roles/local_dev/app_bashrc.j2
create mode 100644 playbooks/roles/local_dev/meta/main.yml
create mode 100644 playbooks/roles/mongo/templates/create_root.js.j2
rename playbooks/roles/mongo/templates/{repset_init.j2 => repset_init.js.j2} (64%)
create mode 100644 playbooks/roles/newrelic/meta/main.yml
create mode 100644 playbooks/roles/newrelic/tasks/s3-watcher.yml
create mode 100644 playbooks/roles/newrelic/templates/opt/newrelic_platform_plugins/s3_watcher/config/newrelic_plugins.yml.j2
create mode 100644 playbooks/roles/newrelic/templates/s3-watcher-bundle-install.sh.j2
create mode 100644 playbooks/roles/newrelic/templates/s3-watcher-supervisor.sh.j2
create mode 100644 playbooks/roles/newrelic/templates/s3watcher.conf.j2
create mode 100644 playbooks/roles/nginx/templates/edx/app/nginx/sites-available/gitreload.j2
create mode 100644 playbooks/roles/nginx/templates/edx/app/nginx/sites-available/s3_maintenance.j2
create mode 100644 playbooks/roles/ora/templates/ora_gunicorn.py.j2
mode change 100644 => 100755 playbooks/roles/supervisor/files/pre_supervisor_checks.py
create mode 100644 playbooks/roles/supervisor/templates/edx/bin/supervisorctl.j2
create mode 100644 playbooks/roles/user/templates/authorized_keys.j2
delete mode 100644 playbooks/roles/xqueue/tasks/tag_ec2.yml
create mode 100644 playbooks/roles/xqueue/templates/xqueue_gunicorn.py.j2
create mode 100644 playbooks/roles/xserver/templates/xserver_gunicorn.py.j2
create mode 100755 util/jinja_check.py
create mode 100644 util/packer/README.rst
create mode 100644 util/packer/harprofiler.json
create mode 100644 util/vpc-tools/tag-old-ebs.py
vagrant@precise64:/edx/app/edx_ansible/edx_ansible$ cd playbooks/edx-east/
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 | 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: [common | Update CA Certificates] ***************************************
changed: [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] **************
changed: [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] ********************************************
changed: [localhost]
TASK: [aws | create all service directories] **********************************
ok: [localhost] => (item={'value': {'owner': 'root', 'path': u'/edx/app/aws', 'group': 'root', 'mode': '0755'}, 'key': 'home'})
ok: [localhost] => (item={'value': {'owner': 'root', 'path': u'/edx/var/aws', 'group': 'root', 'mode': '0700'}, 'key': 'data'})
changed: [localhost] => (item={'value': {'owner': 'syslog', 'path': u'/edx/var/log/aws', 'group': 'syslog', 'mode': '0650'}, 'key': 'logs'})
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)
changed: [localhost] => (item=boto=="2.34.0")
TASK: [aws | get s3cmd] *******************************************************
ok: [localhost]
TASK: [aws | untar s3cmd] *****************************************************
changed: [localhost]
TASK: [aws | create symlink for s3cmd] ****************************************
ok: [localhost]
TASK: [aws | create s3 log sync script] ***************************************
skipping: [localhost]
TASK: [aws | create symlink for s3 log sync script] ***************************
skipping: [localhost]
TASK: [aws | force logrotate on supervisor stop] ******************************
skipping: [localhost]
TASK: [aws | cronjob for s3 log sync] *****************************************
skipping: [localhost]
TASK: [nginx | create nginx app dirs] *****************************************
ok: [localhost] => (item=/edx/app/nginx)
ok: [localhost] => (item=/edx/app/nginx/sites-available)
changed: [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] ***************************************
changed: [localhost]
TASK: [nginx | Server configuration file] *************************************
changed: [localhost]
TASK: [nginx | Creating common nginx configuration] ***************************
ok: [localhost]
TASK: [nginx | Create robot rules] ********************************************
skipping: [localhost]
TASK: [nginx | Creating link for common nginx configuration] ******************
changed: [localhost]
TASK: [nginx | Copying nginx configs for ['lms', 'cms']] **********************
changed: [localhost] => (item=lms)
changed: [localhost] => (item=cms)
TASK: [nginx | Creating nginx config links for ['lms', 'cms']] ****************
changed: [localhost] => (item=lms)
changed: [localhost] => (item=cms)
TASK: [nginx | Copying nginx extra configs] ***********************************
skipping: [localhost]
TASK: [nginx | Creating links for nginx extra configs] ************************
skipping: [localhost]
TASK: [nginx | Copying custom nginx config] ***********************************
skipping: [localhost]
TASK: [nginx | Copying nginx redirect configs for {{NGINX_EDXAPP_CUSTOM_REDIRECTS}}] ***
skipping: [localhost]
TASK: [nginx | Creating nginx redirect links for {{NGINX_EDXAPP_CUSTOM_REDIRECTS}}] ***
skipping: [localhost]
TASK: [nginx | Create NGINX server templates] *********************************
ok: [localhost] => (item={'msg': u'If think you have encountered this message in error please let us know at <a href="mailto:[email protected]">[email protected]</a>', 'file': 'rate-limit.html', 'heading': 'Uh oh, we are having some server issues..', 'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', '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>', 'file': 'server-error.html', 'heading': 'Uh oh, we are having some server issues..', 'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', '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]
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: [edxapp_common | Install system packages] *******************************
ok: [localhost]
TASK: [supervisor | create application user] **********************************
ok: [localhost]
TASK: [supervisor | create supervisor service user] ***************************
ok: [localhost]
TASK: [supervisor | create supervisor directories] ****************************
ok: [localhost] => (item=/edx/app/supervisor)
ok: [localhost] => (item=/edx/app/supervisor/venvs/supervisor)
TASK: [supervisor | create service user accessible dirs] **********************
ok: [localhost] => (item=/edx/app/supervisor/conf.d)
ok: [localhost] => (item=/edx/app/supervisor/conf.available.d)
TASK: [supervisor | create supervisor directories] ****************************
ok: [localhost] => (item=/edx/var/supervisor)
ok: [localhost] => (item=/edx/var/log/supervisor)
TASK: [supervisor | install supervisor in its venv] ***************************
ok: [localhost]
TASK: [supervisor | install supervisor in its venv] ***************************
ok: [localhost] => (item=boto=="2.34.0")
ok: [localhost] => (item=python-simple-hipchat)
TASK: [supervisor | create supervisor upstart job] ****************************
ok: [localhost]
TASK: [supervisor | create pre_supervisor upstart job] ************************
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] **********************
changed: [localhost] => (item=/edx/app/supervisor/supervisord.conf)
changed: [localhost] => (item=/edx/app/supervisor/conf.d)
TASK: [supervisor | create helper script for running supervisor] **************
changed: [localhost]
TASK: [supervisor | start supervisor] *****************************************
ok: [localhost]
TASK: [supervisor | wait for web port to be available] ************************
skipping: [localhost]
TASK: [supervisor | update supervisor configuration] **************************
ok: [localhost]
TASK: [rbenv | fail rbenv_user required for role] *****************************
skipping: [localhost]
TASK: [rbenv | fail rbenv_dir required for role] ******************************
skipping: [localhost]
TASK: [rbenv | fail rbenv_ruby_version required for role] *********************
skipping: [localhost]
TASK: [rbenv | create rbenv user {{edxapp_user}}] *****************************
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] ****************************************
changed: [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 | 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/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)
changed: [localhost] => (item=/edx/var/edxapp/data)
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)
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] *****************************************
changed: [localhost]
TASK: [edxapp | create edxapp configuration dir] ******************************
changed: [localhost]
TASK: [edxapp | create ssh script for git (not authenticated)] ****************
changed: [localhost]
TASK: [edxapp | create ssh script for git (authenticated)] ********************
skipping: [localhost]
TASK: [edxapp | install read-only ssh key] ************************************
skipping: [localhost]
TASK: [edxapp | check if git repo exists before pruning] **********************
ok: [localhost]
TASK: [edxapp | git prune before checking out] ********************************
changed: [localhost]
TASK: [edxapp | checkout edx-platform repo into {{edxapp_code_dir}}] **********
changed: [localhost]
TASK: [edxapp | git clean after checking out edx-platform] ********************
changed: [localhost]
TASK: [edxapp | checkout theme] ***********************************************
skipping: [localhost]
TASK: [edxapp | create checksum for requirements, package.json and Gemfile] ***
failed: [localhost] => {"changed": true, "cmd": "/usr/bin/md5sum /edx/app/edxapp/edx-platform/requirements/edx/pre.txt /edx/app/edxapp/edx-platform/requirements/edx/post.txt /edx/app/edxapp/edx-platform/requirements/edx/base.txt /edx/app/edxapp/edx-platform/requirements/edx/custom.txt /edx/app/edxapp/edx-platform/requirements/edx/paver.txt /edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt /edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt 2>/dev/null > /var/tmp/edxapp.req.new ", "delta": "0:00:00.017396", "end": "2015-01-29 14:31:17.412308", "item": "", "rc": 1, "start": "2015-01-29 14:31:17.394912"}
...ignoring
TASK: [edxapp | stat path=/var/tmp/edxapp.req.new] ****************************
ok: [localhost]
TASK: [edxapp | stat path=/var/tmp/edxapp.req.installed] **********************
ok: [localhost]
TASK: [edxapp | Updating requirement files for git mirror] ********************
changed: [localhost]
TASK: [edxapp | gem install bundler] ******************************************
changed: [localhost]
TASK: [edxapp | bundle install] ***********************************************
changed: [localhost]
TASK: [edxapp | Set the npm registry] *****************************************
skipping: [localhost]
TASK: [edxapp | Set the npm registry permissions] *****************************
changed: [localhost]
TASK: [edxapp | Install edx-platform npm dependencies] ************************
changed: [localhost]
TASK: [edxapp | install python pre-requirements] ******************************
ok: [localhost]
TASK: [edxapp | install python base-requirements] *****************************
failed: [localhost] => {"changed": true, "cmd": "/edx/app/edxapp/venvs/edxapp/bin/pip install -i https://pypi.python.org/simple --exists-action w --use-mirrors -r /edx/app/edxapp/edx-platform/requirements/edx/base.txt ", "delta": "0:32:11.852966", "end": "2015-01-29 15:03:35.908601", "item": "", "rc": 1, "start": "2015-01-29 14:31:24.055635"}
stderr: Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/bin/pip", line 11, in <module>
sys.exit(main())
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pip/__init__.py", line 185, in main
return command.main(cmd_args)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 35: ordinal not in range(128)
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/vagrant/edxapp.retry
localhost : ok=152 changed=49 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