Skip to content

Instantly share code, notes, and snippets.

@sboday
Last active August 18, 2016 19:39
Show Gist options
  • Save sboday/470f7005e78abbdf63b0236b8c65496f to your computer and use it in GitHub Desktop.
Save sboday/470f7005e78abbdf63b0236b8c65496f to your computer and use it in GitHub Desktop.
Open edX AWS Dogwood.2 Release Install Procedure and Output

Open edX AWS Dogwood.2 Release Install Procedure and Output

For reference, follow directions here: https://openedx.atlassian.net/wiki/display/OpenOPS/Native+Open+edX+Ubuntu+12.04+64+bit+Installation

Select Ubuntu version

Open in web browser: https://cloud-images.ubuntu.com/locator/ec2/

Select the version of 12.04, such as: us-east-1 precise 12.04 LTS amd64 hvm:ebs 20160315 ami-05dddc6f hvm;

Click on AMI-ID

Select Ubuntu Version

Choose Instance Type;

Select Amazon AWS Instance Type

Change default to 50 GB for Root storage device settings

Select Root Storage Size

Start Instance

Wait until Instance State is ‘running’; SSH into box

Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-101-virtual x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Mon Apr 18 16:21:31 UTC 2016

  System load:  0.0               Processes:           64
  Usage of /:   1.8% of 49.21GB   Users logged in:     0
  Memory usage: 2%                IP address for eth0: 10.167.149.17
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.

New release '14.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Change the running hostname

ubuntu@ip-10-110-110-10:~$ sudo hostname openedx1.example.edu

Change the permanent hostname

ubuntu@ip-10-110-110-10:~$ sudo vi /etc/hostname

Reboot

ubuntu@ip-10-110-110-10:~$ sudo reboot
ubuntu@ip-10-110-110-10:~$ 
Broadcast message from ubuntu@openedx1.example.edu
	(/dev/pts/0) at 16:31 ...

The system is going down for reboot NOW!
Connection to ec2-54-154-54-154.compute-1.amazonaws.com closed by remote host.
Connection to ec2-54-154-54-154.compute-1.amazonaws.com closed.

Wait one minute; SSH back into box

Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-101-virtual x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Mon Apr 18 16:36:52 UTC 2016

  System load:  0.0               Processes:           68
  Usage of /:   1.8% of 49.21GB   Users logged in:     0
  Memory usage: 2%                IP address for eth0: 10.167.149.17
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.

New release '14.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Check the new hostname

ubuntu@openedx1:~$ hostname
openedx1.example.edu

Check the linux kernel

ubuntu@openedx1:~$ uname -a
Linux openedx1.example.edu 3.2.0-101-virtual #141-Ubuntu SMP Thu Mar 10 22:12:23 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Check the Ubuntu distribution

ubuntu@openedx1:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"

Check how much disk

ubuntu@openedx1:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       50G  931M   46G   2% /
udev            1.9G   12K  1.9G   1% /dev
tmpfs           377M  212K  377M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G     0  1.9G   0% /run/shm
/dev/xvdb       4.0G   73M  3.7G   2% /mnt

Check how much memory (in mBytes)

ubuntu@openedx1:~$ free -lm
             total       used       free     shared    buffers     cached
Mem:          3766        134       3631          0          7         43
Low:          3766        134       3631
High:            0          0          0
-/+ buffers/cache:         83       3682
Swap:            0          0          0

Run update

ubuntu@openedx1:~$ sudo apt-get update -y
Hit http://us-east-1.ec2.archive.ubuntu.com precise Release.gpg
Get:1 http://us-east-1.ec2.archive.ubuntu.com precise-updates Release.gpg [198 B]
Get:2 http://us-east-1.ec2.archive.ubuntu.com precise-backports Release.gpg [198 B]
Hit http://us-east-1.ec2.archive.ubuntu.com precise Release                        
Get:3 http://us-east-1.ec2.archive.ubuntu.com precise-updates Release [55.4 kB]
Get:4 http://us-east-1.ec2.archive.ubuntu.com precise-backports Release [55.5 kB]
Get:5 http://security.ubuntu.com precise-security Release.gpg [198 B]           
Get:6 http://us-east-1.ec2.archive.ubuntu.com precise/main Sources [934 kB]
Get:7 http://security.ubuntu.com precise-security Release [55.5 kB]             
Get:8 http://us-east-1.ec2.archive.ubuntu.com precise/restricted Sources [5,470 B]        
Get:9 http://us-east-1.ec2.archive.ubuntu.com precise/universe Sources [5,019 kB]
Get:10 http://security.ubuntu.com precise-security/main Sources [141 kB]
Get:11 http://security.ubuntu.com precise-security/universe Sources [46.0 kB]           
Get:12 http://security.ubuntu.com precise-security/main amd64 Packages [601 kB]             
Get:13 http://us-east-1.ec2.archive.ubuntu.com precise/multiverse Sources [155 kB]         
Hit http://us-east-1.ec2.archive.ubuntu.com precise/main amd64 Packages                  
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted amd64 Packages            
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe amd64 Packages              
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse amd64 Packages            
Hit http://us-east-1.ec2.archive.ubuntu.com precise/main i386 Packages         
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted i386 Packages   
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe i386 Packages                         
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse i386 Packages                       
Hit http://us-east-1.ec2.archive.ubuntu.com precise/main TranslationIndex                           
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse TranslationIndex                     
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted TranslationIndex                     
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe TranslationIndex                       
Get:14 http://us-east-1.ec2.archive.ubuntu.com precise-updates/main Sources [496 kB]                
Get:15 http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted Sources [8,708 B]                  
Get:16 http://security.ubuntu.com precise-security/universe amd64 Packages [130 kB]
Get:17 http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe Sources [125 kB]            
Get:18 http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse Sources [10.2 kB]         
Get:19 http://us-east-1.ec2.archive.ubuntu.com precise-updates/main amd64 Packages [986 kB]               
Get:20 http://security.ubuntu.com precise-security/main i386 Packages [657 kB]                                         
Get:21 http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted amd64 Packages [16.2 kB]                     
Get:22 http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe amd64 Packages [273 kB]           
Get:23 http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse amd64 Packages [16.9 kB]           
Get:24 http://us-east-1.ec2.archive.ubuntu.com precise-updates/main i386 Packages [1,046 kB]       
Get:25 http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted i386 Packages [16.1 kB]              
Get:26 http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe i386 Packages [282 kB]            
Get:27 http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse i386 Packages [17.1 kB]            
Get:28 http://us-east-1.ec2.archive.ubuntu.com precise-updates/main TranslationIndex [208 B]              
Get:29 http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse TranslationIndex [202 B]              
Get:30 http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted TranslationIndex [202 B]              
Get:31 http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe TranslationIndex [205 B]   
Get:32 http://us-east-1.ec2.archive.ubuntu.com precise-backports/main Sources [5,922 B]            
Get:33 http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted Sources [28 B]         
Get:34 http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe Sources [43.5 kB]        
Get:35 http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse Sources [5,750 B]      
Get:36 http://us-east-1.ec2.archive.ubuntu.com precise-backports/main amd64 Packages [6,477 B]     
Get:37 http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted amd64 Packages [28 B]  
Get:38 http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe amd64 Packages [45.8 kB] 
Get:39 http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse amd64 Packages [5,419 B]
Get:40 http://us-east-1.ec2.archive.ubuntu.com precise-backports/main i386 Packages [6,478 B]      
Get:41 http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted i386 Packages [28 B]   
Get:42 http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe i386 Packages [45.6 kB]  
Get:43 http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse i386 Packages [5,413 B]
Get:44 http://us-east-1.ec2.archive.ubuntu.com precise-backports/main TranslationIndex [202 B]
Get:45 http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse TranslationIndex [202 B]
Get:46 http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted TranslationIndex [193 B]
Get:47 http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe TranslationIndex [205 B]
Hit http://us-east-1.ec2.archive.ubuntu.com precise/main Translation-en                        
Get:48 http://security.ubuntu.com precise-security/universe i386 Packages [137 kB]             
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse Translation-en                  
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted Translation-en                       
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe Translation-en                          
Get:49 http://us-east-1.ec2.archive.ubuntu.com precise-updates/main Translation-en [415 kB]          
Get:50 http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse Translation-en [9,806 B]                  
Get:51 http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted Translation-en [3,869 B]   
Get:52 http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe Translation-en [164 kB]      
Get:53 http://security.ubuntu.com precise-security/main TranslationIndex [208 B]                                     
Get:54 http://us-east-1.ec2.archive.ubuntu.com precise-backports/main Translation-en [5,737 B]
Get:55 http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse Translation-en [4,852 B]
Get:56 http://security.ubuntu.com precise-security/universe TranslationIndex [205 B]       
Get:57 http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted Translation-en [28 B]
Get:58 http://security.ubuntu.com precise-security/main Translation-en [252 kB]           
Get:59 http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe Translation-en [35.6 kB]        
Get:60 http://security.ubuntu.com precise-security/universe Translation-en [82.8 kB]                      
Fetched 12.4 MB in 11s (1,059 kB/s)                                                                                    
Reading package lists... Done

Run upgrade

ubuntu@openedx1:~$ sudo apt-get upgrade -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libpam-modules libpam-modules-bin libpam-runtime libpam0g libpcre3 tzdata
6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,010 kB of archives.
After this operation, 61.4 kB of additional disk space will be used.
Get:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libpam0g amd64 1.1.3-7ubuntu2.3 [61.8 kB]
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libpam-modules-bin amd64 1.1.3-7ubuntu2.3 [42.4 kB]
Get:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libpam-modules amd64 1.1.3-7ubuntu2.3 [276 kB]
Get:4 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libpcre3 amd64 8.12-4ubuntu0.2 [149 kB]
Get:5 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libpam-runtime all 1.1.3-7ubuntu2.3 [40.6 kB]
Get:6 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main tzdata all 2016c-0ubuntu0.12.04 [440 kB]
Fetched 1,010 kB in 0s (20.2 MB/s)
Preconfiguring packages ...
(Reading database ... 47561 files and directories currently installed.)
Preparing to replace libpam0g 1.1.3-7ubuntu2 (using .../libpam0g_1.1.3-7ubuntu2.3_amd64.deb) ...
Unpacking replacement libpam0g ...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.2.0-101-virtual
Setting up libpam0g (1.1.3-7ubuntu2.3) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
(Reading database ... 47561 files and directories currently installed.)
Preparing to replace libpam-modules-bin 1.1.3-7ubuntu2 (using .../libpam-modules-bin_1.1.3-7ubuntu2.3_amd64.deb) ...
Unpacking replacement libpam-modules-bin ...
Processing triggers for man-db ...
Setting up libpam-modules-bin (1.1.3-7ubuntu2.3) ...
(Reading database ... 47561 files and directories currently installed.)
Preparing to replace libpam-modules 1.1.3-7ubuntu2 (using .../libpam-modules_1.1.3-7ubuntu2.3_amd64.deb) ...
Unpacking replacement libpam-modules ...
Processing triggers for man-db ...
Setting up libpam-modules (1.1.3-7ubuntu2.3) ...
(Reading database ... 47561 files and directories currently installed.)
Preparing to replace libpcre3 8.12-4ubuntu0.1 (using .../libpcre3_8.12-4ubuntu0.2_amd64.deb) ...
Unpacking replacement libpcre3 ...
Preparing to replace libpam-runtime 1.1.3-7ubuntu2 (using .../libpam-runtime_1.1.3-7ubuntu2.3_all.deb) ...
Unpacking replacement libpam-runtime ...
Processing triggers for man-db ...
Setting up libpam-runtime (1.1.3-7ubuntu2.3) ...
(Reading database ... 47561 files and directories currently installed.)
Preparing to replace tzdata 2015g-0ubuntu0.12.04 (using .../tzdata_2016c-0ubuntu0.12.04_all.deb) ...
Unpacking replacement tzdata ...
Setting up tzdata (2016c-0ubuntu0.12.04) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Mon Apr 18 16:43:52 UTC 2016.
Universal Time is now:  Mon Apr 18 16:43:52 UTC 2016.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up libpcre3 (8.12-4ubuntu0.2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

Reboot again

ubuntu@openedx1:~$ sudo reboot
ubuntu@openedx1:~$ 
Broadcast message from ubuntu@openedx1.example.edu
	(/dev/pts/0) at 16:45 ...

The system is going down for reboot NOW!
Connection to ec2-54-154-54-154.compute-1.amazonaws.com closed by remote host.
Connection to ec2-54-154-54-154.compute-1.amazonaws.com closed.

Wait one minute; SSH back into box

Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-101-virtual x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Mon Apr 18 16:48:06 UTC 2016

  System load:  0.03              Processes:           68
  Usage of /:   1.9% of 49.21GB   Users logged in:     0
  Memory usage: 2%                IP address for eth0: 10.167.149.17
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

New release '14.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Update Time Zone

ubuntu@openedx1:~$ sudo dpkg-reconfigure tzdata

Use arrow keys to move; space bar to select; tab to proceed to ‘Ok’; Enter to confirm

Select Timezone Geographic Area

Select Timezone Region

~~~ Current default time zone: 'America/New_York' Local time is now: Mon Apr 18 12:49:26 EDT 2016. Universal Time is now: Mon Apr 18 16:49:26 UTC 2016. ~~~ #### Choose Open edX release ~~~ ubuntu@openedx1:~$ export OPENEDX_RELEASE=named-release/dogwood.2 As of August 18, 2016 did this: ubuntu@openedx1:~$ export OPENEDX_RELEASE=named-release/dogwood.rc ~~~ #### Install Ansible #### EDIT: At the time, the actual command was: ~~~ ubuntu@openedx1:~$ wget https://raw.githubusercontent.com/edx/configuration/master/util/install/ansible-bootstrap.sh -O - | sudo bash ~~~ #### EDIT: Now, On August 18th, 2016 I believe this is better: ~~~ ubuntu@openedx1:~$ wget https://raw.githubusercontent.com/edx/configuration/named-release/dogwood.rc/util/install/ansible-bootstrap.sh -O - | sudo bash

--2016-04-18 13:18:51-- https://raw.githubusercontent.com/edx/configuration/master/util/install/ansible-bootstrap.sh Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 23.235.46.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|23.235.46.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 4086 (4.0K) [text/plain] Saving to: `STDOUT'

0% [ ] 0 --.-K/s + [[ -z '' ]]

  • ANSIBLE_REPO=https://github.com/edx/ansible.git
  • [[ -z '' ]]
  • ANSIBLE_VERSION=master
  • [[ -z '' ]]
  • CONFIGURATION_REPO=https://github.com/edx/configuration.git
  • [[ -z '' ]]
  • CONFIGURATION_VERSION=master
  • [[ -z '' ]]
  • UPGRADE_OS=false
  • VIRTUAL_ENV_VERSION=13.1.2
  • PIP_VERSION=7.1.2
  • SETUPTOOLS_VERSION=18.3.2
  • VIRTUAL_ENV=/tmp/bootstrap
  • PYTHON_BIN=/tmp/bootstrap/bin
  • ANSIBLE_DIR=/tmp/ansible
  • CONFIGURATION_DIR=/tmp/configuration
  • EDX_PPA='deb http://ppa.edx.org precise main'
  • EDX_PPA_KEY_SERVER=pgp.mit.edu
  • EDX_PPA_KEY_ID=69464050
  • cat 100%[==============================================================================>] 4,086 --.-K/s in 0s

2016-04-18 13:18:51 (1.33 GB/s) - written to stdout [4086/4086]


Running the edx_ansible bootstrap script with the following arguments:

ANSIBLE_REPO="https://github.com/edx/ansible.git" ANSIBLE_VERSION="master" CONFIGURATION_REPO="https://github.com/edx/configuration.git" CONFIGURATION_VERSION="master"


++ id -u

PLAY [Deploy the edx_ansible on AWS] ******************************************

GATHERING FACTS *************************************************************** ok: [127.0.0.1]

TASK: [user | debug ] ********************************************************* ok: [127.0.0.1] => { "var": { "user_info": [] } }

TASK: [user | create the edxadmin group] ************************************** changed: [127.0.0.1]

TASK: [user | ensure sudoers.d is read] *************************************** ok: [127.0.0.1]

TASK: [user | grant full sudo access to the edxadmin group] ******************* changed: [127.0.0.1]

TASK: [user | create the users] *********************************************** skipping: [127.0.0.1]

TASK: [user | assign admin role to admin users] ******************************* skipping: [127.0.0.1]

TASK: [user | get github key(s) and update the authorized_keys file] ********** skipping: [127.0.0.1]

TASK: [user | create bashrc file for normal users] **************************** skipping: [127.0.0.1]

TASK: [user | create .profile for all users] ********************************** skipping: [127.0.0.1]

TASK: [user | modify shell for restricted users] ****************************** skipping: [127.0.0.1]

TASK: [user | create bashrc file for restricted users] ************************ skipping: [127.0.0.1]

TASK: [user | create sudoers file from template] ****************************** changed: [127.0.0.1]

TASK: [user | change home directory ownership to root for restricted users] *** skipping: [127.0.0.1]

TASK: [user | create ~/bin directory] ***************************************** skipping: [127.0.0.1]

TASK: [user | create allowed command links] *********************************** skipping: [127.0.0.1]

TASK: [security | install security packages] ********************************** skipping: [127.0.0.1]

TASK: [security | update all system packages] ********************************* skipping: [127.0.0.1]

TASK: [security | configure periodic unattended-upgrades] ********************* skipping: [127.0.0.1]

TASK: [security | disable unattended-upgrades] ******************************** skipping: [127.0.0.1]

TASK: [security | only unattended-upgrade from security repo] ***************** skipping: [127.0.0.1]

TASK: [security | disable security only updates on unattended-upgrades] ******* skipping: [127.0.0.1]

TASK: [security | Check if we are vulnerable] ********************************* skipping: [127.0.0.1]

TASK: [security | Apply bash security update if we are vulnerable] ************ skipping: [127.0.0.1]

TASK: [security | Check again and fail if we are still vulnerable] ************ skipping: [127.0.0.1]

TASK: [security | GHOST.c] **************************************************** skipping: [127.0.0.1]

TASK: [security | compile GHOST] ********************************************** skipping: [127.0.0.1]

TASK: [security | Check if we are vulnerable] ********************************* skipping: [127.0.0.1]

TASK: [security | Apply glibc security update if we are vulnerable] *********** skipping: [127.0.0.1]

TASK: [common | Update CA Certificates] *************************************** changed: [127.0.0.1]

TASK: [common | Add user www-data] ******************************************** changed: [127.0.0.1]

TASK: [common | check if instance is vagrant] ********************************* ok: [127.0.0.1]

TASK: [common | add edx ppa apt key] ****************************************** ok: [127.0.0.1]

TASK: [common | Add git apt repository] *************************************** ok: [127.0.0.1] => (item=ppa:git-core/ppa) ok: [127.0.0.1] => (item=deb http://ppa.edx.org precise main)

TASK: [common | Install role-independent useful system packages] ************** changed: [127.0.0.1] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev)

TASK: [common | Create common directories] ************************************ changed: [127.0.0.1] => (item={'path': u'/edx/var'}) changed: [127.0.0.1] => (item={'path': u'/edx/app'}) changed: [127.0.0.1] => (item={'path': u'/edx/bin'}) changed: [127.0.0.1] => (item={'path': u'/edx/etc'}) changed: [127.0.0.1] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'}) changed: [127.0.0.1] => (item={'path': '/etc/logrotate.d/hourly'}) changed: [127.0.0.1] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'})

TASK: [common | upload sudo config for key forwarding as root] **************** changed: [127.0.0.1]

TASK: [common | pip install virtualenv] *************************************** ok: [127.0.0.1] => (item=pip==7.1.2) ok: [127.0.0.1] => (item=setuptools==18.3.2) ok: [127.0.0.1] => (item=virtualenv==13.1.2) changed: [127.0.0.1] => (item=virtualenvwrapper)

TASK: [common | update /etc/hosts] ******************************************** skipping: [127.0.0.1]

TASK: [common | update /etc/hostname] ***************************************** skipping: [127.0.0.1]

TASK: [common | run hostname] ************************************************* skipping: [127.0.0.1]

TASK: [common | Copy the templates to their respestive destination] *********** changed: [127.0.0.1] => (item={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'}) changed: [127.0.0.1] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'}) changed: [127.0.0.1] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'}) changed: [127.0.0.1] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})

TASK: [common | restart rsyslogd] ********************************************* changed: [127.0.0.1]

TASK: [server_utils | Install system packages] ******************************** changed: [127.0.0.1] => (item=ack-grep,mosh,curl,tree,screen,tmux,curl,vim-tiny,dnsutils,inetutils-telnet,netcat)

TASK: [common | Update CA Certificates] *************************************** changed: [127.0.0.1]

TASK: [common | Add user www-data] ******************************************** ok: [127.0.0.1]

TASK: [common | check if instance is vagrant] ********************************* ok: [127.0.0.1]

TASK: [common | add edx ppa apt key] ****************************************** ok: [127.0.0.1]

TASK: [common | Add git apt repository] *************************************** ok: [127.0.0.1] => (item=ppa:git-core/ppa) ok: [127.0.0.1] => (item=deb http://ppa.edx.org precise main)

TASK: [common | Install role-independent useful system packages] ************** ok: [127.0.0.1] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev)

TASK: [common | Create common directories] ************************************ ok: [127.0.0.1] => (item={'path': u'/edx/var'}) ok: [127.0.0.1] => (item={'path': u'/edx/app'}) ok: [127.0.0.1] => (item={'path': u'/edx/bin'}) ok: [127.0.0.1] => (item={'path': u'/edx/etc'}) ok: [127.0.0.1] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'}) ok: [127.0.0.1] => (item={'path': '/etc/logrotate.d/hourly'}) ok: [127.0.0.1] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'})

TASK: [common | upload sudo config for key forwarding as root] **************** ok: [127.0.0.1]

TASK: [common | pip install virtualenv] *************************************** ok: [127.0.0.1] => (item=pip==7.1.2) ok: [127.0.0.1] => (item=setuptools==18.3.2) ok: [127.0.0.1] => (item=virtualenv==13.1.2) ok: [127.0.0.1] => (item=virtualenvwrapper)

TASK: [common | update /etc/hosts] ******************************************** skipping: [127.0.0.1]

TASK: [common | update /etc/hostname] ***************************************** skipping: [127.0.0.1]

TASK: [common | run hostname] ************************************************* skipping: [127.0.0.1]

TASK: [common | Copy the templates to their respestive destination] *********** ok: [127.0.0.1] => (item={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'}) ok: [127.0.0.1] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'}) ok: [127.0.0.1] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'}) ok: [127.0.0.1] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})

TASK: [common | restart rsyslogd] ********************************************* skipping: [127.0.0.1]

TASK: [edx_ansible | create application user] ********************************* changed: [127.0.0.1]

TASK: [edx_ansible | create edx_ansible app and venv dir] ********************* changed: [127.0.0.1] => (item=/edx/app/edx_ansible) changed: [127.0.0.1] => (item=/edx/var/edx_ansible) changed: [127.0.0.1] => (item=/edx/app/edx_ansible/venvs)

TASK: [edx_ansible | install a bunch of system packages on which edx_ansible relies] *** changed: [127.0.0.1]

TASK: [edx_ansible | git checkout edx_ansible repo into edx_ansible_code_dir] *** changed: [127.0.0.1]

TASK: [edx_ansible | install edx_ansible venv requirements] ******************* changed: [127.0.0.1] => (item=/edx/app/edx_ansible/edx_ansible/pre-requirements.txt) ok: [127.0.0.1] => (item=/edx/app/edx_ansible/edx_ansible/requirements.txt)

TASK: [edx_ansible | create update script] ************************************ changed: [127.0.0.1]

TASK: [edx_ansible | create a symlink for update.sh] ************************** changed: [127.0.0.1]

TASK: [edx_ansible | create show-repo-heads script] *************************** changed: [127.0.0.1]

TASK: [edx_ansible | create a symlink for show-repo-heads script] ************* changed: [127.0.0.1]

TASK: [edx_ansible | create a symlink for ansible-playbook] ******************* changed: [127.0.0.1]

TASK: [edx_ansible | create a symlink for the playbooks dir] ****************** changed: [127.0.0.1]

PLAY RECAP ******************************************************************** INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | install edx_ansible venv requirements ----------------------------- 72.82s INFO:ansible.callback_plugins.datadog_tasks_timing:server_utils | Install system packages ------------------------------------------ 11.80s INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | install a bunch of system packages on which edx_ansible relies ---- 11.70s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Install role-independent useful system packages ------------------------- 7.66s INFO:ansible.callback_plugins.datadog_tasks_timing:common | pip install virtualenv -------------------------------------------------- 4.64s INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | git checkout edx_ansible repo into edx_ansible_code_dir ------------ 3.80s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Update CA Certificates -------------------------------------------------- 0.94s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Create common directories ----------------------------------------------- 0.85s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Copy the templates to their respestive destination ---------------------- 0.62s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Add git apt repository -------------------------------------------------- 0.44s INFO:ansible.callback_plugins.datadog_tasks_timing: Playbook edx_ansible finished: Mon Apr 18 13:23:28 2016, 53 total tasks. 0:01:57 elapsed.

127.0.0.1 : ok=39 changed=24 unreachable=0 failed=0

  • rm -rf /tmp/ansible
  • rm -rf /tmp/configuration
  • rm -rf /tmp/bootstrap
  • cat

Done bootstrapping, edx_ansible is now installed in /edx/app/edx_ansible. Time to run some plays. Activate the virtual env with

. /edx/app/edx_ansible/venvs/edx_ansible/bin/activate


#### Now, as root run the following command 
#### For sudo -i, reference http://askubuntu.com/questions/418122/what-is-the-difference-between-sudo-i-and-sudo-s

ubuntu@openedx1:~$ sudo -i

#### Reference https://groups.google.com/forum/#!msg/openedx-ops/Ahgiuyr6618/i0XghnlLBgAJ
#### See message from Pierre mailhot 
This was my original command in April

root@openedx1:~# UPGRADE_OS=true CONFIGURATION_VERSION="master" \

bash <(curl -s https://raw.githubusercontent.com/edx/configuration/master/util/install/ansible-bootstrap.sh)

As of August 18, 2016 I did this:

root@openedx1:~# UPGRADE_OS=true CONFIGURATION_VERSION="master" \

bash <(curl -s https://raw.githubusercontent.com/edx/configuration/named-release/dogwood.rc/util/install/ansible-bootstrap.sh)

  • [[ -z '' ]]
  • ANSIBLE_REPO=https://github.com/edx/ansible.git
  • [[ -z '' ]]
  • ANSIBLE_VERSION=master
  • [[ -z '' ]]
  • CONFIGURATION_REPO=https://github.com/edx/configuration.git
  • [[ -z master ]]
  • [[ -z true ]]
  • VIRTUAL_ENV_VERSION=13.1.2
  • PIP_VERSION=7.1.2
  • SETUPTOOLS_VERSION=18.3.2
  • VIRTUAL_ENV=/tmp/bootstrap
  • PYTHON_BIN=/tmp/bootstrap/bin
  • ANSIBLE_DIR=/tmp/ansible
  • CONFIGURATION_DIR=/tmp/configuration
  • EDX_PPA='deb http://ppa.edx.org precise main'
  • EDX_PPA_KEY_SERVER=pgp.mit.edu
  • EDX_PPA_KEY_ID=69464050
  • cat

Running the edx_ansible bootstrap script with the following arguments:

ANSIBLE_REPO="https://github.com/edx/ansible.git" ANSIBLE_VERSION="master" CONFIGURATION_REPO="https://github.com/edx/configuration.git" CONFIGURATION_VERSION="master"


++ id -u

PLAY [Deploy the edx_ansible on AWS] ******************************************

GATHERING FACTS *************************************************************** ok: [127.0.0.1]

TASK: [user | debug ] ********************************************************* ok: [127.0.0.1] => { "var": { "user_info": [] } }

TASK: [user | create the edxadmin group] ************************************** ok: [127.0.0.1]

TASK: [user | ensure sudoers.d is read] *************************************** ok: [127.0.0.1]

TASK: [user | grant full sudo access to the edxadmin group] ******************* ok: [127.0.0.1]

TASK: [user | create the users] *********************************************** skipping: [127.0.0.1]

TASK: [user | assign admin role to admin users] ******************************* skipping: [127.0.0.1]

TASK: [user | get github key(s) and update the authorized_keys file] ********** skipping: [127.0.0.1]

TASK: [user | create bashrc file for normal users] **************************** skipping: [127.0.0.1]

TASK: [user | create .profile for all users] ********************************** skipping: [127.0.0.1]

TASK: [user | modify shell for restricted users] ****************************** skipping: [127.0.0.1]

TASK: [user | create bashrc file for restricted users] ************************ skipping: [127.0.0.1]

TASK: [user | create sudoers file from template] ****************************** ok: [127.0.0.1]

TASK: [user | change home directory ownership to root for restricted users] *** skipping: [127.0.0.1]

TASK: [user | create ~/bin directory] ***************************************** skipping: [127.0.0.1]

TASK: [user | create allowed command links] *********************************** skipping: [127.0.0.1]

TASK: [security | install security packages] ********************************** skipping: [127.0.0.1]

TASK: [security | update all system packages] ********************************* skipping: [127.0.0.1]

TASK: [security | configure periodic unattended-upgrades] ********************* skipping: [127.0.0.1]

TASK: [security | disable unattended-upgrades] ******************************** skipping: [127.0.0.1]

TASK: [security | only unattended-upgrade from security repo] ***************** skipping: [127.0.0.1]

TASK: [security | disable security only updates on unattended-upgrades] ******* skipping: [127.0.0.1]

TASK: [security | Check if we are vulnerable] ********************************* skipping: [127.0.0.1]

TASK: [security | Apply bash security update if we are vulnerable] ************ skipping: [127.0.0.1]

TASK: [security | Check again and fail if we are still vulnerable] ************ skipping: [127.0.0.1]

TASK: [security | GHOST.c] **************************************************** skipping: [127.0.0.1]

TASK: [security | compile GHOST] ********************************************** skipping: [127.0.0.1]

TASK: [security | Check if we are vulnerable] ********************************* skipping: [127.0.0.1]

TASK: [security | Apply glibc security update if we are vulnerable] *********** skipping: [127.0.0.1]

TASK: [common | Update CA Certificates] *************************************** changed: [127.0.0.1]

TASK: [common | Add user www-data] ******************************************** ok: [127.0.0.1]

TASK: [common | check if instance is vagrant] ********************************* ok: [127.0.0.1]

TASK: [common | add edx ppa apt key] ****************************************** ok: [127.0.0.1]

TASK: [common | Add git apt repository] *************************************** ok: [127.0.0.1] => (item=ppa:git-core/ppa) ok: [127.0.0.1] => (item=deb http://ppa.edx.org precise main)

TASK: [common | Install role-independent useful system packages] ************** ok: [127.0.0.1] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev)

TASK: [common | Create common directories] ************************************ ok: [127.0.0.1] => (item={'path': u'/edx/var'}) ok: [127.0.0.1] => (item={'path': u'/edx/app'}) ok: [127.0.0.1] => (item={'path': u'/edx/bin'}) ok: [127.0.0.1] => (item={'path': u'/edx/etc'}) ok: [127.0.0.1] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'}) ok: [127.0.0.1] => (item={'path': '/etc/logrotate.d/hourly'}) ok: [127.0.0.1] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'})

TASK: [common | upload sudo config for key forwarding as root] **************** ok: [127.0.0.1]

TASK: [common | pip install virtualenv] *************************************** ok: [127.0.0.1] => (item=pip==7.1.2) ok: [127.0.0.1] => (item=setuptools==18.3.2) ok: [127.0.0.1] => (item=virtualenv==13.1.2) ok: [127.0.0.1] => (item=virtualenvwrapper)

TASK: [common | update /etc/hosts] ******************************************** skipping: [127.0.0.1]

TASK: [common | update /etc/hostname] ***************************************** skipping: [127.0.0.1]

TASK: [common | run hostname] ************************************************* skipping: [127.0.0.1]

TASK: [common | Copy the templates to their respestive destination] *********** ok: [127.0.0.1] => (item={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'}) ok: [127.0.0.1] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'}) ok: [127.0.0.1] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'}) ok: [127.0.0.1] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})

TASK: [common | restart rsyslogd] ********************************************* skipping: [127.0.0.1]

TASK: [server_utils | Install system packages] ******************************** ok: [127.0.0.1] => (item=ack-grep,mosh,curl,tree,screen,tmux,curl,vim-tiny,dnsutils,inetutils-telnet,netcat)

TASK: [common | Update CA Certificates] *************************************** changed: [127.0.0.1]

TASK: [common | Add user www-data] ******************************************** ok: [127.0.0.1]

TASK: [common | check if instance is vagrant] ********************************* ok: [127.0.0.1]

TASK: [common | add edx ppa apt key] ****************************************** ok: [127.0.0.1]

TASK: [common | Add git apt repository] *************************************** ok: [127.0.0.1] => (item=ppa:git-core/ppa) ok: [127.0.0.1] => (item=deb http://ppa.edx.org precise main)

TASK: [common | Install role-independent useful system packages] ************** ok: [127.0.0.1] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev)

TASK: [common | Create common directories] ************************************ ok: [127.0.0.1] => (item={'path': u'/edx/var'}) ok: [127.0.0.1] => (item={'path': u'/edx/app'}) ok: [127.0.0.1] => (item={'path': u'/edx/bin'}) ok: [127.0.0.1] => (item={'path': u'/edx/etc'}) ok: [127.0.0.1] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'}) ok: [127.0.0.1] => (item={'path': '/etc/logrotate.d/hourly'}) ok: [127.0.0.1] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'})

TASK: [common | upload sudo config for key forwarding as root] **************** ok: [127.0.0.1]

TASK: [common | pip install virtualenv] *************************************** ok: [127.0.0.1] => (item=pip==7.1.2) ok: [127.0.0.1] => (item=setuptools==18.3.2) ok: [127.0.0.1] => (item=virtualenv==13.1.2) ok: [127.0.0.1] => (item=virtualenvwrapper)

TASK: [common | update /etc/hosts] ******************************************** skipping: [127.0.0.1]

TASK: [common | update /etc/hostname] ***************************************** skipping: [127.0.0.1]

TASK: [common | run hostname] ************************************************* skipping: [127.0.0.1]

TASK: [common | Copy the templates to their respestive destination] *********** ok: [127.0.0.1] => (item={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'}) ok: [127.0.0.1] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'}) ok: [127.0.0.1] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'}) ok: [127.0.0.1] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})

TASK: [common | restart rsyslogd] ********************************************* skipping: [127.0.0.1]

TASK: [edx_ansible | create application user] ********************************* ok: [127.0.0.1]

TASK: [edx_ansible | create edx_ansible app and venv dir] ********************* ok: [127.0.0.1] => (item=/edx/app/edx_ansible) ok: [127.0.0.1] => (item=/edx/var/edx_ansible) ok: [127.0.0.1] => (item=/edx/app/edx_ansible/venvs)

TASK: [edx_ansible | install a bunch of system packages on which edx_ansible relies] *** ok: [127.0.0.1]

TASK: [edx_ansible | git checkout edx_ansible repo into edx_ansible_code_dir] *** ok: [127.0.0.1]

TASK: [edx_ansible | install edx_ansible venv requirements] ******************* ok: [127.0.0.1] => (item=/edx/app/edx_ansible/edx_ansible/pre-requirements.txt) ok: [127.0.0.1] => (item=/edx/app/edx_ansible/edx_ansible/requirements.txt)

TASK: [edx_ansible | create update script] ************************************ ok: [127.0.0.1]

TASK: [edx_ansible | create a symlink for update.sh] ************************** ok: [127.0.0.1]

TASK: [edx_ansible | create show-repo-heads script] *************************** ok: [127.0.0.1]

TASK: [edx_ansible | create a symlink for show-repo-heads script] ************* ok: [127.0.0.1]

TASK: [edx_ansible | create a symlink for ansible-playbook] ******************* ok: [127.0.0.1]

TASK: [edx_ansible | create a symlink for the playbooks dir] ****************** ok: [127.0.0.1]

PLAY RECAP ******************************************************************** INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | install a bunch of system packages on which edx_ansible relies ----- 7.67s INFO:ansible.callback_plugins.datadog_tasks_timing:server_utils | Install system packages ------------------------------------------- 7.66s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Install role-independent useful system packages ------------------------- 7.62s INFO:ansible.callback_plugins.datadog_tasks_timing:common | pip install virtualenv -------------------------------------------------- 4.60s INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | install edx_ansible venv requirements ------------------------------ 2.44s INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | git checkout edx_ansible repo into edx_ansible_code_dir ------------ 2.29s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Update CA Certificates -------------------------------------------------- 0.93s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Create common directories ----------------------------------------------- 0.87s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Copy the templates to their respestive destination ---------------------- 0.60s INFO:ansible.callback_plugins.datadog_tasks_timing:common | Add git apt repository -------------------------------------------------- 0.44s INFO:ansible.callback_plugins.datadog_tasks_timing: Playbook edx_ansible finished: Mon Apr 18 13:32:10 2016, 53 total tasks. 0:00:37 elapsed.

127.0.0.1 : ok=38 changed=2 unreachable=0 failed=0

  • rm -rf /tmp/ansible
  • rm -rf /tmp/configuration
  • rm -rf /tmp/bootstrap
  • cat

Done bootstrapping, edx_ansible is now installed in /edx/app/edx_ansible. Time to run some plays. Activate the virtual env with

. /edx/app/edx_ansible/venvs/edx_ansible/bin/activate


#### Exit out of root user

root@openedx1:~# exit logout

#### Run Dogwood install

#### Check that OPENEDX_RELEASE is set

ubuntu@openedx1:~$ env | grep OPENEDX OPENEDX_RELEASE=named-release/dogwood.2 As of August 18, 2016 did this: OPENEDX_RELEASE=named-release/dogwood.rc

#### Execute install

ubuntu@openedx1:~$ wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/sandbox.sh -O - | bash --2016-04-18 13:36:56-- https://raw.githubusercontent.com/edx/configuration/named-release/dogwood.2/util/install/sandbox.sh Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 199.27.76.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|199.27.76.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2348 (2.3K) [text/plain] Saving to: `STDOUT'

100%[==============================================================================>] 2,348 --.-K/s in 0s

2016-04-18 13:36:57 (794 MB/s) - written to stdout [2348/2348]

Reading package lists... Done Building dependency tree
Reading state information... Done python-software-properties is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 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 gpg: keyring /tmp/tmp4IDF8l/secring.gpg' created gpg: keyring /tmp/tmp4IDF8l/pubring.gpg' created gpg: requesting key CB9EF14F from hkp server keyserver.ubuntu.com gpg: /tmp/tmp4IDF8l/trustdb.gpg: trustdb created gpg: key CB9EF14F: public key "Launchpad Toolchain builds" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) OK Hit http://us-east-1.ec2.archive.ubuntu.com precise Release.gpg Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates Release.gpg
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports Release.gpg
Hit http://us-east-1.ec2.archive.ubuntu.com precise Release
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates Release
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports Release
Hit http://us-east-1.ec2.archive.ubuntu.com precise/main Sources
Hit http://security.ubuntu.com precise-security Release.gpg
Hit http://ppa.edx.org precise Release.gpg
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted Sources
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe Sources
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse Sources
Hit http://us-east-1.ec2.archive.ubuntu.com precise/main amd64 Packages
Hit http://security.ubuntu.com precise-security Release
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted amd64 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe amd64 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse amd64 Packages
Hit http://ppa.edx.org precise Release
Hit http://us-east-1.ec2.archive.ubuntu.com precise/main i386 Packages
Hit http://security.ubuntu.com precise-security/main Sources
Hit http://security.ubuntu.com precise-security/universe Sources
Hit http://ppa.edx.org precise/main Sources
Hit http://security.ubuntu.com precise-security/main amd64 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse i386 Packages
Hit http://security.ubuntu.com precise-security/universe amd64 Packages
Hit http://ppa.edx.org precise/main amd64 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise/main TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/main Sources
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted Sources
Hit http://security.ubuntu.com precise-security/main i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe Sources
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse Sources
Hit http://security.ubuntu.com precise-security/universe i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/main amd64 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted amd64 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe amd64 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse amd64 Packages
Hit http://security.ubuntu.com precise-security/main TranslationIndex
Hit http://security.ubuntu.com precise-security/universe TranslationIndex
Hit http://ppa.launchpad.net precise Release.gpg
Hit http://security.ubuntu.com precise-security/main Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/main i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/main TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/main Sources
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted Sources
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe Sources
Hit http://ppa.edx.org precise/main i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse Sources
Hit http://security.ubuntu.com precise-security/universe Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/main amd64 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted amd64 Packages Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe amd64 Packages
Ign http://ppa.edx.org precise/main TranslationIndex
Get:1 http://ppa.launchpad.net precise Release.gpg [316 B]
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse amd64 Packages Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/main i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse i386 Packages
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/main TranslationIndex
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse TranslationIndex Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted TranslationIndex Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe TranslationIndex Hit http://us-east-1.ec2.archive.ubuntu.com precise/main Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise/multiverse Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise/restricted Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise/universe Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/main Translation-en
Hit http://ppa.launchpad.net precise Release
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/multiverse Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/restricted Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise-updates/universe Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/main Translation-en
Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/multiverse Translation-en Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/restricted Translation-en Hit http://us-east-1.ec2.archive.ubuntu.com precise-backports/universe Translation-en
Get:2 http://ppa.launchpad.net precise Release [12.9 kB]
Ign http://ppa.edx.org precise/main Translation-en_US
Hit http://ppa.launchpad.net precise/main Sources
Ign http://ppa.edx.org precise/main Translation-en
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:3 http://ppa.launchpad.net precise/main Sources [7,567 B] Get:4 http://ppa.launchpad.net precise/main amd64 Packages [40.1 kB] Get:5 http://ppa.launchpad.net precise/main i386 Packages [39.5 kB]
Get:6 http://ppa.launchpad.net precise/main TranslationIndex [205 B]
Hit http://ppa.launchpad.net precise/main Translation-en Get:7 http://ppa.launchpad.net precise/main Translation-en [14.2 kB] Fetched 115 kB in 5s (20.3 kB/s)
Reading package lists... Done Reading package lists... Done Building dependency tree
Reading state information... Done The following packages have been kept back: cpp-4.6 g++-4.6 gcc-4.6 gcc-4.6-base libgcc1 libgomp1 libquadmath0 libstdc++6 libstdc++6-4.6-dev 0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded. Reading package lists... Done Building dependency tree
Reading state information... Done python-pip is already the newest version. build-essential is already the newest version. curl 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. The following extra packages will be installed: cpp-4.8 gcc-4.8-base gcc-5-base libasan0 libatomic1 libcloog-isl4 libgcc-4.8-dev libgcc1 libgcrypt11-dev libgnutls-dev libgnutls-openssl27 libgnutlsxx27 libgomp1 libgpg-error-dev libisl10 libitm1 libnspr4 libnspr4-dev libnss3 libnss3-dev libp11-kit-dev libquadmath0 libstdc++-4.8-dev libstdc++6 libtasn1-3-dev libtsan0 libxmlsec1 libxmlsec1-gnutls libxmlsec1-nss libxmlsec1-openssl swig2.0 Suggested packages: gcc-4.8-locales g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg gcc-4.8-multilib libmudflap0-4.8-dev libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan0-dbg libtsan0-dbg libbacktrace1-dbg libquadmath0-dbg libmudflap0-dbg binutils-gold libgcrypt11-doc gnutls-doc gnutls-bin libstdc++-4.8-doc swig-doc swig-examples swig2.0-examples swig2.0-doc The following NEW packages will be installed: cpp-4.8 g++-4.8 gcc-4.8 gcc-4.8-base gcc-5-base libasan0 libatomic1 libcloog-isl4 libfreetype6-dev libgcc-4.8-dev libgcrypt11-dev libgnutls-dev libgnutls-openssl27 libgnutlsxx27 libgpg-error-dev libisl10 libitm1 libnspr4 libnspr4-dev libnss3 libnss3-dev libp11-kit-dev libstdc++-4.8-dev libtasn1-3-dev libtsan0 libxmlsec1 libxmlsec1-dev libxmlsec1-gnutls libxmlsec1-nss libxmlsec1-openssl swig swig2.0 The following packages will be upgraded: libgcc1 libgomp1 libquadmath0 libstdc++6 4 upgraded, 32 newly installed, 0 to remove and 5 not upgraded. Need to get 33.9 MB of archives. After this operation, 94.3 MB of additional disk space will be used. Get:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libgnutls-openssl27 amd64 2.12.14-5ubuntu3.12 [21.6 kB] Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libnspr4 amd64 4.10.10-0ubuntu0.12.04.1 [141 kB] Get:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libnss3 amd64 2:3.21-0ubuntu0.12.04.3 [1,188 kB] Get:4 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libgnutlsxx27 amd64 2.12.14-5ubuntu3.12 [22.6 kB] Get:5 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libfreetype6-dev amd64 2.4.8-1ubuntu2.3 [797 kB] Get:6 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/main libgpg-error-dev amd64 1.10-2ubuntu1 [23.3 kB] Get:7 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libgcrypt11-dev amd64 1.5.0-3ubuntu0.5 [365 kB] Get:8 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libtasn1-3-dev amd64 2.10-1ubuntu1.4 [357 kB] Get:9 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/main libp11-kit-dev amd64 0.12-2ubuntu1 [45.6 kB] Get:10 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libgnutls-dev amd64 2.12.14-5ubuntu3.12 [546 kB] Get:11 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main gcc-5-base amd64 5.2.1-23ubuntu112.04 [17.9 kB] Get:12 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libnspr4-dev amd64 4.10.10-0ubuntu0.12.04.1 [280 kB] Get:13 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main libnss3-dev amd64 2:3.21-0ubuntu0.12.04.3 [335 kB] Get:14 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libxmlsec1 amd64 1.2.14-1.2build1 [143 kB] Get:15 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libxmlsec1-openssl amd64 1.2.14-1.2build1 [78.9 kB] Get:16 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libxmlsec1-gnutls amd64 1.2.14-1.2build1 [22.2 kB] Get:17 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libxmlsec1-nss amd64 1.2.14-1.2build1 [71.7 kB] Get:18 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libxmlsec1-dev amd64 1.2.14-1.2build1 [878 kB] Get:19 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/main swig2.0 amd64 2.0.4+really2.0.4-4ubuntu2 [1,139 kB] Get:20 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/main swig amd64 2.0.4+really2.0.4-4ubuntu2 [8,808 B] Get:21 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libgcc1 amd64 1:5.2.1-23ubuntu112.04 [44.9 kB] Get:22 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libstdc++6 amd64 5.2.1-23ubuntu112.04 [382 kB] Get:23 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main gcc-4.8-base amd64 4.8.1-2ubuntu112.04 [16.0 kB] Get:24 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libasan0 amd64 4.8.1-2ubuntu112.04 [76.0 kB] Get:25 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libatomic1 amd64 5.2.1-23ubuntu112.04 [10.5 kB] Get:26 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libisl10 amd64 0.12.2-212.04 [530 kB] Get:27 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libcloog-isl4 amd64 0.18.2-112.04 [67.3 kB] Get:28 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libgomp1 amd64 5.2.1-23ubuntu112.04 [63.7 kB] Get:29 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libitm1 amd64 5.2.1-23ubuntu112.04 [33.6 kB] Get:30 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libquadmath0 amd64 5.2.1-23ubuntu112.04 [145 kB] Get:31 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libtsan0 amd64 5.2.1-23ubuntu112.04 [309 kB] Get:32 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main cpp-4.8 amd64 4.8.1-2ubuntu112.04 [5,835 kB] Get:33 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libgcc-4.8-dev amd64 4.8.1-2ubuntu112.04 [2,792 kB] Get:34 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main gcc-4.8 amd64 4.8.1-2ubuntu112.04 [6,609 kB] Get:35 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main libstdc++-4.8-dev amd64 4.8.1-2ubuntu112.04 [1,753 kB] Get:36 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main g++-4.8 amd64 4.8.1-2ubuntu112.04 [8,707 kB] Fetched 33.9 MB in 15s (2,203 kB/s)
Extracting templates from packages: 100% Selecting previously unselected package gcc-5-base. (Reading database ... 55468 files and directories currently installed.) Unpacking gcc-5-base (from .../gcc-5-base_5.2.1-23ubuntu1
12.04_amd64.deb) ... Setting up gcc-5-base (5.2.1-23ubuntu112.04) ... (Reading database ... 55475 files and directories currently installed.) Preparing to replace libgcc1 1:4.6.3-1ubuntu5 (using .../libgcc1_1%3a5.2.1-23ubuntu112.04_amd64.deb) ... Unpacking replacement libgcc1 ... Setting up libgcc1 (1:5.2.1-23ubuntu112.04) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place (Reading database ... 55475 files and directories currently installed.) Preparing to replace libstdc++6 4.6.3-1ubuntu5 (using .../libstdc++6_5.2.1-23ubuntu112.04_amd64.deb) ... Unpacking replacement libstdc++6 ... Setting up libstdc++6 (5.2.1-23ubuntu112.04) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place Selecting previously unselected package gcc-4.8-base. (Reading database ... 55489 files and directories currently installed.) Unpacking gcc-4.8-base (from .../gcc-4.8-base_4.8.1-2ubuntu112.04_amd64.deb) ... Selecting previously unselected package libasan0. Unpacking libasan0 (from .../libasan0_4.8.1-2ubuntu112.04_amd64.deb) ... Selecting previously unselected package libatomic1. Unpacking libatomic1 (from .../libatomic1_5.2.1-23ubuntu112.04_amd64.deb) ... Selecting previously unselected package libisl10. Unpacking libisl10 (from .../libisl10_0.12.2-212.04_amd64.deb) ... Selecting previously unselected package libcloog-isl4. Unpacking libcloog-isl4 (from .../libcloog-isl4_0.18.2-112.04_amd64.deb) ... Selecting previously unselected package libgnutls-openssl27. Unpacking libgnutls-openssl27 (from .../libgnutls-openssl27_2.12.14-5ubuntu3.12_amd64.deb) ... Preparing to replace libgomp1 4.6.3-1ubuntu5 (using .../libgomp1_5.2.1-23ubuntu112.04_amd64.deb) ... Unpacking replacement libgomp1 ... Selecting previously unselected package libitm1. Unpacking libitm1 (from .../libitm1_5.2.1-23ubuntu112.04_amd64.deb) ... Selecting previously unselected package libnspr4. Unpacking libnspr4 (from .../libnspr4_4.10.10-0ubuntu0.12.04.1_amd64.deb) ... Selecting previously unselected package libnss3. Unpacking libnss3 (from .../libnss3_2%3a3.21-0ubuntu0.12.04.3_amd64.deb) ... Preparing to replace libquadmath0 4.6.3-1ubuntu5 (using .../libquadmath0_5.2.1-23ubuntu112.04_amd64.deb) ... Unpacking replacement libquadmath0 ... Selecting previously unselected package libtsan0. Unpacking libtsan0 (from .../libtsan0_5.2.1-23ubuntu112.04_amd64.deb) ... Selecting previously unselected package libgnutlsxx27. Unpacking libgnutlsxx27 (from .../libgnutlsxx27_2.12.14-5ubuntu3.12_amd64.deb) ... Selecting previously unselected package cpp-4.8. Unpacking cpp-4.8 (from .../cpp-4.8_4.8.1-2ubuntu112.04_amd64.deb) ... Selecting previously unselected package libgcc-4.8-dev. Unpacking libgcc-4.8-dev (from .../libgcc-4.8-dev_4.8.1-2ubuntu112.04_amd64.deb) ... Selecting previously unselected package gcc-4.8. Unpacking gcc-4.8 (from .../gcc-4.8_4.8.1-2ubuntu112.04_amd64.deb) ... Selecting previously unselected package libstdc++-4.8-dev. Unpacking libstdc++-4.8-dev (from .../libstdc++-4.8-dev_4.8.1-2ubuntu112.04_amd64.deb) ... Selecting previously unselected package g++-4.8. Unpacking g++-4.8 (from .../g++-4.8_4.8.1-2ubuntu112.04_amd64.deb) ... Selecting previously unselected package libfreetype6-dev. Unpacking libfreetype6-dev (from .../libfreetype6-dev_2.4.8-1ubuntu2.3_amd64.deb) ... Selecting previously unselected package libgpg-error-dev. Unpacking libgpg-error-dev (from .../libgpg-error-dev_1.10-2ubuntu1_amd64.deb) ... Selecting previously unselected package libgcrypt11-dev. Unpacking libgcrypt11-dev (from .../libgcrypt11-dev_1.5.0-3ubuntu0.5_amd64.deb) ... Selecting previously unselected package libtasn1-3-dev. Unpacking libtasn1-3-dev (from .../libtasn1-3-dev_2.10-1ubuntu1.4_amd64.deb) ... Selecting previously unselected package libp11-kit-dev. Unpacking libp11-kit-dev (from .../libp11-kit-dev_0.12-2ubuntu1_amd64.deb) ... Selecting previously unselected package libgnutls-dev. Unpacking libgnutls-dev (from .../libgnutls-dev_2.12.14-5ubuntu3.12_amd64.deb) ... Selecting previously unselected package libnspr4-dev. Unpacking libnspr4-dev (from .../libnspr4-dev_4.10.10-0ubuntu0.12.04.1_amd64.deb) ... Selecting previously unselected package libnss3-dev. Unpacking libnss3-dev (from .../libnss3-dev_2%3a3.21-0ubuntu0.12.04.3_amd64.deb) ... Selecting previously unselected package libxmlsec1. Unpacking libxmlsec1 (from .../libxmlsec1_1.2.14-1.2build1_amd64.deb) ... Selecting previously unselected package libxmlsec1-openssl. Unpacking libxmlsec1-openssl (from .../libxmlsec1-openssl_1.2.14-1.2build1_amd64.deb) ... Selecting previously unselected package libxmlsec1-gnutls. Unpacking libxmlsec1-gnutls (from .../libxmlsec1-gnutls_1.2.14-1.2build1_amd64.deb) ... Selecting previously unselected package libxmlsec1-nss. Unpacking libxmlsec1-nss (from .../libxmlsec1-nss_1.2.14-1.2build1_amd64.deb) ... Selecting previously unselected package libxmlsec1-dev. Unpacking libxmlsec1-dev (from .../libxmlsec1-dev_1.2.14-1.2build1_amd64.deb) ... Selecting previously unselected package swig2.0. Unpacking swig2.0 (from .../swig2.0_2.0.4+really2.0.4-4ubuntu2_amd64.deb) ... Selecting previously unselected package swig. Unpacking swig (from .../swig_2.0.4+really2.0.4-4ubuntu2_amd64.deb) ... Processing triggers for man-db ... Processing triggers for install-info ... Setting up gcc-4.8-base (4.8.1-2ubuntu112.04) ... Setting up libasan0 (4.8.1-2ubuntu112.04) ... Setting up libatomic1 (5.2.1-23ubuntu112.04) ... Setting up libisl10 (0.12.2-212.04) ... Setting up libcloog-isl4 (0.18.2-112.04) ... Setting up libgnutls-openssl27 (2.12.14-5ubuntu3.12) ... Setting up libgomp1 (5.2.1-23ubuntu112.04) ... Setting up libitm1 (5.2.1-23ubuntu112.04) ... Setting up libnspr4 (4.10.10-0ubuntu0.12.04.1) ... Setting up libnss3 (2:3.21-0ubuntu0.12.04.3) ... Setting up libquadmath0 (5.2.1-23ubuntu112.04) ... Setting up libtsan0 (5.2.1-23ubuntu112.04) ... Setting up libgnutlsxx27 (2.12.14-5ubuntu3.12) ... Setting up cpp-4.8 (4.8.1-2ubuntu112.04) ... Setting up libgcc-4.8-dev (4.8.1-2ubuntu112.04) ... Setting up gcc-4.8 (4.8.1-2ubuntu112.04) ... Setting up libstdc++-4.8-dev (4.8.1-2ubuntu112.04) ... Setting up g++-4.8 (4.8.1-2ubuntu1~12.04) ... Setting up libfreetype6-dev (2.4.8-1ubuntu2.3) ... Setting up libgpg-error-dev (1.10-2ubuntu1) ... Setting up libgcrypt11-dev (1.5.0-3ubuntu0.5) ... Setting up libtasn1-3-dev (2.10-1ubuntu1.4) ... Setting up libp11-kit-dev (0.12-2ubuntu1) ... Setting up libgnutls-dev (2.12.14-5ubuntu3.12) ... Setting up libnspr4-dev (4.10.10-0ubuntu0.12.04.1) ... Setting up libnss3-dev (2:3.21-0ubuntu0.12.04.3) ... Setting up libxmlsec1 (1.2.14-1.2build1) ... Setting up libxmlsec1-openssl (1.2.14-1.2build1) ... Setting up libxmlsec1-gnutls (1.2.14-1.2build1) ... Setting up libxmlsec1-nss (1.2.14-1.2build1) ... Setting up libxmlsec1-dev (1.2.14-1.2build1) ... Setting up swig2.0 (2.0.4+really2.0.4-4ubuntu2) ... Setting up swig (2.0.4+really2.0.4-4ubuntu2) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Requirement already up-to-date: pip==7.1.2 in /usr/local/lib/python2.7/dist-packages You are using pip version 7.1.2, however version 8.1.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Requirement already up-to-date: setuptools==18.3.2 in /usr/local/lib/python2.7/dist-packages You are using pip version 7.1.2, however version 8.1.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Requirement already up-to-date: virtualenv==13.1.2 in /usr/local/lib/python2.7/dist-packages You are using pip version 7.1.2, however version 8.1.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. update-alternatives: using /usr/bin/gcc-4.8 to provide /usr/bin/gcc (gcc) in auto mode. update-alternatives: using /usr/bin/g++-4.8 to provide /usr/bin/g++ (g++) in auto mode. Cloning into 'configuration'... remote: Counting objects: 51076, done. remote: Compressing objects: 100% (117/117), done. Receiving objects: 100% (51076/51076), 9.93 MiB | 6.46 MiB/s, done. remote: Total 51076 (delta 64), reused 3 (delta 3), pack-reused 50942 Resolving deltas: 100% (26437/26437), done. Checking connectivity... done. Note: checking out 'named-release/dogwood.2'.

You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example:

git checkout -b

HEAD is now at 564d309... Update Vagrantfiles for dogwood.2 Collecting ansible==1.9.3-edx from git+https://github.com/edx/ansible.git@stable-1.9.3-rc1-edx#egg=ansible==1.9.3-edx (from -r requirements.txt (line 1)) Cloning https://github.com/edx/ansible.git (to stable-1.9.3-rc1-edx) to /tmp/pip-build-q9ZfDI/ansible Collecting PyYAML==3.11 (from -r requirements.txt (line 2)) Collecting Jinja2==2.7.3 (from -r requirements.txt (line 3)) Downloading Jinja2-2.7.3.tar.gz (378kB) 100% |████████████████████████████████| 380kB 850kB/s Collecting MarkupSafe==0.23 (from -r requirements.txt (line 4)) Collecting boto==2.32.1 (from -r requirements.txt (line 5)) Using cached boto-2.32.1-py2.py3-none-any.whl Collecting ecdsa==0.11 (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 Collecting pycrypto==2.6.1 (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)) Collecting docopt==0.6.1 (from -r requirements.txt (line 10)) Collecting python-simple-hipchat==0.2 (from -r requirements.txt (line 11)) Collecting prettytable==0.7.2 (from -r requirements.txt (line 12)) Collecting awscli==1.4.2 (from -r requirements.txt (line 13)) Collecting requests (from -r requirements.txt (line 14)) Using cached requests-2.9.1-py2.py3-none-any.whl Collecting datadog==0.8.0 (from -r requirements.txt (line 15)) Collecting pymongo==3.1 (from -r requirements.txt (line 16)) Collecting MySQL-python==1.2.5 (from -r requirements.txt (line 17)) Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python2.7/dist-packages (from ansible==1.9.3-edx->-r requirements.txt (line 1)) Collecting rsa==3.1.2 (from awscli==1.4.2->-r requirements.txt (line 13)) Collecting docutils>=0.10 (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)) Collecting botocore<0.63.0,>=0.62.0 (from awscli==1.4.2->-r requirements.txt (line 13)) Collecting colorama==0.2.5 (from awscli==1.4.2->-r requirements.txt (line 13)) Collecting bcdoc<0.13.0,>=0.12.0 (from awscli==1.4.2->-r requirements.txt (line 13)) Requirement already satisfied (use --upgrade to upgrade): simplejson>=2.0.9 in /usr/lib/python2.7/dist-packages (from datadog==0.8.0->-r requirements.txt (line 15)) Collecting decorator>=3.3.2 (from datadog==0.8.0->-r requirements.txt (line 15)) Using cached decorator-4.0.9-py2.py3-none-any.whl Collecting pyasn1>=0.1.3 (from rsa==3.1.2->awscli==1.4.2->-r requirements.txt (line 13)) Using cached pyasn1-0.1.9-py2.py3-none-any.whl Collecting jmespath==0.4.1 (from botocore<0.63.0,>=0.62.0->awscli==1.4.2->-r requirements.txt (line 13)) Collecting python-dateutil>=2.1 (from botocore<0.63.0,>=0.62.0->awscli==1.4.2->-r requirements.txt (line 13)) Using cached python_dateutil-2.5.2-py2.py3-none-any.whl Installing collected packages: ecdsa, pycrypto, paramiko, MarkupSafe, Jinja2, PyYAML, ansible, boto, docopt, python-simple-hipchat, prettytable, pyasn1, rsa, docutils, jmespath, python-dateutil, botocore, colorama, bcdoc, awscli, requests, decorator, datadog, pymongo, MySQL-python Found existing installation: pycrypto 2.4.1 DEPRECATION: Uninstalling a distutils installed project (pycrypto) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. Uninstalling pycrypto-2.4.1: Successfully uninstalled pycrypto-2.4.1 Found existing installation: paramiko 1.7.7.1 DEPRECATION: Uninstalling a distutils installed project (paramiko) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. Uninstalling paramiko-1.7.7.1: Successfully uninstalled paramiko-1.7.7.1 Found existing installation: MarkupSafe 0.15 Uninstalling MarkupSafe-0.15: Successfully uninstalled MarkupSafe-0.15 Found existing installation: Jinja2 2.6 Uninstalling Jinja2-2.6: Successfully uninstalled Jinja2-2.6 Running setup.py install for Jinja2 Found existing installation: PyYAML 3.10 DEPRECATION: Uninstalling a distutils installed project (PyYAML) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. Uninstalling PyYAML-3.10: Successfully uninstalled PyYAML-3.10 Running setup.py install for ansible Found existing installation: boto 2.2.2 DEPRECATION: Uninstalling a distutils installed project (boto) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. Uninstalling boto-2.2.2: Successfully uninstalled boto-2.2.2 Found existing installation: MySQL-python 1.2.3 Uninstalling MySQL-python-1.2.3: Successfully uninstalled MySQL-python-1.2.3 Successfully installed Jinja2-2.7.3 MarkupSafe-0.23 MySQL-python-1.2.5 PyYAML-3.11 ansible-1.9.3-edx awscli-1.4.2 bcdoc-0.12.2 boto-2.32.1 botocore-0.62.0 colorama-0.2.5 datadog-0.8.0 decorator-4.0.9 docopt-0.6.1 docutils-0.12 ecdsa-0.11 jmespath-0.4.1 paramiko-1.15.1 prettytable-0.7.2 pyasn1-0.1.9 pycrypto-2.6.1 pymongo-3.1 python-dateutil-2.5.2 python-simple-hipchat-0.2 requests-2.9.1 rsa-3.1.2 You are using pip version 7.1.2, however version 8.1.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

PLAY [Configure instance(s)] **************************************************

GATHERING FACTS *************************************************************** ok: [localhost]

TASK: [swapfile | Write swapfile] ********************************************* changed: [localhost]

TASK: [swapfile | Set swapfile permissions] *********************************** changed: [localhost]

TASK: [swapfile | Create swapfile] ******************************************** changed: [localhost]

TASK: [swapfile | Enable swapfile] ******************************************** changed: [localhost]

TASK: [swapfile | Add swapfile to /etc/fstab] ********************************* changed: [localhost]

TASK: [swapfile | Configure vm.swappiness] ************************************ skipping: [localhost]

TASK: [swapfile | Configure vm.vfs_cache_pressure] **************************** skipping: [localhost]

TASK: [server_utils | Install system packages] ******************************** ok: [localhost] => (item=ack-grep,mosh,curl,tree,screen,tmux,curl,vim-tiny,dnsutils,inetutils-telnet,netcat)

TASK: [user | debug var=user_info] ******************************************** ok: [localhost] => { "var": { "user_info": [] } }

TASK: [user | create the edxadmin group] ************************************** ok: [localhost]

TASK: [user | Install role-independent useful system packages] **************** ok: [localhost] => (item=curl)

TASK: [user | ensure sudoers.d is read] *************************************** ok: [localhost]

TASK: [user | grant full sudo access to the edxadmin group] ******************* ok: [localhost]

TASK: [user | create the users] *********************************************** skipping: [localhost]

TASK: [user | create .ssh directory] ****************************************** skipping: [localhost]

TASK: [user | assign admin role to admin users] ******************************* skipping: [localhost]

TASK: [user | get github key[s]] ********************************************** skipping: [localhost]

TASK: [user | update the authorized_keys file] ******************************** skipping: [localhost]

TASK: [user | create bashrc file for normal users] **************************** skipping: [localhost]

TASK: [user | create .profile for all users] ********************************** skipping: [localhost]

TASK: [user | modify shell for restricted users] ****************************** skipping: [localhost]

TASK: [user | create bashrc file for restricted users] ************************ skipping: [localhost]

TASK: [user | create sudoers file from template] ****************************** ok: [localhost]

TASK: [user | change home directory ownership to root for restricted users] *** skipping: [localhost]

TASK: [user | create ~/bin directory] ***************************************** skipping: [localhost]

TASK: [user | create allowed command links] *********************************** skipping: [localhost]

TASK: [security | install security packages] ********************************** skipping: [localhost]

TASK: [security | update all system packages] ********************************* skipping: [localhost]

TASK: [security | configure periodic unattended-upgrades] ********************* skipping: [localhost]

TASK: [security | disable unattended-upgrades] ******************************** skipping: [localhost]

TASK: [security | only unattended-upgrade from security repo] ***************** skipping: [localhost]

TASK: [security | disable security only updates on unattended-upgrades] ******* skipping: [localhost]

TASK: [security | Check if we are vulnerable] ********************************* skipping: [localhost]

TASK: [security | Apply bash security update if we are vulnerable] ************ skipping: [localhost]

TASK: [security | Check again and fail if we are still vulnerable] ************ skipping: [localhost]

TASK: [security | GHOST.c] **************************************************** skipping: [localhost]

TASK: [security | compile GHOST] ********************************************** skipping: [localhost]

TASK: [security | Check if we are vulnerable] ********************************* skipping: [localhost]

TASK: [security | Apply glibc security update if we are vulnerable] *********** skipping: [localhost]

TASK: [common | Update CA Certificates] *************************************** changed: [localhost]

TASK: [common | Add user www-data] ******************************************** ok: [localhost]

TASK: [common | check if instance is vagrant] ********************************* ok: [localhost]

TASK: [common | add edx ppa apt key] ****************************************** ok: [localhost]

TASK: [common | Add git apt repository] *************************************** ok: [localhost]

TASK: [common | Add edx apt repository] *************************************** ok: [localhost]

TASK: [common | Install role-independent useful system packages] ************** ok: [localhost] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev)

TASK: [common | Create common directories] ************************************ ok: [localhost] => (item={'path': u'/edx/var'}) ok: [localhost] => (item={'path': u'/edx/app'}) ok: [localhost] => (item={'path': u'/edx/bin'}) ok: [localhost] => (item={'path': u'/edx/etc'}) ok: [localhost] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'}) ok: [localhost] => (item={'path': '/etc/logrotate.d/hourly'}) ok: [localhost] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'})

TASK: [common | upload sudo config for key forwarding as root] **************** ok: [localhost]

TASK: [common | pip install virtualenv] *************************************** ok: [localhost] => (item=pip==7.1.2) ok: [localhost] => (item=setuptools==18.3.2) ok: [localhost] => (item=virtualenv==13.1.2) ok: [localhost] => (item=virtualenvwrapper)

TASK: [common | update /etc/hosts] ******************************************** skipping: [localhost]

TASK: [common | update /etc/hostname] ***************************************** skipping: [localhost]

TASK: [common | run hostname] ************************************************* skipping: [localhost]

TASK: [common | Copy the templates to their respestive destination] *********** ok: [localhost] => (item={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'}) ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'}) ok: [localhost] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'}) ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})

TASK: [common | restart rsyslogd] ********************************************* skipping: [localhost]

TASK: [nginx | create nginx app dirs] ***************************************** changed: [localhost] => (item=/edx/app/nginx) changed: [localhost] => (item=/edx/app/nginx/sites-available) changed: [localhost] => (item=/etc/nginx/sites-enabled) changed: [localhost] => (item=/edx/app/nginx/conf.d)

TASK: [nginx | create nginx data dirs] **************************************** changed: [localhost] => (item=/edx/var/nginx) changed: [localhost] => (item=/edx/var/log/nginx) changed: [localhost] => (item=/edx/var/nginx/server-static)

TASK: [nginx | Install nginx packages] **************************************** changed: [localhost]

TASK: [nginx | Remove the default site] *************************************** changed: [localhost]

TASK: [nginx | Server configuration file] ************************************* changed: [localhost]

TASK: [nginx | Creating common nginx configuration] *************************** changed: [localhost]

TASK: [nginx | Create robot rules] ******************************************** skipping: [localhost]

TASK: [nginx | Creating link for common nginx configuration] ****************** changed: [localhost]

TASK: [nginx | Copying nginx configs for ['certs', 'cms', 'lms', 'forum', 'xqueue']] *** changed: [localhost] => (item=certs) changed: [localhost] => (item=cms) changed: [localhost] => (item=lms) changed: [localhost] => (item=forum) changed: [localhost] => (item=xqueue)

TASK: [nginx | Creating nginx config links for ['certs', 'cms', 'lms', 'forum', 'xqueue']] *** changed: [localhost] => (item=certs) changed: [localhost] => (item=cms) changed: [localhost] => (item=lms) changed: [localhost] => (item=forum) changed: [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] ********************************* changed: [localhost] => (item={'msg': u'If think you have encountered this message in error please let us know at technical@example.com', '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'}) changed: [localhost] => (item={'msg': u'We have been notified of the error, if it persists please let us know at technical@example.com', '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] ****************************** changed: [localhost]

TASK: [nginx | Set up nginx access log rotation] ****************************** changed: [localhost]

TASK: [nginx | make sure nginx has started] *********************************** changed: [localhost]

TASK: [mysql | Add MySQL experimental apt key] ******************************** changed: [localhost]

TASK: [mysql | Install apt repository] **************************************** changed: [localhost]

TASK: [mysql | install mysql 56 and dependencies] ***************************** changed: [localhost] => (item=software-properties-common,python-mysqldb,mysql-server=5.6.*)

TASK: [mysql | Ensure Anonymous user(s) does not exist] *********************** changed: [localhost] => (item=localhost) ok: [localhost] => (item=openedx1)

TASK: [mysql | start mysql] *************************************************** ok: [localhost]

TASK: [edxlocal | install packages needed for single server] ****************** changed: [localhost] => (item=postfix,libjpeg-dev)

TASK: [edxlocal | create databases] ******************************************* skipping: [localhost] changed: [localhost] => (item=dashboard) skipping: [localhost] changed: [localhost] => (item=xqueue) changed: [localhost] => (item=edxapp) skipping: [localhost] skipping: [localhost] changed: [localhost] => (item=analytics-api) changed: [localhost] => (item=reports)

TASK: [edxlocal | create database users] ************************************** skipping: [localhost] => (item={'db': u'', 'user': u'{# ECOMMERCE_DATABASES.default.USER | default(None) #}', 'pass': u'{# ECOMMERCE_DATABASES.default.PASSWORD | default(None) #}'}) changed: [localhost] => (item={'db': u'dashboard', 'user': u'rosencrantz', 'pass': u'secret'}) skipping: [localhost] => (item={'db': u'', 'user': u'', 'pass': u''}) changed: [localhost] => (item={'db': u'xqueue', 'user': u'xqueue001', 'pass': u'password'}) changed: [localhost] => (item={'db': u'edxapp', 'user': u'edxapp001', 'pass': u'password'}) skipping: [localhost] => (item={'db': u'', 'user': u'{# PROGRAMS_DATABASES.default.USER | default(None) #}', 'pass': u'{# PROGRAMS_DATABASES.default.PASSWORD | default(None) #}'}) skipping: [localhost] => (item={'db': u'', 'user': u'{# ANALYTICS_PIPELINE_OUTPUT_DATABASE.username #}', 'pass': u'{# ANALYTICS_PIPELINE_OUTPUT_DATABASE.password #}'}) skipping: [localhost] => (item={'db': u'', 'user': u'{# HIVE_METASTORE_DATABASE.user | default(None) #}', 'pass': u'{# HIVE_METASTORE_DATABASE.password | default(None) #}'})

TASK: [edxlocal | setup the migration db user] ******************************** skipping: [localhost] changed: [localhost] => (item=dashboard) skipping: [localhost] changed: [localhost] => (item=xqueue) changed: [localhost] => (item=edxapp) skipping: [localhost] skipping: [localhost] changed: [localhost] => (item=analytics-api) changed: [localhost] => (item=reports)

TASK: [edxlocal | create api user for the analytics api] ********************** changed: [localhost]

TASK: [edxlocal | create read-only reports user for the analytics-api] ******** changed: [localhost]

TASK: [edxlocal | create a database for the hive metastore] ******************* skipping: [localhost]

TASK: [edxlocal | setup the edx-notes-api db user] **************************** skipping: [localhost]

TASK: [edxlocal | setup the read-only db user] ******************************** changed: [localhost]

TASK: [edxlocal | setup the admin db user] ************************************ changed: [localhost]

TASK: [edxlocal | install memcached] ****************************************** changed: [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] *********************************** changed: [localhost]

TASK: [mongo | add the mongodb repo to the sources list] ********************** changed: [localhost]

TASK: [mongo | install mongo server and recommends] *************************** changed: [localhost]

TASK: [mongo | create mongo dirs] ********************************************* changed: [localhost] => (item=/edx/var/mongo) changed: [localhost] => (item=/edx/var/mongo/mongodb) changed: [localhost] => (item=/edx/var/log/mongo) changed: [localhost] => (item=/edx/var/mongo/mongodb/journal)

TASK: [mongo | stop mongod service] ******************************************* changed: [localhost]

TASK: [mongo | move mongodb to {{ mongo_data_dir }}] ************************** ok: [localhost]

TASK: [mongo | copy mongodb key file] ***************************************** skipping: [localhost]

TASK: [mongo | copy configuration template] *********************************** changed: [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] ***************************************** changed: [localhost] => (item={'password': 'password', 'user': 'cs_comments_service', 'roles': 'readWrite', 'database': 'cs_comments_service'}) changed: [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: [rabbitmq | trust rabbit repository] ************************************ changed: [localhost]

TASK: [rabbitmq | install python-software-properties if debian] *************** changed: [localhost]

TASK: [rabbitmq | add rabbit repository] ************************************** changed: [localhost]

TASK: [rabbitmq | fetch the rabbitmq server deb] ****************************** changed: [localhost]

TASK: [rabbitmq | check if rabbit is installed] ******************************* changed: [localhost]

TASK: [rabbitmq | install rabbit package using gdebi] ************************* changed: [localhost]

TASK: [rabbitmq | stop rabbit cluster] **************************************** changed: [localhost]

TASK: [rabbitmq | send sigterm to any running rabbitmq processes] ************* changed: [localhost]

TASK: [rabbitmq | create rabbitmq edx directories] **************************** changed: [localhost] => (item=/edx/app/rabbitmq) changed: [localhost] => (item=/edx/var/log/rabbitmq)

TASK: [rabbitmq | add queue monitoring script] ******************************** changed: [localhost]

TASK: [rabbitmq | set up a cron job to run the script] ************************ changed: [localhost]

TASK: [rabbitmq | create cookie directory] ************************************ ok: [localhost]

TASK: [rabbitmq | add rabbitmq erlang cookie] ********************************* changed: [localhost]

TASK: [rabbitmq | create rabbitmq config directory] *************************** ok: [localhost]

TASK: [rabbitmq | add rabbitmq environment configuration] ********************* changed: [localhost]

TASK: [rabbitmq | add rabbitmq cluster configuration] ************************* changed: [localhost]

TASK: [rabbitmq | install plugins] ******************************************** changed: [localhost]

TASK: [rabbitmq | remove mnesia configuration] ******************************** changed: [localhost]

TASK: [rabbitmq | start rabbit nodes] ***************************************** changed: [localhost]

TASK: [rabbitmq | wait for rabbit to start] *********************************** ok: [localhost]

TASK: [rabbitmq | remove guest user] ****************************************** changed: [localhost]

TASK: [rabbitmq | add vhosts] ************************************************* ok: [localhost] => (item=/)

TASK: [rabbitmq | add admin users] ******************************************** changed: [localhost] => (item=[{'password': 'the example admin password', 'name': 'admin'}, '/']) changed: [localhost] => (item=[{'password': 'edx', 'name': 'edx'}, '/']) changed: [localhost] => (item=[{'password': 'celery', 'name': 'celery'}, '/'])

TASK: [rabbitmq | make queues mirrored] *************************************** skipping: [localhost] => (item=/)

TASK: [rabbitmq | install admin tools] **************************************** changed: [localhost]

TASK: [rabbitmq | ensure rabbitmqadmin attributes] **************************** changed: [localhost]

TASK: [supervisor | create application user] ********************************** changed: [localhost]

TASK: [supervisor | create supervisor service user] *************************** ok: [localhost]

TASK: [supervisor | create supervisor directories] **************************** changed: [localhost] => (item=/edx/app/supervisor) changed: [localhost] => (item=/edx/app/supervisor/venvs/supervisor)

TASK: [supervisor | create service user accessible dirs] ********************** changed: [localhost] => (item=/edx/app/supervisor/conf.d) changed: [localhost] => (item=/edx/app/supervisor/conf.available.d)

TASK: [supervisor | create supervisor directories] **************************** changed: [localhost] => (item=/edx/var/supervisor) changed: [localhost] => (item=/edx/var/log/supervisor)

TASK: [supervisor | install supervisor in its venv] *************************** changed: [localhost]

TASK: [supervisor | install supervisor in its venv] *************************** changed: [localhost] => (item=boto=="2.34.0") changed: [localhost] => (item=python-simple-hipchat)

TASK: [supervisor | create supervisor upstart job] **************************** changed: [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] ************************** changed: [localhost]

TASK: [supervisor | create a symlink for supervisortctl] ********************** ok: [localhost]

TASK: [supervisor | create a symlink for supervisor cfg] ********************** ok: [localhost] => (item=/edx/app/supervisor/supervisord.conf) ok: [localhost] => (item=/edx/app/supervisor/conf.d)

TASK: [supervisor | create helper script for running supervisor] ************** changed: [localhost]

TASK: [supervisor | start supervisor] ***************************************** changed: [localhost]

TASK: [supervisor | wait for web port to be available] ************************ ok: [localhost]

TASK: [supervisor | update supervisor configuration] ************************** ok: [localhost]

TASK: [edxapp_common | Install system packages] ******************************* changed: [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 }}] *************************** changed: [localhost]

TASK: [rbenv | create rbenv dir if it does not exist] ************************* changed: [localhost]

TASK: [rbenv | install build depends] ***************************************** changed: [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] ************************************ failed: [localhost] => {"changed": true, "cmd": ["test", "-x", "/usr/local/bin/ruby-build"], "delta": "0:00:00.003321", "end": "2016-04-18 13:44:12.751255", "rc": 1, "start": "2016-04-18 13:44:12.747934", "warnings": []} ...ignoring

TASK: [rbenv | if ruby-build exists, which versions we can install] *********** skipping: [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] **************** failed: [localhost] => {"changed": true, "cmd": "rbenv versions | grep 1.9.3-p374", "delta": "0:00:00.057542", "end": "2016-04-18 13:44:14.970293", "rc": 1, "start": "2016-04-18 13:44:14.912751", "warnings": []} ...ignoring

TASK: [rbenv | install ruby {{ edxapp_ruby_version }}] ************************ changed: [localhost]

TASK: [rbenv | set global ruby {{ edxapp_ruby_version }}] ********************* changed: [localhost]

TASK: [rbenv | install bundler] *********************************************** changed: [localhost]

TASK: [rbenv | remove rbenv version of rake] ********************************** changed: [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] *************************** changed: [localhost]

TASK: [supervisor | create supervisor directories] **************************** changed: [localhost] => (item=/edx/app/devpi/supervisor) changed: [localhost] => (item=/edx/app/devpi/venvs/supervisor)

TASK: [supervisor | create service user accessible dirs] ********************** changed: [localhost] => (item=/edx/app/devpi/supervisor/conf.d) changed: [localhost] => (item=/edx/app/devpi/supervisor/conf.available.d)

TASK: [supervisor | create supervisor directories] **************************** changed: [localhost] => (item=/edx/var/devpi/supervisor) changed: [localhost] => (item=/edx/var/log/devpi/supervisor)

TASK: [supervisor | install supervisor in its venv] *************************** changed: [localhost]

TASK: [supervisor | install supervisor in its venv] *************************** changed: [localhost] => (item=boto=="2.34.0") changed: [localhost] => (item=python-simple-hipchat)

TASK: [supervisor | create supervisor upstart job] **************************** changed: [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] ************************** changed: [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] ***************************************** changed: [localhost]

TASK: [supervisor | wait for web port to be available] ************************ ok: [localhost]

TASK: [supervisor | update supervisor configuration] ************************** ok: [localhost]

TASK: [devpi | create devpi user] ********************************************* changed: [localhost]

TASK: [devpi | create devpi application directories] ************************** changed: [localhost] => (item=/edx/app/devpi) changed: [localhost] => (item=/edx/app/devpi/venvs/devpi)

TASK: [devpi | create the devpi data directory, needs write access by the service user] *** changed: [localhost] => (item=/edx/var/devpi) changed: [localhost] => (item=/edx/var/devpi/data)

TASK: [devpi | install devpi pip pkgs] **************************************** changed: [localhost] => (item=devpi-server) changed: [localhost] => (item=eventlet)

TASK: [devpi | writing supervisor script] ************************************* changed: [localhost]

TASK: [devpi | create a symlink for venv python, pip] ************************* changed: [localhost] => (item=python) changed: [localhost] => (item=pip)

TASK: [devpi | create a symlink for venv supervisor] ************************** changed: [localhost]

TASK: [devpi | create a symlink for supervisor config] ************************ changed: [localhost]

TASK: [devpi | update devpi supervisor configuration] ************************* changed: [localhost]

TASK: [devpi | ensure devpi is started] *************************************** ok: [localhost]

TASK: [nltk | Install unzip] ************************************************** ok: [localhost]

TASK: [nltk | create the nltk data directory and subdirectories] ************** changed: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) changed: [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] ********************************************* changed: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) changed: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) changed: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})

TASK: [nltk | unarchive nltk data] ******************************************** changed: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) changed: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) changed: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'})

TASK: [user | debug var=user_info] ******************************************** skipping: [localhost]

TASK: [user | create the edxadmin group] ************************************** skipping: [localhost]

TASK: [user | Install role-independent useful system packages] **************** skipping: [localhost]

TASK: [user | ensure sudoers.d is read] *************************************** skipping: [localhost]

TASK: [user | grant full sudo access to the edxadmin group] ******************* skipping: [localhost]

TASK: [user | create the users] *********************************************** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | create .ssh directory] ****************************************** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | assign admin role to admin users] ******************************* skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | get github key[s]] ********************************************** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | update the authorized_keys file] ******************************** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | create bashrc file for normal users] **************************** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | create .profile for all users] ********************************** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | modify shell for restricted users] ****************************** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | create bashrc file for restricted users] ************************ skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | create sudoers file from template] ****************************** skipping: [localhost]

TASK: [user | change home directory ownership to root for restricted users] *** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | create ~/bin directory] ***************************************** skipping: [localhost] => (item={'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []})

TASK: [user | create allowed command links] *********************************** skipping: [localhost] => (item=[{'sudo_cmds': [u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms migrate *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp cms syncdb *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms seed_permissions_roles *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms set_staff *', u'ALL=(www-data) NOPASSWD:SETENV:/edx/bin/python.edxapp /edx/bin/manage.edxapp lms transfer_students *'], 'type': 'restricted', 'name': u'automator', 'authorized_keys': []}, '/usr/bin/sudo'])

TASK: [edxapp | create application user] ************************************** ok: [localhost]

TASK: [edxapp | create edxapp user dirs] ************************************** changed: [localhost] => (item=/edx/app/edxapp) changed: [localhost] => (item=/edx/app/edxapp/.ssh) changed: [localhost] => (item=/edx/app/edxapp/venvs) changed: [localhost] => (item=/edx/var/edxapp/themes) changed: [localhost] => (item=/edx/var/edxapp/staticfiles) changed: [localhost] => (item=/edx/var/edxapp/course_static) changed: [localhost] => (item=/edx/var/edxapp/data)

TASK: [edxapp | create edxapp var dir] **************************************** changed: [localhost]

TASK: [edxapp | create directory to import the courses from github] *********** changed: [localhost]

TASK: [edxapp | make the course data dir] ************************************* changed: [localhost]

TASK: [edxapp | create edxapp log dir] **************************************** changed: [localhost]

TASK: [edxapp | create web-writable edxapp data dirs] ************************* changed: [localhost] => (item=/edx/var/edxapp/data) changed: [localhost] => (item=/edx/var/edxapp/uploads) changed: [localhost] => (item=/edx/var/edxapp/media)

TASK: [edxapp | add ppas for current versions of nodejs] ********************** changed: [localhost]

TASK: [edxapp | install system packages on which LMS and CMS rely] ************ changed: [localhost]

TASK: [edxapp | set up edxapp .npmrc] ***************************************** changed: [localhost]

TASK: [edxapp | create log directories for service variants] ****************** changed: [localhost] => (item=lms) changed: [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] ******************** changed: [localhost]

TASK: [edxapp | code sandbox | Install apparmor utils system pkg] ************* ok: [localhost]

TASK: [edxapp | code sandbox | write out apparmor code sandbox config] ******** changed: [localhost]

TASK: [edxapp | code sandbox | write out sandbox user sudoers config] ********* changed: [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 | set git fetch.prune to ignore deleted remote refs] ************ 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 | Stat each requirements file with Github URLs to ensure it exists] *** ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/pre.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)

TASK: [edxapp | Updating requirement files for git mirror] ******************** changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312646, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312642, 'isgid': False, 'size': 6029, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': 'd93d7282464c6baf4d187bece22b38ca', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '5d581586a0426eeec37fc83b62eada0ca46176bb', 'islnk': False}, 'changed': False}) skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/custom.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'stat': {'exists': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312639, 'isgid': False, 'size': 3460, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '1fd7b852ede90f966fe6678085c341c0', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '2e0213a60c39420810abff727bebf406f55befcc', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312645, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312644, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312641, 'isgid': False, 'size': 2086, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '5a37399f88dcb354d34837f086adb60e', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0339b3092653a74cd3a14b2d439a43a0bb01d89f', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312637, 'isgid': False, 'size': 313, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '1f8d2ca7aa01706f2859c25b8bede5f3', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'cb294b185d8f40e49506c4c342acc8fd6b3683f6', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312636, 'isgid': False, 'size': 507, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '09046a50cef36e7ca9f622fd3b3b397f', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '01e96ac6feaff75b076e04cbdb2b9b9a632a7034', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312635, 'isgid': False, 'size': 411, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': 'e62d71c98cff3129bbe6333ad96f9b00', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '8f31577e172d28cddd2e202214e5dd24ab90a243', 'islnk': False}, 'changed': False})

TASK: [edxapp | gem install bundler] ****************************************** changed: [localhost]

TASK: [edxapp | bundle install] *********************************************** changed: [localhost]

TASK: [edxapp | Set the npm registry] ***************************************** ok: [localhost]

TASK: [edxapp | Set the npm registry permissions] ***************************** changed: [localhost]

TASK: [edxapp | Install edx-platform npm dependencies] ************************ changed: [localhost]

TASK: [edxapp | Create the virtualenv to install the Python requirements] ***** changed: [localhost]

TASK: [edxapp | Stat each Python requirements file to ensure it exists] ******* ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/pre.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/local.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)

TASK: [edxapp | install python requirements] ********************************** changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002280.7590883, 'inode': 1312654, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1461002280.7590883, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1461002280.7590883, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002280.8910847, 'inode': 1312646, 'isgid': False, 'size': 6029, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1461002280.8910847, 'md5': 'd93d7282464c6baf4d187bece22b38ca', 'isdir': False, 'ctime': 1461002280.8910847, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '5d581586a0426eeec37fc83b62eada0ca46176bb', 'islnk': False}, 'changed': False}) skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/custom.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'stat': {'exists': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/local.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312643, 'isgid': False, 'size': 254, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '55ace0c3ccdb0b161709e8c7623be39e', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '108dd87a867bcb78ca0e0797122bb07c870157bc', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002281.0350804, 'inode': 1312642, 'isgid': False, 'size': 3460, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1461002281.0350804, 'md5': '1fd7b852ede90f966fe6678085c341c0', 'isdir': False, 'ctime': 1461002281.0350804, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '2e0213a60c39420810abff727bebf406f55befcc', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002281.1750765, 'inode': 1312639, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1461002281.1750765, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1461002281.1750765, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002281.4070702, 'inode': 1312645, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1461002281.4070702, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1461002281.4070702, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', 'islnk': False}, 'changed': False})

TASK: [edxapp | install python private requirements] ************************** skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt)

TASK: [edxapp | install python extra requirements] **************************** skipping: [localhost]

TASK: [edxapp | install CAS attribute module] ********************************* skipping: [localhost]

TASK: [edxapp | install sandbox requirements into regular venv] *************** skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt) skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt) skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)

TASK: [edxapp | code sandbox | put sandbox apparmor profile in complain mode] *** changed: [localhost]

TASK: [edxapp | code sandbox | Install base sandbox requirements and create sandbox virtualenv] *** changed: [localhost]

TASK: [edxapp | code sandbox | Install sandbox requirements into sandbox venv] *** changed: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt) changed: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)

TASK: [edxapp | code sandbox | put code sandbox into aa-enforce or aa-complain mode, depending on EDXAPP_SANDBOX_ENFORCE] *** changed: [localhost]

TASK: [edxapp | compiling all py files in the edx-platform repo] ************** changed: [localhost]

TASK: [edxapp | give other read permissions to the virtualenv] **************** changed: [localhost]

TASK: [edxapp | openid workaround] ******************************************** changed: [localhost]

TASK: [edxapp | create {{ item }} application config] ************************* changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | create {{ item }} auth file] ********************************** changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | create {{ item }} yaml application config] ******************** changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | create {{ item }} yaml auth file] ***************************** changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | writing {{ item }} supervisor script] ************************* changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | writing edxapp supervisor script] ***************************** changed: [localhost]

TASK: [edxapp | add gunicorn configuration files] ***************************** changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | writing celery worker supervisor script] ********************** changed: [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] *********************** changed: [localhost]

TASK: [edxapp | create helper scripts for managing edxapp] ******************** changed: [localhost] => (item=['edxapp-migrate', 'lms']) changed: [localhost] => (item=['edxapp-migrate', 'cms']) changed: [localhost] => (item=['edxapp-runserver', 'lms']) changed: [localhost] => (item=['edxapp-runserver', 'cms']) changed: [localhost] => (item=['edxapp-syncdb', 'lms']) changed: [localhost] => (item=['edxapp-syncdb', 'cms']) changed: [localhost] => (item=['edxapp-update-assets', 'lms']) changed: [localhost] => (item=['edxapp-update-assets', 'cms']) changed: [localhost] => (item=['edxapp-shell', 'lms']) changed: [localhost] => (item=['edxapp-shell', 'cms'])

TASK: [edxapp | migrate] ****************************************************** changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | gather {{ item }} static assets with paver] ******************* skipping: [localhost] => (item=lms) skipping: [localhost] => (item=cms)

TASK: [edxapp | update supervisor configuration] ****************************** changed: [localhost]

TASK: [edxapp | ensure edxapp has started] ************************************ skipping: [localhost] => (item=lms) skipping: [localhost] => (item=cms)

TASK: [edxapp | ensure edxapp_workers has started] **************************** ok: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) ok: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) ok: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) ok: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) ok: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) ok: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) ok: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 1, 'max_tasks_per_child': 1})

TASK: [edxapp | create symlinks from the venv bin dir] ************************ changed: [localhost] => (item=python) changed: [localhost] => (item=pip) changed: [localhost] => (item=django-admin.py)

TASK: [edxapp | create symlinks from the repo dir] **************************** changed: [localhost] => (item=manage.py)

TASK: [edxapp | remove read-only ssh key] ************************************* skipping: [localhost]

TASK: [edxapp | get instance information] ************************************* skipping: [localhost]

TASK: [edxapp | tag instance with edx_platform version] *********************** skipping: [localhost]

TASK: [edxapp | tag instance with edxapp theme version] ********************** skipping: [localhost]

TASK: [edxapp | set_fact edxapp_installed=true] ******************************* ok: [localhost]

TASK: [edxapp | restart edxapp] *********************************************** skipping: [localhost] => (item=lms) skipping: [localhost] => (item=cms)

TASK: [edxapp | restart edxapp_workers] *************************************** changed: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) changed: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) changed: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) changed: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) changed: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) changed: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) changed: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 1, 'max_tasks_per_child': 1})

TASK: [edxapp | create application user] ************************************** ok: [localhost]

TASK: [edxapp | create edxapp user dirs] ************************************** ok: [localhost] => (item=/edx/app/edxapp) ok: [localhost] => (item=/edx/app/edxapp/.ssh) ok: [localhost] => (item=/edx/app/edxapp/venvs) ok: [localhost] => (item=/edx/var/edxapp/themes) ok: [localhost] => (item=/edx/var/edxapp/staticfiles) ok: [localhost] => (item=/edx/var/edxapp/course_static) changed: [localhost] => (item=/edx/var/edxapp/data)

TASK: [edxapp | create edxapp var dir] **************************************** ok: [localhost]

TASK: [edxapp | create directory to import the courses from github] *********** ok: [localhost]

TASK: [edxapp | make the course data dir] ************************************* ok: [localhost]

TASK: [edxapp | create edxapp log dir] **************************************** ok: [localhost]

TASK: [edxapp | create web-writable edxapp data dirs] ************************* changed: [localhost] => (item=/edx/var/edxapp/data) ok: [localhost] => (item=/edx/var/edxapp/uploads) ok: [localhost] => (item=/edx/var/edxapp/media)

TASK: [edxapp | add ppas for current versions of nodejs] ********************** ok: [localhost]

TASK: [edxapp | install system packages on which LMS and CMS rely] ************ ok: [localhost]

TASK: [edxapp | set up edxapp .npmrc] ***************************************** changed: [localhost]

TASK: [edxapp | create log directories for service variants] ****************** ok: [localhost] => (item=lms) ok: [localhost] => (item=cms)

TASK: [edxapp | code sandbox | Use libblas for 3gf] *************************** changed: [localhost]

TASK: [edxapp | code sandbox | Use liblapac for 3gf] ************************** changed: [localhost]

TASK: [edxapp | code sandbox | Create edxapp sandbox user] ******************** ok: [localhost]

TASK: [edxapp | code sandbox | Install apparmor utils system pkg] ************* ok: [localhost]

TASK: [edxapp | code sandbox | write out apparmor code sandbox config] ******** ok: [localhost]

TASK: [edxapp | code sandbox | write out sandbox user sudoers config] ********* ok: [localhost]

TASK: [edxapp | code sandbox | start apparmor service] ************************ ok: [localhost]

TASK: [edxapp | code sandbox | (bootstrap) load code sandbox profile] ********* changed: [localhost]

TASK: [edxapp | code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE] *** changed: [localhost]

TASK: [edxapp | setup the edxapp env] ***************************************** ok: [localhost]

TASK: [edxapp | create edxapp configuration dir] ****************************** ok: [localhost]

TASK: [edxapp | create ssh script for git (not authenticated)] **************** ok: [localhost]

TASK: [edxapp | create ssh script for git (authenticated)] ******************** skipping: [localhost]

TASK: [edxapp | install read-only ssh key] ************************************ skipping: [localhost]

TASK: [edxapp | set git fetch.prune to ignore deleted remote refs] ************ changed: [localhost]

TASK: [edxapp | checkout edx-platform repo into {{ edxapp_code_dir }}] ******** ok: [localhost]

TASK: [edxapp | git clean after checking out edx-platform] ******************** changed: [localhost]

TASK: [edxapp | checkout theme] *********************************************** skipping: [localhost]

TASK: [edxapp | Stat each requirements file with Github URLs to ensure it exists] *** ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/pre.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)

TASK: [edxapp | Updating requirement files for git mirror] ******************** changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002280.7590883, 'inode': 1312654, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1461002309.642284, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1461002280.7590883, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002280.8910847, 'inode': 1312646, 'isgid': False, 'size': 6029, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1461002309.8022795, 'md5': 'd93d7282464c6baf4d187bece22b38ca', 'isdir': False, 'ctime': 1461002280.8910847, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '5d581586a0426eeec37fc83b62eada0ca46176bb', 'islnk': False}, 'changed': False}) skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/custom.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'stat': {'exists': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002281.0350804, 'inode': 1312642, 'isgid': False, 'size': 3460, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1461002310.1622696, 'md5': '1fd7b852ede90f966fe6678085c341c0', 'isdir': False, 'ctime': 1461002281.0350804, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '2e0213a60c39420810abff727bebf406f55befcc', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002281.1750765, 'inode': 1312639, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1461002310.2822661, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1461002281.1750765, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002281.4070702, 'inode': 1312645, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1461002310.3942633, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1461002281.4070702, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002281.6870623, 'inode': 1312644, 'isgid': False, 'size': 2086, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'xusr': False, 'atime': 1461008349.0422757, 'md5': '5a37399f88dcb354d34837f086adb60e', 'isdir': False, 'ctime': 1461002281.6870623, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0339b3092653a74cd3a14b2d439a43a0bb01d89f', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002281.9630544, 'inode': 1312641, 'isgid': False, 'size': 313, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'xusr': False, 'atime': 1461006588.4428332, 'md5': '1f8d2ca7aa01706f2859c25b8bede5f3', 'isdir': False, 'ctime': 1461002281.9630544, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'cb294b185d8f40e49506c4c342acc8fd6b3683f6', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002282.1710486, 'inode': 1312637, 'isgid': False, 'size': 507, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'xusr': False, 'atime': 1461005342.8486075, 'md5': '09046a50cef36e7ca9f622fd3b3b397f', 'isdir': False, 'ctime': 1461002282.1710486, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '01e96ac6feaff75b076e04cbdb2b9b9a632a7034', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002282.3190444, 'inode': 1312636, 'isgid': False, 'size': 411, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'xusr': False, 'atime': 1461004694.9897418, 'md5': 'e62d71c98cff3129bbe6333ad96f9b00', 'isdir': False, 'ctime': 1461002282.3190444, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '8f31577e172d28cddd2e202214e5dd24ab90a243', 'islnk': False}, 'changed': False})

TASK: [edxapp | gem install bundler] ****************************************** changed: [localhost]

TASK: [edxapp | bundle install] *********************************************** changed: [localhost]

TASK: [edxapp | Set the npm registry] ***************************************** ok: [localhost]

TASK: [edxapp | Set the npm registry permissions] ***************************** changed: [localhost]

TASK: [edxapp | Install edx-platform npm dependencies] ************************ changed: [localhost]

TASK: [edxapp | Create the virtualenv to install the Python requirements] ***** ok: [localhost]

TASK: [edxapp | Stat each Python requirements file to ensure it exists] ******* ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/pre.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/local.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)

TASK: [edxapp | install python requirements] ********************************** changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/pre.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461008357.6541038, 'inode': 1313612, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1461008357.6541038, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1461008357.6541038, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/github.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461008357.9540977, 'inode': 1312654, 'isgid': False, 'size': 6029, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1461008357.9540977, 'md5': 'd93d7282464c6baf4d187bece22b38ca', 'isdir': False, 'ctime': 1461008357.9540977, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '5d581586a0426eeec37fc83b62eada0ca46176bb', 'islnk': False}, 'changed': False}) skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/custom.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'stat': {'exists': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/local.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461002277.6231766, 'inode': 1312643, 'isgid': False, 'size': 254, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'xusr': False, 'atime': 1461002278.639148, 'md5': '55ace0c3ccdb0b161709e8c7623be39e', 'isdir': False, 'ctime': 1461002277.6231766, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '108dd87a867bcb78ca0e0797122bb07c870157bc', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/base.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461008358.290091, 'inode': 1312646, 'isgid': False, 'size': 3460, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1461008358.286091, 'md5': '1fd7b852ede90f966fe6678085c341c0', 'isdir': False, 'ctime': 1461008358.290091, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '2e0213a60c39420810abff727bebf406f55befcc', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/post.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461008358.590085, 'inode': 1312642, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1461008358.590085, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1461008358.590085, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False}) changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {}, 'module_args': u'path="/edx/app/edxapp/edx-platform/requirements/edx/paver.txt"'}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1003, 'exists': True, 'woth': False, 'mtime': 1461008358.8700795, 'inode': 1312639, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'edxapp', 'gid': 1004, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'edxapp', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1461008358.8700795, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1461008358.8700795, 'isblk': False, 'xgrp': False, 'dev': 51713, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', 'islnk': False}, 'changed': False})

TASK: [edxapp | install python private requirements] ************************** skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt)

TASK: [edxapp | install python extra requirements] **************************** skipping: [localhost]

TASK: [edxapp | install CAS attribute module] ********************************* skipping: [localhost]

TASK: [edxapp | install sandbox requirements into regular venv] *************** skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt) skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt) skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)

TASK: [edxapp | code sandbox | put sandbox apparmor profile in complain mode] *** changed: [localhost]

TASK: [edxapp | code sandbox | Install base sandbox requirements and create sandbox virtualenv] *** ok: [localhost]

TASK: [edxapp | code sandbox | Install sandbox requirements into sandbox venv] *** ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt) ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)

TASK: [edxapp | code sandbox | put code sandbox into aa-enforce or aa-complain mode, depending on EDXAPP_SANDBOX_ENFORCE] *** changed: [localhost]

TASK: [edxapp | compiling all py files in the edx-platform repo] ************** changed: [localhost]

TASK: [edxapp | give other read permissions to the virtualenv] **************** changed: [localhost]

TASK: [edxapp | openid workaround] ******************************************** changed: [localhost]

TASK: [edxapp | create {{ item }} application config] ************************* ok: [localhost] => (item=lms) ok: [localhost] => (item=cms)

TASK: [edxapp | create {{ item }} auth file] ********************************** ok: [localhost] => (item=lms) ok: [localhost] => (item=cms)

TASK: [edxapp | create {{ item }} yaml application config] ******************** ok: [localhost] => (item=lms) ok: [localhost] => (item=cms)

TASK: [edxapp | create {{ item }} yaml auth file] ***************************** ok: [localhost] => (item=lms) ok: [localhost] => (item=cms)

TASK: [edxapp | writing {{ item }} supervisor script] ************************* ok: [localhost] => (item=lms) ok: [localhost] => (item=cms)

TASK: [edxapp | writing edxapp supervisor script] ***************************** ok: [localhost]

TASK: [edxapp | add gunicorn configuration files] ***************************** ok: [localhost] => (item=lms) ok: [localhost] => (item=cms)

TASK: [edxapp | writing celery worker supervisor script] ********************** ok: [localhost]

TASK: [edxapp | enable {{ item }} supervisor script] ************************** changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | enable edxapp supervisor script] ****************************** changed: [localhost]

TASK: [edxapp | enable celery worker supervisor script] *********************** skipping: [localhost]

TASK: [edxapp | create helper scripts for managing edxapp] ******************** ok: [localhost] => (item=['edxapp-migrate', 'lms']) ok: [localhost] => (item=['edxapp-migrate', 'cms']) ok: [localhost] => (item=['edxapp-runserver', 'lms']) ok: [localhost] => (item=['edxapp-runserver', 'cms']) ok: [localhost] => (item=['edxapp-syncdb', 'lms']) ok: [localhost] => (item=['edxapp-syncdb', 'cms']) ok: [localhost] => (item=['edxapp-update-assets', 'lms']) ok: [localhost] => (item=['edxapp-update-assets', 'cms']) ok: [localhost] => (item=['edxapp-shell', 'lms']) ok: [localhost] => (item=['edxapp-shell', 'cms'])

TASK: [edxapp | migrate] ****************************************************** changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | gather {{ item }} static assets with paver] ******************* changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | update supervisor configuration] ****************************** changed: [localhost]

TASK: [edxapp | ensure edxapp has started] ************************************ ok: [localhost] => (item=lms) ok: [localhost] => (item=cms)

TASK: [edxapp | ensure edxapp_workers has started] **************************** skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 1, 'max_tasks_per_child': 1})

TASK: [edxapp | create symlinks from the venv bin dir] ************************ ok: [localhost] => (item=python) ok: [localhost] => (item=pip) ok: [localhost] => (item=django-admin.py)

TASK: [edxapp | create symlinks from the repo dir] **************************** ok: [localhost] => (item=manage.py)

TASK: [edxapp | remove read-only ssh key] ************************************* skipping: [localhost]

TASK: [edxapp | get instance information] ************************************* skipping: [localhost]

TASK: [edxapp | tag instance with edx_platform version] *********************** skipping: [localhost]

TASK: [edxapp | tag instance with edxapp theme version] ********************** skipping: [localhost]

TASK: [edxapp | set_fact edxapp_installed=true] ******************************* ok: [localhost]

TASK: [edxapp | restart edxapp] *********************************************** changed: [localhost] => (item=lms) changed: [localhost] => (item=cms)

TASK: [edxapp | restart edxapp_workers] *************************************** skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) skipping: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 1, 'max_tasks_per_child': 1})

TASK: [notifier | install notifier specific system packages] ****************** ok: [localhost]

TASK: [notifier | check if incommon ca is installed] ************************** failed: [localhost] => {"changed": true, "cmd": ["test", "-e", "/usr/share/ca-certificates/incommon/InCommonServerCA.crt"], "delta": "0:00:00.012902", "end": "2016-04-18 16:05:08.047728", "rc": 1, "start": "2016-04-18 16:05:08.034826", "warnings": []} ...ignoring

TASK: [notifier | create incommon ca directory] ******************************* changed: [localhost]

TASK: [notifier | retrieve incommon server CA] ******************************** changed: [localhost]

TASK: [notifier | add InCommon ca cert] *************************************** changed: [localhost]

TASK: [notifier | update ca certs globally] *********************************** changed: [localhost]

TASK: [notifier | create notifier user {{ notifier_user }}] ******************* changed: [localhost]

TASK: [notifier | create notifier app dir] ************************************ changed: [localhost]

TASK: [notifier | setup the notifier env] ************************************* changed: [localhost]

TASK: [notifier | drop a bash_profile] **************************************** changed: [localhost]

TASK: [notifier | ensure .bashrc exists] ************************************** changed: [localhost]

TASK: [notifier | add source of notifier_env to .bashrc] ********************** changed: [localhost]

TASK: [notifier | add source venv to .bashrc] ********************************* changed: [localhost]

TASK: [notifier | create notifier DB directory] ******************************* changed: [localhost]

TASK: [notifier | create notifier/bin directory] ****************************** changed: [localhost]

TASK: [notifier | create notifier/.ssh directory] ***************************** changed: [localhost]

TASK: [notifier | create service log dir] ************************************* changed: [localhost] => (item=/edx/var/log/notifier)

TASK: [notifier | write supervisord wrapper for celery workers] *************** changed: [localhost]

TASK: [notifier | write supervisord wrapper for scheduler] ******************** changed: [localhost]

TASK: [notifier | write supervisord config for celery workers] **************** changed: [localhost]

TASK: [notifier | write supervisord config for scheduler] ********************* changed: [localhost]

TASK: [notifier | enable supervisord config for celery workers] *************** changed: [localhost]

TASK: [notifier | enable supervisord config for scheduler] ******************** changed: [localhost]

TASK: [notifier | checkout code] ********************************************** changed: [localhost]

TASK: [notifier | create ssh script for git (not authenticated)] ************** changed: [localhost]

TASK: [notifier | create ssh script for git (authenticated)] ****************** skipping: [localhost]

TASK: [notifier | install read-only ssh key] ********************************** skipping: [localhost]

TASK: [notifier | checkout theme] ********************************************* skipping: [localhost]

TASK: [notifier | write notifier local settings] ****************************** skipping: [localhost]

TASK: [notifier | install application requirements] *************************** changed: [localhost]

TASK: [notifier | fix permissions on notifer db file] ************************* changed: [localhost]

TASK: [notifier | syncdb] ***************************************************** changed: [localhost]

TASK: [edx_service | create application user] ********************************* changed: [localhost]

TASK: [edx_service | create edx_service app, venv, data, and staticfiles dirs] *** changed: [localhost] changed: [localhost] => (item=venvs) changed: [localhost] => (item=data) changed: [localhost] => (item=staticfiles)

TASK: [edx_service | create /edx/var and /edx/etc dirs] *********************** changed: [localhost] => (item=/edx/var) changed: [localhost] => (item=/edx/etc)

TASK: [edx_service | create edx_service log dir] ****************************** changed: [localhost] => (item=/edx/var/log/analytics_api)

TASK: [edx_service | write out app config file] ******************************* changed: [localhost]

TASK: [edx_service | install a bunch of system packages on which edx_service relies] *** ok: [localhost] => (item=libmysqlclient-dev)

TASK: [edx_service | install a bunch of system packages on which edx_service relies] *** skipping: [localhost]

TASK: [edx_service | set git fetch.prune to ignore deleted remote refs] ******* changed: [localhost]

TASK: [edx_service | validate git protocol] *********************************** skipping: [localhost] => (item={'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None})

TASK: [edx_service | install read-only ssh key] ******************************* skipping: [localhost] => (item={'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None})

TASK: [edx_service | checkout code over ssh] ********************************** skipping: [localhost] => (item={'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None})

TASK: [edx_service | checkout code over https] ******************************** changed: [localhost] => (item={'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None})

TASK: [edx_service | get instance information] ******************************** ok: [localhost]

TASK: [edx_service | tag instance] ******************************************** skipping: [localhost] => (item=[{'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None}, {'invocation': {'module_name': u'git_2_0_1', 'module_complex_args': {}, 'module_args': u'repo=https://github.com/edx/edx-analytics-data-api.git dest=/edx/app/analytics_api/analytics_api version=named-release/dogwood.2'}, 'item': {'REPO': 'edx-analytics-data-api.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/analytics_api/analytics_api', 'SSH_KEY': None}, 'changed': True, 'after': 'd3a72344c0f1cc3dab05ca871bafa9a7a9effe1e', 'before': None}])

TASK: [analytics_api | setup the analytics_api env file] ********************** changed: [localhost]

TASK: [analytics_api | add gunicorn configuration file] *********************** changed: [localhost]

TASK: [analytics_api | install application requirements] ********************** changed: [localhost] => (item=base.txt) changed: [localhost] => (item=production.txt) changed: [localhost] => (item=optional.txt)

TASK: [analytics_api | migrate] *********************************************** changed: [localhost]

TASK: [analytics_api | run collectstatic] ************************************* changed: [localhost]

TASK: [analytics_api | create api users] ************************************** changed: [localhost] => (item={'key': 'dummy-api-user', 'value': 'changeme'})

TASK: [analytics_api | write out the supervisor wrapper] ********************** changed: [localhost]

TASK: [analytics_api | write supervisord config] ****************************** changed: [localhost]

TASK: [analytics_api | enable supervisor script] ****************************** changed: [localhost]

TASK: [analytics_api | update supervisor configuration] *********************** changed: [localhost]

TASK: [analytics_api | create symlinks from the venv bin dir] ***************** changed: [localhost] => (item=python) changed: [localhost] => (item=pip) changed: [localhost] => (item=django-admin.py)

TASK: [analytics_api | create symlinks from the repo dir] ********************* changed: [localhost] => (item=manage.py)

TASK: [analytics_api | restart analytics_api] ********************************* changed: [localhost]

TASK: [edx_service | create application user] ********************************* changed: [localhost]

TASK: [edx_service | create edx_service app, venv, data, and staticfiles dirs] *** changed: [localhost] changed: [localhost] => (item=venvs) changed: [localhost] => (item=data) changed: [localhost] => (item=staticfiles)

TASK: [edx_service | create /edx/var and /edx/etc dirs] *********************** changed: [localhost] => (item=/edx/var) changed: [localhost] => (item=/edx/etc)

TASK: [edx_service | create edx_service log dir] ****************************** changed: [localhost] => (item=/edx/var/log/insights)

TASK: [edx_service | write out app config file] ******************************* changed: [localhost]

TASK: [edx_service | install a bunch of system packages on which edx_service relies] *** changed: [localhost] => (item=libmysqlclient-dev,build-essential,gettext,openjdk-7-jdk)

TASK: [edx_service | install a bunch of system packages on which edx_service relies] *** skipping: [localhost]

TASK: [edx_service | set git fetch.prune to ignore deleted remote refs] ******* changed: [localhost]

TASK: [edx_service | validate git protocol] *********************************** skipping: [localhost] => (item={'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None})

TASK: [edx_service | install read-only ssh key] ******************************* skipping: [localhost] => (item={'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None})

TASK: [edx_service | checkout code over ssh] ********************************** skipping: [localhost] => (item={'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None})

TASK: [edx_service | checkout code over https] ******************************** changed: [localhost] => (item={'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None})

TASK: [edx_service | get instance information] ******************************** ok: [localhost]

TASK: [edx_service | tag instance] ******************************************** skipping: [localhost] => (item=[{'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None}, {'invocation': {'module_name': u'git_2_0_1', 'module_complex_args': {}, 'module_args': u'repo=https://github.com/edx/edx-analytics-dashboard.git dest=/edx/app/insights/edx_analytics_dashboard version=named-release/dogwood.2'}, 'item': {'REPO': 'edx-analytics-dashboard.git', 'DOMAIN': u'github.com', 'VERSION': u'named-release/dogwood.2', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', 'SSH_KEY': None}, 'changed': True, 'after': '1c2f4a26df58c6b819d5604df304a4a7c8518f1d', 'before': None}])

TASK: [insights | setup the insights env file] ******************************** changed: [localhost]

TASK: [insights | install application requirements] *************************** changed: [localhost] => (item=production.txt) changed: [localhost] => (item=optional.txt)

TASK: [insights | create nodeenv] ********************************************* changed: [localhost]

TASK: [insights | install node dependencies] ********************************** changed: [localhost]

TASK: [insights | install bower dependencies] ********************************* changed: [localhost]

TASK: [insights | migrate] **************************************************** changed: [localhost]

TASK: [insights | run r.js optimizer] ***************************************** changed: [localhost]

TASK: [insights | run collectstatic] ****************************************** changed: [localhost] => (item=collectstatic --noinput) changed: [localhost] => (item=compress)

TASK: [insights | compile translations] *************************************** changed: [localhost]

TASK: [insights | write out the supervisior wrapper] ************************** changed: [localhost]

TASK: [insights | write supervisord config] *********************************** changed: [localhost]

TASK: [insights | enable supervisor script] *********************************** changed: [localhost]

TASK: [insights | update supervisor configuration] **************************** changed: [localhost]

TASK: [insights | create symlinks from the venv bin dir] ********************** changed: [localhost] => (item=python) changed: [localhost] => (item=pip) changed: [localhost] => (item=django-admin.py)

TASK: [insights | create manage.py symlink] *********************************** changed: [localhost]

TASK: [insights | restart insights] ******************************************* changed: [localhost]

TASK: [demo | create demo app and data dirs] ********************************** changed: [localhost]

TASK: [demo | check out the demo course] ************************************** changed: [localhost]

TASK: [demo | import demo course] ********************************************* changed: [localhost]

TASK: [demo | create some test users and enroll them in the course] *********** changed: [localhost] => (item={'password': 'edx', 'email': 'honor@example.com', 'mode': 'honor'}) changed: [localhost] => (item={'password': 'edx', 'email': 'audit@example.com', 'mode': 'audit'}) changed: [localhost] => (item={'password': 'edx', 'email': 'verified@example.com', 'mode': 'verified'})

TASK: [demo | create staff user] ********************************************** changed: [localhost]

TASK: [demo | add test users to the certificate whitelist] ******************** changed: [localhost] => (item={'password': 'edx', 'email': 'honor@example.com', 'mode': 'honor'}) changed: [localhost] => (item={'password': 'edx', 'email': 'audit@example.com', 'mode': 'audit'}) changed: [localhost] => (item={'password': 'edx', 'email': 'verified@example.com', 'mode': 'verified'})

TASK: [demo | seed the forums for the demo course] **************************** changed: [localhost] => (item={'password': 'edx', 'email': 'honor@example.com', 'mode': 'honor'}) changed: [localhost] => (item={'password': 'edx', 'email': 'audit@example.com', 'mode': 'audit'}) changed: [localhost] => (item={'password': 'edx', 'email': 'verified@example.com', 'mode': 'verified'})

TASK: [oauth_client_setup | create OAuth2 Clients] **************************** skipping: [localhost] => (item={'id': u'{# ECOMMERCE_SOCIAL_AUTH_EDX_OIDC_KEY #}', 'url_root': u'{# ECOMMERCE_ECOMMERCE_URL_ROOT #}', 'secret': u'{# ECOMMERCE_SOCIAL_AUTH_EDX_OIDC_SECRET #}', 'name': u'None'}) changed: [localhost] => (item={'id': u'YOUR_OAUTH2_KEY', 'url_root': u'http://127.0.0.1:8110', 'secret': u'secret', 'name': u'insights'}) skipping: [localhost] => (item={'id': u'{# PROGRAMS_SOCIAL_AUTH_EDX_OIDC_KEY #}', 'url_root': u'{# PROGRAMS_URL_ROOT #}', 'secret': u'{# PROGRAMS_SOCIAL_AUTH_EDX_OIDC_SECRET #}', 'name': u'None'})

TASK: [oraclejdk | download Oracle Java] ************************************** changed: [localhost]

TASK: [oraclejdk | create jvm dir] ******************************************** ok: [localhost]

TASK: [oraclejdk | untar Oracle Java] ***************************************** changed: [localhost]

TASK: [oraclejdk | create symlink expected by elasticsearch] ****************** changed: [localhost]

TASK: [oraclejdk | update alternatives java] ********************************** changed: [localhost] => (item=java) changed: [localhost] => (item=javac) changed: [localhost] => (item=javaws)

TASK: [oraclejdk | add JAVA_HOME for Oracle Java] ***************************** changed: [localhost]

TASK: [elasticsearch | download elasticsearch] ******************************** changed: [localhost]

TASK: [elasticsearch | install elasticsearch from local package] ************** changed: [localhost]

TASK: [elasticsearch | create directories] ************************************ changed: [localhost] => (item=/edx/var/elasticsearch) changed: [localhost] => (item=/edx/var/log/elasticsearch) changed: [localhost] => (item=/edx/etc/elasticsearch)

TASK: [elasticsearch | update elasticsearch defaults] ************************* changed: [localhost]

TASK: [elasticsearch | drop the elasticsearch config] ************************* changed: [localhost]

TASK: [elasticsearch | drop the elasticsearch logging config] ***************** changed: [localhost]

TASK: [elasticsearch | Ensure elasticsearch is enabled and started] *********** ok: [localhost]

TASK: [elasticsearch | Restart elastic when there has been an upgrade] ******** changed: [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 {{ common_web_user }}] *********************** skipping: [localhost]

TASK: [rbenv | create rbenv dir if it does not exist] ************************* changed: [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 {{ forum_ruby_version }} installed] ***************** failed: [localhost] => {"changed": true, "cmd": "rbenv versions | grep 1.9.3-p448", "delta": "0:00:00.054399", "end": "2016-04-18 16:26:18.911859", "rc": 1, "start": "2016-04-18 16:26:18.857460", "warnings": []} ...ignoring

TASK: [rbenv | install ruby {{ forum_ruby_version }}] ************************* changed: [localhost]

TASK: [rbenv | set global ruby {{ forum_ruby_version }}] ********************** changed: [localhost]

TASK: [rbenv | install bundler] *********************************************** changed: [localhost]

TASK: [rbenv | remove rbenv version of rake] ********************************** changed: [localhost]

TASK: [rbenv | install rake gem] ********************************************** changed: [localhost]

TASK: [rbenv | rehash] ******************************************************** changed: [localhost]

TASK: [forum | create application user] *************************************** changed: [localhost]

TASK: [forum | create forum app dir] ****************************************** changed: [localhost]

TASK: [forum | setup the forum env] ******************************************* changed: [localhost]

TASK: [forum | create {{ forum_data_dir }}] *********************************** changed: [localhost]

TASK: [forum | create the supervisor config] ********************************** changed: [localhost]

TASK: [forum | enable the supervisor config] ********************************** changed: [localhost]

TASK: [forum | create the supervisor wrapper] ********************************* changed: [localhost]

TASK: [forum | git checkout forum repo into {{ forum_code_dir }}] ************* changed: [localhost]

TASK: [forum | install comments service bundle] ******************************* changed: [localhost]

TASK: [forum | update supervisor configuration] ******************************* changed: [localhost]

TASK: [forum | ensure forum is started] *************************************** ok: [localhost]

TASK: [forum | test that the required service are listening] ****************** ok: [localhost] => (item={'host': u'localhost', 'port': u'9200', 'service': 'elasticsearch'})

TASK: [forum | test that mongo replica set members are listing] *************** ok: [localhost] => (item=localhost)

TASK: [forum | get instance information] ************************************** skipping: [localhost]

TASK: [forum | tag instance] ************************************************** skipping: [localhost]

TASK: [forum | set_fact forum_installed=true] ********************************* ok: [localhost]

TASK: [notifier | install notifier specific system packages] ****************** ok: [localhost]

TASK: [notifier | check if incommon ca is installed] ************************** changed: [localhost]

TASK: [notifier | create incommon ca directory] ******************************* skipping: [localhost]

TASK: [notifier | retrieve incommon server CA] ******************************** skipping: [localhost]

TASK: [notifier | add InCommon ca cert] *************************************** ok: [localhost]

TASK: [notifier | update ca certs globally] *********************************** changed: [localhost]

TASK: [notifier | create notifier user {{ notifier_user }}] ******************* ok: [localhost]

TASK: [notifier | create notifier app dir] ************************************ ok: [localhost]

TASK: [notifier | setup the notifier env] ************************************* changed: [localhost]

TASK: [notifier | drop a bash_profile] **************************************** ok: [localhost]

TASK: [notifier | ensure .bashrc exists] ************************************** changed: [localhost]

TASK: [notifier | add source of notifier_env to .bashrc] ********************** ok: [localhost]

TASK: [notifier | add source venv to .bashrc] ********************************* ok: [localhost]

TASK: [notifier | create notifier DB directory] ******************************* ok: [localhost]

TASK: [notifier | create notifier/bin directory] ****************************** ok: [localhost]

TASK: [notifier | create notifier/.ssh directory] ***************************** ok: [localhost]

TASK: [notifier | create service log dir] ************************************* ok: [localhost] => (item=/edx/var/log/notifier)

TASK: [notifier | write supervisord wrapper for celery workers] *************** ok: [localhost]

TASK: [notifier | write supervisord wrapper for scheduler] ******************** ok: [localhost]

TASK: [notifier | write supervisord config for celery workers] **************** ok: [localhost]

TASK: [notifier | write supervisord config for scheduler] ********************* ok: [localhost]

TASK: [notifier | enable supervisord config for celery workers] *************** ok: [localhost]

TASK: [notifier | enable supervisord config for scheduler] ******************** ok: [localhost]

TASK: [notifier | checkout code] ********************************************** ok: [localhost]

TASK: [notifier | create ssh script for git (not authenticated)] ************** ok: [localhost]

TASK: [notifier | create ssh script for git (authenticated)] ****************** skipping: [localhost]

TASK: [notifier | install read-only ssh key] ********************************** skipping: [localhost]

TASK: [notifier | checkout theme] ********************************************* skipping: [localhost]

TASK: [notifier | write notifier local settings] ****************************** skipping: [localhost]

TASK: [notifier | install application requirements] *************************** changed: [localhost]

TASK: [notifier | fix permissions on notifer db file] ************************* changed: [localhost]

TASK: [notifier | syncdb] ***************************************************** changed: [localhost]

TASK: [xqueue | create application user] ************************************** changed: [localhost]

TASK: [xqueue | create xqueue app and venv dir] ******************************* changed: [localhost] => (item=/edx/app/xqueue) changed: [localhost] => (item=/edx/app/xqueue/venvs)

TASK: [xqueue | install a bunch of system packages on which xqueue relies] **** ok: [localhost]

TASK: [xqueue | writing supervisor scripts - xqueue, xqueue consumer] ********* changed: [localhost] => (item=xqueue) changed: [localhost] => (item=xqueue_consumer)

TASK: [xqueue | enabling supervisor scripts - xqueue, xqueue consumer] ******** changed: [localhost] => (item=xqueue) changed: [localhost] => (item=xqueue_consumer)

TASK: [xqueue | add gunicorn configuration file] ****************************** changed: [localhost]

TASK: [xqueue | create xqueue application config] ***************************** changed: [localhost]

TASK: [xqueue | create xqueue auth file] ************************************** changed: [localhost]

TASK: [xqueue | git checkout xqueue repo into xqueue_code_dir] **************** changed: [localhost]

TASK: [xqueue | install python pre-requirements] ****************************** changed: [localhost]

TASK: [xqueue | install python post-requirements] ***************************** changed: [localhost]

TASK: [xqueue | migrate] ****************************************************** changed: [localhost]

TASK: [xqueue | create users] ************************************************* changed: [localhost]

TASK: [xqueue | update supervisor configuration] ****************************** changed: [localhost]

TASK: [xqueue | ensure xqueue, consumer is running] *************************** ok: [localhost] => (item=xqueue) ok: [localhost] => (item=xqueue_consumer)

TASK: [xqueue | create a symlink for venv python] ***************************** changed: [localhost] => (item=python) changed: [localhost] => (item=pip)

TASK: [xqueue | restart xqueue] *********************************************** changed: [localhost] => (item=xqueue) changed: [localhost] => (item=xqueue_consumer)

TASK: [certs | create application user] *************************************** changed: [localhost]

TASK: [certs | create certs app dirs] ***************************************** changed: [localhost] => (item=/edx/app/certs) changed: [localhost] => (item=/edx/app/certs/.ssh) changed: [localhost] => (item=/edx/app/certs/venvs) changed: [localhost] => (item=/edx/var/certs)

TASK: [certs | create certs web root] ***************************************** changed: [localhost]

TASK: [certs | create certs gpg dir] ****************************************** changed: [localhost]

TASK: [certs | copy the private gpg signing key] ****************************** changed: [localhost]

TASK: [certs | copy the pgp trust export] ************************************* changed: [localhost]

TASK: [certs | load the gpg key] ********************************************** changed: [localhost]

TASK: [certs | import the trust export] *************************************** changed: [localhost]

TASK: [certs | create certificate application config] ************************* changed: [localhost]

TASK: [certs | create certificate auth file] ********************************** changed: [localhost]

TASK: [certs | writing supervisor script for certificates] ******************** changed: [localhost]

TASK: [certs | enable supervisor script for certificates] ********************* changed: [localhost]

TASK: [certs | create ssh script for git] ************************************* changed: [localhost]

TASK: [certs | install read-only ssh key for the certs repo] ****************** skipping: [localhost]

TASK: [certs | checkout certificates repo into {{ certs_code_dir }}] ********** skipping: [localhost]

TASK: [certs | checkout certificates repo into {{ certs_code_dir }}] ********** changed: [localhost]

TASK: [certs | remove read-only ssh key for the certs repo] ******************* skipping: [localhost]

TASK: [certs | install python requirements] *********************************** changed: [localhost]

TASK: [certs | update supervisor configuration] ******************************* changed: [localhost]

TASK: [certs | ensure certs has started] ************************************** ok: [localhost]

TASK: [certs | create a symlink for venv python] ****************************** changed: [localhost] => (item=python) changed: [localhost] => (item=pip)

TASK: [certs | get instance information] ************************************** skipping: [localhost]

TASK: [certs | tag instance] ************************************************** skipping: [localhost]

TASK: [certs | restart certs] ************************************************* changed: [localhost]

TASK: [edx_ansible | create application user] ********************************* ok: [localhost]

TASK: [edx_ansible | create edx_ansible app and venv dir] ********************* ok: [localhost] => (item=/edx/app/edx_ansible) ok: [localhost] => (item=/edx/var/edx_ansible) ok: [localhost] => (item=/edx/app/edx_ansible/venvs)

TASK: [edx_ansible | install a bunch of system packages on which edx_ansible relies] *** ok: [localhost]

TASK: [edx_ansible | git checkout edx_ansible repo into edx_ansible_code_dir] *** changed: [localhost]

TASK: [edx_ansible | install edx_ansible venv requirements] ******************* changed: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/pre-requirements.txt) ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/requirements.txt)

TASK: [edx_ansible | create update script] ************************************ changed: [localhost]

TASK: [edx_ansible | create a symlink for update.sh] ************************** ok: [localhost]

TASK: [edx_ansible | create show-repo-heads script] *************************** ok: [localhost]

TASK: [edx_ansible | create a symlink for show-repo-heads script] ************* ok: [localhost]

TASK: [edx_ansible | create a symlink for ansible-playbook] ******************* ok: [localhost]

TASK: [edx_ansible | create a symlink for the playbooks dir] ****************** ok: [localhost]

TASK: [datadog | install debian needed pkgs] ********************************** skipping: [localhost]

TASK: [datadog | add apt key] ************************************************* skipping: [localhost]

TASK: [datadog | remove unstable apt repository] ****************************** skipping: [localhost]

TASK: [datadog | install apt repository] ************************************** skipping: [localhost]

TASK: [datadog | install datadog agent] *************************************** skipping: [localhost]

TASK: [datadog | bootstrap config] ******************************************** skipping: [localhost]

TASK: [datadog | update api-key] ********************************************** skipping: [localhost]

TASK: [datadog | ensure started and enabled] ********************************** skipping: [localhost]

TASK: [splunkforwarder | install splunkforwarder specific system packages] **** skipping: [localhost]

TASK: [splunkforwarder | download the splunk deb] ***************************** skipping: [localhost]

TASK: [splunkforwarder | install splunk forwarder] **************************** skipping: [localhost]

TASK: [splunkforwarder | create splunk user] ********************************** skipping: [localhost]

TASK: [splunkforwarder | start splunk manually] ******************************* skipping: [localhost]

TASK: [splunkforwarder | stop splunk manually] ******************************** skipping: [localhost]

TASK: [splunkforwarder | create boot script] ********************************** skipping: [localhost]

TASK: [splunkforwarder | update admin pasword] ******************************** skipping: [localhost]

TASK: [splunkforwarder | add chkconfig to init script] ************************ skipping: [localhost]

TASK: [splunkforwarder | ensure splunk forder permissions] ******************** skipping: [localhost]

TASK: [splunkforwarder | drop input configuration] **************************** skipping: [localhost]

TASK: [splunkforwarder | create outputs config file] ************************** skipping: [localhost]

TASK: [newrelic | add apt key] ************************************************ skipping: [localhost]

TASK: [newrelic | Configure the New Relic Servers yum repository] ************* skipping: [localhost]

TASK: [newrelic | install apt repository] ************************************* skipping: [localhost]

TASK: [newrelic | install newrelic agent (apt)] ******************************* skipping: [localhost]

TASK: [newrelic | Install newrelic related system packages for Ubuntu] ******** skipping: [localhost]

TASK: [newrelic | Install newrelic related system packages for Amazon] ******** skipping: [localhost]

TASK: [newrelic | configure the agent] **************************************** skipping: [localhost]

TASK: [newrelic | ensure started and enabled] ********************************* skipping: [localhost]

NOTIFIED: [nginx | restart nginx] ********************************************* changed: [localhost]

NOTIFIED: [nginx | reload nginx] ********************************************** changed: [localhost]

NOTIFIED: [mongo | restart mongo] ********************************************* changed: [localhost]

NOTIFIED: [devpi | restart devpi] ********************************************* changed: [localhost]

NOTIFIED: [notifier | restart notifier-scheduler] ***************************** changed: [localhost]

NOTIFIED: [notifier | restart notifier-celery-workers] ************************ changed: [localhost]

NOTIFIED: [forum | restart the forum service] ********************************* changed: [localhost]

PLAY RECAP ******************************************************************** INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | gather {{ item }} static assets with paver ---------------------------- 1386.78s INFO:ansible.callback_plugins.datadog_tasks_timing:insights | run collectstatic --------------------------------------------------- 673.97s INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | install ruby {{ forum_ruby_version }} ---------------------------------- 619.19s INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | install ruby {{ edxapp_ruby_version }} --------------------------------- 586.18s INFO:ansible.callback_plugins.datadog_tasks_timing:insights | install application requirements ------------------------------------ 185.25s INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install mongo server and recommends ------------------------------------- 96.42s INFO:ansible.callback_plugins.datadog_tasks_timing:forum | install comments service bundle ----------------------------------------- 83.96s INFO:ansible.callback_plugins.datadog_tasks_timing:certs | install python requirements --------------------------------------------- 81.34s INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install python requirements -------------------------------------------- 78.78s INFO:ansible.callback_plugins.datadog_tasks_timing:analytics_api | install application requirements -------------------------------- 46.89s INFO:ansible.callback_plugins.datadog_tasks_timing: Playbook edx_sandbox finished: Mon Apr 18 16:42:22 2016, 472 total tasks. 1:17:43 elapsed.

localhost : ok=517 changed=360 unreachable=0 failed=0

#### Check what’s running

ubuntu@openedx1:~$ sudo /edx/bin/supervisorctl status analytics_api RUNNING pid 27057, uptime 0:52:16 certs RUNNING pid 30369, uptime 0:18:23 edxapp:cms RUNNING pid 23042, uptime 0:54:43 edxapp:lms RUNNING pid 22804, uptime 0:54:46 edxapp_worker:cms_default_1 RUNNING pid 14542, uptime 1:21:47 edxapp_worker:cms_high_1 RUNNING pid 14640, uptime 1:21:43 edxapp_worker:cms_low_1 RUNNING pid 14518, uptime 1:21:50 edxapp_worker:lms_default_1 RUNNING pid 14698, uptime 1:21:36 edxapp_worker:lms_high_1 RUNNING pid 14731, uptime 1:21:33 edxapp_worker:lms_high_mem_1 RUNNING pid 14762, uptime 1:21:29 edxapp_worker:lms_low_1 RUNNING pid 14667, uptime 1:21:40 forum RUNNING pid 31135, uptime 0:17:26 insights RUNNING pid 7431, uptime 0:35:53 notifier-celery-workers RUNNING pid 31104, uptime 0:17:38 notifier-scheduler RUNNING pid 30835, uptime 0:17:50 xqueue RUNNING pid 29075, uptime 0:19:58 xqueue_consumer RUNNING pid 29104, uptime 0:19:56

#### Check nginx

ubuntu@openedx1:~$ sudo service nginx status

  • nginx is running
#### Check  LMS Page

<img src="https://gist.githubusercontent.com/sboday/470f7005e78abbdf63b0236b8c65496f/raw/b44cf314ae8de8a895da3de463f8175d07e247e0/openedx-lms-success.png" alt"LMS Success" width="800">

#### Check CMS/ Studio Page

<img src="https://gist.githubusercontent.com/sboday/470f7005e78abbdf63b0236b8c65496f/raw/b44cf314ae8de8a895da3de463f8175d07e247e0/openedx-cms-success.png" alt="Studio Success" width="800">

#### Check the lms log

ubuntu@openedx1:~$ tail -300 /edx/var/log/supervisor/lms-stderr.log 2016-04-18 16:05:21,790 INFO 22804 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125 2016-04-18 16:05:28 [22804] [INFO] Starting gunicorn 0.17.4 2016-04-18 16:05:28,444 INFO 22804 [gunicorn.error] glogging.py:213 - Starting gunicorn 0.17.4 2016-04-18 16:05:28 [22804] [INFO] Listening at: http://127.0.0.1:8000 (22804) 2016-04-18 16:05:28,449 INFO 22804 [gunicorn.error] glogging.py:213 - Listening at: http://127.0.0.1:8000 (22804) 2016-04-18 16:05:28 [22804] [INFO] Using worker: sync 2016-04-18 16:05:28,473 INFO 22804 [gunicorn.error] glogging.py:213 - Using worker: sync 2016-04-18 16:05:28 [25017] [INFO] Booting worker with pid: 25017 2016-04-18 16:05:28,478 INFO 25017 [gunicorn.error] glogging.py:213 - Booting worker with pid: 25017 2016-04-18 16:05:28 [25018] [INFO] Booting worker with pid: 25018 2016-04-18 16:05:28,620 INFO 25018 [gunicorn.error] glogging.py:213 - Booting worker with pid: 25018 2016-04-18 16:05:28 [25019] [INFO] Booting worker with pid: 25019 2016-04-18 16:05:28,655 INFO 25019 [gunicorn.error] glogging.py:213 - Booting worker with pid: 25019 2016-04-18 16:05:28 [25020] [INFO] Booting worker with pid: 25020 2016-04-18 16:05:28,770 INFO 25020 [gunicorn.error] glogging.py:213 - Booting worker with pid: 25020

#### Check the cms log

ubuntu@openedx1:~$ tail -300 /edx/var/log/supervisor/cms-stderr.log 2016-04-18 16:05:18,926 WARNING 23042 [py.warnings] base.py:116 - /edx/app/edxapp/edx-platform/lms/djangoapps/instructor_task/models.py:39: RemovedInDjango19Warning: Model class instructor_task.models.InstructorTask doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class InstructorTask(models.Model):

2016-04-18 16:05:29,800 INFO 23042 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125 2016-04-18 16:05:29 [23042] [INFO] Starting gunicorn 0.17.4 2016-04-18 16:05:29,807 INFO 23042 [gunicorn.error] glogging.py:213 - Starting gunicorn 0.17.4 2016-04-18 16:05:29 [23042] [INFO] Listening at: http://127.0.0.1:8010 (23042) 2016-04-18 16:05:29,841 INFO 23042 [gunicorn.error] glogging.py:213 - Listening at: http://127.0.0.1:8010 (23042) 2016-04-18 16:05:29 [23042] [INFO] Using worker: sync 2016-04-18 16:05:29,846 INFO 23042 [gunicorn.error] glogging.py:213 - Using worker: sync 2016-04-18 16:05:29 [25021] [INFO] Booting worker with pid: 25021 2016-04-18 16:05:29,875 INFO 25021 [gunicorn.error] glogging.py:213 - Booting worker with pid: 25021 2016-04-18 16:05:29 [25022] [INFO] Booting worker with pid: 25022 2016-04-18 16:05:29,953 INFO 25022 [gunicorn.error] glogging.py:213 - Booting worker with pid: 25022 2016-04-18 17:20:05,898 WARNING 25022 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:16: RemovedInDjango19Warning: Model class oauth_provider.models.Nonce doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Nonce(models.Model):

2016-04-18 17:20:05,906 WARNING 25022 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:26: RemovedInDjango19Warning: Model class oauth_provider.models.Scope doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Scope(models.Model):

2016-04-18 17:20:05,917 WARNING 25022 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:35: RemovedInDjango19Warning: Model class oauth_provider.models.Resource doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Resource(Scope):

2016-04-18 17:20:05,921 WARNING 25022 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:45: RemovedInDjango19Warning: Model class oauth_provider.models.Consumer doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Consumer(models.Model):

2016-04-18 17:20:05,933 WARNING 25022 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:73: RemovedInDjango19Warning: Model class oauth_provider.models.Token doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Token(models.Model):

2016-04-18 17:20:06,327 WARNING 25022 [py.warnings] importlib.py:9 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/require/helpers.py:4: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9. from django.utils.importlib import import_module

2016-04-18 17:20:07,488 WARNING 25021 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:16: RemovedInDjango19Warning: Model class oauth_provider.models.Nonce doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Nonce(models.Model):

2016-04-18 17:20:07,511 WARNING 25021 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:26: RemovedInDjango19Warning: Model class oauth_provider.models.Scope doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Scope(models.Model):

2016-04-18 17:20:07,515 WARNING 25021 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:35: RemovedInDjango19Warning: Model class oauth_provider.models.Resource doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Resource(Scope):

2016-04-18 17:20:07,518 WARNING 25021 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:45: RemovedInDjango19Warning: Model class oauth_provider.models.Consumer doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Consumer(models.Model):

2016-04-18 17:20:07,530 WARNING 25021 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/oauth_provider/models.py:73: RemovedInDjango19Warning: Model class oauth_provider.models.Token doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Token(models.Model):

2016-04-18 17:20:15,378 WARNING 25021 [py.warnings] importlib.py:9 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/require/helpers.py:4: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9. from django.utils.importlib import import_module

2016-04-18 17:20:23,535 INFO 25022 [audit] models.py:1723 - Login success - staff (staff@example.com) 2016-04-18 17:20:33,010 INFO 25021 [audit] models.py:1732 - Logout - staff ubuntu@openedx1:~$

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment