Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Capturing output to logs/install-20200403-021806.log
- Installation started at 2020-04-03 02:18:06
- Installing release 'open-release/ironwood.master'
- Reading package lists...
- Building dependency tree...
- Reading state information...
- python-software-properties is already the newest version (0.96.20.9).
- 0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
- gpg: keyring `/tmp/tmpstd7ll6y/secring.gpg' created
- gpg: keyring `/tmp/tmpstd7ll6y/pubring.gpg' created
- gpg: requesting key BA9EF27F from hkp server keyserver.ubuntu.com
- gpg: /tmp/tmpstd7ll6y/trustdb.gpg: trustdb created
- gpg: key BA9EF27F: public key "Launchpad Toolchain builds" imported
- gpg: Total number processed: 1
- gpg: imported: 1 (RSA: 1)
- OK
- Hit:1 http://ppa.launchpad.net/git-core/ppa/ubuntu xenial InRelease
- Hit:2 http://nginx.org/packages/ubuntu xenial InRelease
- Hit:3 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial InRelease
- Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
- Hit:5 http://us.archive.ubuntu.com/ubuntu xenial InRelease
- Hit:6 http://ppa.edx.org xenial InRelease
- Ign:7 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 InRelease
- Get:8 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
- Ign:9 http://packages.elastic.co/elasticsearch/1.5/debian stable InRelease
- Hit:10 http://packages.elastic.co/elasticsearch/1.5/debian stable Release
- Get:11 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release [3462 B]
- Get:12 http://us.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
- Get:13 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg [801 B]
- Ign:13 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg
- Hit:15 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2/multiverse amd64 Packages
- Hit:16 https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu xenial InRelease
- Fetched 329 kB in 2s (153 kB/s)
- Reading package lists...
- W: http://packages.elastic.co/elasticsearch/1.5/debian/dists/stable/Release.gpg: Signature by key 46095ACC8548582C1A2699A9D27D666CD88E42B4 uses weak digest algorithm (SHA1)
- W: GPG error: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D68FA50FEA312927
- W: The repository 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' is not signed.
- Reading package lists...
- Building dependency tree...
- Reading state information...
- Calculating upgrade...
- The following packages have been kept back:
- elasticsearch rabbitmq-server
- The following packages will be upgraded:
- mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell
- mongodb-org-tools
- 5 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
- Need to get 51.8 MB of archives.
- After this operation, 127 kB of additional disk space will be used.
- WARNING: The following packages cannot be authenticated!
- mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools
- mongodb-org
- E: There were unauthenticated packages and -y was used without --allow-unauthenticated
- Reading package lists...
- Building dependency tree...
- Reading state information...
- build-essential is already the newest version (12.1ubuntu2).
- g++ is already the newest version (4:5.3.1-1ubuntu1).
- gcc is already the newest version (4:5.3.1-1ubuntu1).
- libxmlsec1-dev is already the newest version (1.2.20-2ubuntu4).
- swig is already the newest version (3.0.8-0ubuntu3).
- curl is already the newest version (7.47.0-1ubuntu2.14).
- libfreetype6-dev is already the newest version (2.6.1-0.1ubuntu2.4).
- libmysqlclient-dev is already the newest version (5.7.29-0ubuntu0.16.04.1).
- libxml2-dev is already the newest version (2.9.3+dfsg1-1ubuntu0.7).
- libxslt1-dev is already the newest version (1.1.28-2.1ubuntu0.3).
- python-apt is already the newest version (1.1.0~beta1ubuntu0.16.04.8).
- python-dev is already the newest version (2.7.12-1~16.04).
- software-properties-common is already the newest version (0.96.20.9).
- python-pip is already the newest version (8.1.1-2ubuntu0.4).
- git-core is already the newest version (1:2.14.2-1~ppa0~ubuntu16.04.1).
- 0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
- Requirement already up-to-date: pip==9.0.3 in /usr/local/lib/python2.7/dist-packages
- You are using pip version 9.0.3, however version 20.0.2 is available.
- You should consider upgrading via the 'pip install --upgrade pip' command.
- Requirement already up-to-date: setuptools==39.0.1 in /usr/local/lib/python2.7/dist-packages
- You are using pip version 9.0.3, however version 20.0.2 is available.
- You should consider upgrading via the 'pip install --upgrade pip' command.
- Requirement already up-to-date: virtualenv==15.2.0 in /usr/local/lib/python2.7/dist-packages
- You are using pip version 9.0.3, however version 20.0.2 is available.
- You should consider upgrading via the 'pip install --upgrade pip' command.
- fatal: destination path 'configuration' already exists and is not an empty directory.
- Already on 'open-release/ironwood.master'
- Your branch is up to date with 'origin/open-release/ironwood.master'.
- From https://github.com/edx/configuration
- * [new branch] nedbat/test/j.a3 -> origin/nedbat/test/j.a3
- Already up to date.
- Requirement already satisfied: ansible==2.3.1.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 7))
- Requirement already satisfied: asn1crypto==0.24.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 8))
- Requirement already satisfied: awscli==1.15.19 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 9))
- Requirement already satisfied: bcrypt==3.1.4 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 10))
- Requirement already satisfied: boto3==1.7.14 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 11))
- Requirement already satisfied: boto==2.48.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 12))
- Requirement already satisfied: botocore==1.10.19 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 13))
- Requirement already satisfied: certifi==2018.4.16 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 14))
- Requirement already satisfied: cffi==1.11.5 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 15))
- Requirement already satisfied: chardet==3.0.4 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 16))
- Requirement already satisfied: colorama==0.3.7 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 17))
- Requirement already satisfied: cryptography==2.2.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 18))
- Requirement already satisfied: datadog==0.8.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 19))
- Requirement already satisfied: decorator==4.3.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 20))
- Requirement already satisfied: docopt==0.6.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 21))
- Requirement already satisfied: docutils==0.14 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 22))
- Requirement already satisfied: ecdsa==0.13 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 23))
- Requirement already satisfied: enum34==1.1.6 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 24))
- Requirement already satisfied: futures==3.2.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 25))
- Requirement already satisfied: idna==2.6 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 26))
- Requirement already satisfied: ipaddress==1.0.22 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 27))
- Requirement already satisfied: jinja2==2.8 in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 28))
- Requirement already satisfied: jmespath==0.9.3 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 29))
- Requirement already satisfied: markupsafe==1.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 30))
- Requirement already satisfied: mysql-python==1.2.5 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 31))
- Requirement already satisfied: networkx==1.11 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 32))
- Requirement already satisfied: paramiko==2.4.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 33))
- Requirement already satisfied: pathlib2==2.3.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 34))
- Requirement already satisfied: prettytable==0.7.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 35))
- Requirement already satisfied: pyasn1==0.4.3 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 36))
- Requirement already satisfied: pycparser==2.18 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 37))
- Requirement already satisfied: pycrypto==2.6.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 38))
- Requirement already satisfied: pymongo==3.2.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 39))
- Requirement already satisfied: pynacl==1.2.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 40))
- Requirement already satisfied: python-dateutil==2.7.3 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 41))
- Requirement already satisfied: python-simple-hipchat==0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 42))
- Requirement already satisfied: pyyaml==3.12 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 43))
- Requirement already satisfied: requests==2.18.4 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 44))
- Requirement already satisfied: rsa==3.4.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 45))
- Requirement already satisfied: s3transfer==0.1.13 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 46))
- Requirement already satisfied: scandir==1.7 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 47))
- Requirement already satisfied: simplejson==3.16.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 48))
- Requirement already satisfied: six==1.11.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 49))
- Requirement already satisfied: urllib3==1.22 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 50))
- Requirement already satisfied: wsgiref==0.1.2 in /usr/lib/python2.7 (from -r requirements.txt (line 51))
- Requirement already satisfied: setuptools in /usr/local/lib/python2.7/dist-packages (from ansible==2.3.1.0->-r requirements.txt (line 7))
- You are using pip version 9.0.3, however version 20.0.2 is available.
- You should consider upgrading via the 'pip install --upgrade pip' command.
- [WARNING]: While constructing a mapping from
- /var/tmp/configuration/playbooks/roles/forum/defaults/main.yml, line 75, column
- 3, found a duplicate dict key (RACK_ENV). Using last defined value only.
- [WARNING]: While constructing a mapping from
- /var/tmp/configuration/playbooks/roles/forum/defaults/main.yml, line 75, column
- 3, found a duplicate dict key (SINATRA_ENV). Using last defined value only.
- [WARNING]: While constructing a mapping from
- /var/tmp/configuration/playbooks/roles/forum/defaults/main.yml, line 75, column
- 3, found a duplicate dict key (SEARCH_SERVER). Using last defined value only.
- [WARNING]: While constructing a mapping from
- /var/tmp/configuration/playbooks/roles/forum/defaults/main.yml, line 75, column
- 3, found a duplicate dict key (MONGOHQ_URL). Using last defined value only.
- PLAY [Bootstrap instance(s)] ***************************************************
- TASK [python : Update apt-get] *************************************************
- changed: [localhost]
- TASK [python : Install packages] ***********************************************
- changed: [localhost] => (item=python-minimal)
- PLAY [Configure instance(s)] ***************************************************
- TASK [Gathering Facts] *********************************************************
- ok: [localhost]
- TASK [swapfile : Write swapfile] ***********************************************
- ok: [localhost]
- TASK [swapfile : Set swapfile permissions] *************************************
- ok: [localhost]
- TASK [swapfile : Create swapfile] **********************************************
- skipping: [localhost]
- TASK [swapfile : Enable swapfile] **********************************************
- skipping: [localhost]
- TASK [swapfile : Add swapfile to /etc/fstab] ***********************************
- ok: [localhost]
- TASK [swapfile : Configure vm.swappiness] **************************************
- skipping: [localhost]
- TASK [swapfile : Configure vm.vfs_cache_pressure] ******************************
- skipping: [localhost]
- TASK [server_utils : Check for expired edx key] ********************************
- skipping: [localhost]
- TASK [server_utils : remove expired edx key] ***********************************
- skipping: [localhost]
- TASK [server_utils : Install ubuntu system packages] ***************************
- skipping: [localhost] => (item=[])
- TASK [user : debug] ************************************************************
- skipping: [localhost]
- TASK [user : Create the edxadmin group] ****************************************
- skipping: [localhost]
- TASK [user : Ensure sudoers.d is read] *****************************************
- skipping: [localhost]
- TASK [user : Grant full sudo access to the edxadmin group] *********************
- skipping: [localhost]
- TASK [user : Create the users] *************************************************
- TASK [user : Assign admin role to admin users] *********************************
- TASK [user : Check the ssh key(s) for user(s) over github] *********************
- TASK [user : Print warning if github user(s) missing ssh key] ******************
- TASK [user : Halt if USER_FAIL_MISSING_KEYS is true and github user(s) missing ssh key] ***
- TASK [user : Get github key(s) and update the authorized_keys file] ************
- TASK [user : Create bashrc file for normal users] ******************************
- TASK [user : Create .profile for all users] ************************************
- TASK [user : Modify shell for restricted users] ********************************
- TASK [user : Create bashrc file for restricted users] **************************
- TASK [user : Create sudoers file from template] ********************************
- skipping: [localhost]
- TASK [user : Change home directory ownership to root for restricted users] *****
- TASK [user : Create ~/bin directory] *******************************************
- TASK [user : Create allowed command links] *************************************
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [common : Check Configuration Sources] ************************************
- TASK [common : stat] ***********************************************************
- skipping: [localhost]
- TASK [common : Update CA Certificates] *****************************************
- skipping: [localhost]
- TASK [common : stat] ***********************************************************
- skipping: [localhost]
- TASK [common : Update CA Trust] ************************************************
- skipping: [localhost]
- TASK [common : Add common_users] ***********************************************
- skipping: [localhost] => (item=www-data)
- skipping: [localhost] => (item=syslog)
- TASK [common : check if instance is vagrant] ***********************************
- skipping: [localhost]
- TASK [common : Add git apt repository] *****************************************
- skipping: [localhost]
- TASK [common : Add edX PPA apt key] ********************************************
- skipping: [localhost]
- TASK [common : Update expired apt keys] ****************************************
- skipping: [localhost]
- TASK [common : Add custom edX PPA] *********************************************
- skipping: [localhost]
- TASK [common : Install role-independent useful system packages] ****************
- skipping: [localhost] => (item=[])
- TASK [common : Install role-independent useful system packages from custom PPA] ***
- skipping: [localhost] => (item=[])
- TASK [common : Install role-independent useful system packages] ****************
- skipping: [localhost] => (item=[])
- TASK [common : Create common directories] **************************************
- skipping: [localhost] => (item={u'path': u'/edx/var'})
- skipping: [localhost] => (item={u'path': u'/edx/app'})
- skipping: [localhost] => (item={u'path': u'/edx/bin'})
- skipping: [localhost] => (item={u'path': u'/edx/etc'})
- skipping: [localhost] => (item={u'owner': u'syslog', u'path': u'/edx/var/log', u'group': u'syslog'})
- skipping: [localhost] => (item={u'path': u'/etc/logrotate.d/hourly'})
- skipping: [localhost] => (item={u'path': u'/etc/rsyslog.d/50-default.conf', u'state': u'absent'})
- TASK [common : upload sudo config for key forwarding as root] ******************
- skipping: [localhost]
- TASK [common : pip install virtualenv] *****************************************
- skipping: [localhost] => (item=pip==9.0.3)
- skipping: [localhost] => (item=setuptools==39.0.1)
- skipping: [localhost] => (item=virtualenv==15.2.0)
- skipping: [localhost] => (item=virtualenvwrapper==4.8.2)
- TASK [common : update /etc/hosts] **********************************************
- skipping: [localhost]
- TASK [common : update /etc/hostname] *******************************************
- skipping: [localhost]
- TASK [common : run hostname] ***************************************************
- skipping: [localhost]
- TASK [common : Copy the templates to their respestive destination] *************
- skipping: [localhost] => (item={u'dest': u'/etc/rsyslog.d/99-edx.conf', u'src': u'edx_rsyslog.j2'})
- skipping: [localhost] => (item={u'dest': u'/etc/logrotate.d/hourly/edx-services', u'src': u'etc/logrotate.d/hourly/edx_logrotate.j2'})
- skipping: [localhost] => (item={u'dest': u'/etc/cron.hourly/logrotate', u'src': u'etc/cron.hourly/logrotate.j2', u'mode': u'0555'})
- skipping: [localhost] => (item={u'dest': u'/etc/logrotate.d/hourly/tracking.log', u'src': u'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})
- TASK [common : restart rsyslogd] ***********************************************
- skipping: [localhost]
- TASK [common : Add ntp alert script] *******************************************
- skipping: [localhost]
- TASK [common : Remove MOTD update checker] *************************************
- skipping: [localhost]
- TASK [common : Set up a cron job to run the log-ntp-alerts script] *************
- skipping: [localhost]
- TASK [common : install logrotate configuration] ********************************
- skipping: [localhost]
- TASK [vhost : Create all service directories] **********************************
- skipping: [localhost] => (item={'key': u'home', 'value': {u'owner': u'root', u'path': u'/edx/app/aws', u'group': u'root', u'mode': u'0755'}})
- skipping: [localhost] => (item={'key': u'data', 'value': {u'owner': u'root', u'path': u'/edx/var/aws', u'group': u'root', u'mode': u'0700'}})
- skipping: [localhost] => (item={'key': u'logs', 'value': {u'owner': u'syslog', u'path': u'/edx/var/log/aws', u'group': u'syslog', u'mode': u'0650'}})
- TASK [vhost : Add script for syncing logs on exit] *****************************
- skipping: [localhost]
- TASK [vhost : Force logrotate on supervisor stop] ******************************
- skipping: [localhost]
- TASK [vhost : Add systemd service for syncing logs on exit] ********************
- skipping: [localhost]
- TASK [vhost : Enable systemd service for syncing logs on exit] *****************
- skipping: [localhost]
- TASK [vhost : Update /etc/dhcp/dhclient.conf] **********************************
- skipping: [localhost]
- TASK [vhost : Rerun dhclient to apply template] ********************************
- skipping: [localhost]
- TASK [vhost : Copy the MOTD template in place] *********************************
- skipping: [localhost]
- TASK [vhost : Add motd.tail support for 16.04] *********************************
- skipping: [localhost]
- TASK [vhost : Update sshd logging to VERBOSE] **********************************
- skipping: [localhost]
- TASK [vhost : Update sshd logging to VERBOSE] **********************************
- skipping: [localhost]
- TASK [vhost : Restart ssh] *****************************************************
- skipping: [localhost]
- TASK [vhost : Restart ssh] *****************************************************
- skipping: [localhost]
- TASK [aws : Gather ec2 facts for use in other roles] ***************************
- skipping: [localhost]
- TASK [aws : Set the MTU to 1500 temporarily] ***********************************
- skipping: [localhost]
- TASK [aws : Set the MTU to 1500 permanently] ***********************************
- skipping: [localhost]
- TASK [aws : Install system packages] *******************************************
- skipping: [localhost] => (item=[])
- TASK [aws : Copy the Python requirements file] *********************************
- skipping: [localhost]
- TASK [aws : Install aws python packages] ***************************************
- skipping: [localhost]
- TASK [aws : Copy the boto global config file] **********************************
- skipping: [localhost]
- TASK [aws : Create s3 log sync script] *****************************************
- skipping: [localhost]
- TASK [aws : Create symlink for s3 log sync script] *****************************
- skipping: [localhost]
- TASK [aws : Check if files exist so the next task doesn't fail] ****************
- skipping: [localhost] => (item=/etc/update-motd.d/10-help-text)
- skipping: [localhost] => (item=/usr/share/landscape/landscape-sysinfo.wrapper)
- skipping: [localhost] => (item=/etc/update-motd.d/51-cloudguest)
- skipping: [localhost] => (item=/etc/update-motd.d/91-release-upgrade)
- TASK [aws : Update the ssh motd on Ubuntu] *************************************
- skipping: [localhost] => (item={'skipped': True, '_ansible_no_log': False, 'skip_reason': u'Conditional result was False', '_ansible_item_result': True, 'item': u'/etc/update-motd.d/10-help-text', 'changed': False})
- skipping: [localhost] => (item={'skipped': True, '_ansible_no_log': False, 'skip_reason': u'Conditional result was False', '_ansible_item_result': True, 'item': u'/usr/share/landscape/landscape-sysinfo.wrapper', 'changed': False})
- skipping: [localhost] => (item={'skipped': True, '_ansible_no_log': False, 'skip_reason': u'Conditional result was False', '_ansible_item_result': True, 'item': u'/etc/update-motd.d/51-cloudguest', 'changed': False})
- skipping: [localhost] => (item={'skipped': True, '_ansible_no_log': False, 'skip_reason': u'Conditional result was False', '_ansible_item_result': True, 'item': u'/etc/update-motd.d/91-release-upgrade', 'changed': False})
- TASK [server_utils : Check for expired edx key] ********************************
- changed: [localhost]
- TASK [server_utils : remove expired edx key] ***********************************
- skipping: [localhost]
- TASK [server_utils : Install ubuntu system packages] ***************************
- ok: [localhost] => (item=[u'ack-grep', u'mosh', u'tree', u'screen', u'tmux', u'curl', u'vim', u'dnsutils', u'inetutils-telnet', u'netcat'])
- TASK [user : debug] ************************************************************
- ok: [localhost] => {
- "user_info": []
- }
- TASK [user : Create the edxadmin group] ****************************************
- ok: [localhost]
- TASK [user : Ensure sudoers.d is read] *****************************************
- ok: [localhost]
- TASK [user : Grant full sudo access to the edxadmin group] *********************
- ok: [localhost]
- TASK [user : Create the users] *************************************************
- TASK [user : Assign admin role to admin users] *********************************
- TASK [user : Check the ssh key(s) for user(s) over github] *********************
- TASK [user : Print warning if github user(s) missing ssh key] ******************
- TASK [user : Halt if USER_FAIL_MISSING_KEYS is true and github user(s) missing ssh key] ***
- TASK [user : Get github key(s) and update the authorized_keys file] ************
- TASK [user : Create bashrc file for normal users] ******************************
- TASK [user : Create .profile for all users] ************************************
- TASK [user : Modify shell for restricted users] ********************************
- TASK [user : Create bashrc file for restricted users] **************************
- TASK [user : Create sudoers file from template] ********************************
- ok: [localhost]
- TASK [user : Change home directory ownership to root for restricted users] *****
- TASK [user : Create ~/bin directory] *******************************************
- TASK [user : Create allowed command links] *************************************
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [common : Check Configuration Sources] ************************************
- TASK [common : stat] ***********************************************************
- ok: [localhost]
- TASK [common : Update CA Certificates] *****************************************
- changed: [localhost]
- TASK [common : stat] ***********************************************************
- ok: [localhost]
- TASK [common : Update CA Trust] ************************************************
- skipping: [localhost]
- TASK [common : Add common_users] ***********************************************
- ok: [localhost] => (item=www-data)
- ok: [localhost] => (item=syslog)
- TASK [common : check if instance is vagrant] ***********************************
- ok: [localhost]
- TASK [common : Add git apt repository] *****************************************
- ok: [localhost]
- TASK [common : Add edX PPA apt key] ********************************************
- ok: [localhost]
- TASK [common : Update expired apt keys] ****************************************
- changed: [localhost]
- TASK [common : Add custom edX PPA] *********************************************
- ok: [localhost]
- TASK [common : Install role-independent useful system packages] ****************
- ok: [localhost] => (item=[u'apt-transport-https', u'ntp', u'acl', u'iotop', u'lynx', u'logrotate', u'rsyslog', u'git', u'unzip', u'python-pip', u'python2.7-dev'])
- TASK [common : Install role-independent useful system packages from custom PPA] ***
- skipping: [localhost] => (item=[])
- TASK [common : Install role-independent useful system packages] ****************
- skipping: [localhost] => (item=[])
- TASK [common : Create common directories] **************************************
- ok: [localhost] => (item={u'path': u'/edx/var'})
- ok: [localhost] => (item={u'path': u'/edx/app'})
- ok: [localhost] => (item={u'path': u'/edx/bin'})
- changed: [localhost] => (item={u'path': u'/edx/etc'})
- ok: [localhost] => (item={u'owner': u'syslog', u'path': u'/edx/var/log', u'group': u'syslog'})
- ok: [localhost] => (item={u'path': u'/etc/logrotate.d/hourly'})
- ok: [localhost] => (item={u'path': u'/etc/rsyslog.d/50-default.conf', u'state': u'absent'})
- TASK [common : upload sudo config for key forwarding as root] ******************
- ok: [localhost]
- TASK [common : pip install virtualenv] *****************************************
- ok: [localhost] => (item=pip==9.0.3)
- ok: [localhost] => (item=setuptools==39.0.1)
- ok: [localhost] => (item=virtualenv==15.2.0)
- ok: [localhost] => (item=virtualenvwrapper==4.8.2)
- TASK [common : update /etc/hosts] **********************************************
- skipping: [localhost]
- TASK [common : update /etc/hostname] *******************************************
- skipping: [localhost]
- TASK [common : run hostname] ***************************************************
- skipping: [localhost]
- TASK [common : Copy the templates to their respestive destination] *************
- ok: [localhost] => (item={u'dest': u'/etc/rsyslog.d/99-edx.conf', u'src': u'edx_rsyslog.j2'})
- ok: [localhost] => (item={u'dest': u'/etc/logrotate.d/hourly/edx-services', u'src': u'etc/logrotate.d/hourly/edx_logrotate.j2'})
- ok: [localhost] => (item={u'dest': u'/etc/cron.hourly/logrotate', u'src': u'etc/cron.hourly/logrotate.j2', u'mode': u'0555'})
- ok: [localhost] => (item={u'dest': u'/etc/logrotate.d/hourly/tracking.log', u'src': u'etc/logrotate.d/hourly/edx_logrotate_tracking_log.j2'})
- TASK [common : restart rsyslogd] ***********************************************
- skipping: [localhost]
- TASK [common : Add ntp alert script] *******************************************
- ok: [localhost]
- TASK [common : Remove MOTD update checker] *************************************
- ok: [localhost]
- TASK [common : Set up a cron job to run the log-ntp-alerts script] *************
- ok: [localhost]
- TASK [common : install logrotate configuration] ********************************
- ok: [localhost]
- TASK [nginx : Create Diffie-Hellman parameters to prevent weak key exchange] ***
- ok: [localhost]
- TASK [nginx : Restrict permissions of DH parameters file] **********************
- ok: [localhost]
- TASK [nginx : Create nginx app and data dirs] **********************************
- ok: [localhost] => (item={u'owner': u'root', u'path': u'/edx/app/nginx', u'group': u'www-data'})
- ok: [localhost] => (item={u'owner': u'root', u'path': u'/edx/app/nginx/sites-available', u'group': u'www-data'})
- ok: [localhost] => (item={u'owner': u'root', u'path': u'/etc/nginx/sites-enabled', u'group': u'www-data'})
- ok: [localhost] => (item={u'owner': u'root', u'path': u'/edx/app/nginx/conf.d', u'group': u'www-data'})
- ok: [localhost] => (item={u'owner': u'www-data', u'path': u'/edx/var/nginx', u'group': u'root'})
- changed: [localhost] => (item={u'owner': u'www-data', u'path': u'/edx/var/log/nginx', u'group': u'root'})
- ok: [localhost] => (item={u'owner': u'www-data', u'path': u'/edx/var/nginx/server-static', u'group': u'root'})
- TASK [nginx : Install needed packages] *****************************************
- ok: [localhost] => (item=[u'python-passlib'])
- TASK [nginx : Add apt key] *****************************************************
- ok: [localhost]
- TASK [nginx : Add nginx repository] ********************************************
- ok: [localhost]
- TASK [nginx : Remove old nginx packages] ***************************************
- ok: [localhost]
- TASK [nginx : Install the nginx package] ***************************************
- ok: [localhost]
- TASK [nginx : Remove the default site] *****************************************
- ok: [localhost]
- TASK [nginx : Define server configuration file and common nginx configuration] ***
- ok: [localhost] => (item={u'dest': u'/etc/nginx/nginx.conf', u'src': u'etc/nginx/nginx.conf.j2', u'group': u'www-data', u'mode': u'0644'})
- ok: [localhost] => (item={u'dest': u'/edx/app/nginx/sites-available/maps', u'src': u'edx/app/nginx/sites-available/maps.j2', u'group': u'root', u'mode': u'0600'})
- TASK [nginx : Create robot rules] **********************************************
- skipping: [localhost]
- TASK [nginx : Creating link for common nginx configuration] ********************
- ok: [localhost] => (item=maps)
- TASK [nginx : Copying nginx configs for [u'certs', u'cms', u'lms', u'forum', u'xqueue']] ***
- ok: [localhost] => (item=certs)
- ok: [localhost] => (item=cms)
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=forum)
- ok: [localhost] => (item=xqueue)
- TASK [nginx : Creating nginx config links for [u'certs', u'cms', u'lms', u'forum', u'xqueue']] ***
- ok: [localhost] => (item=certs)
- ok: [localhost] => (item=cms)
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=forum)
- ok: [localhost] => (item=xqueue)
- TASK [nginx : Copying nginx extra configs] *************************************
- TASK [nginx : Creating links for nginx extra configs] **************************
- TASK [nginx : Copying custom nginx config] *************************************
- TASK [nginx : Copying nginx redirect configs for {}] ***************************
- TASK [nginx : Creating nginx redirect links for {}] ****************************
- TASK [nginx : Create NGINX server templates] ***********************************
- ok: [localhost] => (item={u'lang': u'en', u'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', u'title': u'Rate limit exceeded', u'style_p': u'font-family: Georgia,Cambria,"Times New Roman",Times,serif; margin: auto; margin-bottom: 1em; font-weight: 200; line-height: 1.4em; font-size: 1.1em; max-width: 80%;', u'style_div': u'margin: auto; width: 800px; text-align: center; padding:20px 0px 0px 0px;', u'img_alt': u'', u'heading': u'Uh oh, we are having some server issues..', u'file': u'rate-limit.html', u'msg': u'If think you have encountered this message in error please let us know at <a href="mailto:[email protected]">[email protected]</a>', u'style_h1': u'font-family: "Helvetica Neue",Helvetica,Roboto,Arial,sans-serif; margin-bottom: .3em; font-size: 2.0em; line-height: 1.25em; text-rendering: optimizeLegibility; font-weight: bold; color: #000000;', u'style_p_h2': u'font-family: "Helvetica Neue",Helvetica,Roboto,Arial,sans-serif; margin-bottom: .3em; line-height: 1.25em; text-rendering: optimizeLegibility; font-weight: bold; font-size: 1.8em; color: #5b5e63;'})
- ok: [localhost] => (item={u'lang': u'en', u'img': u'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Pendleton_Sinking_Ship.jpg/640px-Pendleton_Sinking_Ship.jpg', u'title': u'Server error', u'style_p': u'font-family: Georgia,Cambria,"Times New Roman",Times,serif; margin: auto; margin-bottom: 1em; font-weight: 200; line-height: 1.4em; font-size: 1.1em; max-width: 80%;', u'style_div': u'margin: auto; width: 800px; text-align: center; padding:20px 0px 0px 0px;', u'img_alt': u'', u'heading': u'Uh oh, we are having some server issues..', u'file': u'server-error.html', u'msg': u'We have been notified of the error, if it persists please let us know at <a href="mailto:[email protected]">[email protected]</a>', u'style_h1': u'font-family: "Helvetica Neue",Helvetica,Roboto,Arial,sans-serif; margin-bottom: .3em; font-size: 2.0em; line-height: 1.25em; text-rendering: optimizeLegibility; font-weight: bold; color: #000000;', u'style_p_h2': u'font-family: "Helvetica Neue",Helvetica,Roboto,Arial,sans-serif; margin-bottom: .3em; line-height: 1.25em; text-rendering: optimizeLegibility; font-weight: bold; font-size: 1.8em; color: #5b5e63;'})
- TASK [nginx : Copy static files] ***********************************************
- TASK [nginx : Write out htpasswd file] *****************************************
- [WARNING]: when statements should not include jinja2 templating delimiters
- such as {{ }} or {% %}. Found: {{ CERTS_ENABLE_BASIC_AUTH|bool or
- ECOMMERCE_ENABLE_BASIC_AUTH|bool or EDXAPP_CMS_ENABLE_BASIC_AUTH|bool or
- EDXAPP_LMS_ENABLE_BASIC_AUTH|bool or
- EDXAPP_LMS_PREVIEW_ENABLE_BASIC_AUTH|bool or KIBANA_ENABLE_BASIC_AUTH|bool or
- XQUEUE_ENABLE_BASIC_AUTH|bool or XSERVER_ENABLE_BASIC_AUTH|bool }}
- skipping: [localhost] => (item={u'state': u'present', u'password': u'GtMhpbeAb1VMGE03OKMR9d2W1RWIU8EwIku', u'name': u'5Dqo3D5ZAGtHzKkScCAJO3jZ616OSYBKVOR'})
- TASK [nginx : Create nginx log file location (just in case)] *******************
- changed: [localhost]
- TASK [nginx : stat] ************************************************************
- ok: [localhost -> localhost]
- TASK [nginx : stat] ************************************************************
- ok: [localhost -> localhost]
- TASK [nginx : copy ssl cert] ***************************************************
- skipping: [localhost]
- TASK [nginx : copy ssl key] ****************************************************
- skipping: [localhost]
- TASK [nginx : Removing default nginx config and restart (enabled)] *************
- ok: [localhost]
- TASK [nginx : Set up nginx access log rotation] ********************************
- ok: [localhost]
- TASK [nginx : Set up nginx error log rotation] *********************************
- ok: [localhost]
- RUNNING HANDLER [nginx : restart nginx] ****************************************
- changed: [localhost]
- TASK [nginx : make sure nginx has started] *************************************
- ok: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [mysql : Look for mysql 5.6] **********************************************
- fatal: [localhost]: FAILED! => {"changed": false, "cmd": "dpkg -s mysql-server", "delta": "0:00:00.025365", "end": "2020-04-03 02:19:40.345668", "failed": true, "rc": 1, "start": "2020-04-03 02:19:40.320303", "stderr": "dpkg-query: package 'mysql-server' is not installed and no information is available\nUse dpkg --info (= dpkg-deb --info) to examine archive files,\nand dpkg --contents (= dpkg-deb --contents) to list their contents.", "stderr_lines": ["dpkg-query: package 'mysql-server' is not installed and no information is available", "Use dpkg --info (= dpkg-deb --info) to examine archive files,", "and dpkg --contents (= dpkg-deb --contents) to list their contents."], "stdout": "", "stdout_lines": []}
- ...ignoring
- TASK [mysql : Important message] ***********************************************
- skipping: [localhost]
- TASK [mysql : pause] ***********************************************************
- skipping: [localhost]
- TASK [mysql : Stop mysql service] **********************************************
- skipping: [localhost]
- TASK [mysql : Remove experimental apt repository] ******************************
- skipping: [localhost]
- TASK [mysql : Remove experimental version of mysql] ****************************
- skipping: [localhost] => (item=[])
- TASK [mysql : Install mysql-5.6 and dependencies] ******************************
- ok: [localhost] => (item=[u'mysql-server-5.6', u'python-mysqldb'])
- TASK [mysql : Set default character sets and collations] ***********************
- ok: [localhost]
- TASK [mysql : restart mysql] ***************************************************
- changed: [localhost]
- TASK [mysql : Ensure Anonymous user(s) does not exist] *************************
- ok: [localhost] => (item=localhost)
- ok: [localhost] => (item=298518-alquran)
- TASK [edxlocal : Install packages needed for single server] ********************
- ok: [localhost] => (item=[u'postfix', u'libjpeg-dev'])
- TASK [edxlocal : create databases] *********************************************
- ok: [localhost] => (item=ecommerce)
- ok: [localhost] => (item=dashboard)
- ok: [localhost] => (item=xqueue)
- ok: [localhost] => (item=edxapp)
- ok: [localhost] => (item=edxapp_csmh)
- skipping: [localhost] => (item=)
- ok: [localhost] => (item=analytics-api)
- ok: [localhost] => (item=reports)
- skipping: [localhost] => (item=)
- ok: [localhost] => (item=discovery)
- skipping: [localhost] => (item=)
- skipping: [localhost] => (item=)
- TASK [edxlocal : create database users] ****************************************
- ok: [localhost] => (item={u'db': u'ecommerce', u'user': u'ecomm001', u'pass': u'Ak6bcZ9KHvdAndBwiSua0YP9ju1c8K8p3pz'})
- ok: [localhost] => (item={u'db': u'dashboard', u'user': u'rosencrantz', u'pass': u'rcQL05C8BmOM6M4fjgPLpxVjx1vFamQyUv0'})
- ok: [localhost] => (item={u'db': u'xqueue', u'user': u'xqueue001', u'pass': u'V7EpKhSJcRiF535qbhB7H4Qx34Z6rp540R4'})
- ok: [localhost] => (item={u'db': u'edxapp', u'user': u'edxapp001', u'pass': u'G92pwM8lwfpkrn70y8bZLh4InZ1ZNPx3UpM'})
- ok: [localhost] => (item={u'db': u'edxapp_csmh', u'user': u'edxapp_cmsh001', u'pass': u'Uvr3lPb4wMV7yJp1iqjHeK6o4EJCKavWIYo'})
- skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u'eZGwcXxXnVoAhewaJSoINLDpKJ6OZNIHeY4'})
- skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u'reogjKkfe4VKOZ1nJVPZuNT1H6NB8ZfdR7K'})
- skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u'0PCYp71wyPOZAte5hQVMSF1FeFWMJnfWUb4'})
- ok: [localhost] => (item={u'db': u'discovery', u'user': u'discov001', u'pass': u'E7Bj4lJB96UuH3Z3JJFxjdPeQkoZqggn9xE'})
- skipping: [localhost] => (item={u'db': u'', u'user': u'journ001', u'pass': u'password'})
- skipping: [localhost] => (item={u'db': u'', u'user': u'', u'pass': u''})
- TASK [edxlocal : setup the migration db user] **********************************
- ok: [localhost] => (item=ecommerce)
- ok: [localhost] => (item=dashboard)
- ok: [localhost] => (item=xqueue)
- ok: [localhost] => (item=edxapp)
- ok: [localhost] => (item=edxapp_csmh)
- skipping: [localhost] => (item=)
- ok: [localhost] => (item=analytics-api)
- ok: [localhost] => (item=reports)
- skipping: [localhost] => (item=)
- ok: [localhost] => (item=discovery)
- skipping: [localhost] => (item=)
- skipping: [localhost] => (item=)
- TASK [edxlocal : create api user for the analytics api] ************************
- ok: [localhost]
- TASK [edxlocal : create read-only reports user for the analytics-api] **********
- ok: [localhost]
- TASK [edxlocal : create a database for the hive metastore] *********************
- skipping: [localhost]
- TASK [edxlocal : setup the edx-notes-api db user] ******************************
- skipping: [localhost]
- TASK [edxlocal : setup the read-only db user] **********************************
- ok: [localhost]
- TASK [edxlocal : setup the admin db user] **************************************
- ok: [localhost]
- TASK [memcache : Install memcached] ********************************************
- ok: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [mount_ebs : Unmount disk if fstype is wrong] *****************************
- TASK [mount_ebs : Check that we don't want to unmount disks to change fstype when UNMOUNT_DISKS is false] ***
- skipping: [localhost] => (item={u'uuid': u'f857b3c0-0276-40fd-b9a6-57d7e8feaa78', u'size_total': 105554149376, u'mount': u'/', u'size_available': 83373674496, u'fstype': u'ext4', u'device': u'/dev/vda1', u'options': u'rw,relatime,nobarrier,data=ordered'})
- TASK [mount_ebs : Create filesystem] *******************************************
- TASK [mount_ebs : Unmount disks mounted to the wrong place] ********************
- skipping: [localhost] => (item={u'uuid': u'f857b3c0-0276-40fd-b9a6-57d7e8feaa78', u'size_total': 105554149376, u'mount': u'/', u'size_available': 83373674496, u'fstype': u'ext4', u'device': u'/dev/vda1', u'options': u'rw,relatime,nobarrier,data=ordered'})
- TASK [mount_ebs : Check that we don't want to unmount disks to change mountpoint when UNMOUNT_DISKS is false] ***
- skipping: [localhost] => (item={u'uuid': u'f857b3c0-0276-40fd-b9a6-57d7e8feaa78', u'size_total': 105554149376, u'mount': u'/', u'size_available': 83373674496, u'fstype': u'ext4', u'device': u'/dev/vda1', u'options': u'rw,relatime,nobarrier,data=ordered'})
- TASK [mount_ebs : Mount disks] *************************************************
- TASK [mongo_3_2 : Add disable transparent huge pages systemd service (http://docs.mongodb.org/manual/tutorial/transparent-huge-pages/)] ***
- ok: [localhost]
- TASK [mongo_3_2 : Enable/start disable transparent huge pages service (http://docs.mongodb.org/manual/tutorial/transparent-huge-pages/)] ***
- changed: [localhost]
- TASK [mongo_3_2 : install python pymongo for mongo_user ansible module] ********
- ok: [localhost]
- TASK [mongo_3_2 : add the mongodb signing key] *********************************
- ok: [localhost]
- TASK [mongo_3_2 : add the mongodb repo to the sources list] ********************
- ok: [localhost]
- TASK [mongo_3_2 : install mongo server and recommends] *************************
- ok: [localhost] => (item=[u'mongodb-org=3.2.16', u'mongodb-org-server=3.2.16', u'mongodb-org-shell=3.2.16', u'mongodb-org-mongos=3.2.16', u'mongodb-org-tools=3.2.16'])
- TASK [mongo_3_2 : create mongo dirs] *******************************************
- ok: [localhost] => (item=/edx/var/mongo)
- ok: [localhost] => (item=/edx/var/mongo/mongodb)
- ok: [localhost] => (item=/edx/var/log/mongo)
- ok: [localhost] => (item=/edx/var/mongo/mongodb/journal)
- TASK [mongo_3_2 : add serverStatus logging script] *****************************
- ok: [localhost]
- TASK [mongo_3_2 : add serverStatus logging script to cron] *********************
- ok: [localhost]
- TASK [mongo_3_2 : determine if there is a replica set already] *****************
- [WARNING]: Module did not set no_log for password
- ok: [localhost]
- TASK [mongo_3_2 : Try checking the replica set with no user/pass in case this is a new box] ***
- skipping: [localhost]
- TASK [mongo_3_2 : set facts that default to not initializing a replica set] ****
- ok: [localhost]
- TASK [mongo_3_2 : track if you have a replica set] *****************************
- skipping: [localhost]
- TASK [mongo_3_2 : warn about unconfigured replica sets] ************************
- skipping: [localhost]
- TASK [mongo_3_2 : copy mongodb key file] ***************************************
- ok: [localhost]
- TASK [mongo_3_2 : copy configuration template] *********************************
- ok: [localhost]
- TASK [mongo_3_2 : install logrotate configuration] *****************************
- ok: [localhost]
- TASK [mongo_3_2 : restart mongo service if we changed our configuration] *******
- skipping: [localhost]
- TASK [mongo_3_2 : wait for mongo server to start] ******************************
- ok: [localhost]
- TASK [mongo_3_2 : create super user] *******************************************
- skipping: [localhost]
- TASK [mongo_3_2 : Unset our skip initializing replica set fact so that mongod.conf gets a replica set] ***
- skipping: [localhost]
- TASK [mongo_3_2 : re-copy configuration template with replica set enabled] *****
- skipping: [localhost]
- TASK [mongo_3_2 : restart mongo service] ***************************************
- skipping: [localhost]
- TASK [mongo_3_2 : wait for mongo server to start] ******************************
- skipping: [localhost]
- TASK [mongo_3_2 : configure replica set] ***************************************
- changed: [localhost]
- TASK [mongo_3_2 : Wait for the replica set to update and (if needed) elect a primary] ***
- ok: [localhost]
- TASK [mongo_3_2 : create mongodb users in a replica set] ***********************
- changed: [localhost] => (item={u'password': u'ZA9YOVChZiF58eVqc40kchh2OCtL0fi4Wta', u'user': u'cs_comments_service', u'roles': u'readWrite', u'database': u'cs_comments_service'})
- changed: [localhost] => (item={u'password': u'Zr0bcBJbBLzdVKz6ozjgu2pMbGEMn4Ptbom', u'user': u'edxapp', u'roles': u'readWrite', u'database': u'edxapp'})
- TASK [mongo_3_2 : ensure mongo starts at boot time] ****************************
- ok: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [rabbitmq : install packages needed by rabbit] ****************************
- ok: [localhost] => (item=[u'apt-transport-https'])
- TASK [rabbitmq : trust rabbit's packagecloud repository] ***********************
- ok: [localhost]
- TASK [rabbitmq : add rabbit's packagecloud repository] *************************
- ok: [localhost]
- TASK [rabbitmq : Check if rabbit is installed] *********************************
- changed: [localhost]
- TASK [rabbitmq : Warn if wrong rabbit version is installed] ********************
- skipping: [localhost]
- TASK [rabbitmq : Install rabbit package] ***************************************
- skipping: [localhost]
- TASK [rabbitmq : Stop rabbit cluster] ******************************************
- changed: [localhost]
- TASK [rabbitmq : Send sigterm to any running rabbitmq processes] ***************
- changed: [localhost]
- TASK [rabbitmq : Create rabbitmq edx directories] ******************************
- ok: [localhost] => (item=/edx/app/rabbitmq)
- ok: [localhost] => (item=/edx/var/log/rabbitmq)
- TASK [rabbitmq : Add queue monitoring script] **********************************
- ok: [localhost]
- TASK [rabbitmq : Add RabbitMQ memory usage script] *****************************
- ok: [localhost]
- TASK [rabbitmq : Set up a cron job to run queue script] ************************
- ok: [localhost]
- TASK [rabbitmq : Set up a cron job to run the script] **************************
- ok: [localhost]
- TASK [rabbitmq : install logrotate configuration] ******************************
- ok: [localhost]
- TASK [rabbitmq : Create cookie directory] **************************************
- ok: [localhost]
- TASK [rabbitmq : Add rabbitmq erlang cookie] ***********************************
- ok: [localhost]
- TASK [rabbitmq : Create rabbitmq config directory] *****************************
- ok: [localhost]
- TASK [rabbitmq : Add rabbitmq environment configuration] ***********************
- ok: [localhost]
- TASK [rabbitmq : Add rabbitmq cluster configuration] ***************************
- ok: [localhost]
- TASK [rabbitmq : Install plugins] **********************************************
- ok: [localhost] => (item=rabbitmq_management)
- TASK [rabbitmq : Remove mnesia configuration] **********************************
- skipping: [localhost]
- TASK [rabbitmq : Start rabbit nodes] *******************************************
- changed: [localhost]
- TASK [rabbitmq : Wait for rabbit to start] *************************************
- ok: [localhost]
- TASK [rabbitmq : Remove guest user] ********************************************
- ok: [localhost]
- TASK [rabbitmq : Add vhosts] ***************************************************
- ok: [localhost] => (item=/)
- TASK [rabbitmq : set_fact] *****************************************************
- ok: [localhost] => (item=/)
- TASK [rabbitmq : Add admin users] **********************************************
- ok: [localhost] => (item={u'password': u'TWS7b7FGCo5ebdFRqOJW3wfVLoVnek2A5YW', u'name': u'admin'})
- ok: [localhost] => (item={u'password': u'z37fb3In5G6nWX9AVdlzu5umsAE01bPiZCe', u'name': u'edx'})
- ok: [localhost] => (item={u'password': u'2x1pYRcud3BgoZAn5oqoIkgSapbUoOqih0T', u'name': u'celery'})
- TASK [rabbitmq : Make queues mirrored] *****************************************
- skipping: [localhost] => (item=/)
- TASK [rabbitmq : Install admin tools] ******************************************
- ok: [localhost]
- TASK [rabbitmq : Ensure rabbitmqadmin attributes] ******************************
- ok: [localhost]
- TASK [rabbitmq : Set cluster name] *********************************************
- changed: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [supervisor : Create application and supervisor service user] *************
- ok: [localhost] => (item=supervisor)
- ok: [localhost] => (item=www-data)
- TASK [supervisor : Create supervisor and service user accessible directories] ***
- ok: [localhost] => (item=/edx/app/supervisor)
- ok: [localhost] => (item=/edx/app/supervisor/venvs/supervisor)
- ok: [localhost] => (item=/edx/app/supervisor/conf.d)
- ok: [localhost] => (item=/edx/app/supervisor/conf.available.d)
- TASK [supervisor : Create supervisor directories] ******************************
- ok: [localhost] => (item=/edx/var/supervisor)
- ok: [localhost] => (item=/edx/var/log/supervisor)
- TASK [supervisor : Install supervisor in its venv] *****************************
- ok: [localhost]
- TASK [supervisor : Install supervisor in its venv] *****************************
- ok: [localhost] => (item=boto=="2.48.0")
- ok: [localhost] => (item=python-simple-hipchat)
- TASK [supervisor : Create supervisor upstart job] ******************************
- skipping: [localhost]
- TASK [supervisor : Create supervisor systemd job] ******************************
- ok: [localhost]
- TASK [supervisor : Write the pre_suprevisor python script] *********************
- skipping: [localhost]
- TASK [supervisor : Create supervisor master config] ****************************
- ok: [localhost]
- TASK [supervisor : Remove a symlink for supervisortctl] ************************
- changed: [localhost]
- TASK [supervisor : Remove symlink for supervisor cfg] **************************
- ok: [localhost] => (item=/edx/app/supervisor/supervisord.conf)
- ok: [localhost] => (item=/edx/app/supervisor/conf.d)
- TASK [supervisor : Create helper script for running supervisor] ****************
- changed: [localhost]
- TASK [supervisor : Are we in a Docker container] *******************************
- changed: [localhost]
- TASK [supervisor : Enable supervisor to start on boot] *************************
- ok: [localhost]
- TASK [supervisor : Start supervisor] *******************************************
- ok: [localhost]
- TASK [supervisor : Wait for web port to be available] **************************
- skipping: [localhost]
- TASK [supervisor : Update supervisor configuration] ****************************
- ok: [localhost]
- TASK [edxapp_common : Install system packages] *********************************
- ok: [localhost] => (item=[u'build-essential', u'gfortran', u'graphviz', u'graphviz-dev', u'liblapack-dev', u'libmysqlclient-dev', u'libxml2-dev', u'libgeos-dev', u'libxslt1-dev', u'gettext', u'libjpeg8-dev', u'libpng12-dev', u'libxmlsec1-dev', u'swig'])
- TASK [nltk : Install unzip] ****************************************************
- ok: [localhost]
- TASK [nltk : create the nltk data directory and subdirectories] ****************
- ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', u'path': u'taggers/maxent_treebank_pos_tagger'})
- ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', u'path': u'corpora/stopwords'})
- ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', u'path': u'corpora/wordnet'})
- TASK [nltk : download nltk data] ***********************************************
- ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', u'path': u'taggers/maxent_treebank_pos_tagger'})
- ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', u'path': u'corpora/stopwords'})
- ok: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', u'path': u'corpora/wordnet'})
- TASK [nltk : unarchive nltk data] **********************************************
- skipping: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/taggers/maxent_treebank_pos_tagger.zip', u'path': u'taggers/maxent_treebank_pos_tagger'})
- skipping: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/stopwords.zip', u'path': u'corpora/stopwords'})
- skipping: [localhost] => (item={u'url': u'http://nltk.github.io/nltk_data/packages/corpora/wordnet.zip', u'path': u'corpora/wordnet'})
- TASK [add_user : create user groups] *******************************************
- skipping: [localhost] => (item=edx-themes)
- TASK [add_user : create application user] **************************************
- skipping: [localhost]
- TASK [add_user : ensure correct ownership of home directory] *******************
- skipping: [localhost]
- TASK [add_user : create dirs for the user] *************************************
- TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
- skipping: [localhost]
- TASK [git_clone : Validate git protocol] ***************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Install read-only ssh key] ***********************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Check that working tree is clean] ****************************
- skipping: [localhost] => (item=/edx/var/edx-themes/edx-themes)
- TASK [git_clone : Require a clean working tree] ********************************
- skipping: [localhost] => (item={'skipped': True, '_ansible_no_log': False, 'skip_reason': u'Conditional result was False', '_ansible_item_result': True, 'item': u'/edx/var/edx-themes/edx-themes', 'changed': False})
- TASK [git_clone : Checkout code over ssh] **************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Checkout code over https] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Remove read-only ssh key] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Run git clean after checking out code] ***********************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [edx_themes : ensure edx-theme's group has read/write access to themes directory] ***
- skipping: [localhost]
- TASK [edx_themes : Add theme users to theme's group so that that have read/write access to themes directories] ***
- skipping: [localhost] => (item=edxapp)
- TASK [edx_themes : update .bashrc to set umask value] **************************
- skipping: [localhost]
- TASK [edxapp : create application user] ****************************************
- ok: [localhost]
- TASK [edxapp : create edxapp user dirs] ****************************************
- ok: [localhost] => (item={u'path': u'/edx/app/edxapp'})
- ok: [localhost] => (item={u'path': u'/edx/app/edxapp/.ssh'})
- ok: [localhost] => (item={u'path': u'/edx/app/edxapp/venvs'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp/themes'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp/staticfiles'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp/course_static'})
- changed: [localhost] => (item={u'path': u'/edx/var/edxapp/data'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp', u'mode': u'0775'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp/course_repos', u'mode': u'0775'})
- TASK [edxapp : write devstack script] ******************************************
- skipping: [localhost]
- TASK [edxapp : create edxapp log dir] ******************************************
- ok: [localhost]
- TASK [edxapp : Ensure the tracking folder exists] ******************************
- ok: [localhost]
- TASK [edxapp : Ensure the tracking.log file exists] ****************************
- changed: [localhost]
- TASK [edxapp : create web-writable edxapp data dirs] ***************************
- changed: [localhost] => (item=/edx/var/edxapp/data)
- ok: [localhost] => (item=/edx/var/edxapp/uploads)
- ok: [localhost] => (item=/edx/var/edxapp/media)
- TASK [edxapp : install system packages on which LMS and CMS rely] **************
- ok: [localhost] => (item=[u's3cmd', u'pkg-config', u'g++', u'apparmor-utils', u'curl', u'ipython', u'nodejs', u'ntp', u'libfreetype6-dev', u'libffi-dev', u'python-dev', u'libsqlite3-dev'])
- TASK [edxapp : set up edxapp .npmrc] *******************************************
- changed: [localhost]
- TASK [edxapp : create log directories for service variants] ********************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : code sandbox | Check which `libblas` to use] ********************
- ok: [localhost]
- TASK [edxapp : code sandbox | Use libblas.so.3gf in Ubuntu] ********************
- skipping: [localhost]
- TASK [edxapp : code sandbox | Use libblas.so.3 in Ubuntu] **********************
- ok: [localhost]
- TASK [edxapp : code sandbox | Check which `liblapac` to use] *******************
- ok: [localhost]
- TASK [edxapp : code sandbox | Use liblapack.so.3gf in Ubuntu] ******************
- skipping: [localhost]
- TASK [edxapp : code sandbox | Use liblapack.so.3 in Ubuntu] ********************
- ok: [localhost]
- TASK [edxapp : code sandbox | Create edxapp sandbox user] **********************
- ok: [localhost]
- TASK [edxapp : code sandbox | Install apparmor utils system pkg] ***************
- ok: [localhost]
- TASK [edxapp : code sandbox | write out apparmor code sandbox config] **********
- ok: [localhost]
- TASK [edxapp : code sandbox | write out sandbox user sudoers config] ***********
- ok: [localhost]
- TASK [edxapp : code sandbox | start apparmor service] **************************
- ok: [localhost]
- TASK [edxapp : code sandbox | (bootstrap) load code sandbox profile] ***********
- changed: [localhost]
- TASK [edxapp : code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE] ***
- changed: [localhost]
- TASK [edxapp : copy the template to the desired location] **********************
- ok: [localhost] => (item={u'dest': u'/edx/app/edxapp/edxapp_env', u'src': u'edxapp_env.j2', u'group': u'www-data', u'mode': u'0644', u'owner': u'edxapp'})
- ok: [localhost] => (item={u'dest': u'/edx/app/edxapp/newrelic.ini', u'src': u'newrelic.ini.j2', u'group': u'www-data', u'mode': u'0644', u'owner': u'edxapp'})
- ok: [localhost] => (item={u'dest': u'/tmp/edxapp_git_ssh.sh', u'src': u'git_ssh.sh.j2', u'group': u'edxapp', u'mode': u'0750', u'owner': u'edxapp'})
- ok: [localhost] => (item={u'dest': u'/edx/app/edxapp/.boto', u'src': u'boto.j2', u'group': u'www-data', u'mode': u'0644', u'owner': u'edxapp'})
- TASK [edxapp : install read-only ssh key] **************************************
- skipping: [localhost]
- TASK [edxapp : set git fetch.prune to ignore deleted remote refs] **************
- changed: [localhost]
- TASK [edxapp : checkout edx-platform repo into /edx/app/edxapp/edx-platform] ***
- ok: [localhost]
- TASK [edxapp : git clean after checking out edx-platform] **********************
- changed: [localhost]
- TASK [edxapp : checkout Stanford-style theme] **********************************
- skipping: [localhost]
- TASK [simple_theme : assert] ***************************************************
- skipping: [localhost]
- TASK [simple_theme : assert] ***************************************************
- skipping: [localhost]
- TASK [simple_theme : Check whether theme directory already exists] *************
- skipping: [localhost]
- TASK [simple_theme : Download skeleton theme] **********************************
- skipping: [localhost]
- TASK [simple_theme : Adjust owner/group of downloaded skeleton theme] **********
- skipping: [localhost]
- TASK [simple_theme : Create default skeleton (dirs)] ***************************
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/discussion', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-course.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-course.scss', 'size': 63, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-main-v2.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-main-v2.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-main-v1.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-main-v1.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'group': u'root', 'uid': 0, 'state': u'file', 'gid': 0, 'mode': u'0644', 'mtime': 1585864120.1257432, 'owner': u'root', 'path': u'lms/static/sass/discussion/lms-discussion-main.scss', 'size': 86, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- TASK [simple_theme : Create default skeleton (files)] **************************
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/discussion', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-course.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-course.scss', 'size': 63, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-main-v2.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-main-v2.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-main-v1.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-main-v1.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'group': u'root', 'uid': 0, 'state': u'file', 'gid': 0, 'mode': u'0644', 'mtime': 1585864120.1257432, 'owner': u'root', 'path': u'lms/static/sass/discussion/lms-discussion-main.scss', 'size': 86, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- TASK [simple_theme : Create directory to hold the theme and styles] ************
- skipping: [localhost] => (item=.)
- skipping: [localhost] => (item=lms/static/sass/partials/lms/theme)
- TASK [simple_theme : Compile the templates] ************************************
- skipping: [localhost] => (item=lms/static/sass/partials/lms/theme/_variables-v1.scss)
- skipping: [localhost] => (item=lms/static/sass/_lms-overrides.scss)
- TASK [simple_theme : Create directories for static files to be copied] *********
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/discussion', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-course.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-course.scss', 'size': 63, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-main-v2.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-main-v2.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-main-v1.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-main-v1.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'size': 86, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms/images', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/cms/images/logo.png', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms/images/logo.png', 'size': 1494, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/js', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/js/myscript.js', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/js/myscript.js', 'size': 42, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/images/logo.png', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images/logo.png', 'size': 928, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/images/favicon.ico', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images/favicon.ico', 'size': 34894, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- TASK [simple_theme : Copy static files (adding "static/")] *********************
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/discussion', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-course.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-course.scss', 'size': 63, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-main-v2.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-main-v2.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-main-v1.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-main-v1.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'size': 86, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms/images', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/cms/images/logo.png', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms/images/logo.png', 'size': 1494, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/js', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/js/myscript.js', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/js/myscript.js', 'size': 42, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/images/logo.png', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images/logo.png', 'size': 928, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/images/favicon.ico', 'group': u'root', 'uid': 0, 'state': u'file', 'gid': 0, 'mode': u'0644', 'mtime': 1585864120.1257432, 'owner': u'root', 'path': u'example_static_dir/lms/images/favicon.ico', 'size': 34894, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- TASK [simple_theme : Create directories for static files to be downloaded] *****
- TASK [simple_theme : Download static files to be included in theme] ************
- TASK [edxapp : Stat each requirements file with Github URLs to ensure it exists] ***
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
- TASK [edxapp : Updating requirement files for git mirror] **********************
- skipping: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'exists': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'isuid': False, u'uid': 1002, u'exists': True, u'attr_flags': u'e', u'woth': False, u'isreg': True, u'device_type': 0, u'mtime': 1585866246.7420313, u'block_size': 4096, u'inode': 6033313, u'isgid': False, u'size': 8266, u'executable': False, u'charset': u'us-ascii', u'readable': True, u'version': u'859456608', u'pw_name': u'edxapp', u'gid': 1003, u'ischr': False, u'wusr': True, u'writeable': True, u'mimetype': u'text/plain', u'blocks': 24, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'gr_name': u'edxapp', u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'xusr': False, u'atime': 1585866249.0380027, u'md5': u'8e05a7b9821c0c5207b2932e5dea8964', u'isdir': False, u'ctime': 1585866246.7420313, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64769, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'4dbbf3095416e40a5f2a49fcb80e2e8bc76829f5', u'rusr': True, u'attributes': [u'extents']}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'isuid': False, u'uid': 1002, u'exists': True, u'attr_flags': u'e', u'woth': False, u'isreg': True, u'device_type': 0, u'mtime': 1585866246.9580286, u'block_size': 4096, u'inode': 6032995, u'isgid': False, u'size': 692, u'executable': False, u'charset': u'us-ascii', u'readable': True, u'version': u'859456616', u'pw_name': u'edxapp', u'gid': 1003, u'ischr': False, u'wusr': True, u'writeable': True, u'mimetype': u'text/plain', u'blocks': 8, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'gr_name': u'edxapp', u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'xusr': False, u'atime': 1585866321.3851347, u'md5': u'9171a4311d1fe40ab9d2b9a57299cccb', u'isdir': False, u'ctime': 1585866246.9580286, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64769, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'60d9560b20540ba67b52a70959b4a11ef449b5ac', u'rusr': True, u'attributes': [u'extents']}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- TASK [edxapp : Create the virtualenv to install the Python requirements] *******
- ok: [localhost]
- TASK [edxapp : Pin pip to a specific version.] *********************************
- changed: [localhost]
- TASK [edxapp : Stat each Python requirements file to ensure it exists] *********
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
- TASK [edxapp : install python requirements] ************************************
- skipping: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'exists': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'isuid': False, u'uid': 1002, u'exists': True, u'attr_flags': u'e', u'woth': False, u'isreg': True, u'device_type': 0, u'mtime': 1585869718.3011007, u'block_size': 4096, u'inode': 6033316, u'isgid': False, u'size': 8266, u'executable': False, u'charset': u'us-ascii', u'readable': True, u'version': u'860022497', u'pw_name': u'edxapp', u'gid': 1003, u'ischr': False, u'wusr': True, u'writeable': True, u'mimetype': u'text/plain', u'blocks': 24, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'gr_name': u'edxapp', u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'xusr': False, u'atime': 1585869718.3011007, u'md5': u'8e05a7b9821c0c5207b2932e5dea8964', u'isdir': False, u'ctime': 1585869718.3011007, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64769, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'4dbbf3095416e40a5f2a49fcb80e2e8bc76829f5', u'rusr': True, u'attributes': [u'extents']}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- TASK [edxapp : install python private requirements] ****************************
- skipping: [localhost] => (item={u'name': u'xblock-problem-builder==3.1.3'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/oppia/xblock.git@9f6b95b7eb7dbabb96b77198a3202604f96adf65#egg=oppia-xblock'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/OfficeDev/xblock-officemix.git@3f876b5f0267b017812620239533a29c7d562d24#egg=officemix'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/schoolyourself/schoolyourself-xblock.git@5e4d37716e3e72640e832e961f7cc0d38d4ec47b#egg=schoolyourself-xblock'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/edx/ConceptXBlock.git@2376fde9ebdd83684b78dde77ef96361c3bd1aa0#egg=concept-xblock'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/edx/AudioXBlock.git@1fbf19cc21613aead62799469e1593adb037fdd9#egg=audio-xblock'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/edx/AnimationXBlock.git@d2b551bb8f49a138088e10298576102164145b87#egg=animation-xblock'})
- skipping: [localhost] => (item={u'name': u'ubcpi-xblock==0.6.4'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/open-craft/xblock-vectordraw.git@c57df9d98119fd2ca4cb31b9d16c27333cdc65ca#egg=xblock-vectordraw==0.2.1'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/open-craft/xblock-activetable.git@e933d41bb86a8d50fb878787ca680165a092a6d5#egg=xblock-activetable'})
- TASK [edxapp : install python extra requirements] ******************************
- TASK [edxapp : install CAS attribute module] ***********************************
- skipping: [localhost]
- TASK [edxapp : install sandbox requirements into regular venv] *****************
- skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
- TASK [edxapp : create nodeenv] *************************************************
- changed: [localhost]
- TASK [edxapp : Set the npm registry] *******************************************
- ok: [localhost]
- TASK [edxapp : Set the npm registry permissions] *******************************
- changed: [localhost]
- TASK [edxapp : install node dependencies] **************************************
- changed: [localhost]
- TASK [edxapp : code sandbox | put sandbox apparmor profile in complain mode] ***
- changed: [localhost]
- TASK [edxapp : code sandbox | Install base sandbox requirements and create sandbox virtualenv] ***
- ok: [localhost]
- TASK [edxapp : code sandbox | put code sandbox into aa-enforce or aa-complain mode, depending on EDXAPP_SANDBOX_ENFORCE] ***
- changed: [localhost]
- TASK [edxapp : compiling all py files in the edx-platform repo] ****************
- changed: [localhost]
- TASK [edxapp : give other read permissions to the virtualenv] ******************
- ok: [localhost]
- TASK [edxapp : create service wrapper scripts - {{item}}] **********************
- ok: [localhost] => (item=lms.sh)
- ok: [localhost] => (item=cms.sh)
- ok: [localhost] => (item=worker.sh)
- TASK [edxapp : create application and auth config] *****************************
- ok: [localhost] => (item=[u'lms', u'env'])
- ok: [localhost] => (item=[u'lms', u'auth'])
- ok: [localhost] => (item=[u'cms', u'env'])
- ok: [localhost] => (item=[u'cms', u'auth'])
- TASK [edxapp : combined lms auth env for yml] **********************************
- ok: [localhost]
- TASK [edxapp : render lms yml config] ******************************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : combined cms auth env for yml] **********************************
- ok: [localhost]
- TASK [edxapp : render studio yml config] ***************************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : writing {{ item }} supervisor script] ***************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : writing celery supervisor scripts] ******************************
- ok: [localhost] => (item=workers.conf)
- TASK [edxapp : clean out old edxapp.conf] **************************************
- ok: [localhost]
- TASK [edxapp : add gunicorn configuration files] *******************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : enable {{ item }} supervisor script] ****************************
- skipping: [localhost] => (item=lms)
- skipping: [localhost] => (item=cms)
- TASK [edxapp : enable celery worker supervisor script] *************************
- ok: [localhost]
- TASK [edxapp : create helper scripts for managing edxapp] **********************
- ok: [localhost] => (item=[u'edxapp-migrate', u'lms'])
- ok: [localhost] => (item=[u'edxapp-migrate', u'cms'])
- ok: [localhost] => (item=[u'edxapp-runserver', u'lms'])
- ok: [localhost] => (item=[u'edxapp-runserver', u'cms'])
- ok: [localhost] => (item=[u'edxapp-shell', u'lms'])
- ok: [localhost] => (item=[u'edxapp-shell', u'cms'])
- TASK [edxapp : create script to compile and update assets] *********************
- ok: [localhost]
- TASK [edxapp : migrate] ********************************************************
- changed: [localhost] => (item=lms)
- changed: [localhost] => (item=cms)
- TASK [edxapp : Remove and recreate the staticfiles directory so nothing stale can exist] ***
- skipping: [localhost] => (item=absent)
- skipping: [localhost] => (item=directory)
- TASK [edxapp : gather static assets with paver] ********************************
- skipping: [localhost]
- TASK [edxapp : update supervisor configuration] ********************************
- ok: [localhost]
- TASK [edxapp : ensure edxapp has started] **************************************
- skipping: [localhost] => (item=lms)
- skipping: [localhost] => (item=cms)
- TASK [edxapp : ensure edxapp_workers has started] ******************************
- ok: [localhost]
- TASK [edxapp : create symlinks from the venv bin dir and repo dir] *************
- ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/python)
- ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/pip)
- ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/django-admin.py)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/manage.py)
- TASK [edxapp : remove read-only ssh key] ***************************************
- skipping: [localhost]
- TASK [edxapp : get instance information] ***************************************
- skipping: [localhost]
- TASK [edxapp : tag instance with edx_platform version] *************************
- skipping: [localhost]
- TASK [edxapp : tag instance with edxapp theme version] *************************
- skipping: [localhost]
- TASK [edxapp : set_fact] *******************************************************
- ok: [localhost]
- TASK [edxapp : restart edxapp] *************************************************
- skipping: [localhost] => (item=lms)
- skipping: [localhost] => (item=cms)
- TASK [edxapp : restart edxapp_workers] *****************************************
- changed: [localhost]
- TASK [edxapp : create service worker users] ************************************
- changed: [localhost] => (item={u'username': u'enterprise_worker', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- changed: [localhost] => (item={u'username': u'veda_service_user', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'journals_worker', u'is_superuser': False, u'is_staff': True, u'enabled': False, u'email': u'[email protected]'})
- changed: [localhost] => (item={u'username': u'discovery_worker', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- changed: [localhost] => (item={u'username': u'insights_worker', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- changed: [localhost] => (item={u'username': u'credentials_worker', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- TASK [edxapp : reindex all courses] ********************************************
- skipping: [localhost]
- TASK [edxapp : install cron job to run clearsessions] **************************
- skipping: [localhost]
- TASK [edxapp : install additional cron jobs] ***********************************
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [add_user : create user groups] *******************************************
- skipping: [localhost] => (item=edx-themes)
- TASK [add_user : create application user] **************************************
- skipping: [localhost]
- TASK [add_user : ensure correct ownership of home directory] *******************
- skipping: [localhost]
- TASK [add_user : create dirs for the user] *************************************
- TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
- skipping: [localhost]
- TASK [git_clone : Validate git protocol] ***************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Install read-only ssh key] ***********************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Check that working tree is clean] ****************************
- skipping: [localhost] => (item=/edx/var/edx-themes/edx-themes)
- TASK [git_clone : Require a clean working tree] ********************************
- skipping: [localhost] => (item={'skipped': True, '_ansible_no_log': False, 'skip_reason': u'Conditional result was False', '_ansible_item_result': True, 'item': u'/edx/var/edx-themes/edx-themes', 'changed': False})
- TASK [git_clone : Checkout code over ssh] **************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Checkout code over https] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Remove read-only ssh key] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Run git clean after checking out code] ***********************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [edx_themes : ensure edx-theme's group has read/write access to themes directory] ***
- skipping: [localhost]
- TASK [edx_themes : Add theme users to theme's group so that that have read/write access to themes directories] ***
- skipping: [localhost] => (item=edxapp)
- TASK [edx_themes : update .bashrc to set umask value] **************************
- skipping: [localhost]
- TASK [edxapp : create application user] ****************************************
- ok: [localhost]
- TASK [edxapp : create edxapp user dirs] ****************************************
- ok: [localhost] => (item={u'path': u'/edx/app/edxapp'})
- ok: [localhost] => (item={u'path': u'/edx/app/edxapp/.ssh'})
- ok: [localhost] => (item={u'path': u'/edx/app/edxapp/venvs'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp/themes'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp/staticfiles'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp/course_static'})
- changed: [localhost] => (item={u'path': u'/edx/var/edxapp/data'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp', u'mode': u'0775'})
- ok: [localhost] => (item={u'path': u'/edx/var/edxapp/course_repos', u'mode': u'0775'})
- TASK [edxapp : write devstack script] ******************************************
- skipping: [localhost]
- TASK [edxapp : create edxapp log dir] ******************************************
- ok: [localhost]
- TASK [edxapp : Ensure the tracking folder exists] ******************************
- ok: [localhost]
- TASK [edxapp : Ensure the tracking.log file exists] ****************************
- changed: [localhost]
- TASK [edxapp : create web-writable edxapp data dirs] ***************************
- changed: [localhost] => (item=/edx/var/edxapp/data)
- ok: [localhost] => (item=/edx/var/edxapp/uploads)
- ok: [localhost] => (item=/edx/var/edxapp/media)
- TASK [edxapp : install system packages on which LMS and CMS rely] **************
- ok: [localhost] => (item=[u's3cmd', u'pkg-config', u'g++', u'apparmor-utils', u'curl', u'ipython', u'nodejs', u'ntp', u'libfreetype6-dev', u'libffi-dev', u'python-dev', u'libsqlite3-dev'])
- TASK [edxapp : set up edxapp .npmrc] *******************************************
- changed: [localhost]
- TASK [edxapp : create log directories for service variants] ********************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : code sandbox | Check which `libblas` to use] ********************
- ok: [localhost]
- TASK [edxapp : code sandbox | Use libblas.so.3gf in Ubuntu] ********************
- skipping: [localhost]
- TASK [edxapp : code sandbox | Use libblas.so.3 in Ubuntu] **********************
- ok: [localhost]
- TASK [edxapp : code sandbox | Check which `liblapac` to use] *******************
- ok: [localhost]
- TASK [edxapp : code sandbox | Use liblapack.so.3gf in Ubuntu] ******************
- skipping: [localhost]
- TASK [edxapp : code sandbox | Use liblapack.so.3 in Ubuntu] ********************
- ok: [localhost]
- TASK [edxapp : code sandbox | Create edxapp sandbox user] **********************
- ok: [localhost]
- TASK [edxapp : code sandbox | Install apparmor utils system pkg] ***************
- ok: [localhost]
- TASK [edxapp : code sandbox | write out apparmor code sandbox config] **********
- ok: [localhost]
- TASK [edxapp : code sandbox | write out sandbox user sudoers config] ***********
- ok: [localhost]
- TASK [edxapp : code sandbox | start apparmor service] **************************
- ok: [localhost]
- TASK [edxapp : code sandbox | (bootstrap) load code sandbox profile] ***********
- changed: [localhost]
- TASK [edxapp : code sandbox | (bootstrap) put code sandbox into aa-enforce or aa-complain mode depending on EDXAPP_SANDBOX_ENFORCE] ***
- changed: [localhost]
- TASK [edxapp : copy the template to the desired location] **********************
- ok: [localhost] => (item={u'dest': u'/edx/app/edxapp/edxapp_env', u'src': u'edxapp_env.j2', u'group': u'www-data', u'mode': u'0644', u'owner': u'edxapp'})
- ok: [localhost] => (item={u'dest': u'/edx/app/edxapp/newrelic.ini', u'src': u'newrelic.ini.j2', u'group': u'www-data', u'mode': u'0644', u'owner': u'edxapp'})
- ok: [localhost] => (item={u'dest': u'/tmp/edxapp_git_ssh.sh', u'src': u'git_ssh.sh.j2', u'group': u'edxapp', u'mode': u'0750', u'owner': u'edxapp'})
- ok: [localhost] => (item={u'dest': u'/edx/app/edxapp/.boto', u'src': u'boto.j2', u'group': u'www-data', u'mode': u'0644', u'owner': u'edxapp'})
- TASK [edxapp : install read-only ssh key] **************************************
- skipping: [localhost]
- TASK [edxapp : set git fetch.prune to ignore deleted remote refs] **************
- changed: [localhost]
- TASK [edxapp : checkout edx-platform repo into /edx/app/edxapp/edx-platform] ***
- ok: [localhost]
- TASK [edxapp : git clean after checking out edx-platform] **********************
- changed: [localhost]
- TASK [edxapp : checkout Stanford-style theme] **********************************
- skipping: [localhost]
- TASK [simple_theme : assert] ***************************************************
- skipping: [localhost]
- TASK [simple_theme : assert] ***************************************************
- skipping: [localhost]
- TASK [simple_theme : Check whether theme directory already exists] *************
- skipping: [localhost]
- TASK [simple_theme : Download skeleton theme] **********************************
- skipping: [localhost]
- TASK [simple_theme : Adjust owner/group of downloaded skeleton theme] **********
- skipping: [localhost]
- TASK [simple_theme : Create default skeleton (dirs)] ***************************
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/discussion', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-course.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-course.scss', 'size': 63, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-main-v2.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-main-v2.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-main-v1.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-main-v1.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'group': u'root', 'uid': 0, 'state': u'file', 'gid': 0, 'mode': u'0644', 'mtime': 1585864120.1257432, 'owner': u'root', 'path': u'lms/static/sass/discussion/lms-discussion-main.scss', 'size': 86, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- TASK [simple_theme : Create default skeleton (files)] **************************
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/discussion', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-course.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-course.scss', 'size': 63, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-main-v2.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-main-v2.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/lms-main-v1.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/lms-main-v1.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'lms/static/sass/discussion/lms-discussion-main.scss', 'size': 86, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/../files/default_skeleton', 'ctime': 1585864120.1257432})
- TASK [simple_theme : Create directory to hold the theme and styles] ************
- skipping: [localhost] => (item=.)
- skipping: [localhost] => (item=lms/static/sass/partials/lms/theme)
- TASK [simple_theme : Compile the templates] ************************************
- skipping: [localhost] => (item=lms/static/sass/partials/lms/theme/_variables-v1.scss)
- skipping: [localhost] => (item=lms/static/sass/_lms-overrides.scss)
- TASK [simple_theme : Create directories for static files to be copied] *********
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/discussion', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-course.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-course.scss', 'size': 63, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-main-v2.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-main-v2.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-main-v1.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-main-v1.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'size': 86, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms/images', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/cms/images/logo.png', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms/images/logo.png', 'size': 1494, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/js', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/js/myscript.js', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/js/myscript.js', 'size': 42, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/images/logo.png', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images/logo.png', 'size': 928, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/images/favicon.ico', 'group': u'root', 'uid': 0, 'state': u'file', 'gid': 0, 'mode': u'0644', 'mtime': 1585864120.1257432, 'owner': u'root', 'path': u'example_static_dir/lms/images/favicon.ico', 'size': 34894, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- TASK [simple_theme : Copy static files (adding "static/")] *********************
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/discussion', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-course.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-course.scss', 'size': 63, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-main-v2.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-main-v2.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/lms-main-v1.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/lms-main-v1.scss', 'size': 65, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'default_skeleton/lms/static/sass/discussion/lms-discussion-main.scss', 'size': 86, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms/images', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/cms/images/logo.png', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/cms/images/logo.png', 'size': 1494, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/js', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'group': 'root', 'uid': 0, 'state': 'directory', 'gid': 0, 'mode': '0755', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images', 'size': 4096, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/js/myscript.js', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/js/myscript.js', 'size': 42, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/images/logo.png', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images/logo.png', 'size': 928, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- skipping: [localhost] => (item={'src': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/example_static_dir/lms/images/favicon.ico', 'group': 'root', 'uid': 0, 'state': 'file', 'gid': 0, 'mode': '0644', 'mtime': 1585864120.1257432, 'owner': 'root', 'path': u'example_static_dir/lms/images/favicon.ico', 'size': 34894, 'root': u'/var/tmp/configuration/playbooks/roles/simple_theme/files/', 'ctime': 1585864120.1257432})
- TASK [simple_theme : Create directories for static files to be downloaded] *****
- TASK [simple_theme : Download static files to be included in theme] ************
- TASK [edxapp : Stat each requirements file with Github URLs to ensure it exists] ***
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
- TASK [edxapp : Updating requirement files for git mirror] **********************
- skipping: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'exists': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'isuid': False, u'uid': 1002, u'exists': True, u'attr_flags': u'e', u'woth': False, u'isreg': True, u'device_type': 0, u'mtime': 1585869718.3011007, u'block_size': 4096, u'inode': 6033316, u'isgid': False, u'size': 8266, u'executable': False, u'charset': u'us-ascii', u'readable': True, u'version': u'860022497', u'pw_name': u'edxapp', u'gid': 1003, u'ischr': False, u'wusr': True, u'writeable': True, u'mimetype': u'text/plain', u'blocks': 24, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'gr_name': u'edxapp', u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'xusr': False, u'atime': 1585869720.8450716, u'md5': u'8e05a7b9821c0c5207b2932e5dea8964', u'isdir': False, u'ctime': 1585869718.3011007, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64769, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'4dbbf3095416e40a5f2a49fcb80e2e8bc76829f5', u'rusr': True, u'attributes': [u'extents']}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'isuid': False, u'uid': 1002, u'exists': True, u'attr_flags': u'e', u'woth': False, u'isreg': True, u'device_type': 0, u'mtime': 1585869718.5250983, u'block_size': 4096, u'inode': 6033313, u'isgid': False, u'size': 692, u'executable': False, u'charset': u'us-ascii', u'readable': True, u'version': u'860022505', u'pw_name': u'edxapp', u'gid': 1003, u'ischr': False, u'wusr': True, u'writeable': True, u'mimetype': u'text/plain', u'blocks': 8, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'gr_name': u'edxapp', u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'xusr': False, u'atime': 1585869797.8641937, u'md5': u'9171a4311d1fe40ab9d2b9a57299cccb', u'isdir': False, u'ctime': 1585869718.5250983, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64769, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'60d9560b20540ba67b52a70959b4a11ef449b5ac', u'rusr': True, u'attributes': [u'extents']}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- TASK [edxapp : Create the virtualenv to install the Python requirements] *******
- ok: [localhost]
- TASK [edxapp : Pin pip to a specific version.] *********************************
- changed: [localhost]
- TASK [edxapp : Stat each Python requirements file to ensure it exists] *********
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/custom.txt)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx/base.txt)
- TASK [edxapp : install python requirements] ************************************
- skipping: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'exists': False}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/custom.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- changed: [localhost] => (item={'_ansible_parsed': True, u'stat': {u'isuid': False, u'uid': 1002, u'exists': True, u'attr_flags': u'e', u'woth': False, u'isreg': True, u'device_type': 0, u'mtime': 1585870002.9847283, u'block_size': 4096, u'inode': 6032995, u'isgid': False, u'size': 8266, u'executable': False, u'charset': u'us-ascii', u'readable': True, u'version': u'860072172', u'pw_name': u'edxapp', u'gid': 1003, u'ischr': False, u'wusr': True, u'writeable': True, u'mimetype': u'text/plain', u'blocks': 24, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'gr_name': u'edxapp', u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'xusr': False, u'atime': 1585870002.9847283, u'md5': u'8e05a7b9821c0c5207b2932e5dea8964', u'isdir': False, u'ctime': 1585870002.9847283, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64769, u'roth': True, u'isfifo': False, u'mode': u'0644', u'checksum': u'4dbbf3095416e40a5f2a49fcb80e2e8bc76829f5', u'rusr': True, u'attributes': [u'extents']}, '_ansible_item_result': True, '_ansible_no_log': False, u'changed': False, 'item': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'invocation': {u'module_args': {u'checksum_algorithm': u'sha1', u'get_checksum': True, u'follow': False, u'path': u'/edx/app/edxapp/edx-platform/requirements/edx/base.txt', u'get_md5': True, u'get_mime': True, u'get_attributes': True}}})
- TASK [edxapp : install python private requirements] ****************************
- skipping: [localhost] => (item={u'name': u'xblock-problem-builder==3.1.3'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/oppia/xblock.git@9f6b95b7eb7dbabb96b77198a3202604f96adf65#egg=oppia-xblock'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/OfficeDev/xblock-officemix.git@3f876b5f0267b017812620239533a29c7d562d24#egg=officemix'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/schoolyourself/schoolyourself-xblock.git@5e4d37716e3e72640e832e961f7cc0d38d4ec47b#egg=schoolyourself-xblock'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/edx/ConceptXBlock.git@2376fde9ebdd83684b78dde77ef96361c3bd1aa0#egg=concept-xblock'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/edx/AudioXBlock.git@1fbf19cc21613aead62799469e1593adb037fdd9#egg=audio-xblock'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/edx/AnimationXBlock.git@d2b551bb8f49a138088e10298576102164145b87#egg=animation-xblock'})
- skipping: [localhost] => (item={u'name': u'ubcpi-xblock==0.6.4'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/open-craft/xblock-vectordraw.git@c57df9d98119fd2ca4cb31b9d16c27333cdc65ca#egg=xblock-vectordraw==0.2.1'})
- skipping: [localhost] => (item={u'extra_args': u'-e', u'name': u'git+https://github.com/open-craft/xblock-activetable.git@e933d41bb86a8d50fb878787ca680165a092a6d5#egg=xblock-activetable'})
- TASK [edxapp : install python extra requirements] ******************************
- TASK [edxapp : install CAS attribute module] ***********************************
- skipping: [localhost]
- TASK [edxapp : install sandbox requirements into regular venv] *****************
- skipping: [localhost] => (item=/edx/app/edxapp/edx-platform/requirements/edx-sandbox/base.txt)
- TASK [edxapp : create nodeenv] *************************************************
- changed: [localhost]
- TASK [edxapp : Set the npm registry] *******************************************
- ok: [localhost]
- TASK [edxapp : Set the npm registry permissions] *******************************
- changed: [localhost]
- TASK [edxapp : install node dependencies] **************************************
- changed: [localhost]
- TASK [edxapp : code sandbox | put sandbox apparmor profile in complain mode] ***
- changed: [localhost]
- TASK [edxapp : code sandbox | Install base sandbox requirements and create sandbox virtualenv] ***
- ok: [localhost]
- TASK [edxapp : code sandbox | put code sandbox into aa-enforce or aa-complain mode, depending on EDXAPP_SANDBOX_ENFORCE] ***
- changed: [localhost]
- TASK [edxapp : compiling all py files in the edx-platform repo] ****************
- changed: [localhost]
- TASK [edxapp : give other read permissions to the virtualenv] ******************
- ok: [localhost]
- TASK [edxapp : create service wrapper scripts - {{item}}] **********************
- ok: [localhost] => (item=lms.sh)
- ok: [localhost] => (item=cms.sh)
- ok: [localhost] => (item=worker.sh)
- TASK [edxapp : create application and auth config] *****************************
- ok: [localhost] => (item=[u'lms', u'env'])
- ok: [localhost] => (item=[u'lms', u'auth'])
- ok: [localhost] => (item=[u'cms', u'env'])
- ok: [localhost] => (item=[u'cms', u'auth'])
- TASK [edxapp : combined lms auth env for yml] **********************************
- ok: [localhost]
- TASK [edxapp : render lms yml config] ******************************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : combined cms auth env for yml] **********************************
- ok: [localhost]
- TASK [edxapp : render studio yml config] ***************************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : writing {{ item }} supervisor script] ***************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : writing celery supervisor scripts] ******************************
- ok: [localhost] => (item=workers.conf)
- TASK [edxapp : clean out old edxapp.conf] **************************************
- ok: [localhost]
- TASK [edxapp : add gunicorn configuration files] *******************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : enable {{ item }} supervisor script] ****************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : enable celery worker supervisor script] *************************
- skipping: [localhost]
- TASK [edxapp : create helper scripts for managing edxapp] **********************
- ok: [localhost] => (item=[u'edxapp-migrate', u'lms'])
- ok: [localhost] => (item=[u'edxapp-migrate', u'cms'])
- ok: [localhost] => (item=[u'edxapp-runserver', u'lms'])
- ok: [localhost] => (item=[u'edxapp-runserver', u'cms'])
- ok: [localhost] => (item=[u'edxapp-shell', u'lms'])
- ok: [localhost] => (item=[u'edxapp-shell', u'cms'])
- TASK [edxapp : create script to compile and update assets] *********************
- ok: [localhost]
- TASK [edxapp : migrate] ********************************************************
- changed: [localhost] => (item=lms)
- changed: [localhost] => (item=cms)
- TASK [edxapp : Remove and recreate the staticfiles directory so nothing stale can exist] ***
- changed: [localhost] => (item=absent)
- changed: [localhost] => (item=directory)
- TASK [edxapp : gather static assets with paver] ********************************
- changed: [localhost]
- TASK [edxapp : update supervisor configuration] ********************************
- ok: [localhost]
- TASK [edxapp : ensure edxapp has started] **************************************
- ok: [localhost] => (item=lms)
- ok: [localhost] => (item=cms)
- TASK [edxapp : ensure edxapp_workers has started] ******************************
- skipping: [localhost]
- TASK [edxapp : create symlinks from the venv bin dir and repo dir] *************
- ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/python)
- ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/pip)
- ok: [localhost] => (item=/edx/app/edxapp/venvs/edxapp/bin/django-admin.py)
- ok: [localhost] => (item=/edx/app/edxapp/edx-platform/manage.py)
- TASK [edxapp : remove read-only ssh key] ***************************************
- skipping: [localhost]
- TASK [edxapp : get instance information] ***************************************
- skipping: [localhost]
- TASK [edxapp : tag instance with edx_platform version] *************************
- skipping: [localhost]
- TASK [edxapp : tag instance with edxapp theme version] *************************
- skipping: [localhost]
- TASK [edxapp : set_fact] *******************************************************
- ok: [localhost]
- TASK [edxapp : restart edxapp] *************************************************
- changed: [localhost] => (item=lms)
- changed: [localhost] => (item=cms)
- TASK [edxapp : restart edxapp_workers] *****************************************
- skipping: [localhost]
- TASK [edxapp : create service worker users] ************************************
- changed: [localhost] => (item={u'username': u'enterprise_worker', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- changed: [localhost] => (item={u'username': u'veda_service_user', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'journals_worker', u'is_superuser': False, u'is_staff': True, u'enabled': False, u'email': u'[email protected]'})
- changed: [localhost] => (item={u'username': u'discovery_worker', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- changed: [localhost] => (item={u'username': u'insights_worker', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- changed: [localhost] => (item={u'username': u'credentials_worker', u'is_superuser': False, u'is_staff': True, u'email': u'[email protected]'})
- TASK [edxapp : reindex all courses] ********************************************
- skipping: [localhost]
- TASK [edxapp : install cron job to run clearsessions] **************************
- skipping: [localhost]
- TASK [edxapp : install additional cron jobs] ***********************************
- TASK [add_user : create user groups] *******************************************
- skipping: [localhost] => (item=edx-themes)
- TASK [add_user : create application user] **************************************
- skipping: [localhost]
- TASK [add_user : ensure correct ownership of home directory] *******************
- skipping: [localhost]
- TASK [add_user : create dirs for the user] *************************************
- TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
- skipping: [localhost]
- TASK [git_clone : Validate git protocol] ***************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Install read-only ssh key] ***********************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Check that working tree is clean] ****************************
- skipping: [localhost] => (item=/edx/var/edx-themes/edx-themes)
- TASK [git_clone : Require a clean working tree] ********************************
- skipping: [localhost] => (item={'skipped': True, '_ansible_no_log': False, 'skip_reason': u'Conditional result was False', '_ansible_item_result': True, 'item': u'/edx/var/edx-themes/edx-themes', 'changed': False})
- TASK [git_clone : Checkout code over ssh] **************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Checkout code over https] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Remove read-only ssh key] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Run git clean after checking out code] ***********************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [edx_themes : ensure edx-theme's group has read/write access to themes directory] ***
- skipping: [localhost]
- TASK [edx_themes : Add theme users to theme's group so that that have read/write access to themes directories] ***
- skipping: [localhost] => (item=ecommerce)
- TASK [edx_themes : update .bashrc to set umask value] **************************
- skipping: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [automated : Create automated user] ***************************************
- TASK [automated : Create sudoers file from template] ***************************
- TASK [automated : Create .ssh directory] ***************************************
- TASK [automated : Build authorized_keys file] **********************************
- TASK [automated : Build known_hosts file] **************************************
- TASK [add_user : create user groups] *******************************************
- ok: [localhost] => (item=ecommerce)
- TASK [add_user : create application user] **************************************
- ok: [localhost]
- TASK [add_user : ensure correct ownership of home directory] *******************
- ok: [localhost]
- TASK [add_user : create dirs for the user] *************************************
- TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
- changed: [localhost]
- TASK [git_clone : Validate git protocol] ***************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Install read-only ssh key] ***********************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Check that working tree is clean] ****************************
- changed: [localhost] => (item=/edx/app/ecommerce/ecommerce)
- TASK [git_clone : Require a clean working tree] ********************************
- skipping: [localhost] => (item={'_ansible_parsed': True, 'stderr_lines': [], u'changed': True, u'end': u'2020-04-03 02:37:54.298539', '_ansible_no_log': False, u'stdout': u'', '_ansible_item_result': True, u'rc': 0, u'start': u'2020-04-03 02:37:54.237438', u'cmd': u'test ! -e "/edx/app/ecommerce/ecommerce" || git -C "/edx/app/ecommerce/ecommerce" status --porcelain --untracked-files=no', 'item': u'/edx/app/ecommerce/ecommerce', u'delta': u'0:00:00.061101', u'invocation': {u'module_args': {u'creates': None, u'executable': None, u'_uses_shell': True, u'_raw_params': u'test ! -e "/edx/app/ecommerce/ecommerce" || git -C "/edx/app/ecommerce/ecommerce" status --porcelain --untracked-files=no', u'removes': None, u'warn': True, u'chdir': None}}, 'stdout_lines': [], u'stderr': u''})
- TASK [git_clone : Checkout code over ssh] **************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Checkout code over https] ************************************
- ok: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Remove read-only ssh key] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Run git clean after checking out code] ***********************
- changed: [localhost] => (item=(censored due to no_log))
- TASK [edx_service : Create edx_service app, venv, data, and staticfiles dirs] ***
- ok: [localhost] => (item=)
- ok: [localhost] => (item=venvs)
- ok: [localhost] => (item=data)
- ok: [localhost] => (item=staticfiles)
- TASK [edx_service : Create /edx/var/app dir] ***********************************
- ok: [localhost]
- TASK [edx_service : Create /edx/etc dir] ***************************************
- changed: [localhost]
- TASK [edx_service : Create edx_service log dir] ********************************
- ok: [localhost] => (item=/edx/var/log/ecommerce)
- TASK [edx_service : Write out app config file] *********************************
- [WARNING]: when statements should not include jinja2 templating delimiters
- such as {{ }} or {% %}. Found: {{ edx_django_service_config }}
- ok: [localhost]
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- ok: [localhost] => (item=[u'gettext', u'libffi-dev', u'libmemcached-dev', u'libmysqlclient-dev', u'libssl-dev', u'libmysqlclient-dev', u'libjpeg-dev', u'libssl-dev', u'libffi-dev'])
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- TASK [edx_service : Get instance information] **********************************
- ok: [localhost]
- TASK [edx_service : Tag instance] **********************************************
- skipping: [localhost] => (item=[{u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/ecommerce/ecommerce', u'SSH_KEY': None, u'REPO': u'ecommerce.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, {'_ansible_parsed': True, u'changed': False, '_ansible_no_log': True, '_ansible_item_result': True, u'remote_url_changed': False, 'item': {u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/ecommerce/ecommerce', u'SSH_KEY': None, u'REPO': u'ecommerce.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, u'invocation': {u'module_args': {u'executable': None, u'force': False, u'refspec': None, u'reference': None, u'dest': u'/edx/app/ecommerce/ecommerce', u'verify_commit': False, u'clone': True, u'umask': None, u'update': True, u'ssh_opts': None, u'repo': u'https://github.com/edx/ecommerce.git', u'track_submodules': False, u'depth': 1, u'version': u'open-release/ironwood.master', u'bare': False, u'recursive': True, u'remote': u'origin', u'key_file': None, u'accept_hostkey': False}}, u'after': u'1245bf43a8fcffd296781ea7557acc0b353015c5', u'before': u'1245bf43a8fcffd296781ea7557acc0b353015c5'}])
- TASK [edx_django_service : add gunicorn configuration file] ********************
- ok: [localhost]
- TASK [edx_django_service : install python3] ************************************
- skipping: [localhost] => (item=[])
- TASK [edx_django_service : build virtualenv with python3] **********************
- skipping: [localhost]
- TASK [edx_django_service : build virtualenv with python2.7] ********************
- ok: [localhost]
- TASK [edx_django_service : Pin pip to a specific version.] *********************
- changed: [localhost]
- TASK [edx_django_service : install nodenv] *************************************
- changed: [localhost]
- TASK [edx_django_service : create nodeenv] *************************************
- ok: [localhost]
- TASK [edx_django_service : install production requirements] ********************
- changed: [localhost]
- TASK [edx_django_service : install development requirements] *******************
- skipping: [localhost]
- TASK [edx_django_service : migrate database] ***********************************
- changed: [localhost]
- TASK [edx_django_service : run post-migrate commands] **************************
- changed: [localhost] => (item={u'when': True, u'command': u'./manage.py oscar_populate_countries --initial-only'})
- changed: [localhost] => (item={u'when': True, u'command': u'./manage.py create_or_update_site --site-id=1 --site-domain=localhost:8002 --partner-code=edX --partner-name="Open edX" --lms-url-root=http://127.0.0.1:8000 --client-side-payment-processor=cybersource --payment-processors=cybersource,paypal --client-id=ecommerce-key --client-secret=ecommerce-secret --from-email [email protected] --discovery_api_url=http://localhost:8008/api/v1/ --journals_api_url='})
- changed: [localhost] => (item={u'when': True, u'command': u'./manage.py create_demo_data --partner=edX'})
- TASK [edx_django_service : ensure log files exist for tailing] *****************
- changed: [localhost] => (item=/edx/var/log/supervisor/ecommerce-stdout.log)
- changed: [localhost] => (item=/edx/var/log/supervisor/ecommerce-stderr.log)
- TASK [edx_django_service : write out the supervisor wrapper] *******************
- ok: [localhost]
- TASK [edx_django_service : write supervisord config] ***************************
- ok: [localhost]
- TASK [edx_django_service : write devstack script] ******************************
- skipping: [localhost]
- TASK [edx_django_service : setup the app env file] *****************************
- ok: [localhost]
- TASK [edx_django_service : enable supervisor script] ***************************
- ok: [localhost]
- TASK [edx_django_service : update supervisor configuration] ********************
- changed: [localhost]
- TASK [edx_django_service : create symlinks from the venv bin dir] **************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- ok: [localhost] => (item=django-admin.py)
- TASK [edx_django_service : create symlinks from the repo dir] ******************
- ok: [localhost] => (item=manage.py)
- TASK [edx_django_service : compile static assets] ******************************
- changed: [localhost]
- TASK [edx_django_service : restart the application] ****************************
- changed: [localhost]
- TASK [edx_django_service : Copying nginx configs for the service] **************
- ok: [localhost]
- TASK [edx_django_service : Creating nginx config links for the service] ********
- ok: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [antivirus : install antivirus system packages] ***************************
- skipping: [localhost] => (item=[])
- TASK [antivirus : create antivirus scanner user] *******************************
- skipping: [localhost]
- TASK [antivirus : create antivirus edx directories] ****************************
- skipping: [localhost] => (item=/edx/app/antivirus)
- skipping: [localhost] => (item=/edx/app/antivirus/data)
- skipping: [localhost] => (item=/edx/var/log/antivirus)
- TASK [antivirus : Ensure the clamav.log file exists] ***************************
- skipping: [localhost]
- TASK [antivirus : install antivirus s3 scanner script] *************************
- skipping: [localhost]
- TASK [antivirus : install antivirus s3 scanner cronjob] ************************
- skipping: [localhost] => (item=None)
- TASK [antivirus : install antivirus server scanner script] *********************
- skipping: [localhost]
- TASK [antivirus : install antivirus server scanner cronjob] ********************
- skipping: [localhost]
- TASK [ecommerce : Create Apple Pay certificates directory] *********************
- ok: [localhost]
- TASK [ecommerce : Write Apple Pay merchant certificates] ***********************
- ok: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [add_user : create user groups] *******************************************
- ok: [localhost] => (item=ecomworker)
- TASK [add_user : create application user] **************************************
- ok: [localhost]
- TASK [add_user : ensure correct ownership of home directory] *******************
- ok: [localhost]
- TASK [add_user : create dirs for the user] *************************************
- TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
- changed: [localhost]
- TASK [git_clone : Validate git protocol] ***************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Install read-only ssh key] ***********************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Check that working tree is clean] ****************************
- changed: [localhost] => (item=/edx/app/ecomworker/ecomworker)
- TASK [git_clone : Require a clean working tree] ********************************
- skipping: [localhost] => (item={'_ansible_parsed': True, 'stderr_lines': [], u'changed': True, u'end': u'2020-04-03 02:39:50.062760', '_ansible_no_log': False, u'stdout': u'', '_ansible_item_result': True, u'rc': 0, u'start': u'2020-04-03 02:39:50.044230', u'cmd': u'test ! -e "/edx/app/ecomworker/ecomworker" || git -C "/edx/app/ecomworker/ecomworker" status --porcelain --untracked-files=no', 'item': u'/edx/app/ecomworker/ecomworker', u'delta': u'0:00:00.018530', u'invocation': {u'module_args': {u'creates': None, u'executable': None, u'_uses_shell': True, u'_raw_params': u'test ! -e "/edx/app/ecomworker/ecomworker" || git -C "/edx/app/ecomworker/ecomworker" status --porcelain --untracked-files=no', u'removes': None, u'warn': True, u'chdir': None}}, 'stdout_lines': [], u'stderr': u''})
- TASK [git_clone : Checkout code over ssh] **************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Checkout code over https] ************************************
- ok: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Remove read-only ssh key] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Run git clean after checking out code] ***********************
- changed: [localhost] => (item=(censored due to no_log))
- TASK [edx_service : Create edx_service app, venv, data, and staticfiles dirs] ***
- ok: [localhost] => (item=)
- ok: [localhost] => (item=venvs)
- ok: [localhost] => (item=data)
- ok: [localhost] => (item=staticfiles)
- TASK [edx_service : Create /edx/var/app dir] ***********************************
- ok: [localhost]
- TASK [edx_service : Create /edx/etc dir] ***************************************
- changed: [localhost]
- TASK [edx_service : Create edx_service log dir] ********************************
- ok: [localhost] => (item=/edx/var/log/ecomworker)
- TASK [edx_service : Write out app config file] *********************************
- [WARNING]: when statements should not include jinja2 templating delimiters
- such as {{ }} or {% %}. Found: {{ ECOMMERCE_WORKER_SERVICE_CONFIG }}
- ok: [localhost]
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- TASK [edx_service : Get instance information] **********************************
- ok: [localhost]
- TASK [edx_service : Tag instance] **********************************************
- skipping: [localhost] => (item=[{u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/ecomworker/ecomworker', u'SSH_KEY': None, u'REPO': u'ecommerce-worker.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, {'_ansible_parsed': True, u'changed': False, '_ansible_no_log': True, '_ansible_item_result': True, u'remote_url_changed': False, 'item': {u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/ecomworker/ecomworker', u'SSH_KEY': None, u'REPO': u'ecommerce-worker.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, u'invocation': {u'module_args': {u'executable': None, u'force': False, u'refspec': None, u'reference': None, u'dest': u'/edx/app/ecomworker/ecomworker', u'verify_commit': False, u'clone': True, u'umask': None, u'update': True, u'ssh_opts': None, u'repo': u'https://github.com/edx/ecommerce-worker.git', u'track_submodules': False, u'depth': 1, u'version': u'open-release/ironwood.master', u'bare': False, u'recursive': True, u'remote': u'origin', u'key_file': None, u'accept_hostkey': False}}, u'after': u'33ee0068d1b6d2ffd4d2ba806f2fc00c57a0ae03', u'before': u'33ee0068d1b6d2ffd4d2ba806f2fc00c57a0ae03'}])
- TASK [ecomworker : install application requirements] ***************************
- ok: [localhost] => (item=production.txt)
- ok: [localhost] => (item=optional.txt)
- TASK [ecomworker : write out the supervisor wrapper] ***************************
- ok: [localhost]
- TASK [ecomworker : write supervisord config] ***********************************
- ok: [localhost]
- TASK [ecomworker : setup the ecommerce_worker env file] ************************
- ok: [localhost]
- TASK [ecomworker : enable supervisor script] ***********************************
- ok: [localhost]
- TASK [ecomworker : update supervisor configuration] ****************************
- changed: [localhost]
- TASK [ecomworker : create symlinks from the venv bin dir] **********************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- TASK [ecomworker : restart the applicaton] *************************************
- changed: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [automated : Create automated user] ***************************************
- ok: [localhost] => (item={'key': u'automated_user', 'value': {u'sudo_commands': [{u'sudo_user': u'analytics_api', u'command': u'/edx/app/analytics_api/venvs/analytics_api/python /edx/app/analytics_api/analytics_api/manage.py showmigrations'}], u'authorized_keys': [u'SSH authorized key']}})
- TASK [automated : Create sudoers file from template] ***************************
- ok: [localhost] => (item={'key': u'automated_user', 'value': {u'sudo_commands': [{u'sudo_user': u'analytics_api', u'command': u'/edx/app/analytics_api/venvs/analytics_api/python /edx/app/analytics_api/analytics_api/manage.py showmigrations'}], u'authorized_keys': [u'SSH authorized key']}})
- TASK [automated : Create .ssh directory] ***************************************
- ok: [localhost] => (item={'key': u'automated_user', 'value': {u'sudo_commands': [{u'sudo_user': u'analytics_api', u'command': u'/edx/app/analytics_api/venvs/analytics_api/python /edx/app/analytics_api/analytics_api/manage.py showmigrations'}], u'authorized_keys': [u'SSH authorized key']}})
- TASK [automated : Build authorized_keys file] **********************************
- ok: [localhost] => (item={'key': u'automated_user', 'value': {u'sudo_commands': [{u'sudo_user': u'analytics_api', u'command': u'/edx/app/analytics_api/venvs/analytics_api/python /edx/app/analytics_api/analytics_api/manage.py showmigrations'}], u'authorized_keys': [u'SSH authorized key']}})
- TASK [automated : Build known_hosts file] **************************************
- changed: [localhost] => (item={'key': u'automated_user', 'value': {u'sudo_commands': [{u'sudo_user': u'analytics_api', u'command': u'/edx/app/analytics_api/venvs/analytics_api/python /edx/app/analytics_api/analytics_api/manage.py showmigrations'}], u'authorized_keys': [u'SSH authorized key']}})
- TASK [add_user : create user groups] *******************************************
- ok: [localhost] => (item=analytics_api)
- TASK [add_user : create application user] **************************************
- ok: [localhost]
- TASK [add_user : ensure correct ownership of home directory] *******************
- ok: [localhost]
- TASK [add_user : create dirs for the user] *************************************
- TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
- changed: [localhost]
- TASK [git_clone : Validate git protocol] ***************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Install read-only ssh key] ***********************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Check that working tree is clean] ****************************
- changed: [localhost] => (item=/edx/app/analytics_api/analytics_api)
- TASK [git_clone : Require a clean working tree] ********************************
- skipping: [localhost] => (item={'_ansible_parsed': True, 'stderr_lines': [], u'changed': True, u'end': u'2020-04-03 02:40:15.516949', '_ansible_no_log': False, u'stdout': u'', '_ansible_item_result': True, u'rc': 0, u'start': u'2020-04-03 02:40:15.493640', u'cmd': u'test ! -e "/edx/app/analytics_api/analytics_api" || git -C "/edx/app/analytics_api/analytics_api" status --porcelain --untracked-files=no', 'item': u'/edx/app/analytics_api/analytics_api', u'delta': u'0:00:00.023309', u'invocation': {u'module_args': {u'creates': None, u'executable': None, u'_uses_shell': True, u'_raw_params': u'test ! -e "/edx/app/analytics_api/analytics_api" || git -C "/edx/app/analytics_api/analytics_api" status --porcelain --untracked-files=no', u'removes': None, u'warn': True, u'chdir': None}}, 'stdout_lines': [], u'stderr': u''})
- TASK [git_clone : Checkout code over ssh] **************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Checkout code over https] ************************************
- ok: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Remove read-only ssh key] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Run git clean after checking out code] ***********************
- changed: [localhost] => (item=(censored due to no_log))
- TASK [edx_service : Create edx_service app, venv, data, and staticfiles dirs] ***
- ok: [localhost] => (item=)
- ok: [localhost] => (item=venvs)
- ok: [localhost] => (item=data)
- ok: [localhost] => (item=staticfiles)
- TASK [edx_service : Create /edx/var/app dir] ***********************************
- ok: [localhost]
- TASK [edx_service : Create /edx/etc dir] ***************************************
- changed: [localhost]
- TASK [edx_service : Create edx_service log dir] ********************************
- ok: [localhost] => (item=/edx/var/log/analytics_api)
- TASK [edx_service : Write out app config file] *********************************
- [WARNING]: when statements should not include jinja2 templating delimiters
- such as {{ }} or {% %}. Found: {{ edx_django_service_config }}
- ok: [localhost]
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- ok: [localhost] => (item=[u'gettext', u'libffi-dev', u'libmemcached-dev', u'libmysqlclient-dev', u'libssl-dev', u'libmysqlclient-dev'])
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- TASK [edx_service : Get instance information] **********************************
- ok: [localhost]
- TASK [edx_service : Tag instance] **********************************************
- skipping: [localhost] => (item=[{u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/analytics_api/analytics_api', u'SSH_KEY': None, u'REPO': u'edx-analytics-data-api.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, {'_ansible_parsed': True, u'changed': False, '_ansible_no_log': True, '_ansible_item_result': True, u'remote_url_changed': False, 'item': {u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/analytics_api/analytics_api', u'SSH_KEY': None, u'REPO': u'edx-analytics-data-api.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, u'invocation': {u'module_args': {u'executable': None, u'force': False, u'refspec': None, u'reference': None, u'dest': u'/edx/app/analytics_api/analytics_api', u'verify_commit': False, u'clone': True, u'umask': None, u'update': True, u'ssh_opts': None, u'repo': u'https://github.com/edx/edx-analytics-data-api.git', u'track_submodules': False, u'depth': 1, u'version': u'open-release/ironwood.master', u'bare': False, u'recursive': True, u'remote': u'origin', u'key_file': None, u'accept_hostkey': False}}, u'after': u'e2e55b22c054672111b3233c1c32c3b0907ae582', u'before': u'e2e55b22c054672111b3233c1c32c3b0907ae582'}])
- TASK [edx_django_service : add gunicorn configuration file] ********************
- ok: [localhost]
- TASK [edx_django_service : install python3] ************************************
- skipping: [localhost] => (item=[])
- TASK [edx_django_service : build virtualenv with python3] **********************
- skipping: [localhost]
- TASK [edx_django_service : build virtualenv with python2.7] ********************
- ok: [localhost]
- TASK [edx_django_service : Pin pip to a specific version.] *********************
- changed: [localhost]
- TASK [edx_django_service : install nodenv] *************************************
- changed: [localhost]
- TASK [edx_django_service : create nodeenv] *************************************
- ok: [localhost]
- TASK [edx_django_service : install production requirements] ********************
- changed: [localhost]
- TASK [edx_django_service : install development requirements] *******************
- skipping: [localhost]
- TASK [edx_django_service : migrate database] ***********************************
- changed: [localhost]
- TASK [edx_django_service : run post-migrate commands] **************************
- TASK [edx_django_service : ensure log files exist for tailing] *****************
- changed: [localhost] => (item=/edx/var/log/supervisor/analytics_api-stdout.log)
- changed: [localhost] => (item=/edx/var/log/supervisor/analytics_api-stderr.log)
- TASK [edx_django_service : write out the supervisor wrapper] *******************
- ok: [localhost]
- TASK [edx_django_service : write supervisord config] ***************************
- ok: [localhost]
- TASK [edx_django_service : write devstack script] ******************************
- skipping: [localhost]
- TASK [edx_django_service : setup the app env file] *****************************
- ok: [localhost]
- TASK [edx_django_service : enable supervisor script] ***************************
- ok: [localhost]
- TASK [edx_django_service : update supervisor configuration] ********************
- changed: [localhost]
- TASK [edx_django_service : create symlinks from the venv bin dir] **************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- ok: [localhost] => (item=django-admin.py)
- TASK [edx_django_service : create symlinks from the repo dir] ******************
- ok: [localhost] => (item=manage.py)
- TASK [edx_django_service : compile static assets] ******************************
- changed: [localhost]
- TASK [edx_django_service : restart the application] ****************************
- changed: [localhost]
- TASK [edx_django_service : Copying nginx configs for the service] **************
- ok: [localhost]
- TASK [edx_django_service : Creating nginx config links for the service] ********
- ok: [localhost]
- TASK [analytics_api : create api users] ****************************************
- changed: [localhost] => (item={'key': u'dummy-api-user', 'value': u'changeme'})
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [add_user : create user groups] *******************************************
- ok: [localhost] => (item=insights)
- TASK [add_user : create application user] **************************************
- ok: [localhost]
- TASK [add_user : ensure correct ownership of home directory] *******************
- ok: [localhost]
- TASK [add_user : create dirs for the user] *************************************
- TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
- changed: [localhost]
- TASK [git_clone : Validate git protocol] ***************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Install read-only ssh key] ***********************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Check that working tree is clean] ****************************
- changed: [localhost] => (item=/edx/app/insights/edx_analytics_dashboard)
- TASK [git_clone : Require a clean working tree] ********************************
- skipping: [localhost] => (item={'_ansible_parsed': True, 'stderr_lines': [], u'changed': True, u'end': u'2020-04-03 02:40:51.200397', '_ansible_no_log': False, u'stdout': u'', '_ansible_item_result': True, u'rc': 0, u'start': u'2020-04-03 02:40:51.123409', u'cmd': u'test ! -e "/edx/app/insights/edx_analytics_dashboard" || git -C "/edx/app/insights/edx_analytics_dashboard" status --porcelain --untracked-files=no', 'item': u'/edx/app/insights/edx_analytics_dashboard', u'delta': u'0:00:00.076988', u'invocation': {u'module_args': {u'creates': None, u'executable': None, u'_uses_shell': True, u'_raw_params': u'test ! -e "/edx/app/insights/edx_analytics_dashboard" || git -C "/edx/app/insights/edx_analytics_dashboard" status --porcelain --untracked-files=no', u'removes': None, u'warn': True, u'chdir': None}}, 'stdout_lines': [], u'stderr': u''})
- TASK [git_clone : Checkout code over ssh] **************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Checkout code over https] ************************************
- ok: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Remove read-only ssh key] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Run git clean after checking out code] ***********************
- changed: [localhost] => (item=(censored due to no_log))
- TASK [edx_service : Create edx_service app, venv, data, and staticfiles dirs] ***
- ok: [localhost] => (item=)
- ok: [localhost] => (item=venvs)
- ok: [localhost] => (item=data)
- ok: [localhost] => (item=staticfiles)
- TASK [edx_service : Create /edx/var/app dir] ***********************************
- ok: [localhost]
- TASK [edx_service : Create /edx/etc dir] ***************************************
- changed: [localhost]
- TASK [edx_service : Create edx_service log dir] ********************************
- ok: [localhost] => (item=/edx/var/log/insights)
- TASK [edx_service : Write out app config file] *********************************
- [WARNING]: when statements should not include jinja2 templating delimiters
- such as {{ }} or {% %}. Found: {{ INSIGHTS_CONFIG }}
- ok: [localhost]
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- ok: [localhost] => (item=[u'libmysqlclient-dev', u'build-essential', u'gettext', u'openjdk-8-jdk'])
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- TASK [edx_service : Get instance information] **********************************
- ok: [localhost]
- TASK [edx_service : Tag instance] **********************************************
- skipping: [localhost] => (item=[{u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', u'SSH_KEY': None, u'REPO': u'edx-analytics-dashboard.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, {'_ansible_parsed': True, u'changed': False, '_ansible_no_log': True, '_ansible_item_result': True, u'remote_url_changed': False, 'item': {u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/insights/edx_analytics_dashboard', u'SSH_KEY': None, u'REPO': u'edx-analytics-dashboard.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, u'invocation': {u'module_args': {u'executable': None, u'force': False, u'refspec': None, u'reference': None, u'dest': u'/edx/app/insights/edx_analytics_dashboard', u'verify_commit': False, u'clone': True, u'umask': None, u'update': True, u'ssh_opts': None, u'repo': u'https://github.com/edx/edx-analytics-dashboard.git', u'track_submodules': False, u'depth': 1, u'version': u'open-release/ironwood.master', u'bare': False, u'recursive': True, u'remote': u'origin', u'key_file': None, u'accept_hostkey': False}}, u'after': u'db26118b5e92aff582e18ec47335403df048bba0', u'before': u'db26118b5e92aff582e18ec47335403df048bba0'}])
- TASK [insights : setup the insights env file] **********************************
- ok: [localhost]
- TASK [insights : install application requirements] *****************************
- ok: [localhost] => (item=production.txt)
- ok: [localhost] => (item=optional.txt)
- TASK [insights : create nodeenv] ***********************************************
- changed: [localhost]
- TASK [insights : install node dependencies] ************************************
- changed: [localhost]
- TASK [insights : migrate] ******************************************************
- changed: [localhost]
- TASK [insights : run webpack] **************************************************
- changed: [localhost]
- TASK [insights : run collectstatic] ********************************************
- changed: [localhost] => (item=collectstatic --noinput)
- TASK [insights : write out the supervisior wrapper] ****************************
- ok: [localhost]
- TASK [insights : write supervisord config] *************************************
- ok: [localhost]
- TASK [insights : enable supervisor script] *************************************
- ok: [localhost]
- TASK [insights : update supervisor configuration] ******************************
- changed: [localhost]
- TASK [insights : create symlinks from the venv bin dir] ************************
- ok: [localhost] => (item=python)
- ok: [localhost] => (item=pip)
- ok: [localhost] => (item=django-admin.py)
- TASK [insights : create manage.py symlink] *************************************
- ok: [localhost]
- TASK [insights : restart insights] *********************************************
- changed: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [demo : create demo app and data dirs] ************************************
- ok: [localhost]
- TASK [demo : check out the demo course] ****************************************
- ok: [localhost]
- TASK [demo : import demo course] ***********************************************
- skipping: [localhost]
- TASK [demo : build staff and test user list] ***********************************
- ok: [localhost]
- TASK [demo : build staff and test user list] ***********************************
- skipping: [localhost]
- TASK [demo : build staff, admin, and test user list] ***************************
- ok: [localhost]
- TASK [demo : create some test users] *******************************************
- skipping: [localhost] => (item={u'username': u'honor', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'audit', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'verified', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'staff', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': True, u'email': u'[email protected]'})
- TASK [demo : enroll test users in the demo course] *****************************
- skipping: [localhost] => (item={u'username': u'honor', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'audit', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'verified', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'staff', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': True, u'email': u'[email protected]'})
- TASK [demo : add test users to the certificate whitelist] **********************
- skipping: [localhost] => (item={u'username': u'honor', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'audit', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- skipping: [localhost] => (item={u'username': u'verified', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'})
- TASK [demo : seed the forums for the demo course] ******************************
- skipping: [localhost]
- TASK [oauth_client_setup : create OAuth2 Clients] ******************************
- changed: [localhost] => (item={u'username': u'ecommerce_worker', u'url_root': u'http://localhost:8002', u'name': u'ecommerce', u'logout_uri': u'http://localhost:8002/logout/', u'secret': u'ecommerce-secret', u'id': u'ecommerce-key'})
- changed: [localhost] => (item={u'username': u'insights_worker', u'url_root': u'http://127.0.0.1:8110', u'name': u'insights', u'logout_uri': u'http://example.com/accounts/logout/', u'secret': u'secret', u'id': u'YOUR_OAUTH2_KEY'})
- skipping: [localhost] => (item={u'username': u'credentials_worker', u'url_root': u'None', u'name': u'None', u'logout_uri': u'None', u'secret': u'None', u'id': u'None'})
- changed: [localhost] => (item={u'username': u'discovery_worker', u'url_root': u'http://localhost:18381', u'name': u'discovery', u'logout_uri': u'http://localhost:18381/logout/', u'secret': u'discovery-secret', u'id': u'discovery-key'})
- skipping: [localhost] => (item={u'username': u'journals_worker', u'url_root': u'http://localhost:18606', u'name': u'None', u'logout_uri': u'http://localhost:18606/logout/', u'secret': u'journals-secret', u'id': u'journals-key'})
- skipping: [localhost] => (item={u'username': u'veda_service_user', u'url_root': u'None', u'name': u'None', u'logout_uri': u'None', u'secret': u'None', u'id': u'None'})
- TASK [oraclejdk : Install debian needed pkgs] **********************************
- ok: [localhost] => (item=[u'curl'])
- TASK [oraclejdk : Download Oracle Java] ****************************************
- ok: [localhost]
- TASK [oraclejdk : Create jvm dir] **********************************************
- ok: [localhost]
- TASK [oraclejdk : Untar Oracle Java] *******************************************
- ok: [localhost]
- TASK [oraclejdk : Create symlink expected by elasticsearch] ********************
- ok: [localhost]
- TASK [oraclejdk : Update alternatives java] ************************************
- ok: [localhost] => (item=java)
- ok: [localhost] => (item=javac)
- ok: [localhost] => (item=javaws)
- ok: [localhost] => (item=jarsigner)
- TASK [oraclejdk : Add JAVA_HOME for Oracle Java] *******************************
- ok: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [elasticsearch : Install Elasticsearch repo key] **************************
- ok: [localhost]
- TASK [elasticsearch : Add Elasticsearch Repo] **********************************
- ok: [localhost]
- TASK [elasticsearch : install elasticsearch] ***********************************
- ok: [localhost]
- TASK [elasticsearch : create directories] **************************************
- ok: [localhost] => (item=/edx/var/elasticsearch)
- ok: [localhost] => (item=/edx/var/log/elasticsearch)
- ok: [localhost] => (item=/edx/etc/elasticsearch)
- TASK [elasticsearch : update elasticsearch defaults] ***************************
- ok: [localhost]
- TASK [elasticsearch : drop the elasticsearch config] ***************************
- ok: [localhost]
- TASK [elasticsearch : drop the elasticsearch logging config] *******************
- ok: [localhost]
- TASK [elasticsearch : Ensure elasticsearch is enabled and started] *************
- ok: [localhost]
- TASK [elasticsearch : Restart elastic when there has been an upgrade] **********
- skipping: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [rbenv : fail] ************************************************************
- skipping: [localhost]
- TASK [rbenv : fail] ************************************************************
- skipping: [localhost]
- TASK [rbenv : fail] ************************************************************
- skipping: [localhost]
- TASK [rbenv : create rbenv user forum] *****************************************
- ok: [localhost]
- TASK [rbenv : create rbenv dir if it does not exist] ***************************
- ok: [localhost]
- TASK [rbenv : install build depends] *******************************************
- ok: [localhost] => (item=curl)
- ok: [localhost] => (item=build-essential)
- ok: [localhost] => (item=libcurl4-openssl-dev)
- ok: [localhost] => (item=libreadline-dev)
- ok: [localhost] => (item=libssl-dev)
- ok: [localhost] => (item=libxml2-dev)
- ok: [localhost] => (item=libxslt1-dev)
- ok: [localhost] => (item=zlib1g-dev)
- TASK [rbenv : update rbenv repo] ***********************************************
- ok: [localhost]
- TASK [rbenv : ensure ruby_env exists] ******************************************
- ok: [localhost]
- TASK [rbenv : check ruby-build installed] **************************************
- changed: [localhost]
- TASK [rbenv : if ruby-build exists, which versions we can install] *************
- changed: [localhost]
- TASK [rbenv : create temporary directory] **************************************
- changed: [localhost]
- TASK [rbenv : clone ruby-build repo] *******************************************
- changed: [localhost]
- TASK [rbenv : install ruby-build] **********************************************
- changed: [localhost]
- TASK [rbenv : remove temporary directory] **************************************
- changed: [localhost]
- TASK [rbenv : check ruby 2.4.1 installed] **************************************
- changed: [localhost]
- TASK [rbenv : install ruby 2.4.1] **********************************************
- skipping: [localhost]
- TASK [rbenv : set global ruby 2.4.1] *******************************************
- changed: [localhost]
- TASK [rbenv : update rubygems] *************************************************
- changed: [localhost]
- TASK [rbenv : install bundler] *************************************************
- changed: [localhost]
- TASK [rbenv : remove rbenv version of rake] ************************************
- ok: [localhost]
- TASK [rbenv : install rake gem] ************************************************
- changed: [localhost]
- TASK [rbenv : rehash] **********************************************************
- changed: [localhost]
- TASK [forum : create application user] *****************************************
- ok: [localhost]
- TASK [forum : set forum app dir permissions] ***********************************
- ok: [localhost]
- TASK [forum : setup the forum env for stage/prod] ******************************
- ok: [localhost] => (item={u'LISTEN_HOST': u'0.0.0.0', u'NEW_RELIC_APP_NAME': u'default_env-default_deployment-forum', u'DATA_DIR': u'/edx/var/forum', u'LISTEN_PORT': u'4567', u'MONGOID_USE_SSL': False, u'MONGOHQ_URL': u'mongodb://cs_comments_service:ZA9YOVChZiF58eVqc40kchh2OCtL0fi4Wta@localhost:27017/cs_comments_service', u'NEW_RELIC_LICENSE_KEY': u'', u'PATH': u'/edx/app/forum/cs_comments_service/bin:/edx/app/forum/.rbenv/bin:/edx/app/forum/.rbenv/shims:/edx/app/forum/.gem/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', u'RACK_ENV': u'development', u'NEW_RELIC_ENABLE': False, u'SINATRA_ENV': u'development', u'SEARCH_SERVER': u'http://localhost:9200', u'WORKER_PROCESSES': u'4', u'API_KEY': u'6bKaKo8KlB898sjAvsphTkO6n2jcU0s0G72', u'HOME': u'/edx/app/forum', u'GEM_PATH': u'/edx/app/forum/.gem', u'RBENV_ROOT': u'/edx/app/forum/.rbenv', u'GEM_HOME': u'/edx/app/forum/.gem'})
- TASK [forum : setup the forum env for devstack] ********************************
- skipping: [localhost] => (item={u'LISTEN_HOST': u'0.0.0.0', u'NEW_RELIC_APP_NAME': u'default_env-default_deployment-forum', u'DATA_DIR': u'/edx/var/forum', u'LISTEN_PORT': u'4567', u'MONGOID_USE_SSL': False, u'MONGOHQ_URL': u'mongodb://cs_comments_service:[email protected]:27017/cs_comments_service', u'NEW_RELIC_LICENSE_KEY': u'', u'PATH': u'/edx/app/forum/cs_comments_service/bin:/edx/app/forum/.rbenv/bin:/edx/app/forum/.rbenv/shims:/edx/app/forum/.gem/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', u'RACK_ENV': u'development', u'NEW_RELIC_ENABLE': False, u'SINATRA_ENV': u'development', u'SEARCH_SERVER': u'http://edx.devstack.elasticsearch:9200/', u'WORKER_PROCESSES': u'4', u'API_KEY': u'6bKaKo8KlB898sjAvsphTkO6n2jcU0s0G72', u'HOME': u'/edx/app/forum', u'GEM_PATH': u'/edx/app/forum/.gem', u'RBENV_ROOT': u'/edx/app/forum/.rbenv', u'GEM_HOME': u'/edx/app/forum/.gem'})
- TASK [forum : create /edx/var/forum] *******************************************
- ok: [localhost]
- TASK [forum : create the supervisor config] ************************************
- ok: [localhost]
- TASK [forum : enable the supervisor config] ************************************
- ok: [localhost]
- TASK [forum : create the supervisor wrapper] ***********************************
- ok: [localhost]
- TASK [forum : git checkout forum repo into /edx/app/forum/cs_comments_service] ***
- ok: [localhost]
- TASK [forum : install comments service bundle] *********************************
- changed: [localhost]
- TASK [forum : initialize elasticsearch] ****************************************
- changed: [localhost]
- TASK [forum : rebuild elasticsearch indexes] ***********************************
- skipping: [localhost]
- TASK [forum : update supervisor configuration] *********************************
- ok: [localhost]
- TASK [forum : ensure forum is started] *****************************************
- ok: [localhost]
- TASK [forum : test that the required service are listening] ********************
- ok: [localhost] => (item={u'host': u'localhost', u'port': u'9200', u'service': u'elasticsearch'})
- TASK [forum : test that mongo replica set members are listing] *****************
- ok: [localhost] => (item=localhost)
- TASK [forum : get instance information] ****************************************
- skipping: [localhost]
- TASK [forum : tag instance] ****************************************************
- skipping: [localhost]
- TASK [forum : set_fact] ********************************************************
- ok: [localhost]
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure periodic unattended-upgrades] ***********************
- skipping: [localhost]
- TASK [security : Disable unattended-upgrades if Xenial (16.04)] ****************
- skipping: [localhost] => (item=systemctl disable apt-daily.service)
- skipping: [localhost] => (item=systemctl disable apt-daily-upgrade.timer)
- skipping: [localhost] => (item=systemctl disable apt-daily.timer)
- TASK [security : Disable unattended-upgrades] **********************************
- skipping: [localhost]
- TASK [security : Only unattended-upgrade from security repo] *******************
- skipping: [localhost]
- TASK [security : Disable security only updates on unattended-upgrades] *********
- skipping: [localhost]
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=unattended-upgrade --dry-run)
- skipping: [localhost] => (item=unattended-upgrade)
- TASK [security : Install security packages] ************************************
- skipping: [localhost] => (item=[])
- TASK [security : Enable automatic start for update service] ********************
- skipping: [localhost]
- TASK [security : Update all system packages] ***********************************
- skipping: [localhost]
- TASK [security : Configure security auto-updates] ******************************
- skipping: [localhost] => (item={u'regexp': u'^update_cmd', u'line': u'update_cmd = security'})
- skipping: [localhost] => (item={u'regexp': u'^apply_updates', u'line': u'apply_updates = yes'})
- TASK [security : Take security updates during ansible runs] ********************
- skipping: [localhost] => (item=yum check-update --security)
- skipping: [localhost] => (item=yum update --security -y)
- TASK [automated : Create automated user] ***************************************
- TASK [automated : Create sudoers file from template] ***************************
- TASK [automated : Create .ssh directory] ***************************************
- TASK [automated : Build authorized_keys file] **********************************
- TASK [automated : Build known_hosts file] **************************************
- TASK [add_user : create user groups] *******************************************
- ok: [localhost] => (item=discovery)
- TASK [add_user : create application user] **************************************
- ok: [localhost]
- TASK [add_user : ensure correct ownership of home directory] *******************
- ok: [localhost]
- TASK [add_user : create dirs for the user] *************************************
- TASK [git_clone : Set git fetch.prune to ignore deleted remote refs] ***********
- changed: [localhost]
- TASK [git_clone : Validate git protocol] ***************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Install read-only ssh key] ***********************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Check that working tree is clean] ****************************
- changed: [localhost] => (item=/edx/app/discovery/discovery)
- TASK [git_clone : Require a clean working tree] ********************************
- skipping: [localhost] => (item={'_ansible_parsed': True, 'stderr_lines': [], u'changed': True, u'end': u'2020-04-03 02:46:59.368864', '_ansible_no_log': False, u'stdout': u'', '_ansible_item_result': True, u'rc': 0, u'start': u'2020-04-03 02:46:59.318247', u'cmd': u'test ! -e "/edx/app/discovery/discovery" || git -C "/edx/app/discovery/discovery" status --porcelain --untracked-files=no', 'item': u'/edx/app/discovery/discovery', u'delta': u'0:00:00.050617', u'invocation': {u'module_args': {u'creates': None, u'executable': None, u'_uses_shell': True, u'_raw_params': u'test ! -e "/edx/app/discovery/discovery" || git -C "/edx/app/discovery/discovery" status --porcelain --untracked-files=no', u'removes': None, u'warn': True, u'chdir': None}}, 'stdout_lines': [], u'stderr': u''})
- TASK [git_clone : Checkout code over ssh] **************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Checkout code over https] ************************************
- ok: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Remove read-only ssh key] ************************************
- skipping: [localhost] => (item=(censored due to no_log))
- TASK [git_clone : Run git clean after checking out code] ***********************
- changed: [localhost] => (item=(censored due to no_log))
- TASK [edx_service : Create edx_service app, venv, data, and staticfiles dirs] ***
- ok: [localhost] => (item=)
- ok: [localhost] => (item=venvs)
- ok: [localhost] => (item=data)
- ok: [localhost] => (item=staticfiles)
- TASK [edx_service : Create /edx/var/app dir] ***********************************
- ok: [localhost]
- TASK [edx_service : Create /edx/etc dir] ***************************************
- changed: [localhost]
- TASK [edx_service : Create edx_service log dir] ********************************
- ok: [localhost] => (item=/edx/var/log/discovery)
- TASK [edx_service : Write out app config file] *********************************
- [WARNING]: when statements should not include jinja2 templating delimiters
- such as {{ }} or {% %}. Found: {{ edx_django_service_config }}
- ok: [localhost]
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- ok: [localhost] => (item=[u'gettext', u'libffi-dev', u'libmemcached-dev', u'libmysqlclient-dev', u'libssl-dev', u'libxml2-dev', u'libxslt-dev', u'libjpeg-dev'])
- TASK [edx_service : Install a bunch of system packages on which edx_service relies] ***
- TASK [edx_service : Get instance information] **********************************
- ok: [localhost]
- TASK [edx_service : Tag instance] **********************************************
- skipping: [localhost] => (item=[{u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/discovery/discovery', u'SSH_KEY': None, u'REPO': u'course-discovery.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, {'_ansible_parsed': True, u'changed': False, '_ansible_no_log': True, '_ansible_item_result': True, u'remote_url_changed': False, 'item': {u'DOMAIN': u'github.com', u'PROTOCOL': u'https', u'DESTINATION': u'/edx/app/discovery/discovery', u'SSH_KEY': None, u'REPO': u'course-discovery.git', u'VERSION': u'open-release/ironwood.master', u'PATH': u'edx'}, u'invocation': {u'module_args': {u'executable': None, u'force': False, u'refspec': None, u'reference': None, u'dest': u'/edx/app/discovery/discovery', u'verify_commit': False, u'clone': True, u'umask': None, u'update': True, u'ssh_opts': None, u'repo': u'https://github.com/edx/course-discovery.git', u'track_submodules': False, u'depth': 1, u'version': u'open-release/ironwood.master', u'bare': False, u'recursive': True, u'remote': u'origin', u'key_file': None, u'accept_hostkey': False}}, u'after': u'ee399881148daa1cfd1e13a4dff826332d937f94', u'before': u'ee399881148daa1cfd1e13a4dff826332d937f94'}])
- TASK [edx_django_service : add gunicorn configuration file] ********************
- ok: [localhost]
- TASK [edx_django_service : install python3] ************************************
- ok: [localhost] => (item=[u'python3-pip', u'python3-dev'])
- TASK [edx_django_service : build virtualenv with python3] **********************
- ok: [localhost]
- TASK [edx_django_service : build virtualenv with python2.7] ********************
- skipping: [localhost]
- TASK [edx_django_service : Pin pip to a specific version.] *********************
- changed: [localhost]
- TASK [edx_django_service : install nodenv] *************************************
- changed: [localhost]
- TASK [edx_django_service : create nodeenv] *************************************
- ok: [localhost]
- TASK [edx_django_service : install production requirements] ********************
- fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["make", "production-requirements"], "delta": "0:00:22.566787", "end": "2020-04-03 02:47:37.315081", "failed": true, "rc": 2, "start": "2020-04-03 02:47:14.748294", "stderr": "Command \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-_hrr1erf/unicode-slugify/\nYou are using pip version 9.0.3, however version 20.0.2 is available.\nYou should consider upgrading via the 'pip install --upgrade pip' command.\nmake: *** [production-requirements] Error 1", "stderr_lines": ["Command \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-_hrr1erf/unicode-slugify/", "You are using pip version 9.0.3, however version 20.0.2 is available.", "You should consider upgrading via the 'pip install --upgrade pip' command.", "make: *** [production-requirements] Error 1"], "stdout": "pip install -r requirements.txt\nObtaining edx-analytics-data-api-client==0.15.2 from git+https://github.com/edx/[email protected]#egg=edx-analytics-data-api-client==0.15.2 (from -r requirements/base.txt (line 1))\n Updating /edx/app/discovery/venvs/discovery/src/edx-analytics-data-api-client clone (to 0.15.2)\nCollecting beautifulsoup4==4.5.1 (from -r requirements/base.txt (line 2))\n Using cached https://files.pythonhosted.org/packages/1f/da/4b0d439054fd6b22fa121e0ac672fd8f34f6cce4f375dfd13e955b89306d/beautifulsoup4-4.5.1-py3-none-any.whl\nCollecting boto==2.42.0 (from -r requirements/base.txt (line 3))\n Using cached https://files.pythonhosted.org/packages/bb/89/ea1b2239aa6dfc94629438901d2e5b1a7ccf16b3b0a87f1e9e69fb24084d/boto-2.42.0-py2.py3-none-any.whl\nCollecting cryptography==1.7.1 (from -r requirements/base.txt (line 4))\n Using cached https://files.pythonhosted.org/packages/82/f7/d6dfd7595910a20a563a83a762bf79a253c4df71759c3b228accb3d7e5e4/cryptography-1.7.1.tar.gz\nCollecting django==1.11.29 (from -r requirements/base.txt (line 5))\n Using cached https://files.pythonhosted.org/packages/49/49/178daa8725d29c475216259eb19e90b2aa0b8c0431af8c7e9b490ae6481d/Django-1.11.29-py2.py3-none-any.whl\nCollecting django-autocomplete-light==3.1.8 (from -r requirements/base.txt (line 6))\n Using cached https://files.pythonhosted.org/packages/f2/31/d72ff9557e38f1a6d82b44571684344947436c54dbeb5c9c92314aa174b5/django-autocomplete-light-3.1.8.tar.gz\nCollecting django-choices==1.4.3 (from -r requirements/base.txt (line 7))\n Using cached https://files.pythonhosted.org/packages/52/a7/742f4fdac837f97ccd2ad1ad233686b6947f8375e9686368768237c08ec3/django-choices-1.4.3.tar.gz\nCollecting django-compressor==2.1.1 (from -r requirements/base.txt (line 8))\n Using cached https://files.pythonhosted.org/packages/c4/94/53737018f7d318d429e77dcd48ca42b9cfc55804c151cc4f3d5c77a9574c/django_compressor-2.1.1-py2.py3-none-any.whl\nCollecting django-contrib-comments==1.8.0 (from -r requirements/base.txt (line 9))\n Using cached https://files.pythonhosted.org/packages/8f/6c/490306f717e242f21485264ef7432b4f6fea42ce17998f6ff3fa0a2a2e2f/django_contrib_comments-1.8.0-py2.py3-none-any.whl\nCollecting django-cors-headers==2.4.0 (from -r requirements/base.txt (line 10))\n Using cached https://files.pythonhosted.org/packages/cc/7e/83ba784ad2b95317bbbed915f0888d7d1cd8dc3d2e4b8ddec8fbc4c3e800/django_cors_headers-2.4.0-py2.py3-none-any.whl\nCollecting django-extensions==1.7.8 (from -r requirements/base.txt (line 11))\n Using cached https://files.pythonhosted.org/packages/81/3a/7531edf895f0efb170e2a9091c1ed0493e4f9e352efc567430ef116a1862/django_extensions-1.7.8-py2.py3-none-any.whl\nCollecting django-filter==1.0.4 (from -r requirements/base.txt (line 12))\n Using cached https://files.pythonhosted.org/packages/af/73/06e81b4a83cb970cff814d0a68c496e75e6d7e5233d80808b33564a6c71a/django_filter-1.0.4-py2.py3-none-any.whl\nCollecting django-fsm==2.6.0 (from -r requirements/base.txt (line 13))\n Using cached https://files.pythonhosted.org/packages/cc/81/6074f9e46a81e004b84d9000e7805c6620fa56e43c5eb30a04ae176fcba1/django_fsm-2.6.0-py2.py3-none-any.whl\nCollecting django-guardian==1.4.8 (from -r requirements/base.txt (line 14))\n Using cached https://files.pythonhosted.org/packages/18/60/1d3bdd046241944bae40c4d3c6a21d45d257e8e3aa1d79877a76102b3cc2/django_guardian-1.4.8-py2.py3-none-any.whl\nCollecting django-haystack==2.5.0 (from -r requirements/base.txt (line 15))\n Using cached https://files.pythonhosted.org/packages/6c/4f/86e39c8760048f0b75d99726c5448bc4114eaff2897920367aa6c72b9830/django-haystack-2.5.0.tar.gz\nCollecting django-libsass==0.7 (from -r requirements/base.txt (line 16))\n Using cached https://files.pythonhosted.org/packages/96/1a/0ebcb4e90b41f27d2b96adba01c62a590942686c6dbc7371ab89be044066/django-libsass-0.7.tar.gz\nCollecting django-parler==1.8 (from -r requirements/base.txt (line 17))\n Using cached https://files.pythonhosted.org/packages/b0/0a/7156ed5816aed3e70c7f3328753ac24f651e67219504754b348d90129b65/django_parler-1.8-py2.py3-none-any.whl\nCollecting django-simple-history==1.9.0 (from -r requirements/base.txt (line 18))\n Using cached https://files.pythonhosted.org/packages/0b/2b/244347867ec680ddcd54722604bdce883613ec9c3da965c6707e548f37ae/django_simple_history-1.9.0-py2.py3-none-any.whl\nCollecting django-solo==1.1.2 (from -r requirements/base.txt (line 19))\n Using cached https://files.pythonhosted.org/packages/f2/cf/f46babe0b84d0ec6b0e48cd82ddae60282f0e61565b9a6a606e2a68db263/django-solo-1.1.2.tar.gz\nCollecting django-sortedm2m==1.4.0 (from -r requirements/base.txt (line 20))\n Using cached https://files.pythonhosted.org/packages/93/f7/5dc928d9ff217e99a55a2aedc1eae9119c5c804d1584e1d0f1d1f563b606/django-sortedm2m-1.4.0.tar.gz\nCollecting django-stdimage==2.4.1 (from -r requirements/base.txt (line 21))\n Using cached https://files.pythonhosted.org/packages/85/55/8d691213736116831b51f2ccae2bdcc40fe0354051432e7a5e33c9698545/django_stdimage-2.4.1-py3-none-any.whl\nCollecting django-storages==1.5.2 (from -r requirements/base.txt (line 22))\n Using cached https://files.pythonhosted.org/packages/f7/57/385bac5fdb4ee24d0c833f01e98516834d352f44786b5d4f4b16932206f9/django_storages-1.5.2-py2.py3-none-any.whl\nCollecting django-taggit==0.22.1 (from -r requirements/base.txt (line 23))\n Using cached https://files.pythonhosted.org/packages/68/5b/f2e3ec053ba30606f9d7d3655422baf69e992acbb52e02c1bea254e71a43/django_taggit-0.22.1-py2.py3-none-any.whl\nCollecting django-taggit-autosuggest==0.3.0 (from -r requirements/base.txt (line 24))\n Using cached https://files.pythonhosted.org/packages/8f/6f/9f39e65058101f2cbab0bb7de534fbe354adb6b9fd95a2a264518c05c839/django-taggit-autosuggest-0.3.0.tar.gz\nCollecting django-taggit-serializer==0.1.5 (from -r requirements/base.txt (line 25))\n Using cached https://files.pythonhosted.org/packages/02/96/fb5ed4c8215b5de688fb4d4a9de3ae66cb1e444485be04103b5e9d68e975/django-taggit-serializer-0.1.5.tar.gz\nCollecting django-waffle==0.11.1 (from -r requirements/base.txt (line 26))\n Using cached https://files.pythonhosted.org/packages/c5/97/d0f8a26c910207115f7bea20e2dac344bb04bba594dbe1f22c9cbf19c37c/django_waffle-0.11.1-py2.py3-none-any.whl\nCollecting django-webpack-loader==0.5.0 (from -r requirements/base.txt (line 27))\n Using cached https://files.pythonhosted.org/packages/6a/1d/3680c3cd7bf5a35a0ed451201fbdd93d7b17e63045d97bb8e2d4ba754e5f/django_webpack_loader-0.5.0-py2.py3-none-any.whl\nCollecting djangorestframework==3.6.3 (from -r requirements/base.txt (line 28))\n Using cached https://files.pythonhosted.org/packages/28/1a/6228d127f426b23360f1d62fde153da500c35cad1ba115ffc03fbb40ebe9/djangorestframework-3.6.3-py2.py3-none-any.whl\nCollecting djangorestframework-csv==1.4.1 (from -r requirements/base.txt (line 29))\n Using cached https://files.pythonhosted.org/packages/31/de/68492c3f97a8bb7ede4d7ff929567a723c4255ad762147a04f3207f44415/djangorestframework-csv-1.4.1.tar.gz\nCollecting djangorestframework-jwt==1.8.0 (from -r requirements/base.txt (line 30))\n Using cached https://files.pythonhosted.org/packages/63/eb/a400626245920c57c6284b08d036320907e4fc83281fa402cb6c90e4166f/djangorestframework_jwt-1.8.0-py2.py3-none-any.whl\nCollecting djangorestframework-xml==1.3.0 (from -r requirements/base.txt (line 31))\n Using cached https://files.pythonhosted.org/packages/83/05/7f7f23d0e49435abcfa8fe22d9d3da50ffdb0130cdca371991286565077b/djangorestframework_xml-1.3.0-py2.py3-none-any.whl\nCollecting django-rest-swagger==2.1.2 (from -r requirements/base.txt (line 32))\n Using cached https://files.pythonhosted.org/packages/2c/12/28d0677756283d913f8371ad7590e16f5e6c8444044f5b1b1586f956e610/django_rest_swagger-2.1.2-py2.py3-none-any.whl\nCollecting drf-extensions==0.3.1 (from -r requirements/base.txt (line 33))\n Using cached https://files.pythonhosted.org/packages/54/a9/ab65fa8febdb701deaea33498673639f9f3d43c78402951524a4e3b39346/drf_extensions-0.3.1-py2.py3-none-any.whl\nCollecting drf-haystack==1.6.1 (from -r requirements/base.txt (line 34))\n Using cached https://files.pythonhosted.org/packages/33/f0/4bf4a43f9b1eb72e112c52a703f985e017238dd720d529146c27c93ecd80/drf-haystack-1.6.1.tar.gz\nCollecting dry-rest-permissions==0.1.6 (from -r requirements/base.txt (line 35))\n Using cached https://files.pythonhosted.org/packages/1f/ce/864e73cf30b9a35967f58103060c1329d7ee08f2241684a651a322dd5ed1/dry_rest_permissions-0.1.6-py2.py3-none-any.whl\nCollecting edx-auth-backends==1.1.3 (from -r requirements/base.txt (line 36))\n Using cached https://files.pythonhosted.org/packages/19/7f/8c7ccd08e67b9f570ae0aa2ac5b400089b655e11f02240a4304878c3abc4/edx_auth_backends-1.1.3-py2.py3-none-any.whl\nCollecting edx-ccx-keys==0.2.0 (from -r requirements/base.txt (line 37))\n Using cached https://files.pythonhosted.org/packages/38/ed/fc1ba905c1eb671d4da78f86e10c5e85d0e51c22194eee540eac9ef0f01b/edx-ccx-keys-0.2.0.tar.gz\nCollecting edx-django-release-util==0.3.1 (from -r requirements/base.txt (line 38))\n Using cached https://files.pythonhosted.org/packages/2e/11/44f32ad2a8db82c76e95aaafa15e9fe2756eed510d68f563e3526c32cf01/edx_django_release_util-0.3.1-py3-none-any.whl\nCollecting edx-django-sites-extensions==2.3.0 (from -r requirements/base.txt (line 39))\n Using cached https://files.pythonhosted.org/packages/73/c2/7963b2755c1f2f3a8c10184036aec36bb257de31f7e602037c7b911a804f/edx_django_sites_extensions-2.3.0-py3-none-any.whl\nCollecting edx-django-utils==1.0.1 (from -r requirements/base.txt (line 40))\n Using cached https://files.pythonhosted.org/packages/56/59/31c65329650d5354eb3f9e3c694fb409df6bd1bbd7581521b3f4323d84b4/edx_django_utils-1.0.1-py2.py3-none-any.whl\nCollecting edx-drf-extensions==2.0.1 (from -r requirements/base.txt (line 41))\n Using cached https://files.pythonhosted.org/packages/93/c3/f6a0a1954dcef85118e56761500f13fbf0e8cc4c9f7c7865ff754f49f3a3/edx_drf_extensions-2.0.1-py2.py3-none-any.whl\nCollecting edx-opaque-keys==0.3.1 (from -r requirements/base.txt (line 42))\n Using cached https://files.pythonhosted.org/packages/bc/fe/96cbf88de7ff7bb245f52ef8197adca6e09793d9c4bc77e33bdf762b9c52/edx-opaque-keys-0.3.1.tar.gz\nCollecting edx-rest-api-client==1.8.2 (from -r requirements/base.txt (line 43))\n Using cached https://files.pythonhosted.org/packages/37/a9/182c44c0aa42ab07f90bc7f3e666c935f1770265bf5b25c31f6faf386d10/edx_rest_api_client-1.8.2-py3-none-any.whl\nCollecting elasticsearch<2.0.0,>=1.0.0 (from -r requirements/base.txt (line 44))\n Using cached https://files.pythonhosted.org/packages/b8/ed/cc80a5c8a1f8931589f2f1070c929ea851ed66bad29746d3b0140e14cd96/elasticsearch-1.9.0-py2.py3-none-any.whl\nCollecting html2text==2016.9.19 (from -r requirements/base.txt (line 45))\n Using cached https://files.pythonhosted.org/packages/22/c0/2d02a1fb9027f54796af2c2d38cf3a5b89319125b03734a9964e6db8dfa0/html2text-2016.9.19.tar.gz\nCollecting jsonfield==1.0.3 (from -r requirements/base.txt (line 46))\n Using cached https://files.pythonhosted.org/packages/ad/e2/e1d8a62edb0aa3c9984ed5cb73d9001065520796f1740caf6daf1c5540c4/jsonfield-1.0.3.tar.gz\nCollecting markdown==2.6.6 (from -r requirements/base.txt (line 47))\n Using cached https://files.pythonhosted.org/packages/9b/53/4492f2888408a2462fd7f364028b6c708f3ecaa52a028587d7dd729f40b4/Markdown-2.6.6.tar.gz\nCollecting pillow==3.4.2 (from -r requirements/base.txt (line 48))\n Using cached https://files.pythonhosted.org/packages/06/74/ba6a83f48448d125eb4307cd140d6661b677822628ef5862869a10dcdd30/Pillow-3.4.2-cp35-cp35m-manylinux1_x86_64.whl\nCollecting pycountry==1.20 (from -r requirements/base.txt (line 49))\n Using cached https://files.pythonhosted.org/packages/6c/40/13c8d2e66cc786dc8593b038c2c9df97631e5e31b4f155ef3f05ae3ccfc8/pycountry-1.20.tar.gz\nCollecting python-dateutil==2.5.3 (from -r requirements/base.txt (line 50))\n Using cached https://files.pythonhosted.org/packages/33/68/9eadc96f9899caebd98f55f942d6a8f3fb2b8f8e69ba81a0f771269897e9/python_dateutil-2.5.3-py2.py3-none-any.whl\nCollecting pytz==2016.6.1 (from -r requirements/base.txt (line 51))\n Using cached https://files.pythonhosted.org/packages/ba/c7/3d54cad4fb6cf7bf375d39771e67680ec779a541c68459210fcfdc3ba952/pytz-2016.6.1-py2.py3-none-any.whl\nCollecting requests==2.9.1 (from -r requirements/base.txt (line 53))\n Using cached https://files.pythonhosted.org/packages/b8/f7/3bb4d18c234a8ce7044d5ee2e1082b7d72bf6c550afb8d51ae266dea56f1/requests-2.9.1-py2.py3-none-any.whl\nCollecting unicode-slugify==0.1.3 (from -r requirements/base.txt (line 54))\n Using cached https://files.pythonhosted.org/packages/8c/ba/1a05f61c7fd72df85ae4dc1c7967a3e5a4b6c61f016e794bc7f09b2597c0/unicode-slugify-0.1.3.tar.gz\n Complete output from command python setup.py egg_info:\n Traceback (most recent call last):\n File \"<string>\", line 1, in <module>\n File \"/tmp/pip-build-_hrr1erf/unicode-slugify/setup.py\", line 7, in <module>\n long_description=open('README.md').read(),\n File \"/edx/app/discovery/venvs/discovery/lib/python3.5/encodings/ascii.py\", line 26, in decode\n return codecs.ascii_decode(input, self.errors)[0]\n UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 361: ordinal not in range(128)\n \n ----------------------------------------\nMakefile:41: recipe for target 'production-requirements' failed", "stdout_lines": ["pip install -r requirements.txt", "Obtaining edx-analytics-data-api-client==0.15.2 from git+https://github.com/edx/[email protected]#egg=edx-analytics-data-api-client==0.15.2 (from -r requirements/base.txt (line 1))", " Updating /edx/app/discovery/venvs/discovery/src/edx-analytics-data-api-client clone (to 0.15.2)", "Collecting beautifulsoup4==4.5.1 (from -r requirements/base.txt (line 2))", " Using cached https://files.pythonhosted.org/packages/1f/da/4b0d439054fd6b22fa121e0ac672fd8f34f6cce4f375dfd13e955b89306d/beautifulsoup4-4.5.1-py3-none-any.whl", "Collecting boto==2.42.0 (from -r requirements/base.txt (line 3))", " Using cached https://files.pythonhosted.org/packages/bb/89/ea1b2239aa6dfc94629438901d2e5b1a7ccf16b3b0a87f1e9e69fb24084d/boto-2.42.0-py2.py3-none-any.whl", "Collecting cryptography==1.7.1 (from -r requirements/base.txt (line 4))", " Using cached https://files.pythonhosted.org/packages/82/f7/d6dfd7595910a20a563a83a762bf79a253c4df71759c3b228accb3d7e5e4/cryptography-1.7.1.tar.gz", "Collecting django==1.11.29 (from -r requirements/base.txt (line 5))", " Using cached https://files.pythonhosted.org/packages/49/49/178daa8725d29c475216259eb19e90b2aa0b8c0431af8c7e9b490ae6481d/Django-1.11.29-py2.py3-none-any.whl", "Collecting django-autocomplete-light==3.1.8 (from -r requirements/base.txt (line 6))", " Using cached https://files.pythonhosted.org/packages/f2/31/d72ff9557e38f1a6d82b44571684344947436c54dbeb5c9c92314aa174b5/django-autocomplete-light-3.1.8.tar.gz", "Collecting django-choices==1.4.3 (from -r requirements/base.txt (line 7))", " Using cached https://files.pythonhosted.org/packages/52/a7/742f4fdac837f97ccd2ad1ad233686b6947f8375e9686368768237c08ec3/django-choices-1.4.3.tar.gz", "Collecting django-compressor==2.1.1 (from -r requirements/base.txt (line 8))", " Using cached https://files.pythonhosted.org/packages/c4/94/53737018f7d318d429e77dcd48ca42b9cfc55804c151cc4f3d5c77a9574c/django_compressor-2.1.1-py2.py3-none-any.whl", "Collecting django-contrib-comments==1.8.0 (from -r requirements/base.txt (line 9))", " Using cached https://files.pythonhosted.org/packages/8f/6c/490306f717e242f21485264ef7432b4f6fea42ce17998f6ff3fa0a2a2e2f/django_contrib_comments-1.8.0-py2.py3-none-any.whl", "Collecting django-cors-headers==2.4.0 (from -r requirements/base.txt (line 10))", " Using cached https://files.pythonhosted.org/packages/cc/7e/83ba784ad2b95317bbbed915f0888d7d1cd8dc3d2e4b8ddec8fbc4c3e800/django_cors_headers-2.4.0-py2.py3-none-any.whl", "Collecting django-extensions==1.7.8 (from -r requirements/base.txt (line 11))", " Using cached https://files.pythonhosted.org/packages/81/3a/7531edf895f0efb170e2a9091c1ed0493e4f9e352efc567430ef116a1862/django_extensions-1.7.8-py2.py3-none-any.whl", "Collecting django-filter==1.0.4 (from -r requirements/base.txt (line 12))", " Using cached https://files.pythonhosted.org/packages/af/73/06e81b4a83cb970cff814d0a68c496e75e6d7e5233d80808b33564a6c71a/django_filter-1.0.4-py2.py3-none-any.whl", "Collecting django-fsm==2.6.0 (from -r requirements/base.txt (line 13))", " Using cached https://files.pythonhosted.org/packages/cc/81/6074f9e46a81e004b84d9000e7805c6620fa56e43c5eb30a04ae176fcba1/django_fsm-2.6.0-py2.py3-none-any.whl", "Collecting django-guardian==1.4.8 (from -r requirements/base.txt (line 14))", " Using cached https://files.pythonhosted.org/packages/18/60/1d3bdd046241944bae40c4d3c6a21d45d257e8e3aa1d79877a76102b3cc2/django_guardian-1.4.8-py2.py3-none-any.whl", "Collecting django-haystack==2.5.0 (from -r requirements/base.txt (line 15))", " Using cached https://files.pythonhosted.org/packages/6c/4f/86e39c8760048f0b75d99726c5448bc4114eaff2897920367aa6c72b9830/django-haystack-2.5.0.tar.gz", "Collecting django-libsass==0.7 (from -r requirements/base.txt (line 16))", " Using cached https://files.pythonhosted.org/packages/96/1a/0ebcb4e90b41f27d2b96adba01c62a590942686c6dbc7371ab89be044066/django-libsass-0.7.tar.gz", "Collecting django-parler==1.8 (from -r requirements/base.txt (line 17))", " Using cached https://files.pythonhosted.org/packages/b0/0a/7156ed5816aed3e70c7f3328753ac24f651e67219504754b348d90129b65/django_parler-1.8-py2.py3-none-any.whl", "Collecting django-simple-history==1.9.0 (from -r requirements/base.txt (line 18))", " Using cached https://files.pythonhosted.org/packages/0b/2b/244347867ec680ddcd54722604bdce883613ec9c3da965c6707e548f37ae/django_simple_history-1.9.0-py2.py3-none-any.whl", "Collecting django-solo==1.1.2 (from -r requirements/base.txt (line 19))", " Using cached https://files.pythonhosted.org/packages/f2/cf/f46babe0b84d0ec6b0e48cd82ddae60282f0e61565b9a6a606e2a68db263/django-solo-1.1.2.tar.gz", "Collecting django-sortedm2m==1.4.0 (from -r requirements/base.txt (line 20))", " Using cached https://files.pythonhosted.org/packages/93/f7/5dc928d9ff217e99a55a2aedc1eae9119c5c804d1584e1d0f1d1f563b606/django-sortedm2m-1.4.0.tar.gz", "Collecting django-stdimage==2.4.1 (from -r requirements/base.txt (line 21))", " Using cached https://files.pythonhosted.org/packages/85/55/8d691213736116831b51f2ccae2bdcc40fe0354051432e7a5e33c9698545/django_stdimage-2.4.1-py3-none-any.whl", "Collecting django-storages==1.5.2 (from -r requirements/base.txt (line 22))", " Using cached https://files.pythonhosted.org/packages/f7/57/385bac5fdb4ee24d0c833f01e98516834d352f44786b5d4f4b16932206f9/django_storages-1.5.2-py2.py3-none-any.whl", "Collecting django-taggit==0.22.1 (from -r requirements/base.txt (line 23))", " Using cached https://files.pythonhosted.org/packages/68/5b/f2e3ec053ba30606f9d7d3655422baf69e992acbb52e02c1bea254e71a43/django_taggit-0.22.1-py2.py3-none-any.whl", "Collecting django-taggit-autosuggest==0.3.0 (from -r requirements/base.txt (line 24))", " Using cached https://files.pythonhosted.org/packages/8f/6f/9f39e65058101f2cbab0bb7de534fbe354adb6b9fd95a2a264518c05c839/django-taggit-autosuggest-0.3.0.tar.gz", "Collecting django-taggit-serializer==0.1.5 (from -r requirements/base.txt (line 25))", " Using cached https://files.pythonhosted.org/packages/02/96/fb5ed4c8215b5de688fb4d4a9de3ae66cb1e444485be04103b5e9d68e975/django-taggit-serializer-0.1.5.tar.gz", "Collecting django-waffle==0.11.1 (from -r requirements/base.txt (line 26))", " Using cached https://files.pythonhosted.org/packages/c5/97/d0f8a26c910207115f7bea20e2dac344bb04bba594dbe1f22c9cbf19c37c/django_waffle-0.11.1-py2.py3-none-any.whl", "Collecting django-webpack-loader==0.5.0 (from -r requirements/base.txt (line 27))", " Using cached https://files.pythonhosted.org/packages/6a/1d/3680c3cd7bf5a35a0ed451201fbdd93d7b17e63045d97bb8e2d4ba754e5f/django_webpack_loader-0.5.0-py2.py3-none-any.whl", "Collecting djangorestframework==3.6.3 (from -r requirements/base.txt (line 28))", " Using cached https://files.pythonhosted.org/packages/28/1a/6228d127f426b23360f1d62fde153da500c35cad1ba115ffc03fbb40ebe9/djangorestframework-3.6.3-py2.py3-none-any.whl", "Collecting djangorestframework-csv==1.4.1 (from -r requirements/base.txt (line 29))", " Using cached https://files.pythonhosted.org/packages/31/de/68492c3f97a8bb7ede4d7ff929567a723c4255ad762147a04f3207f44415/djangorestframework-csv-1.4.1.tar.gz", "Collecting djangorestframework-jwt==1.8.0 (from -r requirements/base.txt (line 30))", " Using cached https://files.pythonhosted.org/packages/63/eb/a400626245920c57c6284b08d036320907e4fc83281fa402cb6c90e4166f/djangorestframework_jwt-1.8.0-py2.py3-none-any.whl", "Collecting djangorestframework-xml==1.3.0 (from -r requirements/base.txt (line 31))", " Using cached https://files.pythonhosted.org/packages/83/05/7f7f23d0e49435abcfa8fe22d9d3da50ffdb0130cdca371991286565077b/djangorestframework_xml-1.3.0-py2.py3-none-any.whl", "Collecting django-rest-swagger==2.1.2 (from -r requirements/base.txt (line 32))", " Using cached https://files.pythonhosted.org/packages/2c/12/28d0677756283d913f8371ad7590e16f5e6c8444044f5b1b1586f956e610/django_rest_swagger-2.1.2-py2.py3-none-any.whl", "Collecting drf-extensions==0.3.1 (from -r requirements/base.txt (line 33))", " Using cached https://files.pythonhosted.org/packages/54/a9/ab65fa8febdb701deaea33498673639f9f3d43c78402951524a4e3b39346/drf_extensions-0.3.1-py2.py3-none-any.whl", "Collecting drf-haystack==1.6.1 (from -r requirements/base.txt (line 34))", " Using cached https://files.pythonhosted.org/packages/33/f0/4bf4a43f9b1eb72e112c52a703f985e017238dd720d529146c27c93ecd80/drf-haystack-1.6.1.tar.gz", "Collecting dry-rest-permissions==0.1.6 (from -r requirements/base.txt (line 35))", " Using cached https://files.pythonhosted.org/packages/1f/ce/864e73cf30b9a35967f58103060c1329d7ee08f2241684a651a322dd5ed1/dry_rest_permissions-0.1.6-py2.py3-none-any.whl", "Collecting edx-auth-backends==1.1.3 (from -r requirements/base.txt (line 36))", " Using cached https://files.pythonhosted.org/packages/19/7f/8c7ccd08e67b9f570ae0aa2ac5b400089b655e11f02240a4304878c3abc4/edx_auth_backends-1.1.3-py2.py3-none-any.whl", "Collecting edx-ccx-keys==0.2.0 (from -r requirements/base.txt (line 37))", " Using cached https://files.pythonhosted.org/packages/38/ed/fc1ba905c1eb671d4da78f86e10c5e85d0e51c22194eee540eac9ef0f01b/edx-ccx-keys-0.2.0.tar.gz", "Collecting edx-django-release-util==0.3.1 (from -r requirements/base.txt (line 38))", " Using cached https://files.pythonhosted.org/packages/2e/11/44f32ad2a8db82c76e95aaafa15e9fe2756eed510d68f563e3526c32cf01/edx_django_release_util-0.3.1-py3-none-any.whl", "Collecting edx-django-sites-extensions==2.3.0 (from -r requirements/base.txt (line 39))", " Using cached https://files.pythonhosted.org/packages/73/c2/7963b2755c1f2f3a8c10184036aec36bb257de31f7e602037c7b911a804f/edx_django_sites_extensions-2.3.0-py3-none-any.whl", "Collecting edx-django-utils==1.0.1 (from -r requirements/base.txt (line 40))", " Using cached https://files.pythonhosted.org/packages/56/59/31c65329650d5354eb3f9e3c694fb409df6bd1bbd7581521b3f4323d84b4/edx_django_utils-1.0.1-py2.py3-none-any.whl", "Collecting edx-drf-extensions==2.0.1 (from -r requirements/base.txt (line 41))", " Using cached https://files.pythonhosted.org/packages/93/c3/f6a0a1954dcef85118e56761500f13fbf0e8cc4c9f7c7865ff754f49f3a3/edx_drf_extensions-2.0.1-py2.py3-none-any.whl", "Collecting edx-opaque-keys==0.3.1 (from -r requirements/base.txt (line 42))", " Using cached https://files.pythonhosted.org/packages/bc/fe/96cbf88de7ff7bb245f52ef8197adca6e09793d9c4bc77e33bdf762b9c52/edx-opaque-keys-0.3.1.tar.gz", "Collecting edx-rest-api-client==1.8.2 (from -r requirements/base.txt (line 43))", " Using cached https://files.pythonhosted.org/packages/37/a9/182c44c0aa42ab07f90bc7f3e666c935f1770265bf5b25c31f6faf386d10/edx_rest_api_client-1.8.2-py3-none-any.whl", "Collecting elasticsearch<2.0.0,>=1.0.0 (from -r requirements/base.txt (line 44))", " Using cached https://files.pythonhosted.org/packages/b8/ed/cc80a5c8a1f8931589f2f1070c929ea851ed66bad29746d3b0140e14cd96/elasticsearch-1.9.0-py2.py3-none-any.whl", "Collecting html2text==2016.9.19 (from -r requirements/base.txt (line 45))", " Using cached https://files.pythonhosted.org/packages/22/c0/2d02a1fb9027f54796af2c2d38cf3a5b89319125b03734a9964e6db8dfa0/html2text-2016.9.19.tar.gz", "Collecting jsonfield==1.0.3 (from -r requirements/base.txt (line 46))", " Using cached https://files.pythonhosted.org/packages/ad/e2/e1d8a62edb0aa3c9984ed5cb73d9001065520796f1740caf6daf1c5540c4/jsonfield-1.0.3.tar.gz", "Collecting markdown==2.6.6 (from -r requirements/base.txt (line 47))", " Using cached https://files.pythonhosted.org/packages/9b/53/4492f2888408a2462fd7f364028b6c708f3ecaa52a028587d7dd729f40b4/Markdown-2.6.6.tar.gz", "Collecting pillow==3.4.2 (from -r requirements/base.txt (line 48))", " Using cached https://files.pythonhosted.org/packages/06/74/ba6a83f48448d125eb4307cd140d6661b677822628ef5862869a10dcdd30/Pillow-3.4.2-cp35-cp35m-manylinux1_x86_64.whl", "Collecting pycountry==1.20 (from -r requirements/base.txt (line 49))", " Using cached https://files.pythonhosted.org/packages/6c/40/13c8d2e66cc786dc8593b038c2c9df97631e5e31b4f155ef3f05ae3ccfc8/pycountry-1.20.tar.gz", "Collecting python-dateutil==2.5.3 (from -r requirements/base.txt (line 50))", " Using cached https://files.pythonhosted.org/packages/33/68/9eadc96f9899caebd98f55f942d6a8f3fb2b8f8e69ba81a0f771269897e9/python_dateutil-2.5.3-py2.py3-none-any.whl", "Collecting pytz==2016.6.1 (from -r requirements/base.txt (line 51))", " Using cached https://files.pythonhosted.org/packages/ba/c7/3d54cad4fb6cf7bf375d39771e67680ec779a541c68459210fcfdc3ba952/pytz-2016.6.1-py2.py3-none-any.whl", "Collecting requests==2.9.1 (from -r requirements/base.txt (line 53))", " Using cached https://files.pythonhosted.org/packages/b8/f7/3bb4d18c234a8ce7044d5ee2e1082b7d72bf6c550afb8d51ae266dea56f1/requests-2.9.1-py2.py3-none-any.whl", "Collecting unicode-slugify==0.1.3 (from -r requirements/base.txt (line 54))", " Using cached https://files.pythonhosted.org/packages/8c/ba/1a05f61c7fd72df85ae4dc1c7967a3e5a4b6c61f016e794bc7f09b2597c0/unicode-slugify-0.1.3.tar.gz", " Complete output from command python setup.py egg_info:", " Traceback (most recent call last):", " File \"<string>\", line 1, in <module>", " File \"/tmp/pip-build-_hrr1erf/unicode-slugify/setup.py\", line 7, in <module>", " long_description=open('README.md').read(),", " File \"/edx/app/discovery/venvs/discovery/lib/python3.5/encodings/ascii.py\", line 26, in decode", " return codecs.ascii_decode(input, self.errors)[0]", " UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 361: ordinal not in range(128)", " ", " ----------------------------------------", "Makefile:41: recipe for target 'production-requirements' failed"]}
- RUNNING HANDLER [forum : restart the forum service] ****************************
- to retry, use: --limit @/var/tmp/configuration/playbooks/openedx_native.retry
- PLAY RECAP *********************************************************************
- localhost : ok=448 changed=128 unreachable=0 failed=1
- ========================================
- Ansible failed!
- ----------------------------------------
- If you need help, see https://open.edx.org/getting-help .
- When asking for help, please provide as much information as you can.
- These might be helpful:
- Your log file is at logs/install-20200403-021806.log
- Your environment:
- OPENEDX_RELEASE=open-release/ironwood.master
- ========================================
- Installation finished at 2020-04-03 02:47:37
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement