Skip to content

Instantly share code, notes, and snippets.

@Ivorforce
Created December 4, 2017 20:28
Show Gist options
  • Save Ivorforce/feb80199c46d9066a5c1099142498457 to your computer and use it in GitHub Desktop.
Save Ivorforce/feb80199c46d9066a5c1099142498457 to your computer and use it in GitHub Desktop.
❯ bash install_stack.sh devstack
Capturing output to logs/install-20171204-202022.log
Installation started at 2017-12-04 20:20:22
Installing release 'open-release/ficus.master'
######################################################################## 100,0%
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Installed the plugin 'vagrant-vbguest (0.13.0)'!
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ficus-devstack-2017-02-07'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: devstack_default_1512415316460_55316
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 8000 (guest) => 8000 (host) (adapter 1)
default: 8001 (guest) => 8001 (host) (adapter 1)
default: 8002 (guest) => 8002 (host) (adapter 1)
default: 8003 (guest) => 8003 (host) (adapter 1)
default: 8031 (guest) => 8031 (host) (adapter 1)
default: 8120 (guest) => 8120 (host) (adapter 1)
default: 8765 (guest) => 8765 (host) (adapter 1)
default: 9200 (guest) => 9200 (host) (adapter 1)
default: 18080 (guest) => 18080 (host) (adapter 1)
default: 8100 (guest) => 8100 (host) (adapter 1)
default: 8110 (guest) => 8110 (host) (adapter 1)
default: 9876 (guest) => 9876 (host) (adapter 1)
default: 50070 (guest) => 50070 (host) (adapter 1)
default: 8088 (guest) => 8088 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Machine booted and ready!
[default] GuestAdditions versions on your host (5.1.26) and guest (5.1.10) do not match.
mesg: ttyname failed: Inappropriate ioctl for device
Reading package lists...
Building dependency tree...
Reading state information...
dkms is already the newest version (2.2.0.3-2ubuntu11.3).
linux-headers-4.4.0-31-generic is already the newest version (4.4.0-31.50).
0 upgraded, 0 newly installed, 0 to remove and 89 not upgraded.
Copy iso file /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
mesg: ttyname failed: Inappropriate ioctl for device
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 5.1.26 - guest version is 5.1.10
mesg: ttyname failed: Inappropriate ioctl for device
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.1.26 Guest Additions for Linux...........
VirtualBox Guest Additions installer
Removing installed version 5.1.10 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
vboxadd.sh: Starting the VirtualBox Guest Additions.
You may need to restart the Window System (or just restart the guest system)
to enable the Guest Additions.
An error occurred during installation of VirtualBox Guest Additions 5.1.26. Some functionality may not work as intended.
In most cases it is OK that the "Window System drivers" installation failed.
mesg: ttyname failed: Inappropriate ioctl for device
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Exporting NFS shared folders...
==> default: Preparing to edit /etc/exports. Administrator privileges will be required...
==> default: Mounting NFS shared folders...
==> default: Running provisioner: shell...
default: Running: inline script
==> default: mesg:
==> default: ttyname failed
==> default: :
==> default: Inappropriate ioctl for device
==> default:
==> default: PLAY [all] *********************************************************************
==> default:
==> default: TASK [setup] *******************************************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edx_ansible : Create application user] ***********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edx_ansible : Create edx_ansible app and venv dir] ***********************
==> default: ok: [localhost] => (item=/edx/app/edx_ansible)
==> default: ok: [localhost] => (item=/edx/var/edx_ansible)
==> default: ok: [localhost] => (item=/edx/app/edx_ansible/venvs)
==> default:
==> default: TASK [edx_ansible : Install a bunch of system packages on which edx_ansible relies] ***
==> default: changed: [localhost] => (item=[u'python-pip', u'python-apt', u'libmysqlclient-dev', u'git-core', u'build-essential', u'python-dev', u'libxml2-dev', u'libxslt1-dev', u'curl', u'python-yaml', u'python-mysqldb'])
==> default:
==> default: TASK [edx_ansible : Git checkout edx_ansible repo into edx_ansible_code_dir] ***
==> default: changed: [localhost]
==> default:
==> default: TASK [edx_ansible : Install edx_ansible venv requirements] *********************
==> default: ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/pre-requirements.txt)
==> default: ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/requirements.txt)
==> default:
==> default: TASK [edx_ansible : Create update script] **************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edx_ansible : Create symlinks for update script] *************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edx_ansible : Create utility scripts] ************************************
==> default: ok: [localhost] => (item={u'dest': u'show-repo-heads', u'src': u'show-repo-heads.j2'})
==> default: changed: [localhost] => (item={u'dest': u'pre-box', u'src': u'pre-box.j2'})
==> default:
==> default: TASK [edx_ansible : Create symlinks for utility scripts] ***********************
==> default: ok: [localhost] => (item=show-repo-heads)
==> default:
==> default: TASK [edx_ansible : Create a symlink for ansible-playbook] *********************
==> default: ok: [localhost]
==> default:
==> default: TASK [edx_ansible : Create a symlink for the playbooks dir] ********************
==> default: ok: [localhost]
==> default:
==> default: PLAY RECAP *********************************************************************
==> default: localhost : ok=12 changed=3 unreachable=0 failed=0
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Install a bunch of system packages on which edx_ansible relies ----------------- 10.66s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Git checkout edx_ansible repo into edx_ansible_code_dir ------------------------- 9.88s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Install edx_ansible venv requirements ------------------------------------------- 4.41s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: -------------------------------------------------------------------------------- 1.00s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Create edx_ansible app and venv dir --------------------------------------------- 0.61s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Create utility scripts ---------------------------------------------------------- 0.61s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Create update script ------------------------------------------------------------ 0.37s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Create application user --------------------------------------------------------- 0.33s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Create symlinks for utility scripts --------------------------------------------- 0.20s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Create a symlink for ansible-playbook ------------------------------------------- 0.19s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing:
==> default: Playbook all finished: 2017-12-04 19:25:04.334469, 12 total tasks. 0:00:28.662987 elapsed.
==> default:
==> default: PLAY [Configure instance(s)] ***************************************************
==> default:
==> default: TASK [setup] *******************************************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [server_utils : Install ubuntu system packages] ***************************
==> default: changed: [localhost] => (item=[u'ack-grep', u'mosh', u'curl', u'tree', u'screen', u'tmux', u'curl', u'vim-tiny', u'dnsutils', u'inetutils-telnet', u'netcat'])
==> default:
==> default: TASK [user : Install debian packages user role needs] **************************
==> default: changed: [localhost] => (item=[u'python-httplib2'])
==> default:
==> default: TASK [user : debug] ************************************************************
==> default: ok: [localhost] => {
==> default: "user_info": []
==> default: }
==> default:
==> default: TASK [user : Create the edxadmin group] ****************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [user : Ensure sudoers.d is read] *****************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [user : Grant full sudo access to the edxadmin group] *********************
==> default: ok: [localhost]
==> default:
==> default: TASK [user : Create the users] *************************************************
==> default:
==> default: TASK [user : Assign admin role to admin users] *********************************
==> default:
==> default: TASK [user : Check the ssh key(s) for user(s) over github] *********************
==> default:
==> default: TASK [user : debug] ************************************************************
==> default:
==> default: TASK [user : Get github key(s) and update the authorized_keys file] ************
==> default:
==> default: TASK [user : Create bashrc file for normal users] ******************************
==> default:
==> default: TASK [user : Create .profile for all users] ************************************
==> default:
==> default: TASK [user : Modify shell for restricted users] ********************************
==> default:
==> default: TASK [user : Create bashrc file for restricted users] **************************
==> default:
==> default: TASK [user : Create sudoers file from template] ********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [user : Change home directory ownership to root for restricted users] *****
==> default:
==> default: TASK [user : Create ~/bin directory] *******************************************
==> default:
==> default: TASK [user : Create allowed command links] *************************************
==> default:
==> default: TASK [security : Install security packages] ************************************
==> default: changed: [localhost] => (item=[u'aptitude', u'unattended-upgrades', u'gcc'])
==> default:
==> default: TASK [security : Update all system packages] ***********************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [security : Configure periodic unattended-upgrades] ***********************
==> default: skipping: [localhost]
==> default:
==> default: TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
==> default: changed: [localhost] => (item=systemctl disable apt-daily.service)
==> default: changed: [localhost] => (item=systemctl disable apt-daily.timer)
==> default:
==> default: TASK [security : Disable unattended-upgrades] **********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [security : Only unattended-upgrade from security repo] *******************
==> default: skipping: [localhost]
==> default:
==> default: TASK [security : Disable security only updates on unattended-upgrades] *********
==> default: ok: [localhost]
==> default:
==> default: TASK [security : Take security updates during ansible runs] ********************
==> default: changed: [localhost] => (item=unattended-upgrade --dry-run)
==> default: changed: [localhost] => (item=unattended-upgrade)
==> default:
==> default: TASK [common : Check Configuration Sources] ************************************
==> default:
==> default: TASK [common : stat] ***********************************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : Update CA Certificates] *****************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [common : stat] ***********************************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : Update CA Trust] ************************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [common : Add common_users] ***********************************************
==> default: ok: [localhost] => (item=www-data)
==> default: ok: [localhost] => (item=syslog)
==> default:
==> default: TASK [common : check if instance is vagrant] ***********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : Add git apt repository] *****************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : Add edX PPA apt key] ********************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : Add custom edX PPA] *********************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : Install role-independent useful system packages] ****************
==> default: changed: [localhost] => (item=[u'ntp', u'acl', u'lynx-cur', u'logrotate', u'rsyslog', u'git', u'unzip', u'python-pip', u'python2.7-dev'])
==> default:
==> default: TASK [common : Install role-independent useful system packages from custom PPA]
==> default: skipping: [localhost] => (item=[])
==> default:
==> default: TASK [common : Install role-independent useful system packages] ****************
==> default: skipping: [localhost] => (item=[])
==> default:
==> default: TASK [common : Create common directories] **************************************
==> default: changed: [localhost] => (item={u'path': u'/edx/var'})
==> default: ok: [localhost] => (item={u'path': u'/edx/app'})
==> default: ok: [localhost] => (item={u'path': u'/edx/bin'})
==> default: ok: [localhost] => (item={u'path': u'/edx/etc'})
==> default: ok: [localhost] => (item={u'owner': u'syslog', u'path': u'/edx/var/log', u'group': u'syslog'})
==> default: ok: [localhost] => (item={u'path': u'/etc/logrotate.d/hourly'})
==> default: ok: [localhost] => (item={u'path': u'/etc/rsyslog.d/50-default.conf', u'state': u'absent'})
==> default:
==> default: TASK [common : upload sudo config for key forwarding as root] ******************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : pip install virtualenv] *****************************************
==> default: changed: [localhost] => (item=pip==8.1.2)
==> default: changed: [localhost] => (item=setuptools==24.0.3)
==> default: changed: [localhost] => (item=virtualenv==15.0.2)
==> default: changed: [localhost] => (item=virtualenvwrapper==4.7.1)
==> default:
==> default: TASK [common : update /etc/hosts] **********************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [common : update /etc/hostname] *******************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [common : run hostname] ***************************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [common : Copy the templates to their respestive destination] *************
==> default: ok: [localhost] => (item={u'dest': u'/etc/rsyslog.d/99-edx.conf', u'src': u'edx_rsyslog.j2'})
==> default: ok: [localhost] => (item={u'dest': u'/etc/logrotate.d/hourly/edx-services', u'src': u'etc/logrotate.d/hourly/edx_logrotate.j2'})
==> default: ok: [localhost] => (item={u'dest': u'/etc/cron.hourly/logrotate', u'src': u'etc/cron.hourly/logrotate.j2', u'mode': u'0555'})
==> default: ok: [localhost] => (item={u'dest': u'/etc/logrotate.d/hourly/tracking.log', u'src': u'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})
==> default:
==> default: TASK [common : restart rsyslogd] ***********************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [common : Add ntp alert script] *******************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : Remove MOTD update checker] *************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : Set up a cron job to run the script] ****************************
==> default: ok: [localhost]
==> default:
==> default: TASK [common : install logrotate configuration] ********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [vhost : Create all service directories] **********************************
==> default: ok: [localhost] => (item={'key': u'home', 'value': {u'owner': u'root', u'path': u'/edx/app/vhost', u'group': u'root', u'mode': u'0755'}})
==> default: ok: [localhost] => (item={'key': u'data', 'value': {u'owner': u'root', u'path': u'/edx/var/vhost', u'group': u'root', u'mode': u'0700'}})
==> default: ok: [localhost] => (item={'key': u'logs', 'value': {u'owner': u'syslog', u'path': u'/edx/var/log/vhost', u'group': u'syslog', u'mode': u'0650'}})
==> default:
==> default: TASK [vhost : Force logrotate on supervisor stop] ******************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [vhost : Update /etc/dhcp/dhclient.conf] **********************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [vhost : Copy the MOTD template in place] *********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [vhost : Add motd.tail support for 16.04] *********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [vhost : Update sshd logging to VERBOSE] **********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [vhost : Update sshd logging to VERBOSE] **********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [vhost : Restart ssh] *****************************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [vhost : Restart ssh] *****************************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edx_ansible : Create application user] ***********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edx_ansible : Create edx_ansible app and venv dir] ***********************
==> default: ok: [localhost] => (item=/edx/app/edx_ansible)
==> default: ok: [localhost] => (item=/edx/var/edx_ansible)
==> default: ok: [localhost] => (item=/edx/app/edx_ansible/venvs)
==> default:
==> default: TASK [edx_ansible : Install a bunch of system packages on which edx_ansible relies] ***
==> default: changed: [localhost] => (item=[u'python-pip', u'python-apt', u'libmysqlclient-dev', u'git-core', u'build-essential', u'python-dev', u'libxml2-dev', u'libxslt1-dev', u'curl', u'python-yaml', u'python-mysqldb'])
==> default:
==> default: TASK [edx_ansible : Git checkout edx_ansible repo into edx_ansible_code_dir] ***
==> default: ok: [localhost]
==> default:
==> default: TASK [edx_ansible : Install edx_ansible venv requirements] *********************
==> default: ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/pre-requirements.txt)
==> default: ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/requirements.txt)
==> default:
==> default: TASK [edx_ansible : Create update script] **************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edx_ansible : Create symlinks for update script] *************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edx_ansible : Create utility scripts] ************************************
==> default: ok: [localhost] => (item={u'dest': u'show-repo-heads', u'src': u'show-repo-heads.j2'})
==> default: ok: [localhost] => (item={u'dest': u'pre-box', u'src': u'pre-box.j2'})
==> default:
==> default: TASK [edx_ansible : Create symlinks for utility scripts] ***********************
==> default: ok: [localhost] => (item=show-repo-heads)
==> default:
==> default: TASK [edx_ansible : Create a symlink for ansible-playbook] *********************
==> default: ok: [localhost]
==> default:
==> default: TASK [edx_ansible : Create a symlink for the playbooks dir] ********************
==> default: ok: [localhost]
==> default:
==> default: TASK [mysql : Look for mysql 5.6] **********************************************
==> default: fatal: [localhost]: FAILED! => {"changed": false, "cmd": "dpkg -s mysql-server", "delta": "0:00:00.020230", "end": "2017-12-04 19:45:03.124577", "failed": true, "rc": 1, "start": "2017-12-04 19:45:03.104347", "stderr": "dpkg-query: package 'mysql-server' is not installed and no information is available\nUse dpkg --info (= dpkg-deb --info) to examine archive files,\nand dpkg --contents (= dpkg-deb --contents) to list their contents.", "stdout": "", "stdout_lines": [], "warnings": []}
==> default: ...ignoring
==> default:
==> default: TASK [mysql : Important message] ***********************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mysql : pause] ***********************************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mysql : Stop mysql service] **********************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mysql : Remove experimental apt repository] ******************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mysql : Remove experimental version of mysql] ****************************
==> default: skipping: [localhost] => (item=[])
==> default:
==> default: TASK [mysql : Add MySQL community apt key] *************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mysql : Install MySQL from their community PPA] **************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mysql : Install mysql-5.6 and dependencies] ******************************
==> default: ok: [localhost] => (item=[u'mysql-server-5.6', u'python-mysqldb'])
==> default:
==> default: TASK [mysql : Start mysql] *****************************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [mysql : Ensure Anonymous user(s) does not exist] *************************
==> default: ok: [localhost] => (item=localhost)
==> default: ok: [localhost] => (item=vagrant)
==> default:
==> default: TASK [edxlocal : Install packages needed for single server] ********************
==> default: ok: [localhost] => (item=[u'postfix', u'libjpeg-dev'])
==> default:
==> default: TASK [edxlocal : create databases] *********************************************
==> default: ok: [localhost] => (item=ecommerce)
==> default: skipping: [localhost] => (item=)
==> default: skipping: [localhost] => (item=)
==> default: ok: [localhost] => (item=edxapp)
==> default: ok: [localhost] => (item=edxapp_csmh)
==> default: skipping: [localhost] => (item=)
==> default: skipping: [localhost] => (item=)
==> default: ok: [localhost] => (item=programs)
==> default: skipping: [localhost] => (item=)
==> default: skipping: [localhost] => (item=)
==> default: skipping: [localhost] => (item=)
==> default:
==> default: TASK [edxlocal : create database users] ****************************************
==> default: ok: [localhost] => (item={u'db': u'ecommerce', u'user': u'ecomm001', u'pass': u'password'})
==> default: skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u''})
==> default: skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u''})
==> default: ok: [localhost] => (item={u'db': u'edxapp', u'user': u'edxapp001', u'pass': u'password'})
==> default: ok: [localhost] => (item={u'db': u'edxapp_csmh', u'user': u'edxapp001', u'pass': u'password'})
==> default: skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u''})
==> default: ok: [localhost] => (item={u'db': u'programs', u'user': u'programs001', u'pass': u'password'})
==> default: skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u''})
==> default: skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u''})
==> default: skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u''})
==> default:
==> default: TASK [edxlocal : setup the migration db user] **********************************
==> default: ok: [localhost] => (item=ecommerce)
==> default: skipping: [localhost] => (item=)
==> default: skipping: [localhost] => (item=)
==> default: ok: [localhost] => (item=edxapp)
==> default: skipping: [localhost] => (item=)
==> default: ok: [localhost] => (item=edxapp_csmh)
==> default: ok: [localhost] => (item=programs)
==> default: skipping: [localhost] => (item=)
==> default: skipping: [localhost] => (item=)
==> default: skipping: [localhost] => (item=)
==> default: skipping: [localhost] => (item=)
==> default:
==> default: TASK [edxlocal : create api user for the analytics api] ************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxlocal : create read-only reports user for the analytics-api] **********
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxlocal : create a database for the hive metastore] *********************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxlocal : setup the edx-notes-api db user] ******************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxlocal : setup the read-only db user] **********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxlocal : setup the admin db user] **************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [memcache : Install memcached] ********************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [mongo : Check to see that MongoDB 2.4 is not installed] ******************
==> default: ok: [localhost]
==> default:
==> default: TASK [mongo : Verify 2.4 not installed] ****************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mongo : Remove mongo 2.4 if present] *************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mongo : Install python pymongo for mongo_user ansible module] ************
==> default: changed: [localhost]
==> default:
==> default: TASK [mongo : Add the mongodb signing key] *************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [mongo : Add the mongodb repo to the sources list] ************************
==> default: ok: [localhost]
==> default:
==> default: TASK [mongo : Install mongo server and recommends] *****************************
==> default: changed: [localhost]
==> default:
==> default: TASK [mongo : Create mongo dirs] ***********************************************
==> default: ok: [localhost] => (item=/edx/var/mongo)
==> default: ok: [localhost] => (item=/edx/var/mongo/mongodb)
==> default: ok: [localhost] => (item=/edx/var/log/mongo)
==> default: ok: [localhost] => (item=/edx/var/mongo/mongodb/journal)
==> default:
==> default: TASK [mongo : Add mongod systemd configuration on 16.04] ***********************
==> default: ok: [localhost]
==> default:
==> default: TASK [mongo : enable mongod systemd unit on 16.04] *****************************
==> default: ok: [localhost]
==> default:
==> default: TASK [mongo : Stop mongod service] *********************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [mongo : Move mongodb to /edx/var/mongo] **********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [mongo : Copy mongodb key file] *******************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mongo : Copy configuration template] *************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [mongo : Start mongo service] *********************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [mongo : Wait for mongo server to start] **********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [mongo : Drop super user script] ******************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [mongo : Create super user with js] ***************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [mongo : Delete super user script] ****************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [mongo : Create the file to initialize the mongod replica set] ************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mongo : Initialize the replication set] **********************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mongo : Create a mongodb user] *******************************************
==> default: changed: [localhost] => (item={u'password': u'password', u'user': u'cs_comments_service', u'roles': u'readWrite', u'database': u'cs_comments_service'})
==> default: changed: [localhost] => (item={u'password': u'password', u'user': u'edxapp', u'roles': u'readWrite', u'database': u'edxapp'})
==> default:
==> default: TASK [mongo : Create a mongodb user] *******************************************
==> default: skipping: [localhost] => (item={u'password': u'password', u'user': u'cs_comments_service', u'roles': u'readWrite', u'database': u'cs_comments_service'})
==> default: skipping: [localhost] => (item={u'password': u'password', u'user': u'edxapp', u'roles': u'readWrite', u'database': u'edxapp'})
==> default:
==> default: TASK [mongo : Install s3cmd] ***************************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [mongo : Configure s3cmd and install backup-mongo-to-s3 script] ***********
==> default: skipping: [localhost] => (item={u'dest': u'/edx/var/mongo-s3-backup.s3cfg', u'src': u'mongo-s3-backup-s3cfg.j2', u'mode': u'0600'})
==> default: skipping: [localhost] => (item={u'dest': u'/edx/bin/backup-mongo-to-s3.sh', u'src': u'backup-mongo-to-s3.j2', u'mode': u'0700'})
==> default:
==> default: TASK [mongo : Schedule backup-mongo-to-3s crontab] *****************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [rabbitmq : Install python-software-properties if debian] *****************
==> default: ok: [localhost] => (item=[u'python-software-properties', u'gdebi'])
==> default:
==> default: TASK [rabbitmq : Fetch the rabbitmq server deb] ********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Check if rabbit is installed] *********************************
==> default: changed: [localhost]
==> default:
==> default: TASK [rabbitmq : Install rabbit package using gdebi] ***************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [rabbitmq : Stop rabbit cluster] ******************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [rabbitmq : Send sigterm to any running rabbitmq processes] ***************
==> default: changed: [localhost]
==> default:
==> default: TASK [rabbitmq : Create rabbitmq edx directories] ******************************
==> default: ok: [localhost] => (item=/edx/app/rabbitmq)
==> default: ok: [localhost] => (item=/edx/var/log/rabbitmq)
==> default:
==> default: TASK [rabbitmq : Add queue monitoring script] **********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Set up a cron job to run the script] **************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : install logrotate configuration] ******************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Create cookie directory] **************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Add rabbitmq erlang cookie] ***********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Create rabbitmq config directory] *****************************
==> default: changed: [localhost]
==> default:
==> default: TASK [rabbitmq : Add rabbitmq environment configuration] ***********************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Add rabbitmq cluster configuration] ***************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Install plugins] **********************************************
==> default: ok: [localhost] => (item=rabbitmq_management)
==> default:
==> default: TASK [rabbitmq : Remove mnesia configuration] **********************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [rabbitmq : Start rabbit nodes] *******************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [rabbitmq : Wait for rabbit to start] *************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Remove guest user] ********************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Add vhosts] ***************************************************
==> default: ok: [localhost] => (item=/)
==> default:
==> default: TASK [rabbitmq : Add admin users] **********************************************
==> default: ok: [localhost] => (item=[{u'password': u'the example admin password', u'name': u'admin'}, u'/'])
==> default: ok: [localhost] => (item=[{u'password': u'edx', u'name': u'edx'}, u'/'])
==> default: ok: [localhost] => (item=[{u'password': u'celery', u'name': u'celery'}, u'/'])
==> default:
==> default: TASK [rabbitmq : Make queues mirrored] *****************************************
==> default: skipping: [localhost] => (item=/)
==> default:
==> default: TASK [rabbitmq : Install admin tools] ******************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [rabbitmq : Ensure rabbitmqadmin attributes] ******************************
==> default: ok: [localhost]
==> default:
==> default: TASK [supervisor : Create application and supervisor service user] *************
==> default: ok: [localhost] => (item=supervisor)
==> default: ok: [localhost] => (item=www-data)
==> default:
==> default: TASK [supervisor : Create supervisor and service user accessible directories] **
==> default: ok: [localhost] => (item=/edx/app/supervisor)
==> default: ok: [localhost] => (item=/edx/app/supervisor/venvs/supervisor)
==> default: ok: [localhost] => (item=/edx/app/supervisor/conf.d)
==> default: ok: [localhost] => (item=/edx/app/supervisor/conf.available.d)
==> default:
==> default: TASK [supervisor : Create supervisor directories] ******************************
==> default: ok: [localhost] => (item=/edx/var/supervisor)
==> default: ok: [localhost] => (item=/edx/var/log/supervisor)
==> default:
==> default: TASK [supervisor : Install supervisor in its venv] *****************************
==> default: ok: [localhost]
==> default:
==> default: TASK [supervisor : Install supervisor in its venv] *****************************
==> default: ok: [localhost] => (item=boto=="2.34.0")
==> default: ok: [localhost] => (item=python-simple-hipchat)
==> default:
==> default: TASK [supervisor : Create supervisor upstart job] ******************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [supervisor : create pre_supervisor upstart job] **************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [supervisor : Create supervisor systemd job] ******************************
==> default: ok: [localhost]
==> default:
==> default: TASK [supervisor : Write the pre_suprevisor python script] *********************
==> default: ok: [localhost]
==> default:
==> default: TASK [supervisor : Create supervisor master config] ****************************
==> default: ok: [localhost]
==> default:
==> default: TASK [supervisor : Remove a symlink for supervisortctl] ************************
==> default: changed: [localhost]
==> default:
==> default: TASK [supervisor : Remove symlink for supervisor cfg] **************************
==> default: ok: [localhost] => (item=/edx/app/supervisor/supervisord.conf)
==> default: ok: [localhost] => (item=/edx/app/supervisor/conf.d)
==> default:
==> default: TASK [supervisor : Create helper script for running supervisor] ****************
==> default: changed: [localhost]
==> default:
==> default: TASK [supervisor : Are we in a Docker container] *******************************
==> default: changed: [localhost]
==> default:
==> default: TASK [supervisor : Enable supervisor to start on boot] *************************
==> default: ok: [localhost]
==> default:
==> default: TASK [supervisor : Start supervisor] *******************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [supervisor : Wait for web port to be available] **************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [supervisor : Update supervisor configuration] ****************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp_common : Install system packages] *********************************
==> default: changed: [localhost] => (item=[u'build-essential', u'gfortran', u'graphviz', u'graphviz-dev', u'liblapack-dev', u'libmysqlclient-dev', u'libxml2-dev', u'libgeos-dev', u'libxslt1-dev', u'gettext', u'libjpeg8-dev', u'libpng12-dev', u'libxmlsec1-dev', u'swig'])
==> default:
==> default: TASK [nltk : Install unzip] ****************************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [nltk : create the nltk data directory and subdirectories] ****************
==> default: ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', u'path': u'taggers/maxent_treebank_pos_tagger'})
==> default: ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', u'path': u'corpora/stopwords'})
==> default: ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', u'path': u'corpora/wordnet'})
==> default:
==> default: TASK [nltk : download nltk data] ***********************************************
==> default: ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', u'path': u'taggers/maxent_treebank_pos_tagger'})
==> default: ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', u'path': u'corpora/stopwords'})
==> default: ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', u'path': u'corpora/wordnet'})
==> default:
==> default: TASK [nltk : unarchive nltk data] **********************************************
==> default: skipping: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', u'path': u'taggers/maxent_treebank_pos_tagger'})
==> default: skipping: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', u'path': u'corpora/stopwords'})
==> default: skipping: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', u'path': u'corpora/wordnet'})
==> default:
==> default: TASK [add_user : create user groups] *******************************************
==> default: skipping: [localhost] => (item=edx-themes)
==> default:
==> default: TASK [add_user : create application user] **************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [add_user : ensure correct ownership of home directory] *******************
==> default: skipping: [localhost]
==> default:
==> default: TASK [add_user : create dirs for the user] *************************************
==> default:
==> default: TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
==> default: skipping: [localhost]
==> default:
==> default: TASK [git_clone : Validate git protocol] ***************************************
==> default: skipping: [localhost] => (item=(censored due to no_log))
==> default:
==> default: TASK [git_clone : Install read-only ssh key] ***********************************
==> default: skipping: [localhost] => (item=(censored due to no_log))
==> default:
==> default: TASK [git_clone : Checkout code over ssh] **************************************
==> default: skipping: [localhost] => (item=(censored due to no_log))
==> default:
==> default: TASK [git_clone : Checkout code over https] ************************************
==> default: skipping: [localhost] => (item=(censored due to no_log))
==> default:
==> default: TASK [git_clone : Remove read-only ssh key] ************************************
==> default: skipping: [localhost] => (item=(censored due to no_log))
==> default:
==> default: TASK [edx_themes : ensure edx-theme's group has read/write access to themes directory] ***
==> default: skipping: [localhost]
==> default:
==> default: TASK [edx_themes : Add theme users to theme's group so that that have read/write access to themes directories] ***
==> default: skipping: [localhost] => (item=edxapp)
==> default:
==> default: TASK [edx_themes : update .bashrc to set umask value] **************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : create application user] ****************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : create edxapp user dirs] ****************************************
==> default: ok: [localhost] => (item={u'path': u'/edx/app/edxapp'})
==> default: ok: [localhost] => (item={u'path': u'/edx/app/edxapp/.ssh'})
==> default: ok: [localhost] => (item={u'path': u'/edx/app/edxapp/venvs'})
==> default: ok: [localhost] => (item={u'path': u'/edx/var/edxapp/themes'})
==> default: ok: [localhost] => (item={u'path': u'/edx/var/edxapp/staticfiles'})
==> default: ok: [localhost] => (item={u'path': u'/edx/var/edxapp/course_static'})
==> default: changed: [localhost] => (item={u'path': u'/edx/var/edxapp/data'})
==> default: ok: [localhost] => (item={u'path': u'/edx/var/edxapp', u'mode': u'0775'})
==> default: ok: [localhost] => (item={u'path': u'/edx/var/edxapp/course_repos', u'mode': u'0775'})
==> default:
==> default: TASK [edxapp : make the course data dir] ***************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : create edxapp log dir] ******************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : Ensure the tracking folder exists] ******************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : Ensure the tracking.log file exists] ****************************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : create web-writable edxapp data dirs] ***************************
==> default: changed: [localhost] => (item=/edx/var/edxapp/data)
==> default: changed: [localhost] => (item=/edx/var/edxapp/uploads)
==> default: changed: [localhost] => (item=/edx/var/edxapp/media)
==> default:
==> default: TASK [edxapp : add ppas for current versions of nodejs] ************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : install system packages on which LMS and CMS rely] **************
==> default: changed: [localhost] => (item=[u's3cmd', u'pkg-config', u'g++', u'apparmor-utils', u'curl', u'ipython', u'nodejs', u'ntp', u'libfreetype6-dev', u'libffi-dev', u'python-dev', u'libsqlite3-dev'])
==> default:
==> default: TASK [edxapp : set up edxapp .npmrc] *******************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : create log directories for service variants] ********************
==> default: ok: [localhost] => (item=lms)
==> default: ok: [localhost] => (item=cms)
==> default:
==> default: TASK [edxapp : code sandbox | Check which `libblas` to use] ********************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Use libblas.so.3gf in Ubuntu] ********************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Use libblas.so.3 in Ubuntu] **********************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Check which `liblapac` to use] *******************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Use liblapack.so.3gf in Ubuntu] ******************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Use liblapack.so.3 in Ubuntu] ********************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Create edxapp sandbox user] **********************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Install apparmor utils system pkg] ***************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | write out apparmor code sandbox config] **********
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | write out sandbox user sudoers config] ***********
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | start apparmor service] **************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | (bootstrap) load code sandbox profile] ***********
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE] ***
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : create edxapp configuration dir] ********************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : copy the template to the desired location] **********************
==> default: ok: [localhost] => (item={u'dest': u'/edx/app/edxapp/edxapp_env', u'src': u'edxapp_env.j2', u'group': u'www-data', u'mode': u'0644', u'owner': u'edxapp'})
==> default: ok: [localhost] => (item={u'dest': u'/edx/app/edxapp/newrelic.ini', u'src': u'newrelic.ini.j2', u'group': u'www-data', u'mode': u'0644', u'owner': u'edxapp'})
==> default: changed: [localhost] => (item={u'dest': u'/tmp/edxapp_git_ssh.sh', u'src': u'git_ssh.sh.j2', u'group': u'edxapp', u'mode': u'0750', u'owner': u'edxapp'})
==> default:
==> default: TASK [edxapp : install read-only ssh key] **************************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : set git fetch.prune to ignore deleted remote refs] **************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : checkout edx-platform repo into /edx/app/edxapp/edx-platform] ***
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : git clean after checking out edx-platform] **********************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : checkout Stanford-style theme] **********************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : Stat each requirements file with Github URLs to ensure it exists] ***
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/pre.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
==> default:
==> default: TASK [edxapp : Updating requirement files for git mirror] **********************
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.3913474, u'inode': 8591644440, u'isgid': False, u'size': 450, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', u'xusr': False, u'atime': 1512417297.3896549, u'md5': u'1050fd376a57619d9d5e8da726f30681', u'isdir': False, u'ctime': 1512417297.3913474, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'660b6f78d71f29b794aef55dca81da47dded53e5', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.3723464, u'inode': 8591644437, u'isgid': False, u'size': 5435, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', u'xusr': False, u'atime': 1512417297.3714476, u'md5': u'a95b574eb9a880a6db32807bbda826a4', u'isdir': False, u'ctime': 1512417297.3723464, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'af1e943ab3da967ed3fa3b85419df19f4bc81960', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', u'get_md5': True}}})
==> default: skipping: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'exists': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.359222, u'inode': 8591644434, u'isgid': False, u'size': 4163, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'xusr': False, u'atime': 1512417297.3576226, u'md5': u'8db477ba6a6993a50e64d8209e294daf', u'isdir': False, u'ctime': 1512417297.359222, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'55999e7dec00dec693c9d6f741de1e1ad72b17bd', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.3834789, u'inode': 8591644439, u'isgid': False, u'size': 1021, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', u'xusr': False, u'atime': 1512417297.3818362, u'md5': u'd31d9b2e72f43a3364468787dcf86089', u'isdir': False, u'ctime': 1512417297.3834789, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'7e504c7aa87fdf3cc655d654c316ab1ae5d6f03c', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.3777096, u'inode': 8591644438, u'isgid': False, u'size': 129, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', u'xusr': False, u'atime': 1512417297.376245, u'md5': u'2c85935c2470520f9ccc83fbff487e51', u'isdir': False, u'ctime': 1512417297.3777096, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'453d0c815657e6b9fbc667122a8cfa22efe375d7', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.367967, u'inode': 8591644436, u'isgid': False, u'size': 2175, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', u'xusr': False, u'atime': 1512417297.3668058, u'md5': u'4f428532d213ace06e4cc87c5fd05e64', u'isdir': False, u'ctime': 1512417297.367967, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'3b631ecd736f8a4446c326e41693532921ea4781', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.3505666, u'inode': 8591644433, u'isgid': False, u'size': 313, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', u'xusr': False, u'atime': 1512417297.3489451, u'md5': u'70a2c167c47e3e3e9a027009abee7eec', u'isdir': False, u'ctime': 1512417297.3505666, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'b195082007932d497c6ea8e95d5baeec41259456', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417260.3508544, u'inode': 8591641218, u'isgid': False, u'size': 489, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', u'xusr': False, u'atime': 1512417260.3490958, u'md5': u'1e4e2d649e19c43700ae5617d5793850', u'isdir': False, u'ctime': 1512417260.3508544, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'dacaa78b5dbab6f4581b986e6d435e6c6200831a', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.345586, u'inode': 8591644432, u'isgid': False, u'size': 503, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'xusr': False, u'atime': 1512417297.3437626, u'md5': u'f7dcf1f38eabe1b6d6ae45bff439caec', u'isdir': False, u'ctime': 1512417297.345586, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'c0def02f35dd9480f6826b89746396f6061d388a', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'get_md5': True}}})
==> default:
==> default: TASK [edxapp : Create the virtualenv to install the Python requirements] *******
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : Stat each Python requirements file to ensure it exists] *********
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/pre.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/local.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/testing.txt)
==> default:
==> default: TASK [edxapp : install python requirements] ************************************
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417306.4232209, u'inode': 8591644531, u'isgid': False, u'size': 450, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', u'xusr': False, u'atime': 1512417306.4217198, u'md5': u'1050fd376a57619d9d5e8da726f30681', u'isdir': False, u'ctime': 1512417306.427664, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'660b6f78d71f29b794aef55dca81da47dded53e5', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417306.6760716, u'inode': 8591644532, u'isgid': False, u'size': 5435, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', u'xusr': False, u'atime': 1512417306.6744962, u'md5': u'a95b574eb9a880a6db32807bbda826a4', u'isdir': False, u'ctime': 1512417306.679786, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'af1e943ab3da967ed3fa3b85419df19f4bc81960', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', u'get_md5': True}}})
==> default: skipping: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'exists': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417260.3695614, u'inode': 8591641227, u'isgid': False, u'size': 308, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt', u'xusr': False, u'atime': 1512417260.3689091, u'md5': u'49992f42d7d12edb909e994ddf6cad84', u'isdir': False, u'ctime': 1512417260.3695614, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'02bb3feb152f4a130117dbc38b85ea7fb0763992', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417306.954819, u'inode': 8591644534, u'isgid': False, u'size': 4163, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'xusr': False, u'atime': 1512417306.9492779, u'md5': u'8db477ba6a6993a50e64d8209e294daf', u'isdir': False, u'ctime': 1512417306.9644856, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'55999e7dec00dec693c9d6f741de1e1ad72b17bd', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417307.2018685, u'inode': 8591644535, u'isgid': False, u'size': 1021, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', u'xusr': False, u'atime': 1512417307.1996179, u'md5': u'd31d9b2e72f43a3364468787dcf86089', u'isdir': False, u'ctime': 1512417307.20349, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'7e504c7aa87fdf3cc655d654c316ab1ae5d6f03c', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417307.8726575, u'inode': 8591644536, u'isgid': False, u'size': 129, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', u'xusr': False, u'atime': 1512417307.8717167, u'md5': u'2c85935c2470520f9ccc83fbff487e51', u'isdir': False, u'ctime': 1512417307.8788214, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'453d0c815657e6b9fbc667122a8cfa22efe375d7', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', u'get_md5': True}}})
==> default: changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'uid': 503, u'exists': True, u'woth': False, u'mtime': 1512417297.3980043, u'inode': 8591644441, u'isgid': False, u'size': 483, u'executable': False, u'roth': True, u'isuid': False, u'readable': True, u'isreg': True, u'gid': 20, u'ischr': False, u'wusr': True, u'writeable': True, u'xoth': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/testing.txt', u'xusr': False, u'atime': 1512417297.3969328, u'md5': u'eedaffd0d519d8673a2af3b2f99c007f', u'isdir': False, u'ctime': 1512417297.3980043, u'wgrp': False, u'xgrp': False, u'dev': 43, u'isblk': False, u'isfifo': False, u'mode': u'0644', u'checksum': u'd32411b7f1d4456337a4112c28d335678cd72933', u'islnk': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/testing.txt', 'invocation': {'module_name': u'stat', u'module_args': {u'checksum_algorithm': u'sha1', u'mime': False, u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/testing.txt', u'get_md5': True}}})
==> default:
==> default: TASK [edxapp : install python private requirements] ****************************
==> default: skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt)
==> default:
==> default: TASK [edxapp : install python extra requirements] ******************************
==> default:
==> default: TASK [edxapp : install CAS attribute module] ***********************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : install sandbox requirements into regular venv] *****************
==> default: skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
==> default: skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt)
==> default: skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)
==> default:
==> default: TASK [edxapp : create nodeenv] *************************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : Set the npm registry] *******************************************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : Set the npm registry permissions] *******************************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : install node dependencies] **************************************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | put sandbox apparmor profile in complain mode] ***
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Install base sandbox requirements and create sandbox virtualenv] ***
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : code sandbox | Install sandbox requirements into sandbox venv] **
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt)
==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt)
==> default:
==> default: TASK [edxapp : code sandbox | put code sandbox into aa-enforce or aa-complain mode, depending on EDXAPP_SANDBOX_ENFORCE] ***
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : compiling all py files in the edx-platform repo] ****************
==> default: changed: [localhost]
==> default:
==> default: TASK [edxapp : give other read permissions to the virtualenv] ******************
==> default: ok: [localhost]
==> default:
==> default: TASK [edxapp : create application and auth config] *****************************
==> default: ok: [localhost] => (item=[u'lms', u'env'])
==> default: changed: [localhost] => (item=[u'lms', u'auth'])
==> default: ok: [localhost] => (item=[u'cms', u'env'])
==> default: changed: [localhost] => (item=[u'cms', u'auth'])
==> default:
==> default: TASK [edxapp : create auth and application yaml config] ************************
==> default: ok: [localhost] => (item=[u'lms', u'env'])
==> default: changed: [localhost] => (item=[u'lms', u'auth'])
==> default: ok: [localhost] => (item=[u'cms', u'env'])
==> default: changed: [localhost] => (item=[u'cms', u'auth'])
==> default:
==> default: TASK [edxapp : writing {{ item }} supervisor script] ***************************
==> default: ok: [localhost] => (item=lms)
==> default: ok: [localhost] => (item=cms)
==> default:
==> default: TASK [edxapp : writing edxapp and celery supervisor scripts] *******************
==> default: ok: [localhost] => (item=edxapp.conf)
==> default: ok: [localhost] => (item=workers.conf)
==> default:
==> default: TASK [edxapp : add gunicorn configuration files] *******************************
==> default: changed: [localhost] => (item=lms)
==> default: changed: [localhost] => (item=cms)
==> default:
==> default: TASK [edxapp : enable {{ item }} supervisor script] ****************************
==> default: skipping: [localhost] => (item=lms)
==> default: skipping: [localhost] => (item=cms)
==> default:
==> default: TASK [edxapp : enable edxapp supervisor script] ********************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : enable celery worker supervisor script] *************************
==> default: skipping: [localhost]
==> default:
==> default: TASK [edxapp : create helper scripts for managing edxapp] **********************
==> default: ok: [localhost] => (item=[u'edxapp-migrate', u'lms'])
==> default: ok: [localhost] => (item=[u'edxapp-migrate', u'cms'])
==> default: ok: [localhost] => (item=[u'edxapp-runserver', u'lms'])
==> default: ok: [localhost] => (item=[u'edxapp-runserver', u'cms'])
==> default: ok: [localhost] => (item=[u'edxapp-update-assets', u'lms'])
==> default: ok: [localhost] => (item=[u'edxapp-update-assets', u'cms'])
==> default: ok: [localhost] => (item=[u'edxapp-shell', u'lms'])
==> default: ok: [localhost] => (item=[u'edxapp-shell', u'cms'])
==> default:
==> default: TASK [edxapp : migrate] ********************************************************
==> default: failed: [localhost] (item=lms) => {"changed": true, "cmd": ["/edx/bin/edxapp-migrate-lms"], "delta": "0:00:17.337534", "end": "2017-12-04 19:59:54.950288", "failed": true, "item": "lms", "rc": 1, "start": "2017-12-04 19:59:37.612754", "stderr": "2017-12-04 14:59:52,649 INFO 20734 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125\nTraceback (most recent call last):\n File \"manage.py\", line 116, in <module>\n execute_from_command_line([sys.argv[0]] + django_args)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/__init__.py\", line 354, in execute_from_command_line\n utility.execute()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/__init__.py\", line 346, in execute\n self.fetch_command(subcommand).run_from_argv(self.argv)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py\", line 394, in run_from_argv\n self.execute(*args, **cmd_options)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py\", line 445, in execute\n output = self.handle(*args, **options)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py\", line 93, in handle\n executor = MigrationExecutor(connection, self.migration_progress_callback)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/executor.py\", line 19, in __init__\n self.loader = MigrationLoader(self.connection)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/loader.py\", line 47, in __init__\n self.build_graph()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/loader.py\", line 185, in build_graph\n self.load_disk()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/loader.py\", line 93, in load_disk\n for name in os.listdir(directory):\nOSError: [Errno 40] Too many levels of symbolic links: '/edx/app/edxapp/edx-platform/common/djangoapps/student/migrations'", "stdout": "", "stdout_lines": [], "warnings": []}
==> default: failed: [localhost] (item=cms) => {"changed": true, "cmd": ["/edx/bin/edxapp-migrate-cms"], "delta": "0:00:09.828481", "end": "2017-12-04 20:00:04.922605", "failed": true, "item": "cms", "rc": 1, "start": "2017-12-04 19:59:55.094124", "stderr": "2017-12-04 15:00:03,578 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:68: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.UserSocialAuth 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.\n class UserSocialAuth(AbstractUserSocialAuth):\n\n2017-12-04 15:00:03,582 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:77: RemovedInDjango19Warning: Model class social.apps.django_app.default.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.\n class Nonce(models.Model, DjangoNonceMixin):\n\n2017-12-04 15:00:03,586 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:88: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.Association 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.\n class Association(models.Model, DjangoAssociationMixin):\n\n2017-12-04 15:00:03,589 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:104: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.Code 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.\n class Code(models.Model, DjangoCodeMixin):\n\n2017-12-04 15:00:03,650 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/enterprise/models.py:49: RemovedInDjango19Warning: Model class enterprise.models.EnterpriseCustomer 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.\n class EnterpriseCustomer(TimeStampedModel):\n\n2017-12-04 15:00:03,654 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/simple_history/models.py:123: RemovedInDjango19Warning: Model class enterprise.models.HistoricalEnterpriseCustomer 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.\n type(str(name), self.bases, attrs))\n\n2017-12-04 15:00:03,658 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/enterprise/models.py:219: RemovedInDjango19Warning: Model class enterprise.models.EnterpriseCustomerUser 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.\n class EnterpriseCustomerUser(TimeStampedModel):\n\n2017-12-04 15:00:03,661 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/enterprise/models.py:278: RemovedInDjango19Warning: Model class enterprise.models.PendingEnterpriseCustomerUser 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.\n class PendingEnterpriseCustomerUser(TimeStampedModel):\n\n2017-12-04 15:00:03,665 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/enterprise/models.py:327: RemovedInDjango19Warning: Model class enterprise.models.EnterpriseCustomerBrandingConfiguration 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.\n class EnterpriseCustomerBrandingConfiguration(TimeStampedModel):\n\n2017-12-04 15:00:03,671 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/enterprise/models.py:382: RemovedInDjango19Warning: Model class enterprise.models.EnterpriseCustomerIdentityProvider 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.\n class EnterpriseCustomerIdentityProvider(TimeStampedModel):\n\n2017-12-04 15:00:03,677 WARNING 20769 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/simple_history/models.py:123: RemovedInDjango19Warning: Model class enterprise.models.HistoricalUserDataSharingConsentAudit 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.\n type(str(name), self.bases, attrs))\n\n2017-12-04 15:00:04,153 INFO 20769 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125\nTraceback (most recent call last):\n File \"manage.py\", line 116, in <module>\n execute_from_command_line([sys.argv[0]] + django_args)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/__init__.py\", line 354, in execute_from_command_line\n utility.execute()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/__init__.py\", line 346, in execute\n self.fetch_command(subcommand).run_from_argv(self.argv)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py\", line 394, in run_from_argv\n self.execute(*args, **cmd_options)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py\", line 445, in execute\n output = self.handle(*args, **options)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py\", line 93, in handle\n executor = MigrationExecutor(connection, self.migration_progress_callback)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/executor.py\", line 19, in __init__\n self.loader = MigrationLoader(self.connection)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/loader.py\", line 47, in __init__\n self.build_graph()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/loader.py\", line 185, in build_graph\n self.load_disk()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/loader.py\", line 93, in load_disk\n for name in os.listdir(directory):\nOSError: [Errno 40] Too many levels of symbolic links: '/edx/app/edxapp/edx-platform/common/djangoapps/student/migrations'", "stdout": "", "stdout_lines": [], "warnings": []}
==> default: to retry, use: --limit @/edx/app/edx_ansible/edx_ansible/playbooks/vagrant-devstack.retry
==> default:
==> default: PLAY RECAP *********************************************************************
==> default: localhost : ok=158 changed=51 unreachable=0 failed=1
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Take security updates during ansible runs ------------------------------------- 1134.02s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: checkout edx-platform repo into /edx/app/edxapp/edx-platform ------------------ 519.11s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: install python requirements --------------------------------------------------- 159.22s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: install node dependencies ------------------------------------------------------ 37.41s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: compiling all py files in the edx-platform repo -------------------------------- 31.04s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: migrate ------------------------------------------------------------------------ 27.49s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: create nodeenv ----------------------------------------------------------------- 15.15s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: pip install virtualenv ---------------------------------------------------------- 9.11s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Install security packages ------------------------------------------------------- 8.47s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing: Install edx_ansible venv requirements ------------------------------------------- 7.47s
==> default: INFO:/edx/app/edx_ansible/edx_ansible/playbooks/callback_plugins/task_timing:
==> default: Playbook Configure instance(s) finished: 2017-12-04 20:00:04.947265, 242 total tasks. 0:34:58.022592 elapsed.
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
Installation finished at 2017-12-04 21:00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment