Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Reading package lists...
Building dependency tree...
Reading state information...
python-software-properties is already the newest version.
The following package was automatically installed and is no longer required:
libt1-5
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 166 not upgraded.
OK
You are about to add the following PPA to your system:
Toolchain test builds; see https://wiki.ubuntu.com/ToolChain
More info: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
Get:1 http://www.rabbitmq.com testing Release.gpg [836 B]
Hit http://us.archive.ubuntu.com precise Release.gpg
Get:2 http://us.archive.ubuntu.com precise-updates Release.gpg [198 B]
Hit http://us.archive.ubuntu.com precise-backports Release.gpg
Hit http://ppa.launchpad.net precise Release.gpg
Ign http://ppa.launchpad.net precise Release.gpg
Hit http://ppa.launchpad.net precise Release.gpg
Hit http://ppa.launchpad.net precise Release.gpg
Hit http://ppa.launchpad.net precise Release.gpg
Hit http://downloads-distro.mongodb.org dist Release.gpg
Get:3 http://www.rabbitmq.com testing Release [17.6 kB]
Err http://www.rabbitmq.com testing Release
Get:4 http://security.ubuntu.com precise-security Release.gpg [198 B]
Hit http://ppa.edx.org precise Release.gpg
Hit http://us.archive.ubuntu.com precise Release
Get:5 http://us.archive.ubuntu.com precise-updates Release [55.4 kB]
Hit http://ppa.launchpad.net precise Release
Ign http://ppa.launchpad.net precise Release
Hit http://ppa.launchpad.net precise Release
Hit http://ppa.launchpad.net precise Release
Hit http://ppa.edx.org precise Release
Get:6 http://security.ubuntu.com precise-security Release [55.5 kB]
Hit http://downloads-distro.mongodb.org dist Release
Hit http://ppa.edx.org precise/main Sources
Hit http://ppa.launchpad.net precise Release
Ign http://ppa.launchpad.net precise/main Sources/DiffIndex
Ign http://ppa.launchpad.net precise/main amd64 Packages/DiffIndex
Ign http://ppa.launchpad.net precise/main i386 Packages/DiffIndex
Ign http://ppa.launchpad.net precise/main TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports Release
Hit http://ppa.edx.org precise/main amd64 Packages
Hit http://ppa.edx.org precise/main i386 Packages
Ign http://ppa.edx.org precise/main TranslationIndex
Hit http://ppa.launchpad.net precise/main Sources
Hit http://ppa.launchpad.net precise/main amd64 Packages
Hit http://ppa.launchpad.net precise/main i386 Packages
Hit http://ppa.launchpad.net precise/main TranslationIndex
Hit http://ppa.launchpad.net precise/main amd64 Packages
Hit http://ppa.launchpad.net precise/main i386 Packages
Hit http://ppa.launchpad.net precise/main TranslationIndex
Hit http://us.archive.ubuntu.com precise/main Sources
Hit http://us.archive.ubuntu.com precise/restricted Sources
Hit http://us.archive.ubuntu.com precise/universe Sources
Hit http://us.archive.ubuntu.com precise/multiverse Sources
Hit http://us.archive.ubuntu.com precise/main amd64 Packages
Hit http://us.archive.ubuntu.com precise/restricted amd64 Packages
Hit http://us.archive.ubuntu.com precise/universe amd64 Packages
Hit http://us.archive.ubuntu.com precise/multiverse amd64 Packages
Hit http://us.archive.ubuntu.com precise/main i386 Packages
Hit http://us.archive.ubuntu.com precise/restricted i386 Packages
Hit http://downloads-distro.mongodb.org dist/10gen amd64 Packages
Hit http://ppa.launchpad.net precise/main amd64 Packages
Hit http://ppa.launchpad.net precise/main i386 Packages
Hit http://ppa.launchpad.net precise/main TranslationIndex
Get:7 http://security.ubuntu.com precise-security/main Sources [144 kB]
Hit http://us.archive.ubuntu.com precise/universe i386 Packages
Hit http://us.archive.ubuntu.com precise/multiverse i386 Packages
Hit http://us.archive.ubuntu.com precise/main TranslationIndex
Hit http://us.archive.ubuntu.com precise/multiverse TranslationIndex
Hit http://us.archive.ubuntu.com precise/restricted TranslationIndex
Hit http://us.archive.ubuntu.com precise/universe TranslationIndex
Get:8 http://us.archive.ubuntu.com precise-updates/main Sources [500 kB]
Hit http://downloads-distro.mongodb.org dist/10gen i386 Packages
Hit http://ppa.launchpad.net precise/main Sources
Hit http://ppa.launchpad.net precise/main amd64 Packages
Hit http://ppa.launchpad.net precise/main i386 Packages
Hit http://ppa.launchpad.net precise/main TranslationIndex
Hit http://ppa.launchpad.net precise/main Translation-en
Hit http://ppa.launchpad.net precise/main Translation-en
Hit http://ppa.launchpad.net precise/main Translation-en
Get:9 http://security.ubuntu.com precise-security/restricted Sources [4,623 B]
Get:10 http://security.ubuntu.com precise-security/universe Sources [53.7 kB]
Get:11 http://security.ubuntu.com precise-security/multiverse Sources [3,044 B]
Get:12 http://security.ubuntu.com precise-security/main amd64 Packages [644 kB]
Ign http://downloads-distro.mongodb.org dist/10gen TranslationIndex
Hit http://ppa.launchpad.net precise/main Translation-en
Get:13 http://us.archive.ubuntu.com precise-updates/restricted Sources [8,840 B]
Get:14 http://us.archive.ubuntu.com precise-updates/universe Sources [132 kB]
Get:15 http://us.archive.ubuntu.com precise-updates/multiverse Sources [10.5 kB]
Get:16 http://us.archive.ubuntu.com precise-updates/main amd64 Packages [1,031 kB]
Get:17 http://security.ubuntu.com precise-security/restricted amd64 Packages [10.8 kB]
Get:18 http://security.ubuntu.com precise-security/universe amd64 Packages [138 kB]
Get:19 http://security.ubuntu.com precise-security/multiverse amd64 Packages [3,363 B]
Get:20 http://security.ubuntu.com precise-security/main i386 Packages [716 kB]
Get:21 http://us.archive.ubuntu.com precise-updates/restricted amd64 Packages [15.4 kB]
Get:22 http://us.archive.ubuntu.com precise-updates/universe amd64 Packages [283 kB]
Get:23 http://us.archive.ubuntu.com precise-updates/multiverse amd64 Packages [17.1 kB]
Get:24 http://us.archive.ubuntu.com precise-updates/main i386 Packages [1,102 kB]
Get:25 http://security.ubuntu.com precise-security/restricted i386 Packages [10.8 kB]
Get:26 http://security.ubuntu.com precise-security/universe i386 Packages [146 kB]
Get:27 http://security.ubuntu.com precise-security/multiverse i386 Packages [3,542 B]
Hit http://security.ubuntu.com precise-security/main TranslationIndex
Hit http://security.ubuntu.com precise-security/multiverse TranslationIndex
Hit http://security.ubuntu.com precise-security/restricted TranslationIndex
Hit http://security.ubuntu.com precise-security/universe TranslationIndex
Hit http://security.ubuntu.com precise-security/main Translation-en
Hit http://security.ubuntu.com precise-security/multiverse Translation-en
Hit http://security.ubuntu.com precise-security/restricted Translation-en
Ign http://ppa.edx.org precise/main Translation-en_US
Get:28 http://us.archive.ubuntu.com precise-updates/restricted i386 Packages [15.4 kB]
Get:29 http://us.archive.ubuntu.com precise-updates/universe i386 Packages [292 kB]
Get:30 http://us.archive.ubuntu.com precise-updates/multiverse i386 Packages [17.3 kB]
Hit http://us.archive.ubuntu.com precise-updates/main TranslationIndex
Hit http://us.archive.ubuntu.com precise-updates/multiverse TranslationIndex
Hit http://us.archive.ubuntu.com precise-updates/restricted TranslationIndex
Hit http://us.archive.ubuntu.com precise-updates/universe TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports/main Sources
Hit http://us.archive.ubuntu.com precise-backports/restricted Sources
Ign http://ppa.edx.org precise/main Translation-en
Hit http://security.ubuntu.com precise-security/universe Translation-en
Hit http://us.archive.ubuntu.com precise-backports/universe Sources
Hit http://us.archive.ubuntu.com precise-backports/multiverse Sources
Hit http://us.archive.ubuntu.com precise-backports/main amd64 Packages
Hit http://us.archive.ubuntu.com precise-backports/restricted amd64 Packages
Hit http://us.archive.ubuntu.com precise-backports/universe amd64 Packages
Hit http://us.archive.ubuntu.com precise-backports/multiverse amd64 Packages
Hit http://us.archive.ubuntu.com precise-backports/main i386 Packages
Hit http://us.archive.ubuntu.com precise-backports/restricted i386 Packages
Hit http://us.archive.ubuntu.com precise-backports/universe i386 Packages
Hit http://us.archive.ubuntu.com precise-backports/multiverse i386 Packages
Err http://ppa.launchpad.net precise/main Sources
404 Not Found
Err http://ppa.launchpad.net precise/main amd64 Packages
404 Not Found
Err http://ppa.launchpad.net precise/main i386 Packages
404 Not Found
Hit http://us.archive.ubuntu.com precise-backports/main TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports/multiverse TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports/restricted TranslationIndex
Hit http://us.archive.ubuntu.com precise-backports/universe TranslationIndex
Hit http://us.archive.ubuntu.com precise/main Translation-en
Hit http://us.archive.ubuntu.com precise/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise/restricted Translation-en
Hit http://us.archive.ubuntu.com precise/universe Translation-en
Ign http://ppa.launchpad.net precise/main Translation-en_US
Hit http://us.archive.ubuntu.com precise-updates/main Translation-en
Hit http://us.archive.ubuntu.com precise-updates/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise-updates/restricted Translation-en
Hit http://us.archive.ubuntu.com precise-updates/universe Translation-en
Hit http://us.archive.ubuntu.com precise-backports/main Translation-en
Hit http://us.archive.ubuntu.com precise-backports/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise-backports/restricted Translation-en
Hit http://us.archive.ubuntu.com precise-backports/universe Translation-en
Ign http://ppa.launchpad.net precise/main Translation-en
Ign http://downloads-distro.mongodb.org dist/10gen Translation-en_US
Ign http://downloads-distro.mongodb.org dist/10gen Translation-en
Fetched 5,416 kB in 8s (637 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following packages have been kept back:
libssl-dev libssl1.0.0 linux-headers-generic-lts-trusty
linux-image-generic-lts-trusty mysql-client-5.6 mysql-server-5.6
mysql-server-core-5.6 openssl php-pear php5-cgi php5-cli php5-common
php5-curl php5-dev php5-fpm php5-gd php5-imap php5-mcrypt php5-mysql
php5-readline php5-xmlrpc rabbitmq-server
The following packages will be upgraded:
apache2 apache2-doc apache2-mpm-worker apache2-utils apache2.2-bin
apache2.2-common apt apt-transport-https apt-utils bind9-host binutils
ca-certificates cpio cpp-4.6 dbus dbus-x11 dnsutils dosfstools dpkg dpkg-dev
fontconfig fontconfig-config g++-4.6 gcc-4.6 gcc-4.6-base gfortran-4.6
gir1.2-gdkpixbuf-2.0 gir1.2-gtk-3.0 git git-man gnupg gpgv grub-common
grub-pc grub-pc-bin grub2-common isc-dhcp-client isc-dhcp-common
krb5-locales krb5-multidev libapt-inst1.4 libapt-pkg4.12 libavahi-client3
libavahi-common-data libavahi-common3 libbind9-80 libbsd0 libc-bin
libc-dev-bin libc6 libc6-dev libcurl3 libcurl3-gnutls libcurl4-openssl-dev
libdbd-mysql-perl libdbus-1-3 libdns81 libdpkg-perl libedit2 libexpat1
libexpat1-dev libfontconfig1 libgcrypt11 libgcrypt11-dev libgd2-xpm libgd3
libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgfortran3 libgnutls-dev
libgnutls-openssl27 libgnutls26 libgnutlsxx27 libgssapi-krb5-2 libgssrpc4
libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin
libgtk2.0-common libidn11 libidn11-dev libisc83 libisccc80 libisccfg82
libjasper1 libk5crypto3 libkadm5clnt-mit8 libkadm5srv-mit8 libkdb5-6
libkrb5-3 libkrb5-dev libkrb5support0 liblwres80 libnspr4 libnspr4-dev
libnss3 libnss3-dev libpam-modules libpam-modules-bin libpam-runtime
libpam0g libpcre3 libpcre3-dev libpcrecpp0 libpixman-1-0 libpng12-0
libpng12-dev libssl-doc libstdc++6-4.6-dev libtasn1-3 libtasn1-3-dev
libtiff4 linux-generic-lts-trusty linux-libc-dev memcached mongodb-org
mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
multiarch-support mysql-common mysql-server ntp ntpdate openssh-client
openssh-server perl perl-base perl-modules php-apc php5-apcu php5-json
psmisc rsync ssh tzdata unattended-upgrades unzip update-manager-core wget
whoopsie
144 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
Need to get 216 MB of archives.
After this operation, 2,999 kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
libedit2 libbsd0 libgd3 libssl-doc php5-apcu php5-json php-apc
Reading package lists...
Building dependency tree...
Reading state information...
swig is already the newest version.
libxmlsec1-dev is already the newest version.
python-pip is already the newest version.
build-essential is already the newest version.
curl is already the newest version.
libfreetype6-dev is already the newest version.
libxml2-dev is already the newest version.
libxslt1-dev is already the newest version.
python-apt is already the newest version.
python-dev is already the newest version.
python-software-properties is already the newest version.
software-properties-common is already the newest version.
git-core is already the newest version.
g++-4.8 is already the newest version.
gcc-4.8 is already the newest version.
The following package was automatically installed and is no longer required:
libt1-5
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 166 not upgraded.
Requirement already up-to-date: pip==7.1.2 in /usr/local/lib/python2.7/dist-packages
Collecting setuptools==18.3.2
Using cached setuptools-18.3.2-py2.py3-none-any.whl
Installing collected packages: setuptools
Found existing installation: setuptools 18.0.1
Uninstalling setuptools-18.0.1:
Successfully uninstalled setuptools-18.0.1
Successfully installed setuptools-18.3.2
Collecting virtualenv==13.1.2
Using cached virtualenv-13.1.2-py2.py3-none-any.whl
Installing collected packages: virtualenv
Found existing installation: virtualenv 1.11.6
Uninstalling virtualenv-1.11.6:
Successfully uninstalled virtualenv-1.11.6
Successfully installed virtualenv-13.1.2
Requirement already satisfied (use --upgrade to upgrade): ansible==1.9.1-edx.2 from git+https://github.com/edx/ansible.git@stable-1.9-plus-edx#egg=ansible==1.9.1-edx.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1))
Collecting PyYAML==3.11 (from -r requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): Jinja2==2.7.3 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): MarkupSafe==0.23 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): boto==2.32.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 5))
Requirement already satisfied (use --upgrade to upgrade): ecdsa==0.11 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 6))
Collecting paramiko==1.15.1 (from -r requirements.txt (line 7))
Using cached paramiko-1.15.1-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): pycrypto==2.6.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 8))
Requirement already satisfied (use --upgrade to upgrade): wsgiref==0.1.2 in /usr/lib/python2.7 (from -r requirements.txt (line 9))
Requirement already satisfied (use --upgrade to upgrade): docopt==0.6.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 10))
Requirement already satisfied (use --upgrade to upgrade): python-simple-hipchat==0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 11))
Requirement already satisfied (use --upgrade to upgrade): prettytable==0.7.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 12))
Requirement already satisfied (use --upgrade to upgrade): awscli==1.4.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 14))
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python2.7/dist-packages (from ansible==1.9.1-edx.2->-r requirements.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): botocore<0.63.0,>=0.62.0 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): bcdoc<0.13.0,>=0.12.0 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): six>=1.1.0 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): colorama==0.2.5 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): docutils>=0.10 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): rsa==3.1.2 in /usr/local/lib/python2.7/dist-packages (from awscli==1.4.2->-r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): jmespath==0.4.1 in /usr/local/lib/python2.7/dist-packages (from botocore<0.63.0,>=0.62.0->awscli==1.4.2->-r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): python-dateutil>=2.1 in /usr/local/lib/python2.7/dist-packages (from botocore<0.63.0,>=0.62.0->awscli==1.4.2->-r requirements.txt (line 13))
Requirement already satisfied (use --upgrade to upgrade): pyasn1>=0.1.3 in /usr/local/lib/python2.7/dist-packages (from rsa==3.1.2->awscli==1.4.2->-r requirements.txt (line 13))
Installing collected packages: PyYAML, paramiko
Found existing installation: PyYAML 3.10
Uninstalling PyYAML-3.10:
Successfully uninstalled PyYAML-3.10
Found existing installation: paramiko 1.9.0
Uninstalling paramiko-1.9.0:
Successfully uninstalled paramiko-1.9.0
Successfully installed PyYAML-3.11 paramiko-1.15.1
PLAY [Configure instance(s)] **************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [user | debug var=user_info] ********************************************
ok: [localhost] => {
"var": {
"user_info": []
}
}
TASK: [user | create the edxadmin group] **************************************
ok: [localhost]
TASK: [user | ensure sudoers.d is read] ***************************************
ok: [localhost]
TASK: [user | grant full sudo access to the edxadmin group] *******************
ok: [localhost]
TASK: [user | create the users] ***********************************************
skipping: [localhost]
TASK: [user | create .ssh directory] ******************************************
skipping: [localhost]
TASK: [user | assign admin role to admin users] *******************************
skipping: [localhost]
TASK: [user | get github key[s]] **********************************************
skipping: [localhost]
TASK: [user | update the authorized_keys file] ********************************
skipping: [localhost]
TASK: [user | create bashrc file for normal users] ****************************
skipping: [localhost]
TASK: [user | create .profile for all users] **********************************
skipping: [localhost]
TASK: [user | modify shell for restricted users] ******************************
skipping: [localhost]
TASK: [user | create bashrc file for restricted users] ************************
skipping: [localhost]
TASK: [user | create sudoers file from template] ******************************
ok: [localhost]
TASK: [user | change home directory ownership to root for restricted users] ***
skipping: [localhost]
TASK: [user | create ~/bin directory] *****************************************
skipping: [localhost]
TASK: [user | create allowed command links] ***********************************
skipping: [localhost]
TASK: [security | install security packages] **********************************
skipping: [localhost]
TASK: [security | update all system packages] *********************************
skipping: [localhost]
TASK: [security | configure periodic unattended-upgrades] *********************
skipping: [localhost]
TASK: [security | disable unattended-upgrades] ********************************
skipping: [localhost]
TASK: [security | only unattended-upgrade from security repo] *****************
skipping: [localhost]
TASK: [security | disable security only updates on unattended-upgrades] *******
skipping: [localhost]
TASK: [security | Check if we are vulnerable] *********************************
skipping: [localhost]
TASK: [security | Apply bash security update if we are vulnerable] ************
skipping: [localhost]
TASK: [security | Check again and fail if we are still vulnerable] ************
skipping: [localhost]
TASK: [security | GHOST.c] ****************************************************
skipping: [localhost]
TASK: [security | compile GHOST] **********************************************
skipping: [localhost]
TASK: [security | Check if we are vulnerable] *********************************
skipping: [localhost]
TASK: [security | Apply glibc security update if we are vulnerable] ***********
skipping: [localhost]
TASK: [common | Update CA Certificates] ***************************************
changed: [localhost]
TASK: [common | Add user www-data] ********************************************
ok: [localhost]
TASK: [common | 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 | 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] ***************************************
changed: [localhost] => (item=pip==1.5.6)
changed: [localhost] => (item=setuptools==3.6)
changed: [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 | add ssh-warning banner motd] **********************************
ok: [localhost]
TASK: [common | update ssh config] ********************************************
ok: [localhost]
TASK: [nginx | create nginx app dirs] *****************************************
ok: [localhost] => (item=/edx/app/nginx)
ok: [localhost] => (item=/edx/app/nginx/sites-available)
ok: [localhost] => (item=/etc/nginx/sites-enabled)
ok: [localhost] => (item=/edx/app/nginx/conf.d)
TASK: [nginx | create nginx data dirs] ****************************************
ok: [localhost] => (item=/edx/var/nginx)
changed: [localhost] => (item=/edx/var/log/nginx)
ok: [localhost] => (item=/edx/var/nginx/server-static)
TASK: [nginx | Install nginx packages] ****************************************
ok: [localhost]
TASK: [nginx | Remove the default site] ***************************************
ok: [localhost]
TASK: [nginx | Server configuration file] *************************************
ok: [localhost]
TASK: [nginx | Creating common nginx configuration] ***************************
ok: [localhost]
TASK: [nginx | Create robot rules] ********************************************
skipping: [localhost]
TASK: [nginx | Creating link for common nginx configuration] ******************
ok: [localhost]
TASK: [nginx | Copying nginx configs for ['certs', 'cms', 'lms', 'forum', 'ora', 'xqueue']] ***
ok: [localhost] => (item=certs)
ok: [localhost] => (item=cms)
ok: [localhost] => (item=lms)
ok: [localhost] => (item=forum)
ok: [localhost] => (item=ora)
ok: [localhost] => (item=xqueue)
TASK: [nginx | Creating nginx config links for ['certs', 'cms', 'lms', 'forum', 'ora', 'xqueue']] ***
ok: [localhost] => (item=certs)
ok: [localhost] => (item=cms)
ok: [localhost] => (item=lms)
ok: [localhost] => (item=forum)
ok: [localhost] => (item=ora)
ok: [localhost] => (item=xqueue)
TASK: [nginx | Copying nginx extra configs] ***********************************
skipping: [localhost]
TASK: [nginx | Creating links for nginx extra configs] ************************
skipping: [localhost]
TASK: [nginx | Copying custom nginx config] ***********************************
skipping: [localhost]
TASK: [nginx | Copying nginx redirect configs for {{ nginx_redirects }}] ******
skipping: [localhost]
TASK: [nginx | Creating nginx redirect links for {{ nginx_redirects }}] *******
skipping: [localhost]
TASK: [nginx | Create NGINX server templates] *********************************
ok: [localhost] => (item={'msg': u'If think you have encountered this message in error please let us know at <a href="mailto:technical@example.com">technical@example.com</a>', 'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', 'heading': 'Uh oh, we are having some server issues..', 'file': 'rate-limit.html', 'title': 'Rate limit exceeded'})
ok: [localhost] => (item={'msg': u'We have been notified of the error, if it persists please let us know at <a href="mailto:technical@example.com">technical@example.com</a>', 'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', 'heading': 'Uh oh, we are having some server issues..', 'file': 'server-error.html', 'title': 'Server error'})
TASK: [nginx | Write out htpasswd file] ***************************************
skipping: [localhost]
TASK: [nginx | Create nginx log file location (just in case)] *****************
changed: [localhost]
TASK: [nginx | stat] **********************************************************
ok: [localhost -> 127.0.0.1]
TASK: [nginx | stat] **********************************************************
ok: [localhost -> 127.0.0.1]
TASK: [nginx | copy ssl cert] *************************************************
skipping: [localhost]
TASK: [nginx | copy ssl key] **************************************************
skipping: [localhost]
TASK: [nginx | Removing default nginx config and restart (enabled)] ***********
ok: [localhost]
TASK: [nginx | Set up nginx access log rotation] ******************************
ok: [localhost]
TASK: [nginx | Set up nginx access log rotation] ******************************
ok: [localhost]
TASK: [nginx | make sure nginx has started] ***********************************
ok: [localhost]
TASK: [edxlocal | install ppa key] ********************************************
ok: [localhost]
TASK: [edxlocal | install apt repository] *************************************
ok: [localhost]
TASK: [edxlocal | look for mysql 5.5] *****************************************
failed: [localhost] => {"changed": true, "cmd": "dpkg -L mysql-server-5.5", "delta": "0:00:00.013758", "end": "2016-11-20 13:52:56.890855", "rc": 1, "start": "2016-11-20 13:52:56.877097", "warnings": []}
stderr: Package `mysql-server-5.5' is not installed.
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
...ignoring
TASK: [edxlocal | stop mysql] *************************************************
skipping: [localhost]
TASK: [edxlocal | remove prior version of mysql] ******************************
skipping: [localhost]
TASK: [edxlocal | install mysql 56 and dependencies] **************************
ok: [localhost] => (item=software-properties-common,mysql-server)
TASK: [edxlocal | start mysql] ************************************************
ok: [localhost]
TASK: [edxlocal | install packages needed for single server] ******************
ok: [localhost]
TASK: [edxlocal | setup the edxapp db user] ***********************************
ok: [localhost]
TASK: [edxlocal | create a database for edxapp] *******************************
ok: [localhost]
TASK: [edxlocal | setup the xqueue db user] ***********************************
ok: [localhost]
TASK: [edxlocal | create a database for xqueue] *******************************
ok: [localhost]
TASK: [edxlocal | setup the ora db user] **************************************
ok: [localhost]
TASK: [edxlocal | create a database for ora] **********************************
ok: [localhost]
TASK: [edxlocal | create databases for analytics api] *************************
ok: [localhost] => (item=analytics-api)
ok: [localhost] => (item=reports)
TASK: [edxlocal | create database for insights] *******************************
skipping: [localhost]
TASK: [edxlocal | create database for ecommerce] ******************************
skipping: [localhost]
TASK: [edxlocal | setup users for ecommerce] **********************************
skipping: [localhost]
TASK: [edxlocal | create api user for the analytics api] **********************
ok: [localhost]
TASK: [edxlocal | create read-only reports user for the analytics-api] ********
ok: [localhost]
TASK: [edxlocal | setup the edx-notes-api db user] ****************************
ok: [localhost]
TASK: [edxlocal | create a database for edx-notes-api] ************************
ok: [localhost]
TASK: [edxlocal | setup the migration db user] ********************************
ok: [localhost] => (item=edxapp)
ok: [localhost] => (item=xqueue)
ok: [localhost] => (item=ora)
ok: [localhost] => (item=edx_notes_api)
ok: [localhost] => (item=analytics-api)
ok: [localhost] => (item=reports)
skipping: [localhost] => (item=None)
skipping: [localhost] => (item=None)
TASK: [edxlocal | setup the read-only db user] ********************************
ok: [localhost]
TASK: [edxlocal | setup the admin db user] ************************************
ok: [localhost]
TASK: [edxlocal | install memcached] ******************************************
ok: [localhost]
TASK: [mongo | check to see that MongoDB 2.4 is not installed] ****************
ok: [localhost]
TASK: [mongo | verify 2.4 not installed] **************************************
skipping: [localhost]
TASK: [mongo | remove mongo 2.4 if present] ***********************************
skipping: [localhost]
TASK: [mongo | install python pymongo for mongo_user ansible module] **********
changed: [localhost]
TASK: [mongo | add the mongodb signing key] ***********************************
ok: [localhost]
TASK: [mongo | add the mongodb repo to the sources list] **********************
ok: [localhost]
TASK: [mongo | install mongo server and recommends] ***************************
ok: [localhost]
TASK: [mongo | create mongo dirs] *********************************************
ok: [localhost] => (item=/edx/var/mongo)
ok: [localhost] => (item=/edx/var/mongo/mongodb)
ok: [localhost] => (item=/edx/var/log/mongo)
TASK: [mongo | stop mongod service] *******************************************
changed: [localhost]
TASK: [mongo | move mongodb to {{ mongo_data_dir }}] **************************
ok: [localhost]
TASK: [mongo | copy mongodb key file] *****************************************
skipping: [localhost]
TASK: [mongo | copy configuration template] ***********************************
ok: [localhost]
TASK: [mongo | start mongo service] *******************************************
changed: [localhost]
TASK: [mongo | wait for mongo server to start] ********************************
ok: [localhost]
TASK: [mongo | drop super user script] ****************************************
changed: [localhost]
TASK: [mongo | create super user with js] *************************************
changed: [localhost]
TASK: [mongo | delete super user script] **************************************
changed: [localhost]
TASK: [mongo | Create the file to initialize the mongod replica set] **********
skipping: [localhost]
TASK: [mongo | Initialize the replication set] ********************************
skipping: [localhost]
TASK: [mongo | create a mongodb user] *****************************************
ok: [localhost] => (item={'password': 'password', 'user': 'cs_comments_service', 'roles': 'readWrite', 'database': 'cs_comments_service'})
ok: [localhost] => (item={'password': 'password', 'user': 'edxapp', 'roles': 'readWrite', 'database': 'edxapp'})
TASK: [mongo | create a mongodb user] *****************************************
skipping: [localhost] => (item={'password': 'password', 'user': 'cs_comments_service', 'roles': 'readWrite', 'database': 'cs_comments_service'})
skipping: [localhost] => (item={'password': 'password', 'user': 'edxapp', 'roles': 'readWrite', 'database': 'edxapp'})
TASK: [mongo | install s3cmd] *************************************************
skipping: [localhost]
TASK: [mongo | configure s3cmd] ***********************************************
skipping: [localhost]
TASK: [mongo | install backup-mongo-to-s3 script] *****************************
skipping: [localhost]
TASK: [mongo | schedule backup-mongo-to-3s crontab] ***************************
skipping: [localhost]
TASK: [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] ***************************
changed: [localhost] => (item=boto=="2.34.0")
ok: [localhost] => (item=python-simple-hipchat)
TASK: [supervisor | create supervisor upstart job] ****************************
ok: [localhost]
TASK: [supervisor | create pre_supervisor upstart job] ************************
skipping: [localhost]
TASK: [supervisor | write the pre_suprevisor python script] *******************
skipping: [localhost]
TASK: [supervisor | create supervisor master config] **************************
ok: [localhost]
TASK: [supervisor | create a symlink for supervisortctl] **********************
changed: [localhost]
TASK: [supervisor | create a symlink for supervisor cfg] **********************
ok: [localhost] => (item=/edx/app/supervisor/supervisord.conf)
ok: [localhost] => (item=/edx/app/supervisor/conf.d)
TASK: [supervisor | create helper script for running supervisor] **************
changed: [localhost]
TASK: [supervisor | start supervisor] *****************************************
ok: [localhost]
TASK: [supervisor | wait for web port to be available] ************************
skipping: [localhost]
TASK: [supervisor | update supervisor configuration] **************************
ok: [localhost]
TASK: [rbenv | fail rbenv_user required for role] *****************************
skipping: [localhost]
TASK: [rbenv | fail rbenv_dir required for role] ******************************
skipping: [localhost]
TASK: [rbenv | fail rbenv_ruby_version required for role] *********************
skipping: [localhost]
TASK: [rbenv | create rbenv user {{ edxapp_user }}] ***************************
ok: [localhost]
TASK: [rbenv | create rbenv dir if it does not exist] *************************
ok: [localhost]
TASK: [rbenv | install build depends] *****************************************
ok: [localhost] => (item=curl,build-essential,libcurl4-openssl-dev,libreadline-dev,libssl-dev,libxml2-dev,libxslt1-dev,zlib1g-dev)
TASK: [rbenv | update rbenv repo] *********************************************
ok: [localhost]
TASK: [rbenv | ensure ruby_env exists] ****************************************
ok: [localhost]
TASK: [rbenv | check ruby-build installed] ************************************
changed: [localhost]
TASK: [rbenv | if ruby-build exists, which versions we can install] ***********
changed: [localhost]
TASK: [rbenv | create temporary directory] ************************************
changed: [localhost]
TASK: [rbenv | clone ruby-build repo] *****************************************
changed: [localhost]
TASK: [rbenv | install ruby-build] ********************************************
changed: [localhost]
TASK: [rbenv | remove temporary directory] ************************************
changed: [localhost]
TASK: [rbenv | check ruby {{ edxapp_ruby_version }} installed] ****************
changed: [localhost]
TASK: [rbenv | install ruby {{ edxapp_ruby_version }}] ************************
skipping: [localhost]
TASK: [rbenv | set global ruby {{ edxapp_ruby_version }}] *********************
changed: [localhost]
TASK: [rbenv | install bundler] ***********************************************
changed: [localhost]
TASK: [rbenv | remove rbenv version of rake] **********************************
ok: [localhost]
TASK: [rbenv | install rake gem] **********************************************
changed: [localhost]
TASK: [rbenv | rehash] ********************************************************
changed: [localhost]
TASK: [supervisor | create application user] **********************************
ok: [localhost]
TASK: [supervisor | create supervisor service user] ***************************
ok: [localhost]
TASK: [supervisor | create supervisor directories] ****************************
ok: [localhost] => (item=/edx/app/devpi/supervisor)
ok: [localhost] => (item=/edx/app/devpi/venvs/supervisor)
TASK: [supervisor | create service user accessible dirs] **********************
ok: [localhost] => (item=/edx/app/devpi/supervisor/conf.d)
ok: [localhost] => (item=/edx/app/devpi/supervisor/conf.available.d)
TASK: [supervisor | create supervisor directories] ****************************
ok: [localhost] => (item=/edx/var/devpi/supervisor)
ok: [localhost] => (item=/edx/var/log/devpi/supervisor)
TASK: [supervisor | install supervisor in its venv] ***************************
ok: [localhost]
TASK: [supervisor | install supervisor in its venv] ***************************
ok: [localhost] => (item=boto=="2.34.0")
ok: [localhost] => (item=python-simple-hipchat)
TASK: [supervisor | create supervisor upstart job] ****************************
ok: [localhost]
TASK: [supervisor | create pre_supervisor upstart job] ************************
skipping: [localhost]
TASK: [supervisor | write the pre_suprevisor python script] *******************
skipping: [localhost]
TASK: [supervisor | create supervisor master config] **************************
ok: [localhost]
TASK: [supervisor | create a symlink for supervisortctl] **********************
skipping: [localhost]
TASK: [supervisor | create a symlink for supervisor cfg] **********************
skipping: [localhost] => (item=/edx/app/devpi/supervisor/supervisord.conf)
skipping: [localhost] => (item=/edx/app/devpi/supervisor/conf.d)
TASK: [supervisor | create helper script for running supervisor] **************
skipping: [localhost]
TASK: [supervisor | start supervisor] *****************************************
ok: [localhost]
TASK: [supervisor | wait for web port to be available] ************************
skipping: [localhost]
TASK: [supervisor | update supervisor configuration] **************************
ok: [localhost]
TASK: [devpi | create devpi user] *********************************************
ok: [localhost]
TASK: [devpi | create devpi application directories] **************************
ok: [localhost] => (item=/edx/app/devpi)
ok: [localhost] => (item=/edx/app/devpi/venvs/devpi)
TASK: [devpi | create the devpi data directory, needs write access by the service user] ***
ok: [localhost] => (item=/edx/var/devpi)
ok: [localhost] => (item=/edx/var/devpi/data)
TASK: [devpi | install devpi pip pkgs] ****************************************
ok: [localhost] => (item=devpi-server)
ok: [localhost] => (item=eventlet)
TASK: [devpi | writing supervisor script] *************************************
ok: [localhost]
TASK: [devpi | create a symlink for venv python, pip] *************************
ok: [localhost] => (item=python)
ok: [localhost] => (item=pip)
TASK: [devpi | create a symlink for venv supervisor] **************************
ok: [localhost]
TASK: [devpi | create a symlink for supervisor config] ************************
ok: [localhost]
TASK: [devpi | update devpi supervisor configuration] *************************
ok: [localhost]
TASK: [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/app/edxapp/venvs)
ok: [localhost] => (item=/edx/var/edxapp/themes)
ok: [localhost] => (item=/edx/var/edxapp/staticfiles)
ok: [localhost] => (item=/edx/var/edxapp/course_static)
changed: [localhost] => (item=/edx/var/edxapp/data)
TASK: [edxapp | create edxapp var dir] ****************************************
ok: [localhost]
TASK: [edxapp | make the course data dir] *************************************
ok: [localhost]
TASK: [edxapp | create edxapp log dir] ****************************************
ok: [localhost]
TASK: [edxapp | create web-writable edxapp data dirs] *************************
changed: [localhost] => (item=/edx/var/edxapp/data)
ok: [localhost] => (item=/edx/var/edxapp/uploads)
ok: [localhost] => (item=/edx/var/edxapp/media)
TASK: [edxapp | add ppas for current versions of nodejs] **********************
ok: [localhost]
TASK: [edxapp | install system packages on which LMS and CMS rely] ************
ok: [localhost]
TASK: [edxapp | set up edxapp .npmrc] *****************************************
changed: [localhost]
TASK: [edxapp | create log directories for service variants] ******************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | code sandbox | Use libblas for 3gf] ***************************
changed: [localhost]
TASK: [edxapp | code sandbox | Use liblapac for 3gf] **************************
changed: [localhost]
TASK: [edxapp | code sandbox | Create edxapp sandbox user] ********************
ok: [localhost]
TASK: [edxapp | code sandbox | Install apparmor utils system pkg] *************
ok: [localhost]
TASK: [edxapp | code sandbox | write out apparmor code sandbox config] ********
ok: [localhost]
TASK: [edxapp | code sandbox | write out sandbox user sudoers config] *********
ok: [localhost]
TASK: [edxapp | code sandbox | start apparmor service] ************************
ok: [localhost]
TASK: [edxapp | code sandbox | (bootstrap) load code sandbox profile] *********
changed: [localhost]
TASK: [edxapp | code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE] ***
changed: [localhost]
TASK: [edxapp | setup the edxapp env] *****************************************
ok: [localhost]
TASK: [edxapp | create edxapp configuration dir] ******************************
ok: [localhost]
TASK: [edxapp | create ssh script for git (not authenticated)] ****************
ok: [localhost]
TASK: [edxapp | create ssh script for git (authenticated)] ********************
skipping: [localhost]
TASK: [edxapp | install read-only ssh key] ************************************
skipping: [localhost]
TASK: [edxapp | set git fetch.prune to ignore deleted remote refs] ************
changed: [localhost]
TASK: [edxapp | checkout edx-platform repo into {{ edxapp_code_dir }}] ********
ok: [localhost]
TASK: [edxapp | git clean after checking out edx-platform] ********************
changed: [localhost]
TASK: [edxapp | checkout theme] ***********************************************
skipping: [localhost]
TASK: [edxapp | 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] *****************************************
ok: [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] ******************************
changed: [localhost]
TASK: [edxapp | install python base-requirements] *****************************
changed: [localhost]
TASK: [edxapp | stat path="{{ post_requirements_file }}"] *********************
ok: [localhost]
TASK: [edxapp | install python post-requirements] *****************************
ok: [localhost]
TASK: [edxapp | install python paver-requirements] ****************************
changed: [localhost]
TASK: [edxapp | stat path="{{ custom_requirements_file }}"] *******************
ok: [localhost]
TASK: [edxapp | install python custom-requirements] ***************************
skipping: [localhost]
TASK: [edxapp | install python post-post requirements] ************************
changed: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt)
changed: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/local.txt)
TASK: [edxapp | install python private requirements] **************************
skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt)
TASK: [edxapp | install python extra requirements] ****************************
skipping: [localhost]
TASK: [edxapp | install CAS attribute module] *********************************
skipping: [localhost]
TASK: [edxapp | install sandbox requirements into regular venv] ***************
skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt)
skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)
TASK: [edxapp | code sandbox | put sandbox apparmor profile in complain mode] ***
changed: [localhost]
TASK: [edxapp | code sandbox | Install base sandbox requirements and create sandbox virtualenv] ***
ok: [localhost]
TASK: [edxapp | code sandbox | Install sandbox requirements into sandbox venv] ***
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt)
ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)
TASK: [edxapp | code sandbox | put code sandbox into aa-enforce or aa-complain mode, depending on EDXAPP_SANDBOX_ENFORCE] ***
changed: [localhost]
TASK: [edxapp | give other read permissions to the virtualenv] ****************
changed: [localhost]
TASK: [edxapp | openid workaround] ********************************************
changed: [localhost]
TASK: [edxapp | get s3 one time url] ******************************************
skipping: [localhost]
TASK: [edxapp | download from one time url] ***********************************
skipping: [localhost]
TASK: [edxapp | unzip the data to the data dir] *******************************
skipping: [localhost]
TASK: [edxapp | make the course data web user writable] ***********************
ok: [localhost]
TASK: [edxapp | create {{ item }} application config] *************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | create {{ item }} auth file] **********************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | create {{ item }} yaml application config] ********************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | create {{ item }} yaml auth file] *****************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | writing {{ item }} supervisor script] *************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | writing edxapp supervisor script] *****************************
ok: [localhost]
TASK: [edxapp | add gunicorn configuration files] *****************************
ok: [localhost] => (item=lms)
ok: [localhost] => (item=cms)
TASK: [edxapp | writing celery worker supervisor script] **********************
ok: [localhost]
TASK: [edxapp | enable {{ item }} supervisor script] **************************
skipping: [localhost] => (item=lms)
skipping: [localhost] => (item=cms)
TASK: [edxapp | enable edxapp supervisor script] ******************************
skipping: [localhost]
TASK: [edxapp | enable celery worker supervisor script] ***********************
ok: [localhost]
TASK: [edxapp | create helper scripts for managing edxapp] ********************
ok: [localhost] => (item=['edxapp-migrate', 'lms'])
ok: [localhost] => (item=['edxapp-migrate', 'cms'])
ok: [localhost] => (item=['edxapp-runserver', 'lms'])
ok: [localhost] => (item=['edxapp-runserver', 'cms'])
ok: [localhost] => (item=['edxapp-syncdb', 'lms'])
ok: [localhost] => (item=['edxapp-syncdb', 'cms'])
ok: [localhost] => (item=['edxapp-update-assets', 'lms'])
ok: [localhost] => (item=['edxapp-update-assets', 'cms'])
ok: [localhost] => (item=['edxapp-shell', 'lms'])
ok: [localhost] => (item=['edxapp-shell', 'cms'])
TASK: [edxapp | syncdb and migrate] *******************************************
failed: [localhost] => (item=lms) => {"changed": true, "cmd": ["/edx/bin/edxapp-syncdb-lms"], "delta": "0:00:00.697168", "end": "2016-11-20 13:56:39.687986", "item": "lms", "rc": 1, "start": "2016-11-20 13:56:38.990818", "warnings": []}
stderr: Traceback (most recent call last):
File "manage.py", line 111, in <module>
startup = importlib.import_module(edx_args.startup)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/edx/app/edxapp/edx-platform/lms/startup.py", line 9, in <module>
settings.INSTALLED_APPS # pylint: disable=pointless-statement
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 113, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
failed: [localhost] => (item=cms) => {"changed": true, "cmd": ["/edx/bin/edxapp-syncdb-cms"], "delta": "0:00:00.572104", "end": "2016-11-20 13:56:40.324238", "item": "cms", "rc": 1, "start": "2016-11-20 13:56:39.752134", "warnings": []}
stderr: Traceback (most recent call last):
File "manage.py", line 111, in <module>
startup = importlib.import_module(edx_args.startup)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/edx/app/edxapp/edx-platform/cms/startup.py", line 8, in <module>
settings.INSTALLED_APPS # pylint: disable=pointless-statement
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 113, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/root/edx_sandbox.retry
localhost : ok=204 changed=47 unreachable=0 failed=1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment