I'm trying to install OpenEdx Devstack. Following is the error I'm facing ==> default: TASK: [elasticsearch | Install Elasticsearch repo key] ************************ ==> default: failed: [localhost] => {"cmd": "apt-key adv --keyserver ha.pool.sks-keyservers.net --recv 46095ACC8548582C1A2699A9D27D666CD88E42B4", "failed": true, "rc": 2} ==> default: stderr: gpg: requesting key D88E42B4 from hkp server ha.pool.sks-keyservers.net ==> default: gpg: keyserver timed out ==> default: gpg: keyserver receive failed: keyserver error ==> default: stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.y5UWlpBXXc --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver ha.pool.sks-keyservers.net --recv 46095ACC8548582C1A2699A9D27D666CD88E42B4 ==> default: msg: gpg: requesting key D88E42B4 from hkp server ha.pool.sks-keyservers.net ==> default: gpg: keyserver timed out ==> default: gpg: keyserver receive failed: keyserver error ==> default: ==> default: FATAL: all hosts have already failed -- aborting
I'm behind a corporate firewall. Any help is appreciated. Attached the log file Thanks Mahesh -- You received this message because you are subscribed to the Google Groups "General Open edX discussion" group. To view this discussion on the web visit https://groups.google.com/d/msgid/edx-code/2a6113dd-70d6-4cf5-8c4c-7451d3aa2e73%40googlegroups.com.
Capturing output to logs/install-20170517-204312.log Installation started at 2017-05-17 20:43:12 Installing release 'open-release/eucalyptus.3' ######################################################################## 100.0% Installing the 'vagrant-vbguest' plugin. This can take a few minutes... Installed the plugin 'vagrant-vbguest (0.14.2)'! Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'eucalyptus-devstack-2016-09-01'... [KProgress: 10% [KProgress: 20% [KProgress: 30% [KProgress: 40% [KProgress: 50% [KProgress: 60% [KProgress: 70% [KProgress: 80% [KProgress: 90% [K==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: devstack_default_1495034112168_13666 ==> 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: Warning: Connection reset. Retrying... default: Warning: Remote connection disconnect. Retrying... default: Warning: Connection reset. Retrying... default: Warning: Remote connection disconnect. Retrying... default: Warning: Connection reset. Retrying... default: Warning: Remote connection disconnect. Retrying... default: Warning: Connection reset. Retrying... default: Warning: Remote connection disconnect. Retrying... default: Warning: Connection reset. Retrying... default: Warning: Remote connection disconnect. Retrying... ==> 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: 5.0.20 Going on, assuming VBoxService is correct... [default] GuestAdditions versions on your host (5.1.22) and guest (5.0.20) do not match. Got different reports about installed GuestAdditions version: Virtualbox on your host claims: 4.2.0 VBoxService inside the vm claims: 5.0.20 Going on, assuming VBoxService is correct... 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 172 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 1s (55.9 kB/s) (Reading database ... 106069 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 /usr/share/virtualbox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso mount: warning: /mnt seems to be mounted read-only. Installing Virtualbox Guest Additions 5.1.22 - guest version is 5.0.20 Verifying archive integrity... All good. Uncompressing VirtualBox 5.1.22 Guest Additions for Linux........... VirtualBox Guest Additions installer Removing installed version 5.0.20 of VirtualBox Guest Additions... Stopping VirtualBox Additions ...fail! (Cannot unload module vboxguest) Removing existing VirtualBox DKMS kernel modules ...done. Removing existing VirtualBox non-DKMS kernel modules ...done. Stopping VirtualBox Guest Addition service ...done. Copying additional installer modules ... Installing additional modules ... vboxadd.sh: Starting the VirtualBox Guest Additions. This system appears to be running a version of Mesa with a known problem which will prevent VirtualBox 3D pass-through from working. See https://bugs.freedesktop.org/show_bug.cgi?id=26663 The following, run as root should fix this, though you will have to run it again if the system version of Mesa is updated: strip -R .note.ABI-tag /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 ldconfig An error occurred during installation of VirtualBox Guest Additions 5.1.22. Some functionality may not work as intended. In most cases it is OK that the "Window System drivers" installation failed. vboxadd.sh: Starting the VirtualBox Guest Additions. You may need to restart the Window System (or just restart the guest system) to enable the Guest Additions. Got different reports about installed GuestAdditions version: Virtualbox on your host claims: 5.0.20 VBoxService inside the vm claims: 5.1.22 Going on, assuming VBoxService is correct... Got different reports about installed GuestAdditions version: Virtualbox on your host claims: 5.0.20 VBoxService inside the vm claims: 5.1.22 Going on, assuming VBoxService is correct... ==> 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: 5.0.20 default: VirtualBox Version: 5.1 ==> default: Configuring and enabling network interfaces... ==> default: Exporting NFS shared folders... ==> default: Preparing to edit /etc/exports. Administrator privileges will be required... ● nfs-server.service - NFS server and services Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled) Active: active (exited) since Wed 2017-05-17 20:38:14 IST; 17min ago Process: 1012 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) Process: 1006 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 1012 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service May 17 20:38:13 mahesh-PC systemd[1]: Starting NFS server and services... May 17 20:38:13 mahesh-PC exportfs[1006]: exportfs: Failed to stat /home/mahesh/musein/devstack/src: No such file or directory May 17 20:38:13 mahesh-PC exportfs[1006]: exportfs: Failed to stat /home/mahesh/musein/devstack/programs: No such file or directory May 17 20:38:13 mahesh-PC exportfs[1006]: exportfs: Failed to stat /home/mahesh/musein/devstack/ecommerce-worker: No such file or directory May 17 20:38:13 mahesh-PC exportfs[1006]: exportfs: Failed to stat /home/mahesh/musein/devstack/ecommerce: No such file or directory May 17 20:38:13 mahesh-PC exportfs[1006]: exportfs: Failed to stat /home/mahesh/musein/devstack/cs_comments_service: No such file or directory May 17 20:38:13 mahesh-PC exportfs[1006]: exportfs: Failed to stat /home/mahesh/musein/devstack/themes: No such file or directory May 17 20:38:14 mahesh-PC exportfs[1006]: exportfs: Failed to stat /home/mahesh/musein/devstack/edx-platform: No such file or directory May 17 20:38:14 mahesh-PC systemd[1]: Started NFS server and services. exportfs: duplicated export entries: exportfs: 192.168.33.10:/home/mahesh/musein/devstack/edx-platform exportfs: 192.168.33.10:/home/mahesh/musein/devstack/edx-platform exportfs: duplicated export entries: exportfs: 192.168.33.10:/home/mahesh/musein/devstack/themes exportfs: 192.168.33.10:/home/mahesh/musein/devstack/themes exportfs: duplicated export entries: exportfs: 192.168.33.10:/home/mahesh/musein/devstack/cs_comments_service exportfs: 192.168.33.10:/home/mahesh/musein/devstack/cs_comments_service exportfs: duplicated export entries: exportfs: 192.168.33.10:/home/mahesh/musein/devstack/ecommerce exportfs: 192.168.33.10:/home/mahesh/musein/devstack/ecommerce exportfs: duplicated export entries: exportfs: 192.168.33.10:/home/mahesh/musein/devstack/ecommerce-worker exportfs: 192.168.33.10:/home/mahesh/musein/devstack/ecommerce-worker exportfs: duplicated export entries: exportfs: 192.168.33.10:/home/mahesh/musein/devstack/programs exportfs: 192.168.33.10:/home/mahesh/musein/devstack/programs exportfs: duplicated export entries: exportfs: 192.168.33.10:/home/mahesh/musein/devstack/src exportfs: 192.168.33.10:/home/mahesh/musein/devstack/src ==> default: Mounting NFS shared folders... ==> default: Running provisioner: shell... default: Running: inline script ==> default: ==> default: PLAY [Deploy the edx_ansible on AWS] ****************************************** ==> default: ==> default: GATHERING FACTS *************************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [server_utils | Install ubuntu system packages] ************************* ==> default: ok: [localhost] => (item=ack-grep,mosh,curl,tree,screen,tmux,curl,vim-tiny,dnsutils,inetutils-telnet,netcat) ==> default: ==> default: TASK: [user | Install debian packages user role needs] ************************ ==> default: ok: [localhost] => (item=python-httplib2) ==> 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 | Check the ssh key(s) for user(s) over github] ******************* ==> default: skipping: [localhost] ==> default: ==> default: TASK: [user | debug ] ********************************************************* ==> 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 | stat ] ******************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [common | Update CA Certificates] *************************************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [common | stat ] ******************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [common | Update CA Trust] ********************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [common | Add common_users] *********************** ==> default: ********************** ==> default: ok: [localhost] => (item=www-data) ==> default: ok: [localhost] => (item=syslog) ==> default: ==> default: TASK: [common | check if instance is vagrant] ********************************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [common | add 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,acl,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev) ==> default: ==> default: TASK: [common | Install role-independent useful system packages] ************** ==> default: skipping: [localhost] ==> 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: ok: [localhost] => (item=virtualenvwrapper==4.7.1) ==> default: ==> default: TASK: [common | update /etc/hosts] ******************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [common | update /etc/hostname] ***************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [common | run hostname] ************************************************* ==> default: skipping: [localhost] ==> default: ==> default: TASK: [common | Copy the templates to their respestive destination] *********** ==> default: ok: [localhost] => (item={'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': '0555'}) ==> 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: [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] => (item=python-pip,python-apt,libmysqlclient-dev,git-core,build-essential,python-dev,libxml2-dev,libxslt1-dev,curl,python-yaml,python-mysqldb) ==> default: ==> default: TASK: [edx_ansible | Git checkout edx_ansible repo into edx_ansible_code_dir] *** ==> default: changed: [localhost] ==> default: ==> default: TASK: [edx_ansible | Install edx_ansible venv requirements] ******************* ==> default: ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/pre-requirements.txt) ==> default: ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/requirements.txt) ==> default: ==> default: TASK: [edx_ansible | Create update and show-repo-heads script] **************** ==> default: ok: [localhost] => (item={'dest': 'update', 'src': 'update.j2'}) ==> default: ok: [localhost] => (item={'dest': 'show-repo-heads', 'src': 'show-repo-heads.j2'}) ==> default: ==> default: TASK: [edx_ansible | Create symlinks for update and show-repo-heads scripts] *** ==> default: ok: [localhost] => (item=update) ==> default: ok: [localhost] => (item=show-repo-heads) ==> default: ==> default: TASK: [edx_ansible | Create a symlink for ansible-playbook] ******************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [edx_ansible | Create a symlink for the playboo ==> default: ks dir] ****************** ==> default: ok: [localhost] ==> default: ==> default: PLAY RECAP ******************************************************************** ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | Install a bunch of system packages on which edx_ansible relies ---- 40.96s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:server_utils | Install ubuntu system packages ----------------------------------- 32.48s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | Git checkout edx_ansible repo into edx_ansible_code_dir ----------- 26.85s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:user | Install debian packages user role needs ---------------------------------- 18.84s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | pip install virtualenv -------------------------------------------------- 7.74s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Update CA Certificates -------------------------------------------------- 6.05s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | Install edx_ansible venv requirements ------------------------------ 5.31s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Create common directories ----------------------------------------------- 1.93s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Copy the templates to their respestive destination ---------------------- 1.60s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:common | Add git apt repository -------------------------------------------------- 0.96s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing: ==> default: Playbook edx_ansible finished: Wed May 17 15:28:22 2017, 55 total tasks. 0:02:29 elapsed. ==> default: localhost : ok=29 changed=3 unreachable=0 failed=0 ==> default: ==> default: PLAY [all] ******************************************************************** ==> default: ==> default: GATHERING FACTS *************************************************************** ==> default: ok: [localhost] ==> 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] => (item=python-pip,python-apt,libmysqlclient-dev,git-core,build-essential,python-dev,libxml2-dev,libxslt1-dev,libffi-dev,curl,python-yaml,python-mysqldb) ==> default: ==> default: TASK: [{{role}} | Git checkout edx_ansible repo into edx_ansible_code_dir] **** ==> default: ok: [localhost] ==> default: ==> default: TASK: [{{role}} | 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: [{{role}} | Create update and show-repo-heads script] ******************* ==> default: changed: [localhost] => (item={'dest': 'update', 'src': 'update.j2'}) ==> default: ok: [localhost] => (item={'dest': 'show-repo-heads', 'src': 'show-repo-heads.j2'}) ==> default: changed: [localhost] => (item={'dest': 'pre-box', 'src': 'pre-box.j2'}) ==> default: ==> default: TASK: [{{role}} | Create symlinks for update and show-repo-heads scripts] ***** ==> default: ok: [localhost] => (item=update) ==> default: ok: [localhost] => (item=show-repo-heads) ==> 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: PLAY RECAP ******************************************************************** ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Install a bunch of system packages on which edx_ansible relies ------- 19.23s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Git checkout edx_ansible repo into edx_ansible_code_dir -------------- 16.87s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Install edx_ansible venv requirements --------------------------------- 2.66s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Create update and show-repo-heads script ------------------------------ 1.15s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Create edx_ansible app and venv dir ----------------------------------- 0.80s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Create symlinks for update and show-repo-heads scripts ---------------- 0.60s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Create application user ----------------------------------------------- 0.37s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Create a symlink for ansible-playbook --------------------------------- 0.32s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:{{role}} | Create a symlink for the playbooks dir -------------------------------- 0.29s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing: ==> default: Playbook run_role finished: Wed May 17 15:29:07 2017, 9 total tasks. 0:00:42 elapsed. ==> default: localhost : ok=10 changed=1 unreachable=0 failed=0 ==> default: ==> default: PLAY [Configure instance(s)] ************************************************** ==> default: ==> default: GATHERING FACTS *************************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [server_utils | Install ubuntu system packages] ************************* ==> default: ok: [localhost] => (item=ack-grep,mosh,curl,tree,screen,tmux,curl,vim-tiny,dnsutils,inetutils-telnet,netcat) ==> default: ==> default: TASK: [user | Install debian packages user role needs] ************************ ==> default: ok: [localhost] => (item=python-httplib2) ==> 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 | Check the ssh key(s) for user(s) over github] ******************* ==> default: skipping: [localhost] ==> default: ==> default: ==> default: TASK: [user | debug ] ********************************************************* ==> default: skipping: [localhost] ==> default: ==> 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: ==> 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 | stat ] ******************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [common | Update CA Certificates] *************************************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [common | stat ] ******************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [common | Update CA Trust] ********************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [common | Add common_users] ********************************************* ==> default: ok: [localhost] => (item=www-data) ==> default: ok: [localhost] => (item=syslog) ==> default: ==> default: TASK: [common | check if instance is vagrant] ********************************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [common | add 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: ==> default: TASK: [common | Install role-independent useful system packages] ************** ==> default: ok: [localhost] => (item=ntp,acl,lynx-cur,logrotate,rsyslog,git,unzip,python2.7=2.7.10-0+precise1,python-pip,python2.7-dev) ==> default: ==> default: TASK: [common | Install role-independent useful system packages] ************** ==> default: skipping: [localhost] ==> 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==4.7.1) ==> default: ==> default: TASK: [common | update /etc/hosts] ******************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [common | update /etc/hostname] ***************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [common | run hostname] ************************************************* ==> default: skipping: [localhost] ==> default: ==> default: TASK: [common | Copy the templates to their respestive destination] *********** ==> default: ok: [localhost] => (item={'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': '0555'}) ==> 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 | Create all service directories] ******************************** ==> default: ok: [localhost] => (item={'key': 'home', 'value': {'owner': 'root', 'path': u'/edx/app/vhost', 'group': 'root', 'mode': '0755'}}) ==> default: ok: [localhost] => (item={'key': 'data', 'value': {'owner': 'root', 'path': u'/edx/var/vhost', 'group': 'root', 'mode': '0700'}}) ==> default: ok: [localhost] => (item={'key': 'logs', 'value': {'owner': 'syslog', 'path': u'/edx/var/log/vhost', 'group': 'syslog', 'mode': '0650'}}) ==> default: ==> default: TASK: [vhost | Force logrotate on supervisor stop] **************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [vhost | Update /etc/dhcp/dhclient.conf] ******************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [vhost | Copy the MOTD template in place] ******************************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [vhost | Update sshd logging to VERBOSE] ******************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [vhost | Update sshd logging to VERBOSE] ******************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [vhost | Restart ssh] *************************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [vhost | Restart ssh] *************************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edx_ansible | Create application user] ********************************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [edx_ansible | Create edx_ansible app and venv dir] ********************* ==> default: ok: [localhost] => (item=/edx/app/edx_ansible) ==> default: ok: [localhost] => (item=/edx/var/edx_ansible) ==> default: ok: [localhost] => (item=/edx/app/edx_ansible/venvs) ==> default: ==> default: TASK: [edx_ansible | Install a bunch of system packages on which edx_ansible relies] *** ==> default: ok: [localhost] => (item=python-pip,python-apt,libmysqlclient-dev,git-core,build-essential,python-dev,libxml2-dev,libxslt1-dev,libffi-dev,curl,python-yaml,python-mysqldb) ==> default: ==> default: TASK: [edx_ansible | Git checkout edx_ansible repo into edx_ansible_code_dir] *** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edx_ansible | Install edx_ansible venv requirements] ******************* ==> default: ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/pre-requirements.txt) ==> default: ok: [localhost] => (item=/edx/app/edx_ansible/edx_ansible/requirements.txt) ==> default: ==> default: TASK: [edx_ansible | Create update and show-repo-heads script] **************** ==> default: changed: [localhost] => (item={'dest': 'update', 'src': 'update.j2'}) ==> default: ok: [localhost] => (item={'dest': 'show-repo-heads', 'src': 'show-repo-heads.j2'}) ==> default: ok: [localhost] => (item={'dest': 'pre-box', 'src': 'pre-box.j2'}) ==> default: ==> default: TASK: [edx_ansible | Create symlinks for update and show-repo-heads scripts] *** ==> default: ok: [localhost] => (item=update) ==> default: ok: [localhost] => (item=show-repo-heads) ==> default: ==> default: TASK: [edx_ansible | Create a symlink for ansible-playbook] ******************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [edx_ansible | Create a symlink for the playbooks dir] ****************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [mysql | Look for mysql 5.6] ******************************************** ==> default: failed: [localhost] => {"changed": false, "cmd": "dpkg -s mysql-server", "delta": "0:00:00.074527", "end": "2017-05-17 15:31:15.655525", "rc": 1, "start": "2017-05-17 15:31:15.580998", "stdout_lines": [], "warnings": []} ==> default: stderr: Package `mysql-server' is not installed and no info is available. ==> default: Use dpkg --info (= dpkg-deb --info) to examine archive files, ==> default: and dpkg --contents (= dpkg-deb --contents) to list their contents. ==> default: ...ignoring ==> default: ==> default: TASK: [mysql | Important message] ********************************************* ==> default: skipping: [localhost] ==> default: ==> default: TASK: [mysql | pause ] ******************************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [mysql | Stop mysql service] ******************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [mysql | Remove experimental apt repository] **************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [mysql | Remove experimental version of mysql] ************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [mysql | Add MySQL community apt key] *********************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [mysql | Install MySQL community apt repositories] ********************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [mysql | Install mysql-5.6 and dependencies] **************************** ==> default: changed: [localhost] => (item=mysql-server-5.6,python-mysqldb) ==> default: ==> default: TASK: [mysql | Start mysql] *************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [mysql | Ensure Anonymous user(s) does not exist] *********************** ==> default: ok: [localhost] => (item=localhost) ==> default: ok: [localhost] => (item=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: ok: [localhost] => (item=edxapp_csmh) ==> default: skipping: [localhost] ==> default: ok: [localhost] => (item=programs) ==> default: skipping: [localhost] ==> default: skipping: [localhost] ==> 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'edxapp_csmh', '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: skipping: [localhost] => (item={'db': u'', 'user': u'', 'pass': u''}) ==> default: skipping: [localhost] => (item={'db': u'', 'user': u'', 'pass': u''}) ==> 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: ok: [localhost] => (item=edxapp_csmh) ==> default: skipping: [localhost] ==> default: ok: [localhost] => (item=programs) ==> default: skipping: [localhost] ==> default: skipping: [localhost] ==> 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: [memcache | 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: ==> 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: changed: [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 and install backup-mongo-to-s3 script] ********* ==> default: skipping: [localhost] => (item={'dest': u'/edx/var/mongo-s3-backup.s3cfg', 'src': 'mongo-s3-backup-s3cfg.j2', 'mode': '0600'}) ==> default: skipping: [localhost] => (item={'dest': '/edx/bin/backup-mongo-to-s3.sh', 'src': 'backup-mongo-to-s3.j2', 'mode': '0700'}) ==> default: ==> default: TASK: [mongo | Schedule backup-mongo-to-3s crontab] *************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [rabbitmq | Install python-software-properties if debian] *************** ==> default: ok: [localhost] => (item=python-software-properties,gdebi) ==> default: ==> default: TASK: [rabbitmq | Fetch the rabbitmq server deb] ****************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Check if rabbit is installed] ******************************* ==> default: changed: [localhost] ==> default: ==> default: TASK: [rabbitmq | Install rabbit package using gdebi] ************************* ==> default: skipping: [localhost] ==> default: ==> default: TASK: [rabbitmq | Stop rabbit cluster] **************************************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [rabbitmq | Send sigterm to any running rabbitmq processes] ************* ==> default: changed: [localhost] ==> default: ==> default: TASK: [rabbitmq | Create rabbitmq edx directories] **************************** ==> default: ok: [localhost] => (item=/edx/app/rabbitmq) ==> default: ok: [localhost] => (item=/edx/var/log/rabbitmq) ==> default: ==> default: TASK: [rabbitmq | Add queue monitoring script] ******************************** ==> default: ok: [localhost] ==> default: ==> default: ==> default: TASK: [rabbitmq | Set up a cron job to run the script] ************************ ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | install logrotate configuration] **************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Create cookie directory] ************************************ ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Add rabbitmq erlang cookie] ********************************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Create rabbitmq config directory] *************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Add rabbitmq environment configuration] ********************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Add rabbitmq cluster configuration] ************************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Install plugins] ******************************************** ==> default: ok: [localhost] => (item=rabbitmq_management) ==> default: ==> default: TASK: [rabbitmq | Remove mnesia configuration] ******************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [rabbitmq | Start rabbit nodes] ***************************************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [rabbitmq | Wait for rabbit to start] *********************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Remove guest user] ****************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Add vhosts] ************************************************* ==> default: ok: [localhost] => (item=/) ==> default: ==> default: TASK: [rabbitmq | Add admin users] ******************************************** ==> default: ok: [localhost] => (item=[{'password': 'the example admin password', 'name': 'admin'}, '/']) ==> default: ok: [localhost] => (item=[{'password': 'edx', 'name': 'edx'}, '/']) ==> default: ok: [localhost] => (item=[{'password': 'celery', 'name': 'celery'}, '/']) ==> default: ==> default: TASK: [rabbitmq | Make queues mirrored] *************************************** ==> default: skipping: [localhost] => (item=/) ==> default: ==> default: ==> default: TASK: [rabbitmq | Install admin tools] **************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [rabbitmq | Ensure rabbitmqadmin attributes] **************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [supervisor | Create application and supervisor service user] *********** ==> default: ok: [localhost] => (item=supervisor) ==> default: ok: [localhost] => (item=www-data) ==> default: ==> default: TASK: [supervisor | Create supervisor and service user accessible directories] *** ==> default: ok: [localhost] => (item=/edx/app/supervisor) ==> default: ok: [localhost] => (item=/edx/app/supervisor/venvs/supervisor) ==> default: ok: [localhost] => (item=/edx/app/supervisor/conf.d) ==> default: ok: [localhost] => (item=/edx/app/supervisor/conf.available.d) ==> default: ==> default: TASK: [supervisor | Create supervisor directories] **************************** ==> default: ok: [localhost] => (item=/edx/var/supervisor) ==> default: ok: [localhost] => (item=/edx/var/log/supervisor) ==> default: ==> default: TASK: [supervisor | Install supervisor in its venv] *************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [supervisor | Install supervisor in its venv] *************************** ==> default: ok: [localhost] => (item=boto=="2.34.0") ==> default: ok: [localhost] => (item=python-simple-hipchat) ==> default: ==> default: TASK: [supervisor | Create supervisor upstart job] **************************** ==> default: 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: ok: [localhost] ==> default: ==> default: TASK: [supervisor | Create supervisor master config] ************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [supervisor | Remove a symlink for supervisortctl] ********************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [supervisor | Remove symlink for supervisor cfg] ************************ ==> default: ok: [localhost] => (item=/edx/app/supervisor/supervisord.conf) ==> default: ok: [localhost] => (item=/edx/app/supervisor/conf.d) ==> default: ==> default: TASK: [supervisor | Create helper script for running supervisor] ************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [supervisor | 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] => (item=build-essential,gfortran,graphviz,graphviz-dev,liblapack-dev,libmysqlclient-dev,libxml2-dev,libgeos-dev,libxslt1-dev,gettext,libjpeg8-dev,libpng12-dev,libxmlsec1-dev,swig) ==> default: ==> default: TASK: [nltk | Install unzip] ************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [nltk | create the nltk data directory and subdirectories] ************** ==> default: ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) ==> default: ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) ==> default: ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) ==> default: ==> default: TASK: [nltk | download nltk data] ********************************************* ==> default: ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) ==> default: ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) ==> default: ok: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) ==> default: ==> default: TASK: [nltk | unarchive nltk data] ******************************************** ==> default: skipping: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', 'path': 'taggers/maxent_treebank_pos_tagger'}) ==> default: ==> default: skipping: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', 'path': 'corpora/stopwords'}) ==> default: skipping: [localhost] => (item={'url': 'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', 'path': 'corpora/wordnet'}) ==> default: ==> default: TASK: [user | Install debian packages user role needs] ************************ ==> default: skipping: [localhost] ==> 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 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 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 | Check the ssh key(s) for user(s) over github] ******************* ==> 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 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 | debug ] ********************************************************* ==> default: skipping: [localhost] => (item={u'skipped': True, u'changed': False}) ==> 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 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 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 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 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 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: ==> 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 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 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 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: [add_user | create user groups] ***************************************** ==> default: skipping: [localhost] => (item=edx-themes) ==> default: ==> default: TASK: [add_user | create application user] ************************************ ==> default: skipping: [localhost] ==> default: ==> default: TASK: [add_user | ensure correct ownership of home directory] ***************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [add_user | create dirs for the user] *********************************** ==> default: skipping: [localhost] => (item=dirs) ==> default: ==> default: TASK: [git_clone | Set git fetch.prune to ignore deleted remote refs] ********* ==> default: skipping: [localhost] ==> default: ==> default: TASK: [git_clone | Validate git protocol] ************************************* ==> default: skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'release', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/var/edx-themes/edx-themes', 'SSH_KEY': None}) ==> default: ==> default: TASK: [git_clone | Install read-only ssh key] ********************************* ==> default: skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'release', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/var/edx-themes/edx-themes', 'SSH_KEY': None}) ==> default: ==> default: ==> default: TASK: [git_clone | Checkout code over ssh] ************************************ ==> default: skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'release', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/var/edx-themes/edx-themes', 'SSH_KEY': None}) ==> default: ==> default: TASK: [git_clone | Checkout code over https] ********************************** ==> default: skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'release', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/var/edx-themes/edx-themes', 'SSH_KEY': None}) ==> default: ==> default: TASK: [git_clone | Remove read-only ssh key] ********************************** ==> default: skipping: [localhost] => (item={'REPO': u'sample-themes.git', 'DOMAIN': u'github.com', 'VERSION': u'release', 'PROTOCOL': u'https', 'PATH': u'edx', 'DESTINATION': u'/edx/var/edx-themes/edx-themes', 'SSH_KEY': None}) ==> default: ==> default: TASK: [edx_themes | ensure edx-theme's group has read/write access to themes directory] *** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edx_themes | assign theme's group to all theme's directories] ********** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edx_themes | Add theme users to theme's group so that that have read/write access to themes directories] *** ==> default: skipping: [localhost] => (item=edxapp) ==> default: ==> default: TASK: [edxapp | create application user] ************************************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [edxapp | create edxapp user dirs] ************************************** ==> default: ok: [localhost] => (item={'path': u'/edx/app/edxapp'}) ==> default: ok: [localhost] => (item={'path': u'/edx/app/edxapp/.ssh'}) ==> default: ok: [localhost] => (item={'path': u'/edx/app/edxapp/venvs'}) ==> default: ok: [localhost] => (item={'path': u'/edx/var/edxapp/themes'}) ==> default: ok: [localhost] => (item={'path': u'/edx/var/edxapp/staticfiles'}) ==> default: ok: [localhost] => (item={'path': u'/edx/var/edxapp/course_static'}) ==> default: changed: [localhost] => (item={'path': u'/edx/var/edxapp/data'}) ==> default: ok: [localhost] => (item={'path': u'/edx/var/edxapp', 'mode': '0775'}) ==> default: ok: [localhost] => (item={'path': u'/edx/var/edxapp/course_repos', 'mode': '0775'}) ==> default: ==> default: TASK: [edxapp | make the course data dir] ************************************* ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | create edxapp log dir] **************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | create web-writable edxapp data dirs] ************************* ==> default: changed: [localhost] => (item=/edx/var/edxapp/data) ==> default: changed: [localhost] => (item=/edx/var/edxapp/uploads) ==> default: changed: [localhost] => (item=/edx/var/edxapp/media) ==> default: ==> default: TASK: [edxapp | add ppas for current versions of nodejs] ********************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | install system packages on which LMS and CMS rely] ************ ==> default: ok: [localhost] => (item=s3cmd,pkg-config,g++,apparmor-utils,curl,ipython,nodejs,ntp,libfreetype6-dev,libffi-dev) ==> default: ==> default: TASK: [edxapp | set up edxapp .npmrc] ***************************************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [edxapp | create log directories for service variants] ****************** ==> default: ok: [localhost] => (item=lms) ==> default: ok: [localhost] => (item=cms) ==> default: ==> default: TASK: [edxapp | code sandbox | Check which `libblas` to use] ****************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | code sandbox | Use libblas.so.3gf in Ubuntu] ****************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | code sandbox | Use libblas.so.3 in Ubuntu] ******************** ==> 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] **************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | code sandbox | Use liblapack.so.3 in Ubuntu] ****************** ==> 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 | create edxapp configuration dir] ****************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | copy the template to the desired location] ******************** ==> default: ok: [localhost] => (item={'dest': u'/edx/app/edxapp/edxapp_env', 'src': 'edxapp_env.j2', 'group': u'www-data', 'mode': '0644', 'owner': u'edxapp'}) ==> default: ok: [localhost] => (item={'dest': u'/edx/app/edxapp/newrelic.ini', 'src': 'newrelic.ini.j2', 'group': u'www-data', 'mode': '0644', 'owner': u'edxapp'}) ==> default: changed: [localhost] => (item={'dest': u'/tmp/edxapp_git_ssh.sh', 'src': 'git_ssh.sh.j2', 'group': u'edxapp', 'mode': '0750', 'owner': u'edxapp'}) ==> default: ==> default: TASK: [edxapp | install read-only ssh key] ************************************ ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edxapp | set git fetch.prune to ignore deleted remote refs] ************ ==> default: changed: [localhost] ==> default: ==> default: TASK: [edxapp | checkout edx-platform repo into {{ 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 Stanford-style theme] ******************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edxapp | Stat each requirements file with Github URLs to ensure it exists] *** ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/pre.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/github.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/post.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/paver.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt) ==> default: ==> default: TASK: [edxapp | Updating requirement files for git mirror] ******************** ==> default: changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036844.6878705, 'inode': 57017795, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1495036844.6678703, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1495036844.6878705, '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': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036844.0318651, 'inode': 57017790, 'isgid': False, 'size': 5427, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1495036844.015865, 'md5': 'ea809b3ce71df7107ac4126d32951081', 'isdir': False, 'ctime': 1495036844.0318651, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '9e55562ba7c2d16d3c273db637a2f74c710b2708', 'islnk': False}, 'changed': False}) ==> default: skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt'}, 'module_args': ''}, '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': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036843.783863, 'inode': 57017787, 'isgid': False, 'size': 4049, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1495036843.763863, 'md5': '4d3350ce55ae792c9006ab6d2c8b796b', 'isdir': False, 'ctime': 1495036843.783863, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'cf0948c12fec76c2ee6d251635418c42b35199bc', 'islnk': False}, 'changed': False}) ==> default: changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036844.5438693, 'inode': 57017794, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1495036844.367868, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1495036844.5438693, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False}) ==> default: changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036844.2758672, 'inode': 57017793, 'isgid': False, 'size': 127, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1495036844.259867, 'md5': '2a65af8b4655641ed531cff8dba51b20', 'isdir': False, 'ctime': 1495036844.2758672, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0811c372115d2a8b67471f58b390583e0ede870a', 'islnk': False}, 'changed': False}) ==> default: changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036843.9478645, 'inode': 57017789, 'isgid': False, 'size': 2206, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/edx-private.txt', 'xusr': False, 'atime': 1495036843.9318643, 'md5': 'a387ebae62e53bde12fe8a51e93373d6', 'isdir': False, 'ctime': 1495036843.9478645, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'ea1c559737ba55acf759e8a7821dd0a1a36a4606', 'islnk': False}, 'changed': False}) ==> default: changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036843.6798623, 'inode': 57017785, 'isgid': False, 'size': 313, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/post.txt', 'xusr': False, 'atime': 1495036843.6638622, 'md5': '1f8d2ca7aa01706f2859c25b8bede5f3', 'isdir': False, 'ctime': 1495036843.6798623, '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': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036843.5958617, 'inode': 57017784, 'isgid': False, 'size': 507, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/local.txt', 'xusr': False, 'atime': 1495036843.5798614, 'md5': '09046a50cef36e7ca9f622fd3b3b397f', 'isdir': False, 'ctime': 1495036843.5958617, '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': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036843.5118608, 'inode': 57017783, 'isgid': False, 'size': 411, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', 'xusr': False, 'atime': 1495036843.4958608, 'md5': 'e62d71c98cff3129bbe6333ad96f9b00', 'isdir': False, 'ctime': 1495036843.5118608, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '8f31577e172d28cddd2e202214e5dd24ab90a243', 'islnk': False}, 'changed': False}) ==> 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': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036873.4761052, 'inode': 57017963, 'isgid': False, 'size': 508, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/pre.txt', 'xusr': False, 'atime': 1495036873.4561052, 'md5': '7763b286c06275190831255964cf8238', 'isdir': False, 'ctime': 1495036873.556106, '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': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036874.03211, 'inode': 57017795, 'isgid': False, 'size': 5427, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/github.txt', 'xusr': False, 'atime': 1495036874.0161097, 'md5': 'ea809b3ce71df7107ac4126d32951081', 'isdir': False, 'ctime': 1495036874.1161106, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '9e55562ba7c2d16d3c273db637a2f74c710b2708', 'islnk': False}, 'changed': False}) ==> default: skipping: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt'}, 'module_args': ''}, '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': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036844.1158657, 'inode': 57017791, 'isgid': False, 'size': 308, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/local.txt', 'xusr': False, 'atime': 1495036844.0998657, 'md5': '49992f42d7d12edb909e994ddf6cad84', 'isdir': False, 'ctime': 1495036844.1158657, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '02bb3feb152f4a130117dbc38b85ea7fb0763992', 'islnk': False}, 'changed': False}) ==> default: changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036874.5681143, 'inode': 57017790, 'isgid': False, 'size': 4049, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/base.txt', 'xusr': False, 'atime': 1495036874.5481143, 'md5': '4d3350ce55ae792c9006ab6d2c8b796b', 'isdir': False, 'ctime': 1495036874.6921153, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': 'cf0948c12fec76c2ee6d251635418c42b35199bc', 'islnk': False}, 'changed': False}) ==> default: changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036875.1521192, 'inode': 57017787, 'isgid': False, 'size': 565, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/post.txt', 'xusr': False, 'atime': 1495036875.1361191, 'md5': '4bc5635ad55f23b28229e2901672c593', 'isdir': False, 'ctime': 1495036875.23612, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '12d41702bd09fbdd6c3291c11ff5434c68c743c2', 'islnk': False}, 'changed': False}) ==> default: changed: [localhost] => (item={'invocation': {'module_name': u'stat', 'module_complex_args': {'path': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt'}, 'module_args': ''}, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'stat': {'uid': 1000, 'exists': True, 'woth': False, 'mtime': 1495036875.7001238, 'inode': 57017794, 'isgid': False, 'size': 127, 'wgrp': False, 'isuid': False, 'isreg': True, 'pw_name': 'vagrant', 'gid': 1000, 'ischr': False, 'wusr': True, 'xoth': False, 'rusr': True, 'nlink': 1, 'issock': False, 'rgrp': True, 'gr_name': 'vagrant', 'path': '/edx/app/edxapp/edx-platform/requirements/edx/paver.txt', 'xusr': False, 'atime': 1495036875.6841235, 'md5': '2a65af8b4655641ed531cff8dba51b20', 'isdir': False, 'ctime': 1495036875.7841244, 'isblk': False, 'xgrp': False, 'dev': 20, 'roth': True, 'isfifo': False, 'mode': '0644', 'checksum': '0811c372115d2a8b67471f58b390583e0ede870a', '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: TASK: [edxapp | compiling all py files in the edx-platform repo] ************** ==> default: changed: [localhost] ==> default: ==> default: TASK: [edxapp | give other read permissions to the virtualenv] **************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | create application and auth config] *************************** ==> default: ok: [localhost] => (item=['lms', 'env']) ==> default: ok: [localhost] => (item=['lms', 'auth']) ==> default: ok: [localhost] => (item=['cms', 'env']) ==> default: ok: [localhost] => (item=['cms', 'auth']) ==> default: ==> default: TASK: [edxapp | create auth and application yaml config] ********************** ==> default: ok: [localhost] => (item=['lms', 'env']) ==> default: ok: [localhost] => (item=['lms', 'auth']) ==> default: ok: [localhost] => (item=['cms', 'env']) ==> default: ok: [localhost] => (item=['cms', 'auth']) ==> default: ==> default: TASK: [edxapp | writing {{ item }} supervisor script] ************************* ==> default: ok: [localhost] => (item=lms) ==> default: ok: [localhost] => (item=cms) ==> default: ==> default: TASK: [edxapp | writing edxapp and celery supervisor scripts] ***************** ==> default: ok: [localhost] => (item=edxapp.conf) ==> default: ok: [localhost] => (item=workers.conf) ==> default: ==> default: TASK: [edxapp | add gunicorn configuration files] ***************************** ==> default: ok: [localhost] => (item=lms) ==> default: ok: [localhost] => (item=cms) ==> default: ==> default: TASK: [edxapp | enable {{ item }} supervisor script] ************************** ==> default: skipping: [localhost] => (item=lms) ==> default: skipping: [localhost] => (item=cms) ==> default: ==> default: TASK: [edxapp | enable edxapp supervisor script] ****************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edxapp | enable celery worker supervisor script] *********************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edxapp | create helper scripts for managing edxapp] ******************** ==> default: ok: [localhost] => (item=['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-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 | Remove and recreate the staticfiles directory so nothing stale can exist] *** ==> default: skipping: [localhost] => (item=absent) ==> default: skipping: [localhost] => (item=directory) ==> default: ==> default: TASK: [edxapp | gather {{ item }} static assets with paver] ******************* ==> default: skipping: [localhost] => (item=lms) ==> default: ==> 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] ==> default: ==> default: TASK: [edxapp | ensure edxapp_workers has started] **************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edxapp | create symlinks from the venv bin dir and repo dir] *********** ==> default: ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/python) ==> default: ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/pip) ==> default: ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/django-admin.py) ==> default: ok: [localhost] => (item=/edx/app/edxapp/edx-platform/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 ] **************************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [edxapp | restart edxapp] *********************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [edxapp | restart edxapp_workers] *************************************** ==> default: skipping: [localhost] ==> default: ==> default: TASK: [oraclejdk | Install debian needed pkgs] ******************************** ==> default: ok: [localhost] => (item=curl) ==> default: ==> default: TASK: [oraclejdk | Download Oracle Java] ************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [oraclejdk | Create jvm dir] ******************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [oraclejdk | Untar Oracle Java] ***************************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [oraclejdk | Create symlink expected by elasticsearch] ****************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [oraclejdk | Update alternatives java] ********************************** ==> default: ok: [localhost] => (item=java) ==> default: ok: [localhost] => (item=javac) ==> default: ok: [localhost] => (item=javaws) ==> default: ==> default: TASK: [oraclejdk | Add JAVA_HOME for Oracle Java] ***************************** ==> default: ok: [localhost] ==> default: ==> default: TASK: [elasticsearch | Install Elasticsearch repo key] ************************ ==> default: failed: [localhost] => {"cmd": "apt-key adv --keyserver ha.pool.sks-keyservers.net --recv 46095ACC8548582C1A2699A9D27D666CD88E42B4", "failed": true, "rc": 2} ==> default: stderr: gpg: requesting key D88E42B4 from hkp server ha.pool.sks-keyservers.net ==> default: gpg: keyserver timed out ==> default: gpg: keyserver receive failed: keyserver error ==> default: stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.y5UWlpBXXc --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver ha.pool.sks-keyservers.net --recv 46095ACC8548582C1A2699A9D27D666CD88E42B4 ==> default: msg: gpg: requesting key D88E42B4 from hkp server ha.pool.sks-keyservers.net ==> default: gpg: keyserver timed out ==> default: gpg: keyserver receive failed: keyserver error ==> 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 }} ----------------- 1620.32s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | Install edx-platform npm dependencies --------------------------------- 652.24s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install python requirements ------------------------------------------- 252.47s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | compiling all py files in the edx-platform repo ----------------------- 178.41s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:elasticsearch | Install Elasticsearch repo key --------------------------------- 120.91s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | migrate ---------------------------------------------------------------- 64.17s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp | install system packages on which LMS and CMS rely ---------------------- 31.79s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:memcache | Install memcached ---------------------------------------------------- 24.62s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edx_ansible | Install a bunch of system packages on which edx_ansible relies ---- 20.33s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing:edxapp_common | Install system packages ----------------------------------------- 20.14s ==> default: INFO:ansible.callback_plugins.datadog_tasks_timing: ==> default: Playbook vagrant-devstack finished: Wed May 17 16:23:01 2017, 241 total tasks. 0:53:03 elapsed. ==> default: to retry, use: --limit @/root/vagrant-devstack.retry ==> default: localhost : ok=185 changed=33 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.