Created
January 4, 2016 22:11
-
-
Save singingwolfboy/08945a8533005cfee8bc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% vagrant up | |
Bringing machine 'default' up with 'virtualbox' provider... | |
==> default: Importing base box 'dogwood-alpha1-devstack'... | |
==> default: Matching MAC address for NAT networking... | |
==> default: Setting the name of the VM: devstack_default_1451943121923_37489 | |
==> 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! | |
Got different reports about installed GuestAdditions version: | |
Virtualbox on your host claims: 4.2.0 | |
VBoxService inside the vm claims: 4.3.30 | |
Going on, assuming VBoxService is correct... | |
GuestAdditions versions on your host (5.0.12) and guest (4.3.30) do not match. | |
Got different reports about installed GuestAdditions version: | |
Virtualbox on your host claims: 4.2.0 | |
VBoxService inside the vm claims: 4.3.30 | |
Going on, assuming VBoxService is correct... | |
stdin: is not a tty | |
Reading package lists... | |
Building dependency tree... | |
Reading state information... | |
linux-headers-3.2.0-23-generic is already the newest version. | |
The following packages will be upgraded: | |
dkms | |
1 upgraded, 0 newly installed, 0 to remove and 168 not upgraded. | |
Need to get 73.3 kB of archives. | |
After this operation, 3,072 B of additional disk space will be used. | |
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main dkms all 2.2.0.3-1ubuntu3.6 [73.3 kB] | |
dpkg-preconfigure: unable to re-open stdin: No such file or directory | |
Fetched 73.3 kB in 0s (1,386 kB/s) | |
(Reading database ... 106222 files and directories currently installed.) | |
Preparing to replace dkms 2.2.0.3-1ubuntu3 (using .../dkms_2.2.0.3-1ubuntu3.6_all.deb) ... | |
Unpacking replacement dkms ... | |
Processing triggers for man-db ... | |
Setting up dkms (2.2.0.3-1ubuntu3.6) ... | |
Copy iso file /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso | |
stdin: is not a tty | |
mount: warning: /mnt seems to be mounted read-only. | |
Installing Virtualbox Guest Additions 5.0.12 - guest version is 4.3.30 | |
stdin: is not a tty | |
Verifying archive integrity... All good. | |
Uncompressing VirtualBox 5.0.12 Guest Additions for Linux............ | |
VirtualBox Guest Additions installer | |
Removing installed version 4.3.30 of VirtualBox Guest Additions... | |
Copying additional installer modules ... | |
Installing additional modules ... | |
Removing existing VirtualBox DKMS kernel modules ...done. | |
Removing existing VirtualBox non-DKMS kernel modules ...done. | |
Building the VirtualBox Guest Additions kernel modules ...done. | |
Doing non-kernel setup of the Guest Additions ...done. | |
You should restart your guest to make sure the new modules are actually used | |
Installing the Window System drivers | |
Installing X.Org Server 1.11 modules ...done. | |
Setting up the Window System to use the Guest Additions ...done. | |
You may need to restart the the Window System (or just restart the guest system) | |
to enable the Guest Additions. | |
Installing graphics libraries and desktop services components ...done. | |
An error occurred during installation of VirtualBox Guest Additions 5.0.12. Some functionality may not work as intended. | |
In most cases it is OK that the "Window System drivers" installation failed. | |
stdin: is not a tty | |
Restarting VM to apply changes... | |
==> default: Attempting graceful shutdown of VM... | |
==> 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: Checking for guest additions in VM... | |
default: The guest additions on this VM do not match the installed version of | |
default: VirtualBox! In most cases this is fine, but in rare cases it can | |
default: prevent things such as shared folders from working properly. If you see | |
default: shared folder errors, please make sure the guest additions within the | |
default: virtual machine match the version of VirtualBox you have installed on | |
default: your host and reload your VM. | |
default: | |
default: Guest Additions Version: 4.2.0 | |
default: VirtualBox Version: 5.0 | |
==> default: Checking for host entries | |
==> 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: stdin: is not a tty | |
==> default: | |
==> default: PLAY [all] ******************************************************************** | |
==> default: | |
==> default: GATHERING FACTS *************************************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [user | debug var=user_info] ******************************************** | |
==> default: ok: [localhost] => { | |
==> default: "var": { | |
==> default: "user_info": [] | |
==> default: } | |
==> default: } | |
==> default: | |
==> default: TASK: [user | create the edxadmin group] ************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [user | Install role-independent useful system packages] **************** | |
==> default: ok: [localhost] => (item=curl) | |
==> 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: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create .ssh directory] ****************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | assign admin role to admin users] ******************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | get github key[s]] ********************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | update the authorized_keys file] ******************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create bashrc file for normal users] **************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create .profile for all users] ********************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | modify shell for restricted users] ****************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create bashrc file for restricted users] ************************ | |
==> default: skipping: [localhost] | |
==> 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: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create ~/bin directory] ***************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create allowed command links] *********************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | install security packages] ********************************** | |
==> default: skipping: [localhost] | |
==> 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] ******************************** | |
==> default: skipping: [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: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Check if we are vulnerable] ********************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Apply bash security update if we are vulnerable] ************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Check again and fail if we are still vulnerable] ************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | GHOST.c] **************************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | compile GHOST] ********************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Check if we are vulnerable] ********************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Apply glibc security update if we are vulnerable] *********** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [common | Update CA Certificates] *************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [common | Add user www-data] ******************************************** | |
==> default: ok: [localhost] | |
==> 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 | Install role-independent useful system packages] ************** | |
==> default: ok: [localhost] => (item=ntp,ack-grep,lynx-cur,logrotate,mosh,rsyslog,screen,tmux,tree,git,unzip,python2.7,python-pip,python2.7-dev,curl) | |
==> default: | |
==> default: TASK: [common | Create common directories] ************************************ | |
==> default: changed: [localhost] => (item={'path': u'/edx/var'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/app'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/bin'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/etc'}) | |
==> default: ok: [localhost] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'}) | |
==> default: ok: [localhost] => (item={'path': '/etc/logrotate.d/hourly'}) | |
==> default: ok: [localhost] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'}) | |
==> default: | |
==> default: TASK: [common | upload sudo config for key forwarding as root] **************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [common | pip install virtualenv] *************************************** | |
==> default: ok: [localhost] => (item=pip==7.1.2) | |
==> default: ok: [localhost] => (item=setuptools==18.3.2) | |
==> default: ok: [localhost] => (item=virtualenv==13.1.2) | |
==> default: changed: [localhost] => (item=virtualenvwrapper) | |
==> 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 | update /etc/dhcp/dhclient.conf] ******************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [common | Copy the templates to their respestive destination] *********** | |
==> default: ok: [localhost] => (item={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'}) | |
==> default: changed: [localhost] => (item={'dest': '/etc/motd.tail', 'src': u'motd.tail.j2', 'mode': '755'}) | |
==> default: changed: [localhost] => (item={'dest': '/etc/ssh/sshd_config', 'src': 'sshd_config.j2'}) | |
==> default: | |
==> default: TASK: [aws | gather ec2 facts for use in other roles] ************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [aws | shell /sbin/ifconfig eth0 mtu 1500 up | |
==> default: ] ************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [aws | lineinfile dest=/etc/dhcp/dhclient.conf regexp="^supercede interfact-mtu" line="supercede interface-mtu 1500;" insertbefore="^request" | |
==> default: ] *** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [aws | create all service directories] ********************************** | |
==> default: ok: [localhost] => (item={'key': 'home', 'value': {'owner': 'root', 'path': u'/edx/app/aws', 'group': 'root', 'mode': '0755'}}) | |
==> default: ok: [localhost] => (item={'key': 'data', 'value': {'owner': 'root', 'path': u'/edx/var/aws', 'group': 'root', 'mode': '0700'}}) | |
==> default: ok: [localhost] => (item={'key': 'logs', 'value': {'owner': 'syslog', 'path': u'/edx/var/log/aws', 'group': 'syslog', 'mode': '0650'}}) | |
==> default: | |
==> default: TASK: [aws | install system packages] ***************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [aws | install aws python packages] ************************************* | |
==> default: changed: [localhost] => (item=https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz) | |
==> default: ok: [localhost] => (item=awscli==1.4.2) | |
==> default: ok: [localhost] => (item=boto=="2.34.0") | |
==> default: | |
==> default: TASK: [aws | get s3cmd] ******************************************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [aws | untar s3cmd] ***************************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [aws | create symlink for s3cmd] **************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [aws | create s3 log sync script] *************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [aws | create symlink for s3 log sync script] *************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [aws | force logrotate on supervisor stop] ****************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [aws | cronjob for s3 log sync] ***************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [aws | update the ssh motd on Ubuntu] *********************************** | |
==> default: skipping: [localhost] => (item=/etc/update-motd.d/10-help-text) | |
==> default: skipping: [localhost] => (item=/usr/share/landscape/landscape-sysinfo.wrapper) | |
==> default: skipping: [localhost] => (item=/etc/update-motd.d/51-cloudguest) | |
==> default: skipping: [localhost] => (item=/etc/update-motd.d/91-release-upgrade) | |
==> default: | |
==> default: TASK: [{{role}} | create application user] ************************************ | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [{{role}} | 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: [{{role}} | install a bunch of system packages on which edx_ansible relies] *** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [{{role}} | git checkout edx_ansible repo into edx_ansible_code_dir] **** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [{{role}} | install edx_ansible venv requirements] ********************** | |
==> default: changed: [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: [{{role}} | create update script] *************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [{{role}} | create a symlink for update.sh] ***************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [{{role}} | create a symlink for ansible-playbook] ********************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [{{role}} | create a symlink for the playbooks dir] ********************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: NOTIFIED: [common | restart rsyslogd] ***************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: NOTIFIED: [common | restart ssh] ********************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: PLAY RECAP ******************************************************************** | |
==> default: localhost : ok=37 changed=13 unreachable=0 failed=0 | |
==> default: | |
==> default: PLAY [Configure instance(s)] ************************************************** | |
==> default: | |
==> default: GATHERING FACTS *************************************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [user | debug ] ********************************************************* | |
==> default: ok: [localhost] => { | |
==> default: "var": { | |
==> default: "user_info": [] | |
==> default: } | |
==> 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: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | assign admin role to admin users] ******************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | get github key(s) and update the authorized_keys file] ********** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create bashrc file for normal users] **************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create .profile for all users] ********************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | modify shell for restricted users] ****************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create bashrc file for restricted users] ************************ | |
==> default: skipping: [localhost] | |
==> 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: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create ~/bin directory] ***************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create allowed command links] *********************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | install security packages] ********************************** | |
==> default: skipping: [localhost] | |
==> 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] ******************************** | |
==> default: skipping: [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: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Check if we are vulnerable] ********************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Apply bash security update if we are vulnerable] ************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Check again and fail if we are still vulnerable] ************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | GHOST.c] **************************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | compile GHOST] ********************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Check if we are vulnerable] ********************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [security | Apply glibc security update if we are vulnerable] *********** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [common | Update CA Certificates] *************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [common | Add user www-data] ******************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [common | check if instance is vagrant] ********************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [common | add edx ppa apt key] ****************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [common | Add git apt repository] *************************************** | |
==> default: ok: [localhost] => (item=ppa:git-core/ppa) | |
==> default: changed: [localhost] => (item=deb http://ppa.edx.org precise main) | |
==> default: | |
==> default: TASK: [common | Install role-independent useful system packages] ************** | |
==> default: ok: [localhost] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev) | |
==> default: | |
==> default: TASK: [common | Create common directories] ************************************ | |
==> default: ok: [localhost] => (item={'path': u'/edx/var'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/app'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/bin'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/etc'}) | |
==> default: ok: [localhost] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'}) | |
==> default: ok: [localhost] => (item={'path': '/etc/logrotate.d/hourly'}) | |
==> default: ok: [localhost] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'}) | |
==> default: | |
==> default: TASK: [common | upload sudo config for key forwarding as root] **************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [common | pip install virtualenv] *************************************** | |
==> default: ok: [localhost] => (item=pip==7.1.2) | |
==> default: ok: [localhost] => (item=setuptools==18.3.2) | |
==> default: ok: [localhost] => (item=virtualenv==13.1.2) | |
==> default: changed: [localhost] => (item=virtualenvwrapper) | |
==> 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={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'}) | |
==> default: | |
==> default: TASK: [common | restart rsyslogd] ********************************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [server_utils | Install system packages] ******************************** | |
==> default: changed: [localhost] => (item=ack-grep,mosh,curl,tree,screen,tmux,curl,vim-tiny,dnsutils,inetutils-telnet,netcat) | |
==> default: | |
==> default: TASK: [common | Update CA Certificates] *************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [common | Add user www-data] ******************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [common | check if instance is vagrant] ********************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [common | add edx ppa apt key] ****************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [common | Add git apt repository] *************************************** | |
==> default: ok: [localhost] => (item=ppa:git-core/ppa) | |
==> default: ok: [localhost] => (item=deb http://ppa.edx.org precise main) | |
==> default: | |
==> default: TASK: [common | Install role-independent useful system packages] ************** | |
==> default: ok: [localhost] => (item=ntp,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev) | |
==> default: | |
==> default: TASK: [common | Create common directories] ************************************ | |
==> default: ok: [localhost] => (item={'path': u'/edx/var'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/app'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/bin'}) | |
==> default: ok: [localhost] => (item={'path': u'/edx/etc'}) | |
==> default: ok: [localhost] => (item={'owner': u'syslog', 'path': u'/edx/var/log', 'group': u'syslog'}) | |
==> default: ok: [localhost] => (item={'path': '/etc/logrotate.d/hourly'}) | |
==> default: ok: [localhost] => (item={'path': '/etc/rsyslog.d/50-default.conf', 'state': 'absent'}) | |
==> default: | |
==> default: TASK: [common | upload sudo config for key forwarding as root] **************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [common | pip install virtualenv] *************************************** | |
==> default: ok: [localhost] => (item=pip==7.1.2) | |
==> default: ok: [localhost] => (item=setuptools==18.3.2) | |
==> default: ok: [localhost] => (item=virtualenv==13.1.2) | |
==> default: ok: [localhost] => (item=virtualenvwrapper) | |
==> 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={'dest': '/etc/rsyslog.d/99-edx.conf', 'src': 'edx_rsyslog.j2'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/edx-services', 'src': 'etc/logrotate.d/hourly/edx_logrotate.j2'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/cron.hourly/logrotate', 'src': 'etc/cron.hourly/logrotate.j2', 'mode': '555'}) | |
==> default: ok: [localhost] => (item={'dest': '/etc/logrotate.d/hourly/tracking.log', 'src': 'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'}) | |
==> default: | |
==> default: TASK: [common | restart rsyslogd] ********************************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [vhost | Copy the templates to their respestive destination] ************ | |
==> default: changed: [localhost] => (item={'dest': '/etc/motd.tail', 'src': u'etc/devstack_motd.tail.j2', 'mode': '755'}) | |
==> default: changed: [localhost] => (item={'dest': '/etc/ssh/sshd_config', 'src': 'etc/ssh/sshd_config.j2'}) | |
==> default: | |
==> default: TASK: [vhost | restart ssh] *************************************************** | |
==> default: changed: [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: ok: [localhost] | |
==> 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: changed: [localhost] | |
==> default: | |
==> default: TASK: [edx_ansible | create a symlink for update.sh] ************************** | |
==> default: ok: [localhost] | |
==> 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 | Add MySQL experimental apt key] ******************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [mysql | Install apt repository] **************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [mysql | install mysql 56 and dependencies] ***************************** | |
==> default: ok: [localhost] => (item=software-properties-common,python-mysqldb,mysql-server) | |
==> default: | |
==> default: TASK: [mysql | start mysql] *************************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [mysql | Ensure Anonymous user(s) does not exist] *********************** | |
==> default: changed: [localhost] => (item=localhost) | |
==> default: changed: [localhost] => (item=precise64) | |
==> default: | |
==> default: TASK: [edxlocal | install packages needed for single server] ****************** | |
==> default: ok: [localhost] => (item=postfix,libjpeg-dev) | |
==> default: | |
==> default: TASK: [edxlocal | create databases] ******************************************* | |
==> default: ok: [localhost] => (item=ecommerce) | |
==> default: skipping: [localhost] | |
==> default: skipping: [localhost] | |
==> default: skipping: [localhost] | |
==> default: ok: [localhost] => (item=edxapp) | |
==> default: skipping: [localhost] | |
==> default: ok: [localhost] => (item=programs) | |
==> default: skipping: [localhost] | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [edxlocal | create database users] ************************************** | |
==> default: ok: [localhost] => (item={'db': u'ecommerce', 'user': u'ecomm001', 'pass': u'password'}) | |
==> default: skipping: [localhost] => (item={'db': u'', 'user': u'{# INSIGHTS_DATABASES.default.USER | default(None) #}', 'pass': u'{# INSIGHTS_DATABASES.default.PASSWORD | default(None) #}'}) | |
==> default: skipping: [localhost] => (item={'db': u'', 'user': u'', 'pass': u''}) | |
==> default: skipping: [localhost] => (item={'db': u'', 'user': u'', 'pass': u''}) | |
==> default: ok: [localhost] => (item={'db': u'edxapp', 'user': u'edxapp001', 'pass': u'password'}) | |
==> default: ok: [localhost] => (item={'db': u'programs', 'user': u'programs001', 'pass': u'password'}) | |
==> default: skipping: [localhost] => (item={'db': u'', 'user': u'{# ANALYTICS_PIPELINE_OUTPUT_DATABASE.username #}', 'pass': u'{# ANALYTICS_PIPELINE_OUTPUT_DATABASE.password #}'}) | |
==> default: skipping: [localhost] => (item={'db': u'', 'user': u'{# HIVE_METASTORE_DATABASE.user | default(None) #}', 'pass': u'{# HIVE_METASTORE_DATABASE.password | default(None) #}'}) | |
==> default: | |
==> default: TASK: [edxlocal | setup the migration db user] ******************************** | |
==> default: ok: [localhost] => (item=ecommerce) | |
==> default: skipping: [localhost] | |
==> default: skipping: [localhost] | |
==> default: skipping: [localhost] | |
==> default: ok: [localhost] => (item=edxapp) | |
==> default: skipping: [localhost] | |
==> default: ok: [localhost] => (item=programs) | |
==> default: skipping: [localhost] | |
==> default: skipping: [localhost] | |
==> 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: [edxlocal | install memcached] ****************************************** | |
==> default: ok: [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: ok: [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: ok: [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 | stop mongod service] ******************************************* | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [mongo | move mongodb to {{ mongo_data_dir }}] ************************** | |
==> 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: ok: [localhost] => (item={'password': 'password', 'user': 'cs_comments_service', 'roles': 'readWrite', 'database': 'cs_comments_service'}) | |
==> default: ok: [localhost] => (item={'password': 'password', 'user': 'edxapp', 'roles': 'readWrite', 'database': 'edxapp'}) | |
==> default: | |
==> default: TASK: [mongo | create a mongodb user] ***************************************** | |
==> default: skipping: [localhost] => (item={'password': 'password', 'user': 'cs_comments_service', 'roles': 'readWrite', 'database': 'cs_comments_service'}) | |
==> default: skipping: [localhost] => (item={'password': 'password', 'user': 'edxapp', 'roles': 'readWrite', 'database': 'edxapp'}) | |
==> default: | |
==> default: TASK: [mongo | install s3cmd] ************************************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [mongo | configure s3cmd] *********************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [mongo | install backup-mongo-to-s3 script] ***************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [mongo | schedule backup-mongo-to-3s crontab] *************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create application user] ********************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create supervisor service user] *************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create supervisor directories] **************************** | |
==> default: ok: [localhost] => (item=/edx/app/supervisor) | |
==> default: ok: [localhost] => (item=/edx/app/supervisor/venvs/supervisor) | |
==> default: | |
==> default: TASK: [supervisor | create service user accessible dirs] ********************** | |
==> 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: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create pre_supervisor upstart job] ************************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | write the pre_suprevisor python script] ******************* | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create supervisor master config] ************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create a symlink for supervisortctl] ********************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create a 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 | start supervisor] ***************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | wait for web port to be available] ************************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | update supervisor configuration] ************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp_common | Install system packages] ******************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | fail rbenv_user required for role] ***************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | fail rbenv_dir required for role] ****************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | fail rbenv_ruby_version required for role] ********************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | create rbenv user {{ edxapp_user }}] *************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | create rbenv dir if it does not exist] ************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install build depends] ***************************************** | |
==> default: ok: [localhost] => (item=curl,build-essential,libcurl4-openssl-dev,libreadline-dev,libssl-dev,libxml2-dev,libxslt1-dev,zlib1g-dev) | |
==> default: | |
==> default: TASK: [rbenv | update rbenv repo] ********************************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | ensure ruby_env exists] **************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | check ruby-build installed] ************************************ | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | if ruby-build exists, which versions we can install] *********** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | create temporary directory] ************************************ | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | clone ruby-build repo] ***************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install ruby-build] ******************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | remove temporary directory] ************************************ | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | check ruby {{ edxapp_ruby_version }} installed] **************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install ruby {{ edxapp_ruby_version }}] ************************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | set global ruby {{ edxapp_ruby_version }}] ********************* | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install bundler] *********************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | remove rbenv version of rake] ********************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install rake gem] ********************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | rehash] ******************************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create application user] ********************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create supervisor service user] *************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create supervisor directories] **************************** | |
==> default: ok: [localhost] => (item=/edx/app/devpi/supervisor) | |
==> default: ok: [localhost] => (item=/edx/app/devpi/venvs/supervisor) | |
==> default: | |
==> default: TASK: [supervisor | create service user accessible dirs] ********************** | |
==> default: ok: [localhost] => (item=/edx/app/devpi/supervisor/conf.d) | |
==> default: ok: [localhost] => (item=/edx/app/devpi/supervisor/conf.available.d) | |
==> default: | |
==> default: TASK: [supervisor | create supervisor directories] **************************** | |
==> default: ok: [localhost] => (item=/edx/var/devpi/supervisor) | |
==> default: ok: [localhost] => (item=/edx/var/log/devpi/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: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create pre_supervisor upstart job] ************************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | write the pre_suprevisor python script] ******************* | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create supervisor master config] ************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create a symlink for supervisortctl] ********************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | create a symlink for supervisor cfg] ********************** | |
==> default: skipping: [localhost] => (item=/edx/app/devpi/supervisor/supervisord.conf) | |
==> default: skipping: [localhost] => (item=/edx/app/devpi/supervisor/conf.d) | |
==> default: | |
==> default: TASK: [supervisor | create helper script for running supervisor] ************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | start supervisor] ***************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | wait for web port to be available] ************************ | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [supervisor | update supervisor configuration] ************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [devpi | create devpi user] ********************************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [devpi | create devpi application directories] ************************** | |
==> default: ok: [localhost] => (item=/edx/app/devpi) | |
==> default: ok: [localhost] => (item=/edx/app/devpi/venvs/devpi) | |
==> default: | |
==> default: TASK: [devpi | create the devpi data directory, needs write access by the service user] *** | |
==> default: ok: [localhost] => (item=/edx/var/devpi) | |
==> default: ok: [localhost] => (item=/edx/var/devpi/data) | |
==> default: | |
==> default: TASK: [devpi | install devpi pip pkgs] **************************************** | |
==> default: ok: [localhost] => (item=devpi-server) | |
==> default: ok: [localhost] => (item=eventlet) | |
==> default: | |
==> default: TASK: [devpi | writing supervisor script] ************************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [devpi | create a symlink for venv python, pip] ************************* | |
==> default: ok: [localhost] => (item=python) | |
==> default: ok: [localhost] => (item=pip) | |
==> default: | |
==> default: TASK: [devpi | create a symlink for venv supervisor] ************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [devpi | create a symlink for supervisor config] ************************ | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [devpi | update devpi supervisor configuration] ************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [devpi | ensure devpi is started] *************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [nltk | Install unzip] ************************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [nltk | create the nltk data directory and subdirectories] ************** | |
==> default: ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) | |
==> default: ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) | |
==> default: ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) | |
==> default: | |
==> default: TASK: [nltk | download nltk data] ********************************************* | |
==> default: ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) | |
==> default: ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) | |
==> default: ok: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) | |
==> default: | |
==> default: TASK: [nltk | unarchive nltk data] ******************************************** | |
==> default: skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) | |
==> default: skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) | |
==> default: skipping: [localhost] => (item={'url': 'http://nltk.github.com/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) | |
==> default: | |
==> default: TASK: [user | debug ] ********************************************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create the edxadmin group] ************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | ensure sudoers.d is read] *************************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | grant full sudo access to the edxadmin group] ******************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | create the users] *********************************************** | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | assign admin role to admin users] ******************************* | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | get github key(s) and update the authorized_keys file] ********** | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | create bashrc file for normal users] **************************** | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | create .profile for all users] ********************************** | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | modify shell for restricted users] ****************************** | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | create bashrc file for restricted users] ************************ | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | create sudoers file from template] ****************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [user | change home directory ownership to root for restricted users] *** | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | create ~/bin directory] ***************************************** | |
==> default: 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': []}) | |
==> default: | |
==> default: TASK: [user | create allowed command links] *********************************** | |
==> default: 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']) | |
==> default: | |
==> default: TASK: [edxapp | create application user] ************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | create edxapp user dirs] ************************************** | |
==> default: ok: [localhost] => (item=/edx/app/edxapp) | |
==> default: ok: [localhost] => (item=/edx/app/edxapp/.ssh) | |
==> default: ok: [localhost] => (item=/edx/app/edxapp/venvs) | |
==> default: ok: [localhost] => (item=/edx/var/edxapp/themes) | |
==> default: ok: [localhost] => (item=/edx/var/edxapp/staticfiles) | |
==> default: ok: [localhost] => (item=/edx/var/edxapp/course_static) | |
==> default: changed: [localhost] => (item=/edx/var/edxapp/data) | |
==> default: | |
==> default: TASK: [edxapp | create edxapp var dir] **************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | create directory to import the courses from github] *********** | |
==> default: ok: [localhost] | |
==> 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 | create web-writable edxapp data dirs] ************************* | |
==> default: changed: [localhost] => (item=/edx/var/edxapp/data) | |
==> default: ok: [localhost] => (item=/edx/var/edxapp/uploads) | |
==> default: ok: [localhost] => (item=/edx/var/edxapp/media) | |
==> default: | |
==> default: TASK: [edxapp | add ppas for current versions of nodejs] ********************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | install system packages on which LMS and CMS rely] ************ | |
==> default: ok: [localhost] | |
==> 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 12.04] ************ | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | code sandbox | Use libblas.so.3 in Ubuntu 14.04] ************** | |
==> default: skipping: [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 12.04] ********** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | code sandbox | Use liblapack.so.3 in Ubuntu 14.04] ************ | |
==> default: skipping: [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 | setup the edxapp env] ***************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | create edxapp configuration dir] ****************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | setup the newrelic python agent config] *********************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | create ssh script for git (not authenticated)] **************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | create ssh script for git (authenticated)] ******************** | |
==> default: skipping: [localhost] | |
==> 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 {{ edxapp_code_dir }}] ******** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | git clean after checking out edx-platform] ******************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | checkout 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={'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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150268, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150264, 'isgid': False, 'size': 6030, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': 'd984e711dbd91a7b5ee3cc0ea9054e45', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '77f3f6c961dca663d878c2ff4fb0819e1b5c7342', 'islnk': False}, 'changed': False}) | |
==> default: 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}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150261, 'isgid': False, 'size': 3459, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': '92268cb1cbbc25a0f8d419c1647828d4', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a36e125c54a87fa72bc3c253b4510f957dc96e5', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150267, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': '1b9a81d6fac03c0f39fc6296e86b9d61', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '4833ac9d984930a0b95771e1f9f9b6589a5abb65', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150266, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150263, 'isgid': False, 'size': 2086, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': '5a37399f88dcb354d34837f086adb60e', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0339b3092653a74cd3a14b2d439a43a0bb01d89f', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150259, 'isgid': False, 'size': 313, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': '1f8d2ca7aa01706f2859c25b8bede5f3', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'cb294b185d8f40e49506c4c342acc8fd6b3683f6', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150258, 'isgid': False, 'size': 507, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': '09046a50cef36e7ca9f622fd3b3b397f', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '01e96ac6feaff75b076e04cbdb2b9b9a632a7034', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150257, 'isgid': False, 'size': 411, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': 'e62d71c98cff3129bbe6333ad96f9b00', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '8f31577e172d28cddd2e202214e5dd24ab90a243', 'islnk': False}, 'changed': False}) | |
==> default: | |
==> default: TASK: [edxapp | gem install bundler] ****************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | bundle install] *********************************************** | |
==> 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 edx-platform npm dependencies] ************************ | |
==> default: changed: [localhost] | |
==> 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: | |
==> default: TASK: [edxapp | install python requirements] ********************************** | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943706.0, 'inode': 57150656, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1451943706.0, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1451943706.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a863e2284e87b221c853891de5a925f8434c425', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943706.0, 'inode': 57150657, 'isgid': False, 'size': 6030, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1451943706.0, 'md5': 'd984e711dbd91a7b5ee3cc0ea9054e45', 'isdir': False, 'ctime': 1451943706.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '77f3f6c961dca663d878c2ff4fb0819e1b5c7342', 'islnk': False}, 'changed': False}) | |
==> default: 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}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943698.0, 'inode': 57150265, 'isgid': False, 'size': 254, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'xusr': False, 'atime': 1451943698.0, 'md5': '55ace0c3ccdb0b161709e8c7623be39e', 'isdir': False, 'ctime': 1451943698.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '108dd87a867bcb78ca0e0797122bb07c870157bc', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943706.0, 'inode': 57150658, 'isgid': False, 'size': 3459, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1451943706.0, 'md5': '92268cb1cbbc25a0f8d419c1647828d4', 'isdir': False, 'ctime': 1451943706.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '1a36e125c54a87fa72bc3c253b4510f957dc96e5', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943706.0, 'inode': 57150659, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1451943706.0, 'md5': '1b9a81d6fac03c0f39fc6296e86b9d61', 'isdir': False, 'ctime': 1451943706.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '4833ac9d984930a0b95771e1f9f9b6589a5abb65', 'islnk': False}, 'changed': False}) | |
==> default: 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': 502, 'exists': True, 'woth': False, 'mtime': 1451943706.0, 'inode': 57150660, 'isgid': False, 'size': 111, 'wgrp': False, 'isuid': False, 'isreg': True, 'gid': 20, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1451943706.0, 'md5': '3b1b66700c2ceb14b6e58faded01bffb', 'isdir': False, 'ctime': 1451943706.0, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '54252af609d183b23456f5062bc5505c75ecb942', 'islnk': False}, 'changed': False}) | |
==> 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: skipping: [localhost] | |
==> 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 | 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: | |
==> 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: changed: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | openid workaround] ******************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | create {{ item }} application config] ************************* | |
==> default: changed: [localhost] => (item=lms) | |
==> default: changed: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | create {{ item }} auth file] ********************************** | |
==> default: changed: [localhost] => (item=lms) | |
==> default: changed: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | create {{ item }} yaml application config] ******************** | |
==> default: changed: [localhost] => (item=lms) | |
==> default: changed: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | create {{ item }} yaml auth file] ***************************** | |
==> default: changed: [localhost] => (item=lms) | |
==> default: changed: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | writing {{ item }} supervisor script] ************************* | |
==> default: ok: [localhost] => (item=lms) | |
==> default: ok: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | writing edxapp supervisor script] ***************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | add gunicorn configuration files] ***************************** | |
==> default: changed: [localhost] => (item=lms) | |
==> default: changed: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | writing celery worker supervisor script] ********************** | |
==> default: ok: [localhost] | |
==> 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=['edxapp-migrate', 'lms']) | |
==> default: ok: [localhost] => (item=['edxapp-migrate', 'cms']) | |
==> default: ok: [localhost] => (item=['edxapp-runserver', 'lms']) | |
==> default: ok: [localhost] => (item=['edxapp-runserver', 'cms']) | |
==> default: ok: [localhost] => (item=['edxapp-syncdb', 'lms']) | |
==> default: ok: [localhost] => (item=['edxapp-syncdb', 'cms']) | |
==> default: ok: [localhost] => (item=['edxapp-update-assets', 'lms']) | |
==> default: ok: [localhost] => (item=['edxapp-update-assets', 'cms']) | |
==> default: ok: [localhost] => (item=['edxapp-shell', 'lms']) | |
==> default: ok: [localhost] => (item=['edxapp-shell', 'cms']) | |
==> default: | |
==> default: TASK: [edxapp | migrate] ****************************************************** | |
==> default: changed: [localhost] => (item=lms) | |
==> default: changed: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | gather {{ item }} static assets with paver] ******************* | |
==> default: skipping: [localhost] => (item=lms) | |
==> default: skipping: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | update supervisor configuration] ****************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | ensure edxapp has started] ************************************ | |
==> default: skipping: [localhost] => (item=lms) | |
==> default: skipping: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | ensure edxapp_workers has started] **************************** | |
==> default: skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 3}) | |
==> default: skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 4}) | |
==> default: skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
==> default: skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
==> default: skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 3}) | |
==> default: skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 4}) | |
==> default: skipping: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 2, 'max_tasks_per_child': 1}) | |
==> default: | |
==> default: TASK: [edxapp | create symlinks from the venv bin dir] ************************ | |
==> default: ok: [localhost] => (item=python) | |
==> default: ok: [localhost] => (item=pip) | |
==> default: ok: [localhost] => (item=django-admin.py) | |
==> default: | |
==> default: TASK: [edxapp | create symlinks from the repo dir] **************************** | |
==> default: ok: [localhost] => (item=manage.py) | |
==> default: | |
==> default: TASK: [edxapp | remove read-only ssh key] ************************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | get instance information] ************************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | tag instance with edx_platform version] *********************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | tag instance with edxapp theme version] ********************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | set_fact edxapp_installed=true] ******************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [edxapp | restart edxapp] *********************************************** | |
==> default: skipping: [localhost] => (item=lms) | |
==> default: skipping: [localhost] => (item=cms) | |
==> default: | |
==> default: TASK: [edxapp | restart edxapp_workers] *************************************** | |
==> default: skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'cms', 'monitor': True, 'concurrency': 3}) | |
==> default: skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'cms', 'monitor': True, 'concurrency': 4}) | |
==> default: skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'cms', 'monitor': True, 'concurrency': 1}) | |
==> default: skipping: [localhost] => (item={'queue': 'low', 'service_variant': 'lms', 'monitor': True, 'concurrency': 1}) | |
==> default: skipping: [localhost] => (item={'queue': 'default', 'service_variant': 'lms', 'monitor': True, 'concurrency': 3}) | |
==> default: skipping: [localhost] => (item={'queue': 'high', 'service_variant': 'lms', 'monitor': True, 'concurrency': 4}) | |
==> default: skipping: [localhost] => (item={'queue': 'high_mem', 'service_variant': 'lms', 'monitor': False, 'concurrency': 2, 'max_tasks_per_child': 1}) | |
==> default: | |
==> default: TASK: [oraclejdk | download Oracle Java] ************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [oraclejdk | create jvm dir] ******************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [oraclejdk | untar Oracle Java] ***************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [oraclejdk | create symlink expected by elasticsearch] ****************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [oraclejdk | update alternatives java] ********************************** | |
==> default: changed: [localhost] => (item=java) | |
==> default: changed: [localhost] => (item=javac) | |
==> default: changed: [localhost] => (item=javaws) | |
==> default: | |
==> default: TASK: [oraclejdk | add JAVA_HOME for Oracle Java] ***************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [elasticsearch | Install Elasticsearch repo key] ************************ | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [elasticsearch | Add Elasticsearch Repo] ******************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [elasticsearch | install elasticsearch] ********************************* | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [elasticsearch | create directories] ************************************ | |
==> default: ok: [localhost] => (item=/edx/var/elasticsearch) | |
==> default: ok: [localhost] => (item=/edx/var/log/elasticsearch) | |
==> default: ok: [localhost] => (item=/edx/etc/elasticsearch) | |
==> default: | |
==> default: TASK: [elasticsearch | update elasticsearch defaults] ************************* | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [elasticsearch | drop the elasticsearch config] ************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [elasticsearch | drop the elasticsearch logging config] ***************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [elasticsearch | Ensure elasticsearch is enabled and started] *********** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [elasticsearch | Restart elastic when there has been an upgrade] ******** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | fail rbenv_user required for role] ***************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | fail rbenv_dir required for role] ****************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | fail rbenv_ruby_version required for role] ********************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | create rbenv user {{ common_web_user }}] *********************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | create rbenv dir if it does not exist] ************************* | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install build depends] ***************************************** | |
==> default: ok: [localhost] => (item=curl,build-essential,libcurl4-openssl-dev,libreadline-dev,libssl-dev,libxml2-dev,libxslt1-dev,zlib1g-dev) | |
==> default: | |
==> default: TASK: [rbenv | update rbenv repo] ********************************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | ensure ruby_env exists] **************************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | check ruby-build installed] ************************************ | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | if ruby-build exists, which versions we can install] *********** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | create temporary directory] ************************************ | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | clone ruby-build repo] ***************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install ruby-build] ******************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | remove temporary directory] ************************************ | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | check ruby {{ forum_ruby_version }} installed] ***************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install ruby {{ forum_ruby_version }}] ************************* | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | set global ruby {{ forum_ruby_version }}] ********************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install bundler] *********************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | remove rbenv version of rake] ********************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | install rake gem] ********************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [rbenv | rehash] ******************************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [forum | create application user] *************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [forum | create forum app dir] ****************************************** | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [forum | setup the forum env] ******************************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [forum | create {{ forum_data_dir }}] *********************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [forum | create the supervisor config] ********************************** | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [forum | enable the supervisor config] ********************************** | |
==> default: skipping: [localhost] | |
==> default: | |
==> default: TASK: [forum | create the supervisor wrapper] ********************************* | |
==> default: ok: [localhost] | |
==> default: | |
==> default: TASK: [forum | git checkout forum repo into {{ forum_code_dir }}] ************* | |
==> default: changed: [localhost] | |
==> default: | |
==> default: TASK: [forum | make Gemfile.lock writable by common_web_user] ***************** | |
==> default: failed: [localhost] => {"failed": true, "gid": 20, "group": "dialout", "mode": "0644", "owner": "502", "path": "/edx/app/forum/cs_comments_service/Gemfile.lock", "size": 4343, "state": "file", "uid": 502} | |
==> default: msg: chown failed | |
==> default: | |
==> default: FATAL: all hosts have already failed -- aborting | |
==> default: | |
==> default: PLAY RECAP ******************************************************************** | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | checkout edx-platform repo into {{ edxapp_code_dir }} ----------------- 323.03s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install python requirements ------------------------------------------- 121.47s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | migrate --------------------------------------------------------------- 115.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:oraclejdk | download Oracle Java ------------------------------------------------ 16.26s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Install edx-platform npm dependencies ---------------------------------- 11.22s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | install bundler --------------------------------------------------------- 10.66s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | compiling all py files in the edx-platform repo ------------------------ 10.34s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | install elasticsearch -------------------------------------------- 8.86s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | install rake gem --------------------------------------------------------- 6.33s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | clone ruby-build repo ---------------------------------------------------- 5.84s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | Add Elasticsearch Repo ------------------------------------------- 5.78s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:server_utils | Install system packages ------------------------------------------- 5.48s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Install apt repository --------------------------------------------------- 5.41s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | git checkout forum repo into {{ forum_code_dir }} ------------------------ 4.68s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:oraclejdk | untar Oracle Java ---------------------------------------------------- 4.68s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | install mysql 56 and dependencies ---------------------------------------- 3.62s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install mongo server and recommends -------------------------------------- 3.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install system packages on which LMS and CMS rely ----------------------- 2.98s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp_common | Install system packages ------------------------------------------ 2.97s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | pip install virtualenv -------------------------------------------------- 2.46s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Install role-independent useful system packages ------------------------- 2.42s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | install a bunch of system packages on which edx_ansible relies ----- 2.37s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Install sandbox requirements into sandbox venv ----------- 2.33s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | wait for mongo server to start ------------------------------------------- 2.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | gem install bundler ----------------------------------------------------- 1.73s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | install devpi pip pkgs --------------------------------------------------- 1.62s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Install base sandbox requirements and create sandbox virtualenv -- 1.47s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | install edx_ansible venv requirements ------------------------------ 1.30s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | update rbenv repo -------------------------------------------------------- 1.28s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | Restart elastic when there has been an upgrade ------------------- 1.22s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | install supervisor in its venv -------------------------------------- 1.21s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | git checkout edx_ansible repo into edx_ansible_code_dir ------------ 1.16s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create helper scripts for managing edxapp ------------------------------- 1.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | give other read permissions to the virtualenv --------------------------- 1.02s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Updating requirement files for git mirror ------------------------------- 0.86s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:nltk | Install unzip ------------------------------------------------------------- 0.75s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Stat each requirements file with Github URLs to ensure it exists -------- 0.75s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | install build depends ---------------------------------------------------- 0.74s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Stat each Python requirements file to ensure it exists ------------------ 0.71s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | git clean after checking out edx-platform ------------------------------- 0.71s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | install packages needed for single server ----------------------------- 0.69s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Install apparmor utils system pkg ------------------------ 0.69s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | install memcached ----------------------------------------------------- 0.67s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | put sandbox apparmor profile in complain mode ------------ 0.64s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | Install Elasticsearch repo key ----------------------------------- 0.61s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install python pymongo for mongo_user ansible module --------------------- 0.60s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE -- 0.59s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Create common directories ----------------------------------------------- 0.57s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create edxapp user dirs ------------------------------------------------- 0.54s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create {{ item }} application config ------------------------------------ 0.53s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Update CA Certificates -------------------------------------------------- 0.52s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create {{ item }} yaml application config ------------------------------- 0.50s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:oraclejdk | update alternatives java --------------------------------------------- 0.50s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | put code sandbox into aa-enforce or aa-complain mode, depending on EDXAPP_SANDBOX_ENFORCE -- 0.47s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | bundle install ---------------------------------------------------------- 0.45s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create {{ item }} yaml auth file ---------------------------------------- 0.45s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create {{ item }} auth file --------------------------------------------- 0.40s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Copy the templates to their respestive destination ---------------------- 0.38s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | create database users ------------------------------------------------- 0.32s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | setup the migration db user ------------------------------------------- 0.31s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | create databases ------------------------------------------------------ 0.30s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | writing {{ item }} supervisor script ------------------------------------ 0.30s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | create mongo dirs -------------------------------------------------------- 0.30s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | add gunicorn configuration files ---------------------------------------- 0.28s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Add git apt repository -------------------------------------------------- 0.27s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:nltk | download nltk data -------------------------------------------------------- 0.26s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:nltk | create the nltk data directory and subdirectories ------------------------- 0.26s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | create directories ----------------------------------------------- 0.26s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create symlinks from the venv bin dir ----------------------------------- 0.25s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create web-writable edxapp data dirs ------------------------------------ 0.23s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | set global ruby {{ edxapp_ruby_version }} -------------------------------- 0.23s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | check ruby {{ forum_ruby_version }} installed ---------------------------- 0.22s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | update devpi supervisor configuration ------------------------------------ 0.22s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | create edx_ansible app and venv dir -------------------------------- 0.22s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | create super user with js ------------------------------------------------ 0.22s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | ensure devpi is started -------------------------------------------------- 0.21s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | update supervisor configuration ------------------------------------- 0.20s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Ensure Anonymous user(s) does not exist ---------------------------------- 0.20s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | check ruby {{ edxapp_ruby_version }} installed --------------------------- 0.20s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:vhost | Copy the templates to their respestive destination ----------------------- 0.19s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | create a symlink for venv python, pip ------------------------------------ 0.18s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create service user accessible dirs --------------------------------- 0.17s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | create devpi application directories ------------------------------------- 0.17s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | create the devpi data directory, needs write access by the service user -- 0.17s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create supervisor directories --------------------------------------- 0.17s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create log directories for service variants ----------------------------- 0.16s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | ensure ruby_env exists --------------------------------------------------- 0.16s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | setup the edxapp env ---------------------------------------------------- 0.15s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | writing celery worker supervisor script --------------------------------- 0.15s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | setup the forum env ------------------------------------------------------ 0.15s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | writing supervisor script ------------------------------------------------ 0.14s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Create the virtualenv to install the Python requirements ---------------- 0.14s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | rehash ------------------------------------------------------------------- 0.14s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | create the supervisor wrapper -------------------------------------------- 0.14s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:oraclejdk | create jvm dir ------------------------------------------------------- 0.14s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:oraclejdk | create symlink expected by elasticsearch ----------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | set global ruby {{ forum_ruby_version }} --------------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | create the supervisor config --------------------------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | start mysql -------------------------------------------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | add ppas for current versions of nodejs --------------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:vhost | restart ssh -------------------------------------------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create supervisor upstart job --------------------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | create rbenv user {{ edxapp_user }} -------------------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | writing edxapp supervisor script ---------------------------------------- 0.13s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create supervisor master config ------------------------------------- 0.12s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | set git fetch.prune to ignore deleted remote refs ----------------------- 0.12s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | add the mongodb repo to the sources list --------------------------------- 0.12s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | add edx ppa apt key ----------------------------------------------------- 0.12s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | start apparmor service ----------------------------------- 0.12s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create supervisor service user -------------------------------------- 0.12s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | stop mongod service ------------------------------------------------------ 0.12s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | start mongo service ------------------------------------------------------ 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mysql | Add MySQL experimental apt key ------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Create edxapp sandbox user ------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:oraclejdk | add JAVA_HOME for Oracle Java ---------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | add the mongodb signing key ---------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | create application user -------------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Set the npm registry ---------------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | set up edxapp .npmrc ---------------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | create update script ----------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | create devpi user -------------------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | if ruby-build exists, which versions we can install ---------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | start supervisor ---------------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | write the pre_suprevisor python script ------------------------------ 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | copy configuration template ---------------------------------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | drop the elasticsearch config ------------------------------------ 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | Ensure elasticsearch is enabled and started ---------------------- 0.11s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | update elasticsearch defaults ------------------------------------ 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | drop the elasticsearch logging config ---------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | write out sandbox user sudoers config -------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create application user --------------------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | write out apparmor code sandbox config ------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | setup the newrelic python agent config ---------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | openid workaround ------------------------------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create application user ------------------------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | install ruby-build ------------------------------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | create temporary directory ----------------------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Add user www-data ------------------------------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | create a symlink for venv supervisor ------------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:devpi | create a symlink for supervisor config ----------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | create application user -------------------------------------------- 0.10s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | setup the admin db user ----------------------------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create edxapp configuration dir ----------------------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create ssh script for git (not authenticated) --------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create edxapp var dir --------------------------------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | upload sudo config for key forwarding as root --------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Use liblapack.so.3gf in Ubuntu 12.04 --------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | check ruby-build installed ----------------------------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | setup the read-only db user ------------------------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | remove temporary directory ----------------------------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | create rbenv dir if it does not exist ------------------------------------ 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | remove rbenv version of rake --------------------------------------------- 0.09s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | make the course data dir ------------------------------------------------ 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Check which `liblapac` to use ---------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | drop super user script --------------------------------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Use libblas.so.3gf in Ubuntu 12.04 ----------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | (bootstrap) load code sandbox profile -------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create edxapp log dir --------------------------------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create symlinks from the repo dir --------------------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | make Gemfile.lock writable by common_web_user ---------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | delete super user script ------------------------------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Check which `libblas` to use ----------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create directory to import the courses from github ---------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Set the npm registry permissions ---------------------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | create a symlink for ansible-playbook ------------------------------ 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | create a symlink for update.sh ------------------------------------- 0.08s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | create a symlink for the playbooks dir ----------------------------- 0.07s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | create {{ forum_data_dir }} ---------------------------------------------- 0.07s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | create forum app dir ----------------------------------------------------- 0.07s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | move mongodb to {{ mongo_data_dir }} ------------------------------------- 0.07s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | check to see that MongoDB 2.4 is not installed --------------------------- 0.07s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | check if instance is vagrant -------------------------------------------- 0.07s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | ensure edxapp_workers has started --------------------------------------- 0.04s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install sandbox requirements into regular venv -------------------------- 0.04s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | restart edxapp_workers -------------------------------------------------- 0.04s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | create allowed command links ---------------------------------------------- 0.03s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | assign admin role to admin users ------------------------------------------ 0.03s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | create .profile for all users --------------------------------------------- 0.03s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | create ~/bin directory ---------------------------------------------------- 0.03s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | get github key(s) and update the authorized_keys file --------------------- 0.03s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | create bashrc file for normal users --------------------------------------- 0.03s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | create bashrc file for restricted users ----------------------------------- 0.02s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | change home directory ownership to root for restricted users -------------- 0.02s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | modify shell for restricted users ----------------------------------------- 0.02s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | create the users ---------------------------------------------------------- 0.02s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create a symlink for supervisor cfg --------------------------------- 0.02s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install python private requirements ------------------------------------- 0.02s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | enable {{ item }} supervisor script ------------------------------------- 0.02s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:nltk | unarchive nltk data ------------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | restart edxapp ---------------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | install ruby {{ forum_ruby_version }} ------------------------------------ 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | gather {{ item }} static assets with paver ------------------------------ 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create pre_supervisor upstart job ----------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | fail rbenv_ruby_version required for role -------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | ensure edxapp has started ----------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | wait for web port to be available ----------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | create rbenv user {{ common_web_user }} ---------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | fail rbenv_user required for role ---------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | install ruby {{ edxapp_ruby_version }} ----------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:rbenv | fail rbenv_dir required for role ----------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Use liblapack.so.3 in Ubuntu 14.04 ----------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | checkout theme ---------------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install CAS attribute module -------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create a symlink for supervisortctl --------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:supervisor | create helper script for running supervisor ------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | grant full sudo access to the edxadmin group ------------------------------ 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | verify 2.4 not installed ------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | create a mongodb user ---------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | enable celery worker supervisor script ---------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install python extra requirements --------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | ensure sudoers.d is read -------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | install security packages --------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | code sandbox | Use libblas.so.3 in Ubuntu 14.04 ------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | update /etc/hosts ------------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | create sudoers file from template ----------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | restart rsyslogd -------------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | run hostname ------------------------------------------------------------ 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | create ssh script for git (authenticated) ------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:forum | enable the supervisor config --------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | create the edxadmin group ------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | update supervisor configuration ----------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | debug -------------------------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | enable edxapp supervisor script ----------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | compile GHOST --------------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | create a database for the hive metastore ------------------------------ 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | configure periodic unattended-upgrades -------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | remove mongo 2.4 if present ---------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | Create the file to initialize the mongod replica set --------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | remove read-only ssh key ------------------------------------------------ 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | Initialize the replication set ------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | update /etc/hostname ---------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | copy mongodb key file ---------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install read-only ssh key ----------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | Check if we are vulnerable -------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | create api user for the analytics api --------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install backup-mongo-to-s3 script ---------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | only unattended-upgrade from security repo ---------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | GHOST.c --------------------------------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | set_fact edxapp_installed=true ------------------------------------------ 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | get instance information ------------------------------------------------ 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | tag instance with edxapp theme version --------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | setup the edx-notes-api db user --------------------------------------- 0.01s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxlocal | create read-only reports user for the analytics-api ------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | update all system packages -------------------------------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | configure s3cmd ---------------------------------------------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | tag instance with edx_platform version ---------------------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | schedule backup-mongo-to-3s crontab -------------------------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | Check again and fail if we are still vulnerable ----------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | disable unattended-upgrades ------------------------------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | disable security only updates on unattended-upgrades ------------------ 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:mongo | install s3cmd ------------------------------------------------------------ 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | Apply bash security update if we are vulnerable ----------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:security | Apply glibc security update if we are vulnerable ---------------------- 0.00s | |
==> default: INFO:ansible.callback_plugins.datadog_tasks_timing: | |
==> default: Playbook vagrant-devstack finished: Mon Jan 4 21:47:29 2016, 253 total tasks. 0:12:03 elapsed. | |
==> default: to retry, use: --limit @/root/vagrant-devstack.retry | |
==> default: localhost : ok=241 changed=84 unreachable=0 failed=1 | |
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. | |
[db@mastodon:~/devstack] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment