geerlingguy / drupal-vm

A VM for Drupal development
https://www.drupalvm.com/
MIT License
1.37k stars 645 forks source link

After provision solr user ends up owning vagrant_sync_folder #1016

Closed dmiric closed 7 years ago

dmiric commented 7 years ago

Issue Type

Your Environment

Vagrant 1.8.6
VirtualBox 5.1.6_Ubuntur110634
ansible 2.1.1.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

Your OS

Full console output

https://gist.github.com/dmiric/43e0fb7600e191868fbf783ff249e33d

Summary

I'm trying to provision a new machine with SOLR. No matter which version I set after provisioning is done. solr user ends up owning directory /var/www/dv which is set as vagrant_sync_folder in my config.yml

` vagrant_synced_folders:

Without SOLR installation that folder is owned by vagrant user.

I also need to mention that I'm using Acquia BLT setup if that could be causing the problem. https://github.com/acquia/blt

dmiric commented 7 years ago

If I remove SOLR I get:

/var/www drwxr-xr-x 17 1000 admin 4096 Nov 26 17:36 dv/

geerlingguy commented 7 years ago

I'm going to do a little testing and see what's up.

geerlingguy commented 7 years ago

Do you happen to have either solr_install_path or solr_home customized in config.yml? Also, what version of Apache Solr do you have running on the VM? If you use 3.x or 4.x, and you have one of those two variables set to the /var/www/dv directory, then the tasks that correct the permissions for the Solr installation could conceivably change the ownership of that directory.

Otherwise the defaults are /var/solr and /opt/solr, and those are the only two paths that should have ownership changed to the solr user...

geerlingguy commented 7 years ago

I'll also see if BLT might have a setting that changes this. What version of Drupal VM and BLT do you have, if you don't mind checking?

geerlingguy commented 7 years ago

I can't get this to reproduce with CentOS 7 or Ubuntu 16.04. Can you possibly share more details of the config.yml you're using for your project?

dmiric commented 7 years ago

Yes thank you for your reply, here is some more detail that I managed gather in the meanwhile.

I think solr is actualy not causing the problem if I don't install solr /var/www/dv is owned by user 1000 admin group which is my user uid and group uid on host machine. That means that directory is not properly mounted. So I installed bindfs vagrant plugin and add code below in my local vagrant file.

vconfig['vagrant_synced_folders'].each do |synced_folder|
      case synced_folder['type']
      when "nfs"
        guest_path = synced_folder['destination']
        host_path = File.expand_path(synced_folder['local_path'])
        config.vm.synced_folders[guest_path][:guestpath] = "/var/nfs#{host_path}"
        config.bindfs.bind_folder "/var/nfs#{host_path}", guest_path,
          u: 'vagrant',
          g: 'www-data',
          perms: 'u=rwX:g=rwD',
          o: 'nonempty'
        config.nfs.map_uid = Process.uid
        config.nfs.map_gid = Process.gid
      end
    end

That worked and directory now has vagrant user as owner and www-data group. But now I'm trying to figure out why php dosent have permissions to chmod or write files directory even if I set files directory on host machine to 777 still I have permission denied.

dmiric commented 7 years ago

config.yml

# Update the hostname to the local development environment hostname
vagrant_hostname: local.dv.com
vagrant_machine_name: dv
vagrant_ip: 192.168.88.88

drupalvm_vagrant_version_min: '1.8.5'

# Sometimes, on windows, VM http is only accessible with this
# vagrant_public_ip: "192.168.1.55"

# Set drupal_site_name to the project's human-readable name.
drupal_site_name: "Dv"

# Memory and CPU to use for this VM.
vagrant_memory: 2048
vagrant_cpus: 2

# Provide the path to the project root to Vagrant.
vagrant_synced_folders:
  # Set the local_path for the first synced folder to `.`.
  - local_path: .
    # Set the destination to the Acquia Cloud subscription machine name.
    destination: /var/www/dv
    type: nfs

build_composer_project: false

# Toggling this to `true` would invoke `composer install` with the
# projects own `composer.json` successfully.
build_composer: false
drupal_composer_path: false
drupal_composer_install_dir: "/var/www/dv"
drupal_core_path: "{{ drupal_composer_install_dir }}/docroot"

drupal_db_user: drupal
drupal_db_password: drupal
drupal_db_name: drupal

# Set this to 'false' if you don't need to install drupal (using the drupal_*
# settings below), but instead copy down a database (e.g. using drush sql-sync).
install_site: false

# Drupal VM automatically creates a drush alias file in your ~/.drush folder if
# this variable is 'true'.
configure_drush_aliases: false

# Pattern Lab
pattern_lab_path: "/var/www/patternlab"

# Apache VirtualHosts. Add one for each site you are running inside the VM. For
# multisite deployments, you can point multiple servernames at one documentroot.
# View the geerlingguy.apache Ansible Role README for more options.
apache_vhosts:
  - servername: "{{ drupal_domain }}"
    documentroot: "{{ drupal_core_path }}"
    extra_parameters: |
          ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000{{ drupal_core_path }}"

  - servername: "adminer.{{ vagrant_hostname }}"
    documentroot: "{{ adminer_install_dir }}"
    extra_parameters: |
          ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000{{ adminer_install_dir }}"

  - servername: "xhprof.{{ vagrant_hostname }}"
    documentroot: "{{ php_xhprof_html_dir }}"
    extra_parameters: |
          ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000{{ php_xhprof_html_dir }}"

  - servername: "pimpmylog.{{ vagrant_hostname }}"
    documentroot: "{{ pimpmylog_install_dir }}"
    extra_parameters: |
          ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000{{ pimpmylog_install_dir }}"

  - servername: "{{ vagrant_ip }}"
    serveralias: "dashboard.{{ vagrant_hostname }}"
    documentroot: "{{ dashboard_install_dir }}"
    extra_parameters: |
          ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000{{ dashboard_install_dir }}"
          DirectoryIndex index.html

  - servername: "{{ vagrant_ip }}"
    serveralias: "patternlab.{{ vagrant_hostname }}"
    documentroot: "{{ pattern_lab_path }}"
    extra_parameters: |
          ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000{{ pattern_lab_path }}"
          DirectoryIndex index.html

# This is required for front-end building tools.
nodejs_version: "7.x"
nodejs_npm_global_packages:
  - name: bower
  - name: gulp-cli
  - name: npm-check-updates
  - name: marked
  - name: colorguard
  - name: varstream
  - name: svgicons2svgfont
  - name: node-gyp
  - name: ttf2woff
  - name: yarn

nodejs_install_npm_user: "{{ drupalvm_user }}"
npm_config_prefix: "/home/{{ drupalvm_user }}/.npm-global"
installed_extras:
  - adminer
  - nodejs
  - selenium
  - mailhog
  - pimpmylog
  - varnish
  - xdebug
  - drupalconsole
  - solr

solr_version: "4.5.0"

php_xdebug_default_enable: 1
php_xdebug_coverage_enable: 1
php_xdebug_idekey: PHPSTORM

post_provision_scripts:
  - "../../../acquia/blt/scripts/drupal-vm/post-provision.sh"
  - "../../../../box/postprovision-solr.sh"
  - "../../../../box/postprovision-tweaks.sh"
dmiric commented 7 years ago

Vagrant versions I tried:

1.8.5 1.8.5 1.9.0

BLT: "acquia/blt": "8.5.2", Drupal VM: "geerlingguy/drupal-vm": "3.5.2",

I tried SOLR 4.5, 5 and 6

dmiric commented 7 years ago

So in summary now /var/www/dv has a proper owner but PHP cant seem to write there even with chmod 777

dmiric commented 7 years ago

ok I simplified this a bit by removing some irrelevant stuff from config.yml

so here is new config.yml

# Update the hostname to the local development environment hostname
vagrant_hostname: local.dv.com
vagrant_machine_name: dv
vagrant_ip: 192.168.88.88

drupalvm_vagrant_version_min: '1.8.5'

# Sometimes, on windows, VM http is only accessible with this
# vagrant_public_ip: "192.168.1.55"

# Set drupal_site_name to the project's human-readable name.
drupal_site_name: "Dv"

# Memory and CPU to use for this VM.
vagrant_memory: 2048
vagrant_cpus: 2

# Provide the path to the project root to Vagrant.
vagrant_synced_folders:
  # Set the local_path for the first synced folder to `.`.
  - local_path: .
    # Set the destination to the Acquia Cloud subscription machine name.
    destination: /var/www/dv
    type: nfs

build_composer_project: false

# Toggling this to `true` would invoke `composer install` with the
# projects own `composer.json` successfully.
build_composer: false
drupal_composer_path: false
drupal_composer_install_dir: "/var/www/dv"
drupal_core_path: "{{ drupal_composer_install_dir }}/docroot"

drupal_db_user: drupal
drupal_db_password: drupal
drupal_db_name: drupal

# Set this to 'false' if you don't need to install drupal (using the drupal_*
# settings below), but instead copy down a database (e.g. using drush sql-sync).
install_site: false

# Drupal VM automatically creates a drush alias file in your ~/.drush folder if
# this variable is 'true'.
configure_drush_aliases: false

nodejs_install_npm_user: "{{ drupalvm_user }}"
npm_config_prefix: "/home/{{ drupalvm_user }}/.npm-global"
installed_extras:
  - adminer
  - drupalconsole

post_provision_scripts:
  - "../../../acquia/blt/scripts/drupal-vm/post-provision.sh"

after I attempt install without bindfs plugin in short this is what I get ... Ignore problem with selenium for now since that is something new

TASK [arknoll.selenium : Ensure selenium is running] ***************************
fatal: [dv]: FAILED! => {"changed": false, "failed": true, "msg": "Could not find the requested service \"'selenium'\": "}

RUNNING HANDLER [geerlingguy.firewall : restart firewall] **********************

RUNNING HANDLER [geerlingguy.apache : restart apache] **************************

RUNNING HANDLER [geerlingguy.php : restart webserver] **************************

RUNNING HANDLER [geerlingguy.php : restart php-fpm] ****************************

RUNNING HANDLER [geerlingguy.mysql : restart mysql] ****************************
    to retry, use: --limit @/home/dmiric/dev/dv-vagrant-test/vendor/geerlingguy/drupal-vm/provisioning/playbook.retry

PLAY RECAP *********************************************************************
dv                         : ok=176  changed=83   unreachable=0    failed=1   

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.
➜  dv-vagrant-test git:(develop) vagrant ssh
Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-21-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
Last login: Sat Dec  3 04:03:37 2016 from 10.0.2.2
vagrant@local:~$ /var/www/
-bash: /var/www/: Is a directory
vagrant@local:~$ cd /var/www
vagrant@local:/var/www$ ll
total 16
drwxr-xr-x  4 root root 4096 Dec  3 03:53 ./
drwxr-xr-x 12 root root 4096 Dec  3 03:51 ../
drwxr-xr-x 15 1000 1000 4096 Dec  3 03:00 dv/
drwxr-xr-x  2 root root 4096 Dec  3 03:53 html/
vagrant@local:/var/www$ 

so dv directory has uid 1000 gid 1000

That was the first test case.

dmiric commented 7 years ago

I think that first test was actually a fail because of the slenium I have to figure out whats going on there now.. Could the problem be that I installed selenium on host machine? Does that make any difference?

dmiric commented 7 years ago

There must be something wrong with selenium it self since travis was also failing on selenium tests this afternoon

heddn commented 7 years ago

I'm seeing the same thing in my build of drupalvm where the owner is solr. Working on documenting my notes.

heddn commented 7 years ago

Here's a gist of my config.yml: https://gist.github.com/heddn/afda7f0ecba603473834a43e2a1f5c41. For the most part, I default to the defaults provided in default.config.yml. And if you want to test it out fully, head to github.com/mtechllc/d8_starter. Although I'm about to just disable solr in the config so it doesn't break things. So you'll have to flip that around if you want to test.

oxyc commented 7 years ago

I'm not able to reproduce this either. @heddn I tried https://github.com/mtechllc/d8_starter as well, but the owner is still 501:dialout in my case.

heddn commented 7 years ago

I haven't seen the error since, so this might have been an intermittent thing.

geerlingguy commented 7 years ago

Possibly a java 👻.

Closing for now, please reopen if you can reproduce the issue.

johangant commented 7 years ago

I have been able to reproduce this today. Apologies for enormous config + provisioning logs / output but it might be useful! I confess I've not been through it with a fine tooth comb, but wanted to acknowledge I'd hit the same issue in the first instance. Host system is Arch Linux but would be surprised if that makes a difference?

config.yml

---
#
# Example configuration.
# Search and replace BUILD with your project codename. e.g. mencap
#

vagrant_box: geerlingguy/ubuntu1604
vagrant_user: vagrant
vagrant_synced_folder_default_type: nfs

# Set a unique hostname, machine name, and IP address for each instance.
vagrant_hostname: client.dev
vagrant_machine_name: client
vagrant_ip: "192.168.88.2"

# Allow Drupal VM to be accessed via a public network interface on your host?
# See: https://docs.vagrantup.com/v2/networking/public_network.html
vagrant_public_ip: ""

# A list of synced folders, with the keys 'local_path', 'destination', and
# a 'type' of [nfs|rsync|smb] (leave empty for slow native shares). See
# http://docs.drupalvm.com/en/latest/extras/syncing-folders/ for more info.
vagrant_synced_folders:
  # The first synced folder will be used for the default Drupal installation, if
  # build_makefile: is 'true'.
  # Change local_path to a full path (e.g. /Users/username/shared) 
  # if this does not work
  - local_path: /home/username/shared
    destination: /var/www
    type: nfs
    create: true

# Memory and CPU to use for this VM.
vagrant_memory: 2048
vagrant_cpus: 2

# Force use of ansible_local provisioner, even if Ansible is installed on host.
force_ansible_local: false

# The web server software to use. Can be either 'apache' or 'nginx'.
drupalvm_webserver: nginx

# Set this to false if you are using a different site deployment strategy and
# would like to configure 'vagrant_synced_folders' and 'apache_vhosts' manually.
build_makefile: false

# Set 'build_makefile' to 'false' and this to 'true' if you are using a
# composer based site deployment strategy.
build_composer: false

# Set this to 'true' and 'build_makefile', 'build_composer' to 'false' if you
# are using Composer's create-project as a site deployment strategy.
build_composer_project: false

# Set this to false if you are using a different site deployment strategy and
# would like to configure 'vagrant_synced_folders' and 'apache_vhosts' manually.
install_site: false

# Required Drupal settings.
drupal_core_path: "/var/www/client/htdocs"
drupal_mysql_user: drupal
drupal_mysql_password: vagrant
drupal_mysql_database: drupal

# Cron jobs are added to the root user's crontab. Keys include name (required),
# minute, hour, day, weekday, month, job (required), and state.
drupalvm_cron_jobs: []
  # - {
  #   name: "Drupal Cron",
  #   minute: "*/30",
  #   job: "drush -r /var/www/drupalvm/drupal core-cron"
  # }

# Drupal VM automatically creates a drush alias file in your ~/.drush folder if
# this variable is 'true'.
configure_local_drush_aliases: true

# Nginx hosts. Each site will get a server entry using the configuration defined
# here. Set the 'is_php' property for document roots that contain PHP apps like
# Drupal.
nginx_hosts:
  - server_name: "{{ drupal_domain }} www.{{ drupal_domain }}"
    root: "{{ drupal_core_path }}"
    is_php: true

  - server_name: "client-ch.dev"
    root: "{{ drupal_core_path }}"
    is_php: true

  - server_name: "client-dk.dev"
    root: "{{ drupal_core_path }}"
    is_php: true

  - server_name: "client-co.dev"
    root: "{{ drupal_core_path }}"
    is_php: true

  - server_name: "client-br.dev"
    root: "{{ drupal_core_path }}"
    is_php: true

  - server_name: "client-fr.dev"
    root: "{{ drupal_core_path }}"
    is_php: true

  - server_name: "client-es.dev"
    root: "{{ drupal_core_path }}"
    is_php: true

  - server_name: "xhprof.{{ vagrant_hostname }}"
    root: "{{ php_xhprof_html_dir }}"
    is_php: true

  - server_name: "{{ vagrant_ip }} dashboard.{{ vagrant_hostname }}"
    root: "{{ dashboard_install_dir }}"

nginx_remove_default_vhost: true
nginx_ppa_use: true

# MySQL Databases and users. If build_makefile: is true, first database will
# be used for the makefile-built site.
mysql_databases:
  - name: "{{ drupal_mysql_database }}"
    encoding: utf8mb4
    collation: utf8mb4_general_ci

mysql_users:
  - name: "{{ drupal_mysql_user }}"
    host: "%"
    password: "{{ drupal_mysql_password }}"
    priv: "{{ drupal_mysql_database }}.*:ALL"

# Comment out any extra utilities you don't want to install. If you don't want
# to install *any* extras, make set this value to an empty set, e.g. `[]`.
installed_extras:
  - blackfire
#  - drupalconsole
#  - redis
  - memcached
  - xdebug
  - xhprof
  - solr

# Add any extra apt or yum packages you would like installed.
extra_packages: []

# You can configure almost anything else on the server in the rest of this file.
extra_security_enabled: false

# drush_version: "8.x"
# drush_keep_updated: true
# drush_composer_cli_options: "--prefer-dist --no-interaction"

firewall_allowed_tcp_ports:
  - "22"
  - "25"
  - "80"
  - "81"
  - "443"
  - "4444"
  - "8025"
  - "8080"
  - "8443"
  - "8983"
  - "9200"
firewall_log_dropped_packets: false

# PHP Configuration. Currently-supported versions: 5.6, 7.0.
# To use 5.6, see: http://docs.drupalvm.com/en/latest/other/php-56/
php_version: "7.0"
php_memory_limit: "256M"
php_display_errors: "On"
php_display_startup_errors: "On"
php_realpath_cache_size: "1024K"
php_sendmail_path: "/opt/mailhog/mhsendmail"
php_opcache_enabled_in_ini: true
php_opcache_memory_consumption: "192"
php_opcache_max_accelerated_files: 4096
php_max_input_vars: "4000"

# Drupal VM defaults to using PHP-FPM with either Apache or Nginx. If you wish
# to instead use Apache + mod_php with an Ubuntu base box, make sure you add
# libapache2-mod-php5 to `extra_packages` elsewhere in this config file.
php_enable_php_fpm: true
php_fpm_listen: "127.0.0.1:9000"

composer_path: /usr/bin/composer
composer_home_path: "/home/{{ drupalvm_user }}/.composer"
composer_home_owner: "{{ drupalvm_user }}"
composer_home_group: "{{ drupalvm_user }}"
composer_global_packages:
  - { name: hirak/prestissimo, release: '^0.3' }

# Run specified scripts after VM is provisioned. Path is relative to the
# `provisioning/playbook.yml` file.
pre_provision_scripts: []
post_provision_scripts:
  - "../examples/scripts/configure-solr.sh"

# MySQL Configuration.
mysql_root_password: root
mysql_slow_query_log_enabled: true
mysql_slow_query_time: 2
mysql_wait_timeout: 300

# XDebug configuration. XDebug is disabled by default for better performance.
php_xdebug_default_enable: 0
php_xdebug_coverage_enable: 0
php_xdebug_cli_enable: 0
php_xdebug_remote_enable: 1
php_xdebug_remote_connect_back: 1
# Use PHPSTORM for PHPStorm, sublime.xdebug for Sublime Text.
php_xdebug_idekey: PHPSTORM
php_xdebug_max_nesting_level: 256

# Other configuration.
dashboard_install_dir: /var/www/dashboard
known_hosts_path: ~/.ssh/known_hosts

Ansible provisioning output + owner issue

 username@keystone  ~/vms/clientsite   master  v up
Bringing machine 'clientsite' up with 'virtualbox' provider...
==> clientsite: Importing base box 'geerlingguy/ubuntu1604'...
==> clientsite: Matching MAC address for NAT networking...
==> clientsite: Checking if box 'geerlingguy/ubuntu1604' is up to date...
==> clientsite: Setting the name of the VM: clientsite.dev
==> clientsite: Clearing any previously set network interfaces...
==> clientsite: Preparing network interfaces based on configuration...
    clientsite: Adapter 1: nat
    clientsite: Adapter 2: hostonly
==> clientsite: Forwarding ports...
    clientsite: 22 (guest) => 2222 (host) (adapter 1)
==> clientsite: Running 'pre-boot' VM customizations...
==> clientsite: Booting VM...
==> clientsite: Waiting for machine to boot. This may take a few minutes...
    clientsite: SSH address: 127.0.0.1:2222
    clientsite: SSH username: vagrant
    clientsite: SSH auth method: private key
==> clientsite: Machine booted and ready!
[clientsite] GuestAdditions 5.1.14 running --- OK.
==> clientsite: Checking for guest additions in VM...
==> clientsite: Setting hostname...
==> clientsite: Configuring and enabling network interfaces...
==> clientsite: Exporting NFS shared folders...
==> clientsite: Preparing to edit /etc/exports. Administrator privileges will be required...
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
   Active: active (exited) since Mon 2017-02-20 14:10:57 UTC; 1 day 1h ago
  Process: 1549 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
  Process: 1547 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 1549 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/nfs-server.service

Feb 20 14:10:56 keystone systemd[1]: Starting NFS server and services...
Feb 20 14:10:57 keystone systemd[1]: Started NFS server and services.
==> clientsite: Mounting NFS shared folders...
==> clientsite: Updating /etc/hosts file on active guest machines...
==> clientsite: Updating /etc/hosts file on host machine (password may be required)...
==> clientsite: Running provisioner: ansible...
    clientsite: Running ansible-playbook...

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [clientsite]

TASK [Include OS-specific variables.] ******************************************
ok: [clientsite]

TASK [Define config_dir.] ******************************************************
skipping: [clientsite]

TASK [include_vars] ************************************************************
ok: [clientsite] => (item=/home/username/vms/clientsite/config.yml)

TASK [Define fully qualified domain name.] *************************************
ok: [clientsite]

TASK [Define short hostname.] **************************************************
ok: [clientsite]

TASK [Add hostname to /etc/hosts.] *********************************************
ok: [clientsite]

TASK [Configure hostname.] *****************************************************
ok: [clientsite]

TASK [Set the hostname for current session.] ***********************************
skipping: [clientsite]

TASK [include] *****************************************************************
included: /home/username/vms/clientsite/provisioning/tasks/init-debian.yml for clientsite

TASK [Update apt cache if needed.] *********************************************
changed: [clientsite]

TASK [Get software for Python-based control.] **********************************
changed: [clientsite] => (item=[u'curl', u'python-apt', u'python-pycurl', u'build-essential', u'sudo', u'unzip'])

TASK [Configure /etc/mailname.] ************************************************
ok: [clientsite]

TASK [Add repository for Apache 2.4.9+ on Ubuntu 12 and 14.] *******************
skipping: [clientsite]

TASK [Add repository for PHP 5.5, 5.6, 7.0 or 7.1.] ****************************
changed: [clientsite]

TASK [Add repository for PHP 5 compatibility packages.] ************************
skipping: [clientsite]

TASK [Purge PHP version packages.] *********************************************
ok: [clientsite] => (item=[u'php5.5', u'php5.5-apcu', u'php5.5-cli', u'php5.5-common', u'php5.5-curl', u'php5.5-dev', u'php5.5-fpm', u'php5.5-gd', u'php5.5-imap', u'php5.5-json', u'php5.5-mbstring', u'php5.5-mcrypt', u'php5.5-opcache', u'php5.5-sqlite3', u'php5.5-xml', u'php5.5-yaml', u'php5.6', u'php5.6-apcu', u'php5.6-cli', u'php5.6-common', u'php5.6-curl', u'php5.6-dev', u'php5.6-fpm', u'php5.6-gd', u'php5.6-imap', u'php5.6-json', u'php5.6-mbstring', u'php5.6-mcrypt', u'php5.6-opcache', u'php5.6-sqlite3', u'php5.6-xml', u'php5.6-yaml', u'php7.1', u'php7.1-apcu', u'php7.1-cli', u'php7.1-common', u'php7.1-curl', u'php7.1-dev', u'php7.1-fpm', u'php7.1-gd', u'php7.1-imap', u'php7.1-json', u'php7.1-mbstring', u'php7.1-mcrypt', u'php7.1-opcache', u'php7.1-sqlite3', u'php7.1-xml', u'php7.1-yaml'])

TASK [Purge PHP packages installed by default on Ubuntu.] **********************
ok: [clientsite] => (item=[u'php-common'])

TASK [Purge PHP modules directory.] ********************************************
skipping: [clientsite] => (item=/usr/lib/php5/modules) 
skipping: [clientsite] => (item=/usr/lib/php/modules) 

TASK [Define php_xhprof_html_dir.] *********************************************
skipping: [clientsite]

TASK [include] *****************************************************************
skipping: [clientsite]

TASK [Run configured pre-provision shell scripts.] *****************************

TASK [Run configured pre-provision ansible task files.] ************************

TASK [Set the PHP webserver daemon correctly when nginx is in use.] ************
ok: [clientsite]

TASK [Set the correct XHProf package when PHP 5.5 or 5.6 is used.] *************
skipping: [clientsite]

TASK [Ensure PHP version -specific workspace directory exists.] ****************
changed: [clientsite]

TASK [geerlingguy.repo-remi : Install remi repo.] ******************************
skipping: [clientsite]

TASK [geerlingguy.repo-remi : Import remi GPG key.] ****************************
skipping: [clientsite]

TASK [geerlingguy.firewall : Ensure iptables is installed.] ********************
ok: [clientsite]

TASK [geerlingguy.firewall : Flush iptables the first time playbook runs.] *****
changed: [clientsite]

TASK [geerlingguy.firewall : Copy firewall script into place.] *****************
changed: [clientsite]

TASK [geerlingguy.firewall : Copy firewall init script into place.] ************
changed: [clientsite]

TASK [geerlingguy.firewall : Copy firewall systemd unit file into place (for systemd systems).] ***
changed: [clientsite]

TASK [geerlingguy.firewall : Ensure the firewall is enabled and will start on boot.] ***
changed: [clientsite]

TASK [geerlingguy.firewall : Disable the firewalld service (on RHEL, if configured).] ***
skipping: [clientsite]

TASK [geerlingguy.firewall : Disable the ufw firewall (on Ubuntu, if configured).] ***
changed: [clientsite]

TASK [geerlingguy.git : Ensure git is installed (RedHat).] *********************
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.git : Update apt cache (Debian).] ****************************
ok: [clientsite]

TASK [geerlingguy.git : Ensure git is installed (Debian).] *********************
changed: [clientsite] => (item=[u'git', u'git-svn'])

TASK [geerlingguy.git : Ensure git's dependencies are installed (RedHat).] *****
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.git : Ensure git's dependencies are installed (Debian).] *****
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.git : Get installed version] *********************************
[DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead..

This feature will be removed in version 2.4. Deprecation warnings can be 
disabled by setting deprecation_warnings=False in ansible.cfg.
skipping: [clientsite]

TASK [geerlingguy.git : Force git install if the version numbers do not match] *
skipping: [clientsite]

TASK [geerlingguy.git : Download git.] *****************************************
skipping: [clientsite]

TASK [geerlingguy.git : Expand git archive.] ***********************************
skipping: [clientsite]

TASK [geerlingguy.git : Build git.] ********************************************
skipping: [clientsite] => (item=all) 
skipping: [clientsite] => (item=install) 

TASK [geerlingguy.postfix : Ensure postfix is installed (RedHat).] *************
skipping: [clientsite]

TASK [geerlingguy.postfix : Ensure postfix is installed (Debian).] *************
changed: [clientsite]

TASK [geerlingguy.postfix : Ensure postfix is started and enabled at boot.] ****
ok: [clientsite]

TASK [geerlingguy.apache : Include OS-specific variables.] *********************
skipping: [clientsite]

TASK [geerlingguy.apache : Define apache_packages.] ****************************
skipping: [clientsite]

TASK [geerlingguy.apache : include] ********************************************
skipping: [clientsite]

TASK [geerlingguy.apache : Get installed version of Apache.] *******************
[DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead..

This feature will be removed in version 2.4. Deprecation warnings can be 
disabled by setting deprecation_warnings=False in ansible.cfg.
skipping: [clientsite]

TASK [geerlingguy.apache : Create apache_version variable.] ********************
skipping: [clientsite]

TASK [geerlingguy.apache : include_vars] ***************************************
skipping: [clientsite]

TASK [geerlingguy.apache : include_vars] ***************************************
skipping: [clientsite]

TASK [geerlingguy.apache : include] ********************************************
skipping: [clientsite]

TASK [geerlingguy.apache : Ensure Apache has selected state and enabled on boot.] ***
skipping: [clientsite]

TASK [geerlingguy.apache : Include OS-specific variables.] *********************
skipping: [clientsite]

TASK [geerlingguy.apache : Define apache_packages.] ****************************
skipping: [clientsite]

TASK [geerlingguy.apache : include] ********************************************
skipping: [clientsite]

TASK [geerlingguy.apache : Get installed version of Apache.] *******************
[DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead..

This feature will be removed in version 2.4. Deprecation warnings can be 
disabled by setting deprecation_warnings=False in ansible.cfg.
skipping: [clientsite]

TASK [geerlingguy.apache : Create apache_version variable.] ********************
skipping: [clientsite]

TASK [geerlingguy.apache : include_vars] ***************************************
skipping: [clientsite]

TASK [geerlingguy.apache : include_vars] ***************************************
skipping: [clientsite]

TASK [geerlingguy.apache : include] ********************************************
skipping: [clientsite]

TASK [geerlingguy.apache : Ensure Apache has selected state and enabled on boot.] ***
skipping: [clientsite]

TASK [geerlingguy.apache-php-fpm : Enable mod_proxy_fcgi.] *********************
skipping: [clientsite] => (item=proxy.load) 
skipping: [clientsite] => (item=proxy_fcgi.load) 

TASK [geerlingguy.nginx : Include OS-specific variables.] **********************
ok: [clientsite]

TASK [geerlingguy.nginx : Define nginx_user.] **********************************
ok: [clientsite]

TASK [geerlingguy.nginx : Enable nginx repo.] **********************************
skipping: [clientsite]

TASK [geerlingguy.nginx : Ensure nginx is installed.] **************************
skipping: [clientsite]

TASK [geerlingguy.nginx : Add PPA for Nginx.] **********************************
changed: [clientsite]

TASK [geerlingguy.nginx : Ensure nginx will reinstall if the PPA was just added.] ***
ok: [clientsite]

TASK [geerlingguy.nginx : Update apt cache.] ***********************************
ok: [clientsite]

TASK [geerlingguy.nginx : Ensure nginx is installed.] **************************
changed: [clientsite]

TASK [geerlingguy.nginx : Update pkg cache.] ***********************************
skipping: [clientsite]

TASK [geerlingguy.nginx : Ensure nginx is installed.] **************************
skipping: [clientsite]

TASK [geerlingguy.nginx : Create logs directory.] ******************************
skipping: [clientsite]

TASK [geerlingguy.nginx : Remove default nginx vhost config file (if configured).] ***
changed: [clientsite]

TASK [geerlingguy.nginx : Ensure nginx_vhost_path exists.] *********************
ok: [clientsite]

TASK [geerlingguy.nginx : Add managed vhost config file (if any vhosts are configured).] ***
skipping: [clientsite]

TASK [geerlingguy.nginx : Remove managed vhost config file (if no vhosts are configured).] ***
ok: [clientsite]

TASK [geerlingguy.nginx : Copy nginx configuration in place.] ******************
changed: [clientsite]

TASK [geerlingguy.nginx : Ensure nginx is started and enabled to start at boot.] ***
ok: [clientsite]

TASK [geerlingguy.php : Include OS-specific variables.] ************************
ok: [clientsite]

TASK [geerlingguy.php : Define php_packages.] **********************************
skipping: [clientsite]

TASK [geerlingguy.php : Define extra php_packages.] ****************************
skipping: [clientsite]

TASK [geerlingguy.php : Define php_webserver_daemon.] **************************
skipping: [clientsite]

TASK [geerlingguy.php : Define php_conf_paths.] ********************************
skipping: [clientsite]

TASK [geerlingguy.php : Define php_extension_conf_paths.] **********************
skipping: [clientsite]

TASK [geerlingguy.php : Define php_apc_conf_filename.] *************************
ok: [clientsite]

TASK [geerlingguy.php : Define php_opcache_conf_filename (Ubuntu 16.04).] ******
ok: [clientsite]

TASK [geerlingguy.php : Define php_opcache_conf_filename.] *********************
skipping: [clientsite]

TASK [geerlingguy.php : Define php_fpm_conf_path.] *****************************
skipping: [clientsite]

TASK [geerlingguy.php : include] ***********************************************
skipping: [clientsite]

TASK [geerlingguy.php : include] ***********************************************
included: /home/username/vms/clientsite/provisioning/roles/geerlingguy.php/tasks/setup-Debian.yml for clientsite

TASK [geerlingguy.php : Update apt cache.] *************************************
ok: [clientsite]

TASK [geerlingguy.php : Ensure PHP packages are installed.] ********************
changed: [clientsite] => (item=[u'php7.0', u'php7.0-apcu', u'php7.0-cli', u'php7.0-common', u'php7.0-curl', u'php7.0-dev', u'php7.0-fpm', u'php7.0-gd', u'php7.0-imap', u'php7.0-json', u'php7.0-mbstring', u'php7.0-mcrypt', u'php7.0-opcache', u'php7.0-sqlite3', u'php7.0-xml', u'php7.0-yaml'])

TASK [geerlingguy.php : Delete APCu configuration file if this role will provide one.] ***
changed: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php : Delete OpCache configuration file if this role will provide one.] ***
changed: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php : include] ***********************************************
skipping: [clientsite]

TASK [geerlingguy.php : include] ***********************************************
included: /home/username/vms/clientsite/provisioning/roles/geerlingguy.php/tasks/configure.yml for clientsite

TASK [geerlingguy.php : Ensure configuration directories exist.] ***************
ok: [clientsite] => (item=/etc/php/7.0/fpm)
changed: [clientsite] => (item=/etc/php/7.0/apache2)
ok: [clientsite] => (item=/etc/php/7.0/cli)
ok: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php : Place PHP configuration file in place.] ****************
changed: [clientsite] => (item=/etc/php/7.0/fpm)
changed: [clientsite] => (item=/etc/php/7.0/apache2)
changed: [clientsite] => (item=/etc/php/7.0/cli)

TASK [geerlingguy.php : include] ***********************************************
included: /home/username/vms/clientsite/provisioning/roles/geerlingguy.php/tasks/configure-apcu.yml for clientsite

TASK [geerlingguy.php : Check for existing APCu config files.] *****************
ok: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php : Remove any non-role-supplied APCu config files.] *******

TASK [geerlingguy.php : Ensure APCu config file is present.] *******************
changed: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php : Remove APCu config file if APC is disabled.] ***********
skipping: [clientsite] => (item=/etc/php/7.0/fpm/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/cli/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/apache2/conf.d) 

TASK [geerlingguy.php : include] ***********************************************
included: /home/username/vms/clientsite/provisioning/roles/geerlingguy.php/tasks/configure-opcache.yml for clientsite

TASK [geerlingguy.php : Check for existing OpCache config files.] **************
ok: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php : Remove any non-role-supplied OpCache config files.] ****

TASK [geerlingguy.php : Ensure OpCache config file is present.] ****************
changed: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php : Remove OpCache config file if OpCache is disabled.] ****
skipping: [clientsite] => (item=/etc/php/7.0/fpm/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/cli/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/apache2/conf.d) 

TASK [geerlingguy.php : include] ***********************************************
included: /home/username/vms/clientsite/provisioning/roles/geerlingguy.php/tasks/configure-fpm.yml for clientsite

TASK [geerlingguy.php : Define php_fpm_daemon.] ********************************
skipping: [clientsite]

TASK [geerlingguy.php : Define php_fpm_pool_conf_path.] ************************
skipping: [clientsite]

TASK [geerlingguy.php : Define php_fpm_pool_user.] *****************************
ok: [clientsite]

TASK [geerlingguy.php : Define php_fpm_pool_group.] ****************************
ok: [clientsite]

TASK [geerlingguy.php : Stat php_fpm_pool_conf_path] ***************************
ok: [clientsite]

TASK [geerlingguy.php : Ensure the default pool directory exists.] *************
skipping: [clientsite]

TASK [geerlingguy.php : Ensure the default pool exists.] ***********************
ok: [clientsite]

TASK [geerlingguy.php : Configure php-fpm pool (if enabled).] ******************
ok: [clientsite] => (item={u'regexp': u'^user.?=.+$', u'line': u'user = www-data'})
ok: [clientsite] => (item={u'regexp': u'^group.?=.+$', u'line': u'group = www-data'})
changed: [clientsite] => (item={u'regexp': u'^listen.?=.+$', u'line': u'listen = 127.0.0.1:9000'})
changed: [clientsite] => (item={u'regexp': u'^listen\\.allowed_clients.?=.+$', u'line': u'listen.allowed_clients = 127.0.0.1'})
changed: [clientsite] => (item={u'regexp': u'^pm\\.max_children.?=.+$', u'line': u'pm.max_children = 50'})
changed: [clientsite] => (item={u'regexp': u'^pm\\.start_servers.?=.+$', u'line': u'pm.start_servers = 5'})
changed: [clientsite] => (item={u'regexp': u'^pm\\.min_spare_servers.?=.+$', u'line': u'pm.min_spare_servers = 5'})
changed: [clientsite] => (item={u'regexp': u'^pm\\.max_spare_servers.?=.+$', u'line': u'pm.max_spare_servers = 5'})

TASK [geerlingguy.php : Ensure php-fpm is started and enabled at boot (if configured).] ***
ok: [clientsite]

TASK [geerlingguy.php-pecl : Install PECL libaries.] ***************************

TASK [geerlingguy.composer : Set php_executable variable to a default if not defined.] ***
skipping: [clientsite]

TASK [geerlingguy.composer : Check if Composer is installed.] ******************
ok: [clientsite]

TASK [geerlingguy.composer : Download Composer installer.] *********************
changed: [clientsite]

TASK [geerlingguy.composer : Run Composer installer.] **************************
changed: [clientsite]

TASK [geerlingguy.composer : Move Composer into globally-accessible location.] *
changed: [clientsite]

TASK [geerlingguy.composer : Update Composer to latest version (if configured).] ***
skipping: [clientsite]

TASK [geerlingguy.composer : Ensure composer directory exists.] ****************
changed: [clientsite]

TASK [geerlingguy.composer : Add GitHub OAuth token for Composer (if configured).] ***
skipping: [clientsite]

TASK [geerlingguy.composer : Install configured globally-required packages.] ***
changed: [clientsite] => (item={u'release': u'^0.3', u'name': u'hirak/prestissimo'})

TASK [geerlingguy.composer : Add composer_home_path bin directory to global $PATH.] ***
changed: [clientsite]

TASK [geerlingguy.composer : Add composer_project_path bin directory to global $PATH.] ***
skipping: [clientsite]

TASK [geerlingguy.mysql : Include OS-specific variables.] **********************
ok: [clientsite]

TASK [geerlingguy.mysql : Include OS-specific variables (RedHat).] *************
skipping: [clientsite]

TASK [geerlingguy.mysql : Define mysql_packages.] ******************************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_daemon.] ********************************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_slow_query_log_file.] *******************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_log_error.] *****************************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_syslog_tag.] ****************************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_pid_file.] ******************************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_config_file.] ***************************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_config_include_dir.] ********************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_socket.] ********************************
ok: [clientsite]

TASK [geerlingguy.mysql : Define mysql_supports_innodb_large_prefix.] **********
ok: [clientsite]

TASK [geerlingguy.mysql : include] *********************************************
skipping: [clientsite]

TASK [geerlingguy.mysql : include] *********************************************
included: /home/username/vms/clientsite/provisioning/roles/geerlingguy.mysql/tasks/setup-Debian.yml for clientsite

TASK [geerlingguy.mysql : Check if MySQL is already installed.] ****************
ok: [clientsite]

TASK [geerlingguy.mysql : Update apt cache if MySQL is not yet installed.] *****
changed: [clientsite]

TASK [geerlingguy.mysql : Ensure MySQL Python libraries are installed.] ********
changed: [clientsite]

TASK [geerlingguy.mysql : Ensure MySQL packages are installed.] ****************
changed: [clientsite] => (item=[u'mysql-common', u'mysql-server'])

TASK [geerlingguy.mysql : Ensure MySQL is stopped after initial install.] ******
changed: [clientsite]

TASK [geerlingguy.mysql : Delete innodb log files created by apt package after initial install.] ***
changed: [clientsite] => (item=ib_logfile0)
changed: [clientsite] => (item=ib_logfile1)

TASK [geerlingguy.mysql : Check if MySQL packages were installed.] *************
ok: [clientsite]

TASK [geerlingguy.mysql : Copy my.cnf global MySQL configuration.] *************
changed: [clientsite]

TASK [geerlingguy.mysql : Verify mysql include directory exists.] **************
skipping: [clientsite]

TASK [geerlingguy.mysql : Copy my.cnf override files into include directory.] **

TASK [geerlingguy.mysql : Create slow query log file (if configured).] *********
changed: [clientsite]
 [WARNING]: Consider using file module with state=touch rather than running
touch

TASK [geerlingguy.mysql : Create datadir if it does not exist] *****************
changed: [clientsite]

TASK [geerlingguy.mysql : Set ownership on slow query log file (if configured).] ***
changed: [clientsite]

TASK [geerlingguy.mysql : Create error log file (if configured).] **************
changed: [clientsite]

TASK [geerlingguy.mysql : Set ownership on error log file (if configured).] ****
changed: [clientsite]

TASK [geerlingguy.mysql : Ensure MySQL is started and enabled on boot.] ********
changed: [clientsite]

TASK [geerlingguy.mysql : Get MySQL version.] **********************************
ok: [clientsite]

TASK [geerlingguy.mysql : Ensure default user is present.] *********************
skipping: [clientsite]

TASK [geerlingguy.mysql : Copy user-my.cnf file with password credentials.] ****
skipping: [clientsite]

TASK [geerlingguy.mysql : Disallow root login remotely] ************************
ok: [clientsite] => (item=DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'))

TASK [geerlingguy.mysql : Get list of hosts for the root user.] ****************
[DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead..

This feature will be removed in version 2.4. Deprecation warnings can be 
disabled by setting deprecation_warnings=False in ansible.cfg.
ok: [clientsite]

TASK [geerlingguy.mysql : Update MySQL root password for localhost root account (5.7.x).] ***
changed: [clientsite] => (item=localhost)

TASK [geerlingguy.mysql : Update MySQL root password for localhost root account (< 5.7.x).] ***
skipping: [clientsite] => (item=localhost) 

TASK [geerlingguy.mysql : Copy .my.cnf file with root password credentials.] ***
changed: [clientsite]

TASK [geerlingguy.mysql : Get list of hosts for the anonymous user.] ***********
[DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead..

This feature will be removed in version 2.4. Deprecation warnings can be 
disabled by setting deprecation_warnings=False in ansible.cfg.
ok: [clientsite]

TASK [geerlingguy.mysql : Remove anonymous MySQL users.] ***********************

TASK [geerlingguy.mysql : Remove MySQL test database.] *************************
ok: [clientsite]

TASK [geerlingguy.mysql : Ensure MySQL databases are present.] *****************
changed: [clientsite] => (item={u'collation': u'utf8mb4_general_ci', u'name': u'drupal', u'encoding': u'utf8mb4'})

TASK [geerlingguy.mysql : Ensure MySQL users are present.] *********************
changed: [clientsite] => (item=(censored due to no_log))

TASK [geerlingguy.mysql : Ensure replication user exists on master.] ***********
skipping: [clientsite]

TASK [geerlingguy.mysql : Check slave replication status.] *********************
skipping: [clientsite]

TASK [geerlingguy.mysql : Check master replication status.] ********************
skipping: [clientsite]

TASK [geerlingguy.mysql : Configure replication on the slave.] *****************
skipping: [clientsite]

TASK [geerlingguy.mysql : Start replication.] **********************************
skipping: [clientsite]

TASK [geerlingguy.php-mysql : Include OS-specific variables.] ******************
ok: [clientsite]

TASK [geerlingguy.php-mysql : Define php_mysql_package.] ***********************
skipping: [clientsite]

TASK [geerlingguy.php-mysql : Install PHP MySQL dependencies (RedHat).] ********
skipping: [clientsite]

TASK [geerlingguy.php-mysql : Install PHP MySQL dependencies (Debian).] ********
changed: [clientsite]

TASK [geerlingguy.postgresql : include] ****************************************
skipping: [clientsite]

TASK [geerlingguy.postgresql : include] ****************************************
skipping: [clientsite]

TASK [geerlingguy.postgresql : include] ****************************************
skipping: [clientsite]

TASK [geerlingguy.postgresql : Set PostgreSQL environment variables.] **********
skipping: [clientsite]

TASK [geerlingguy.postgresql : Ensure PostgreSQL data directory exists.] *******
skipping: [clientsite]

TASK [geerlingguy.postgresql : Check if PostgreSQL database is initialized.] ***
skipping: [clientsite]

TASK [geerlingguy.postgresql : Ensure PostgreSQL database is initialized.] *****
skipping: [clientsite]

TASK [geerlingguy.postgresql : Configure global settings.] *********************
skipping: [clientsite] => (item={u'option': u'unix_socket_directories', u'value': u'/var/run/postgresql'}) 

TASK [geerlingguy.postgresql : Ensure PostgreSQL unix socket dirs exist.] ******
skipping: [clientsite] => (item=/var/run/postgresql) 

TASK [geerlingguy.postgresql : Ensure PostgreSQL is started and enabled on boot.] ***
skipping: [clientsite]

TASK [geerlingguy.postgresql : Ensure PostgreSQL databases are present.] *******
skipping: [clientsite] => (item={u'name': u'drupal'}) 

TASK [geerlingguy.postgresql : Ensure PostgreSQL users are present.] ***********
skipping: [clientsite] => (item=(censored due to no_log)) 

TASK [geerlingguy.php-pgsql : Include OS-specific variables.] ******************
skipping: [clientsite]

TASK [geerlingguy.php-pgsql : Define php_pgsql_package.] ***********************
skipping: [clientsite]

TASK [geerlingguy.php-pgsql : Install PHP PostgreSQL dependencies (RedHat).] ***
skipping: [clientsite]

TASK [geerlingguy.php-pgsql : Install PHP PostgreSQL dependencies (Debian).] ***
skipping: [clientsite]

TASK [geerlingguy.drupal-console : Install Drupal Console.] ********************
skipping: [clientsite]

TASK [geerlingguy.drupal-console : Ensure Drupal Console is executable.] *******
skipping: [clientsite]

TASK [geerlingguy.drupal-console : Run Drupal Console init.] *******************
skipping: [clientsite]

TASK [geerlingguy.drupal-console : Update Drupal Console to latest version (if configured).] ***
skipping: [clientsite]

TASK [geerlingguy.drush : Clone Drush from GitHub.] ****************************
skipping: [clientsite]

TASK [geerlingguy.drush : Check for composer.json] *****************************
skipping: [clientsite]

TASK [geerlingguy.drush : Ensure Drush can be installed on Debian Wheezy.] *****
skipping: [clientsite]

TASK [geerlingguy.drush : Install Drush dependencies with Composer.] ***********
skipping: [clientsite]

TASK [geerlingguy.drush : Create drush symlink.] *******************************
skipping: [clientsite]

TASK [geerlingguy.drush : Run drush to finish setting it up.] ******************
skipping: [clientsite]

TASK [geerlingguy.memcached : Include OS-specific variables.] ******************
ok: [clientsite]

TASK [geerlingguy.memcached : Define memcached_user.] **************************
ok: [clientsite]

TASK [geerlingguy.memcached : Update apt cache.] *******************************
ok: [clientsite]

TASK [geerlingguy.memcached : Install Memcached.] ******************************
changed: [clientsite]

TASK [geerlingguy.memcached : Copy Memcached configuration.] *******************
changed: [clientsite]

TASK [geerlingguy.memcached : Ensure Memcached is started and set to run on startup.] ***
ok: [clientsite]

TASK [geerlingguy.php-memcached : Include OS-specific variables.] **************
ok: [clientsite]

TASK [geerlingguy.php-memcached : Define php_memcached_package.] ***************
skipping: [clientsite]

TASK [geerlingguy.php-memcached : Install PHP Memcached extension (RedHat).] ***
skipping: [clientsite]

TASK [geerlingguy.php-memcached : Install PHP Memcached extension (Debian).] ***
changed: [clientsite]

TASK [geerlingguy.php-tideways : Include OS-specific variables.] ***************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Define php_tideways_module_path.] *************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Define php_tideways_config_filename.] *********
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Ensure dependencies for installing Tideways are present.] ***
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.php-tideways : Download and untar Tideways.] *****************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Build Tideways.] ******************************
skipping: [clientsite] => (item=phpize) 
skipping: [clientsite] => (item=make install) 
skipping: [clientsite] => (item=make) 
skipping: [clientsite] => (item=./configure) 

TASK [geerlingguy.php-tideways : Ensure Tideways module path exists.] **********
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Move Tideways module into place.] *************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Ensure PHP configuration directories exist.] **
skipping: [clientsite] => (item=/etc/php/7.0/fpm/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/apache2/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/cli/conf.d) 

TASK [geerlingguy.php-tideways : Copy Tideways INI into various other conf folders.] ***
skipping: [clientsite] => (item=/etc/php/7.0/fpm/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/cli/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/apache2/conf.d) 

TASK [geerlingguy.php-tideways : Define xhprof_download_url.] ******************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Define xhprof_download_folder_name.] **********
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Define php_xhprof_lib_dir.] *******************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Define php_xhprof_html_dir.] ******************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Ensure dependencies for the XHProf UI are present.] ***
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.php-tideways : Download and untar XHProf.] *******************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Move XHProf PHP library into place.] **********
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Move XHProf UI into place.] *******************
skipping: [clientsite]

TASK [geerlingguy.php-tideways : Ensure PHP configuration directories exist.] **
skipping: [clientsite] => (item=/etc/php/7.0/fpm/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/apache2/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/cli/conf.d) 

TASK [geerlingguy.php-tideways : Copy Tideways INI into various other conf folders.] ***
skipping: [clientsite] => (item=/etc/php/7.0/fpm/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/cli/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/apache2/conf.d) 

TASK [geerlingguy.php-xdebug : Include OS-specific variables.] *****************
ok: [clientsite]

TASK [geerlingguy.php-xdebug : Define php_xdebug_module_path.] *****************
ok: [clientsite]

TASK [geerlingguy.php-xdebug : Define php_xdebug_config_filename.] *************
ok: [clientsite]

TASK [geerlingguy.php-xdebug : Ensure dependencies for building from source are installed (RedHat).] ***
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.php-xdebug : Ensure dependencies for building from source are installed (Debian).] ***
ok: [clientsite] => (item=[u'build-essential'])

TASK [geerlingguy.php-xdebug : Untar Xdebug.] **********************************
changed: [clientsite]

TASK [geerlingguy.php-xdebug : Build Xdebug.] **********************************
changed: [clientsite] => (item=phpize)
changed: [clientsite] => (item=./configure)
changed: [clientsite] => (item=make)

TASK [geerlingguy.php-xdebug : Ensure Xdebug module path exists.] **************
changed: [clientsite]

TASK [geerlingguy.php-xdebug : Move Xdebug module into place.] *****************
changed: [clientsite]

TASK [geerlingguy.php-xdebug : Copy xdebug ini into main extension config folder.] ***
changed: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php-xhprof : Include OS-specific variables.] *****************
ok: [clientsite]

TASK [geerlingguy.php-xhprof : Define php_xhprof_module_path.] *****************
ok: [clientsite]

TASK [geerlingguy.php-xhprof : Define php_xhprof_config_filename.] *************
ok: [clientsite]

TASK [geerlingguy.php-xhprof : Ensure dependencies for installing XHProf are present.] ***
changed: [clientsite] => (item=[u'make', u'gcc', u'unzip', u'graphviz'])

TASK [geerlingguy.php-xhprof : Download and untar XHProf.] *********************
changed: [clientsite]

TASK [geerlingguy.php-xhprof : Build XHProf.] **********************************
changed: [clientsite] => (item=phpize)
changed: [clientsite] => (item=./configure)
changed: [clientsite] => (item=make)

TASK [geerlingguy.php-xhprof : Ensure XHProf module path exists.] **************
ok: [clientsite]

TASK [geerlingguy.php-xhprof : Move XHProf module into place.] *****************
changed: [clientsite]

TASK [geerlingguy.php-xhprof : Move XHProf PHP library into place.] ************
changed: [clientsite]

TASK [geerlingguy.php-xhprof : Move XHProf UI into place.] *********************
changed: [clientsite]

TASK [geerlingguy.php-xhprof : Ensure PHP configuration directories exist.] ****
ok: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
ok: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php-xhprof : Copy XHProf INI into various other conf folders.] ***
changed: [clientsite] => (item=/etc/php/7.0/fpm/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/apache2/conf.d)
changed: [clientsite] => (item=/etc/php/7.0/cli/conf.d)

TASK [geerlingguy.php-xhprof : Ensure XHProf output directory exists.] *********
changed: [clientsite]

TASK [thom8.php-upload-progress : Include OS-specific variables.] **************
skipping: [clientsite]

TASK [thom8.php-upload-progress : Define php_uploadprogress_module_path.] ******
skipping: [clientsite]

TASK [thom8.php-upload-progress : Define php_uploadprogress_config_filename.] **
skipping: [clientsite]

TASK [thom8.php-upload-progress : Download and untar uploadprogress.] **********
skipping: [clientsite]

TASK [thom8.php-upload-progress : Build uploadprogress.] ***********************
skipping: [clientsite] => (item=phpize) 
skipping: [clientsite] => (item=make) 
skipping: [clientsite] => (item=./configure) 

TASK [thom8.php-upload-progress : Ensure uploadprogress module path exists.] ***
skipping: [clientsite]

TASK [thom8.php-upload-progress : Move uploadprogress module into place.] ******
skipping: [clientsite]

TASK [thom8.php-upload-progress : Add php extension config for uploadprogress.] 
skipping: [clientsite] => (item=/etc/php/7.0/fpm/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/apache2/conf.d) 
skipping: [clientsite] => (item=/etc/php/7.0/cli/conf.d) 

TASK [geerlingguy.blackfire : Add packagecloud GPG key.] ***********************
skipping: [clientsite]

TASK [geerlingguy.blackfire : Add Blackfire repository.] ***********************
skipping: [clientsite]

TASK [geerlingguy.blackfire : Disable gpg_repocheck for non-bleeding-edge CentOS.] ***
skipping: [clientsite]

TASK [geerlingguy.blackfire : Add packagecloud apt key.] ***********************
changed: [clientsite]

TASK [geerlingguy.blackfire : Add packagecloud repository.] ********************
changed: [clientsite] => (item=deb http://packages.blackfire.io/debian any main)

TASK [geerlingguy.blackfire : Update apt caches after repo is added.] **********
changed: [clientsite]

TASK [geerlingguy.blackfire : Ensure Blackfire packages are installed.] ********
changed: [clientsite]

TASK [geerlingguy.adminer : Ensure Adminer directory exists.] ******************
skipping: [clientsite]

TASK [geerlingguy.adminer : Download Adminer to configured directory.] *********
skipping: [clientsite]

TASK [geerlingguy.adminer : Symlink Adminer into configured directories.] ******

TASK [geerlingguy.adminer : Set the proper Apache configuration directory (Debian).] ***
skipping: [clientsite]

TASK [geerlingguy.adminer : Add Apache configuration file for Adminer (Debian).] ***
skipping: [clientsite]

TASK [geerlingguy.adminer : Add Apache configuration file for Adminer (RedHat).] ***
skipping: [clientsite]

TASK [geerlingguy.pimpmylog : Clone Pimp my Log.] ******************************
skipping: [clientsite]

TASK [geerlingguy.pimpmylog : Grant all privileges on the Pimp my Log directory.] ***
skipping: [clientsite]

TASK [geerlingguy.daemonize : Download daemonize archive.] *********************
skipping: [clientsite]

TASK [geerlingguy.daemonize : Expand daemonize archive.] ***********************
skipping: [clientsite]

TASK [geerlingguy.daemonize : Check if daemonize is installed.] ****************
skipping: [clientsite]

TASK [geerlingguy.daemonize : Build daemonize.] ********************************
skipping: [clientsite] => (item=./configure --prefix=/usr) 
skipping: [clientsite] => (item=make install) 
skipping: [clientsite] => (item=make) 

TASK [geerlingguy.daemonize : Download daemonize archive.] *********************
skipping: [clientsite]

TASK [geerlingguy.daemonize : Expand daemonize archive.] ***********************
skipping: [clientsite]

TASK [geerlingguy.daemonize : Check if daemonize is installed.] ****************
skipping: [clientsite]

TASK [geerlingguy.daemonize : Build daemonize.] ********************************
skipping: [clientsite] => (item=./configure --prefix=/usr) 
skipping: [clientsite] => (item=make install) 
skipping: [clientsite] => (item=make) 

TASK [geerlingguy.mailhog : Ensure mailhog install directory exists.] **********
skipping: [clientsite]

TASK [geerlingguy.mailhog : Download MailHog and mhsendmail binaries.] *********
skipping: [clientsite] => (item={u'url': u'https://github.com/mailhog/MailHog/releases/download/v0.2.0/MailHog_linux_amd64', u'dest': u'/opt/mailhog/mailhog'}) 
skipping: [clientsite] => (item={u'url': u'https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64', u'dest': u'/opt/mailhog/mhsendmail'}) 

TASK [geerlingguy.mailhog : Copy mailhog init script into place.] **************
skipping: [clientsite]

TASK [geerlingguy.mailhog : Copy mailhog systemd unit file into place (for systemd systems).] ***
skipping: [clientsite]

TASK [geerlingguy.mailhog : Ensure mailhog is enabled and will start on boot.] *
skipping: [clientsite]

TASK [franklinkim.newrelic : Checking for key] *********************************
skipping: [clientsite]

TASK [franklinkim.newrelic : Installing dependencies] **************************
skipping: [clientsite]

TASK [franklinkim.newrelic : Adding APT key] ***********************************
skipping: [clientsite]

TASK [franklinkim.newrelic : Add APT repository] *******************************
skipping: [clientsite]

TASK [franklinkim.newrelic : Installing packages] ******************************
skipping: [clientsite] => (item=[]) 

TASK [franklinkim.newrelic : Installing dependencies] **************************
skipping: [clientsite]

TASK [franklinkim.newrelic : Installing packages] ******************************
skipping: [clientsite] => (item=[]) 

TASK [franklinkim.newrelic : Configuring module] *******************************
skipping: [clientsite] => (item=etc/newrelic/nrsysmond.cfg) 

TASK [franklinkim.newrelic : Configuring user groups] **************************
skipping: [clientsite]

TASK [franklinkim.newrelic : Configuring service] ******************************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Set up the Nodesource RPM directory for Node.js > 0.10.] ***
skipping: [clientsite]

TASK [geerlingguy.nodejs : Set up the Nodesource RPM variable for Node.js == 0.10.] ***
skipping: [clientsite]

TASK [geerlingguy.nodejs : Import Nodesource RPM key (CentOS < 7).] ************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Import Nodesource RPM key (CentOS 7+)..] ************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Add Nodesource repositories for Node.js (CentOS < 7).] ***
skipping: [clientsite]

TASK [geerlingguy.nodejs : Add Nodesource repositories for Node.js (CentOS 7+).] ***
skipping: [clientsite]

TASK [geerlingguy.nodejs : Ensure Node.js and npm are installed.] **************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Ensure apt-transport-https is installed.] ***********
skipping: [clientsite]

TASK [geerlingguy.nodejs : Add Nodesource apt key.] ****************************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Add NodeSource repositories for Node.js.] ***********
skipping: [clientsite] => (item=deb https://deb.nodesource.com/node_0.12 xenial main) 
skipping: [clientsite] => (item=deb-src https://deb.nodesource.com/node_0.12 xenial main) 

TASK [geerlingguy.nodejs : Update apt cache if repo was added.] ****************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Ensure Node.js and npm are installed.] **************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Define nodejs_install_npm_user] *********************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Create npm global directory] ************************
skipping: [clientsite]

TASK [geerlingguy.nodejs : Add npm_config_prefix bin directory to global $PATH.] ***
skipping: [clientsite]

TASK [geerlingguy.nodejs : Ensure npm global packages are installed.] **********

TASK [geerlingguy.nodejs : Ensure npm global packages are at the latest release.] ***

TASK [geerlingguy.redis : Include OS-specific variables.] **********************
skipping: [clientsite]

TASK [geerlingguy.redis : Define redis_package.] *******************************
skipping: [clientsite]

TASK [geerlingguy.redis : Ensure Redis is installed.] **************************
skipping: [clientsite]

TASK [geerlingguy.redis : Ensure Redis is installed.] **************************
skipping: [clientsite]

TASK [geerlingguy.redis : Ensure Redis is configured.] *************************
skipping: [clientsite]

TASK [geerlingguy.redis : Ensure Redis is running and enabled on boot.] ********
skipping: [clientsite]

TASK [geerlingguy.php-redis : Include OS-specific variables.] ******************
skipping: [clientsite]

TASK [geerlingguy.php-redis : Define php_redis_package.] ***********************
skipping: [clientsite]

TASK [geerlingguy.php-redis : Install PhpRedis extension (RedHat).] ************
skipping: [clientsite]

TASK [geerlingguy.php-redis : Install PhpRedis extension (Debian).] ************
skipping: [clientsite]

TASK [geerlingguy.php-redis : Clone the PhpRedis repo.] ************************
skipping: [clientsite]

TASK [geerlingguy.php-redis : Run phpize.] *************************************
skipping: [clientsite]

TASK [geerlingguy.php-redis : Run configure script.] ***************************
skipping: [clientsite]

TASK [geerlingguy.php-redis : Make and install PHP.] ***************************
skipping: [clientsite] => (item=make) 
skipping: [clientsite] => (item=make install) 

TASK [geerlingguy.php-redis : Ensure the Redis extension is present in PHP's configuration.] ***
skipping: [clientsite]

TASK [geerlingguy.ruby : Install ruby and rubygems.] ***************************
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.ruby : Update apt cache.] ************************************
skipping: [clientsite]

TASK [geerlingguy.ruby : Set rubygems package name for Ubuntu 14.04.] **********
skipping: [clientsite]

TASK [geerlingguy.ruby : Install ruby and rubygems.] ***************************
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.ruby : Install packages required to build ruby (RedHat).] ****
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.ruby : Update apt cache (Debian).] ***************************
skipping: [clientsite]

TASK [geerlingguy.ruby : Install packages required to build ruby (Debian).] ****
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.ruby : Download ruby.] ***************************************
skipping: [clientsite]

TASK [geerlingguy.ruby : Extract ruby.] ****************************************
skipping: [clientsite]

TASK [geerlingguy.ruby : Build ruby.] ******************************************
skipping: [clientsite] => (item=./configure --enable-shared) 
skipping: [clientsite] => (item=make) 
skipping: [clientsite] => (item=make install) 

TASK [geerlingguy.ruby : Add ruby symlinks.] ***********************************
skipping: [clientsite] => (item=erb) 
skipping: [clientsite] => (item=gem) 
skipping: [clientsite] => (item=rdoc) 
skipping: [clientsite] => (item=ruby) 
skipping: [clientsite] => (item=rake) 
skipping: [clientsite] => (item=irb) 

TASK [geerlingguy.ruby : Add user installed RubyGems bin directory to global $PATH.] ***
skipping: [clientsite]

TASK [geerlingguy.ruby : Install Bundler.] *************************************
skipping: [clientsite]

TASK [geerlingguy.ruby : Install configured gems.] *****************************

TASK [geerlingguy.java : Include OS-specific variables.] ***********************
ok: [clientsite]

TASK [geerlingguy.java : Include OS-specific variables for Fedora.] ************
skipping: [clientsite]

TASK [geerlingguy.java : Include version-specific variables for Ubuntu.] *******
ok: [clientsite]

TASK [geerlingguy.java : Define java_packages.] ********************************
ok: [clientsite]

TASK [geerlingguy.java : include] **********************************************
skipping: [clientsite]

TASK [geerlingguy.java : include] **********************************************
included: /home/username/vms/clientsite/provisioning/roles/geerlingguy.java/tasks/setup-Debian.yml for clientsite

TASK [geerlingguy.java : Ensure Java is installed.] ****************************
changed: [clientsite] => (item=[u'openjdk-8-jdk'])

TASK [geerlingguy.java : include] **********************************************
skipping: [clientsite]

TASK [geerlingguy.java : Set JAVA_HOME if configured.] *************************
skipping: [clientsite]

TASK [arknoll.selenium : Include OS-Specific variables] ************************
skipping: [clientsite]

TASK [arknoll.selenium : Install dependencies] *********************************
skipping: [clientsite]

TASK [arknoll.selenium : create directory] *************************************
skipping: [clientsite]

TASK [arknoll.selenium : Download Selenium] ************************************
skipping: [clientsite]

TASK [arknoll.selenium : Install FireFox (if configured)] **********************
skipping: [clientsite]

TASK [arknoll.selenium : Add Chrome key (if configured, Debian)] ***************
skipping: [clientsite]

TASK [arknoll.selenium : Add Chrome repo (if configured, Debian)] **************
skipping: [clientsite]

TASK [arknoll.selenium : Install Chrome (if configured, Debian)] ***************
skipping: [clientsite]

TASK [arknoll.selenium : Install Chrome (if configured, RedHat)] ***************
skipping: [clientsite]

TASK [arknoll.selenium : Get the latest release for chromedriver] **************
skipping: [clientsite]

TASK [arknoll.selenium : Install chromedriver] *********************************
skipping: [clientsite]

TASK [arknoll.selenium : Install xvfb] *****************************************
skipping: [clientsite]

TASK [arknoll.selenium : Install init script] **********************************
skipping: [clientsite]

TASK [arknoll.selenium : Install systemd unit file (for systemd systems)] ******
skipping: [clientsite]

TASK [arknoll.selenium : Register systemd service status (for systemd systems)] 
skipping: [clientsite]

TASK [arknoll.selenium : Ensure selenium is running] ***************************
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure solr_user group exists.] ***********************
changed: [clientsite]

TASK [geerlingguy.solr : Ensure solr_user exists.] *****************************
changed: [clientsite]

TASK [geerlingguy.solr : Set solr_filename for Solr 4+.] ***********************
ok: [clientsite]

TASK [geerlingguy.solr : Set solr_filename for Solr 3.x.] **********************
skipping: [clientsite]

TASK [geerlingguy.solr : Check if Solr has been installed already.] ************
ok: [clientsite]

TASK [geerlingguy.solr : Download Solr.] ***************************************
changed: [clientsite]

TASK [geerlingguy.solr : Expand Solr.] *****************************************
changed: [clientsite]

TASK [geerlingguy.solr : Check if Solr is already installed.] ******************
skipping: [clientsite]

TASK [geerlingguy.solr : Copy Solr into place.] ********************************
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure Solr install files are owned by the solr_user.] 
skipping: [clientsite]

TASK [geerlingguy.solr : Check if solr_home is already set up.] ****************
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure solr_home directory exists.] *******************
skipping: [clientsite]

TASK [geerlingguy.solr : Copy Solr example into solr_home.] ********************
skipping: [clientsite]

TASK [geerlingguy.solr : Fix the example solrconfig.xml file.] *****************
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure Solr home files are owned by the solr_user.] ***
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure log file is created and has proper permissions.] ***
skipping: [clientsite]

TASK [geerlingguy.solr : Copy solr init script into place.] ********************
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure daemon is installed (Debian).] *****************
skipping: [clientsite]

TASK [geerlingguy.solr : Copy solr systemd unit file into place (for systemd systems).] ***
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure lsof is present (RedHat).] *********************
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure setfacl support is present.] *******************
changed: [clientsite]

TASK [geerlingguy.solr : Run Solr installation script.] ************************
changed: [clientsite]

TASK [geerlingguy.solr : Ensure solr is stopped (RHEL 7 workaround).] **********
skipping: [clientsite]

TASK [geerlingguy.solr : Run systemd daemon_reload (RHEL 7 workaround).] *******
skipping: [clientsite]

TASK [geerlingguy.solr : Ensure solr is started and enabled on boot.] **********
ok: [clientsite]

TASK [geerlingguy.solr : Check current list of Solr cores.] ********************
ok: [clientsite]

TASK [geerlingguy.solr : Ensure Solr conf directories exist.] ******************
changed: [clientsite] => (item=collection1)

TASK [geerlingguy.solr : Ensure core configuration directories exist.] *********
changed: [clientsite] => (item=collection1)

TASK [geerlingguy.solr : Create configured cores.] *****************************
changed: [clientsite] => (item=collection1)

TASK [geerlingguy.solr : Remove existing SOLR_HEAP configuration.] *************
changed: [clientsite]

TASK [geerlingguy.solr : Apply Solr configuration changes.] ********************
changed: [clientsite] => (item={u'regexp': u'^.?SOLR_JAVA_MEM=', u'line': u'SOLR_JAVA_MEM="-Xms64M -Xmx128M"'})
ok: [clientsite] => (item={u'regexp': u'^SOLR_PORT=', u'line': u'SOLR_PORT="8983"'})
changed: [clientsite] => (item={u'regexp': u'^.?SOLR_TIMEZONE=', u'line': u'SOLR_TIMEZONE="UTC"'})

TASK [geerlingguy.solr : include] **********************************************
included: /home/username/vms/clientsite/provisioning/roles/geerlingguy.solr/tasks/trim-fat.yml for clientsite

TASK [geerlingguy.solr : Remove the downloaded Solr archive.] ******************
changed: [clientsite] => (item=/root/solr-5.5.3.tgz)
changed: [clientsite] => (item=/root/solr-5.5.3)

TASK [geerlingguy.solr : Remove extra cruft, if configured.] *******************
skipping: [clientsite] => (item=/opt/solr/docs) 
skipping: [clientsite] => (item=/opt/solr/example) 

TASK [geerlingguy.java : Include OS-specific variables.] ***********************
skipping: [clientsite]

TASK [geerlingguy.java : Include OS-specific variables for Fedora.] ************
skipping: [clientsite]

TASK [geerlingguy.java : Include version-specific variables for Ubuntu.] *******
skipping: [clientsite]

TASK [geerlingguy.java : Define java_packages.] ********************************
skipping: [clientsite]

TASK [geerlingguy.java : include] **********************************************
skipping: [clientsite]

TASK [geerlingguy.java : include] **********************************************
skipping: [clientsite]

TASK [geerlingguy.java : include] **********************************************
skipping: [clientsite]

TASK [geerlingguy.java : Set JAVA_HOME if configured.] *************************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Add Elasticsearch GPG key.] ******************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Add Elasticsearch repository.] ***************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Install Elasticsearch.] **********************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Add Elasticsearch apt key.] ******************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Add Elasticsearch repository.] ***************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Install Elasticsearch.] **********************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Configure Elasticsearch.] ********************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Start Elasticsearch.] ************************
skipping: [clientsite]

TASK [geerlingguy.elasticsearch : Make sure Elasticsearch is running before proceeding.] ***
skipping: [clientsite]

TASK [geerlingguy.varnish : Include OS-specific variables.] ********************
skipping: [clientsite]

TASK [geerlingguy.varnish : Ensure Varnish dependencies are installed.] ********
skipping: [clientsite] => (item=[]) 

TASK [geerlingguy.varnish : Add Varnish repository.] ***************************
skipping: [clientsite]

TASK [geerlingguy.varnish : Set repo fact appropriately.] **********************
skipping: [clientsite]

TASK [geerlingguy.varnish : Install Varnish.] **********************************
skipping: [clientsite]

TASK [geerlingguy.varnish : Ensure APT HTTPS Transport is installed.] **********
skipping: [clientsite]

TASK [geerlingguy.varnish : Add Varnish apt key.] ******************************
skipping: [clientsite]

TASK [geerlingguy.varnish : Add Varnish apt repository.] ***********************
skipping: [clientsite]

TASK [geerlingguy.varnish : Install Varnish.] **********************************
skipping: [clientsite]

TASK [geerlingguy.varnish : Copy Varnish configuration (sysvinit).] ************
skipping: [clientsite]

TASK [geerlingguy.varnish : Copy Debian Jessie/Xenial specific Varnish configs (systemd).] ***
skipping: [clientsite]

TASK [geerlingguy.varnish : Copy Varnish configuration (systemd).] *************
skipping: [clientsite]

TASK [geerlingguy.varnish : Ensure Varnish config path exists.] ****************
skipping: [clientsite]

TASK [geerlingguy.varnish : Copy Varnish default VCL.] *************************
skipping: [clientsite]

TASK [geerlingguy.varnish : Copy varnish secret.] ******************************
skipping: [clientsite]

TASK [geerlingguy.varnish : Ensure Varnish services are started enabled on startup.] ***
skipping: [clientsite] => (item=varnish) 

TASK [geerlingguy.security : Include OS-specific variables.] *******************
skipping: [clientsite]

TASK [geerlingguy.security : Install fail2ban.] ********************************
skipping: [clientsite]

TASK [geerlingguy.security : Install fail2ban.] ********************************
skipping: [clientsite]

TASK [geerlingguy.security : Ensure fail2ban is running and enabled on boot.] **
skipping: [clientsite]

TASK [geerlingguy.security : Update SSH configuration to be more secure.] ******
skipping: [clientsite] => (item={u'regexp': u'^PasswordAuthentication', u'line': u'PasswordAuthentication no'}) 
skipping: [clientsite] => (item={u'regexp': u'^X11Forwarding', u'line': u'X11Forwarding no'}) 
skipping: [clientsite] => (item={u'regexp': u'^GSSAPIAuthentication', u'line': u'GSSAPIAuthentication no'}) 
skipping: [clientsite] => (item={u'regexp': u'^ChallengeResponseAuthentication', u'line': u'ChallengeResponseAuthentication no'}) 
skipping: [clientsite] => (item={u'regexp': u'^PermitEmptyPasswords', u'line': u'PermitEmptyPasswords no'}) 
skipping: [clientsite] => (item={u'regexp': u'^UseDNS', u'line': u'UseDNS no'}) 
skipping: [clientsite] => (item={u'regexp': u'^Port', u'line': u'Port 22'}) 
skipping: [clientsite] => (item={u'regexp': u'^PermitRootLogin', u'line': u'PermitRootLogin no'}) 

TASK [geerlingguy.security : Add configured user accounts to passwordless sudoers.] ***

TASK [geerlingguy.security : Add configured user accounts to passworded sudoers.] ***

TASK [geerlingguy.security : Install yum-cron.] ********************************
skipping: [clientsite]

TASK [geerlingguy.security : Ensure yum-cron is running and enabled on boot.] **
skipping: [clientsite]

TASK [geerlingguy.security : Configure autoupdates (RHEL 7).] ******************
skipping: [clientsite]

TASK [geerlingguy.security : Install unattended upgrades package.] *************
skipping: [clientsite]

TASK [geerlingguy.security : Copy unattended-upgrades configuration files in place.] ***
skipping: [clientsite] => (item=50unattended-upgrades) 
skipping: [clientsite] => (item=10periodic) 

TASK [Check if Drupal is already set up.] **************************************
ok: [clientsite]

TASK [Define drupal_site_exists] ***********************************************
ok: [clientsite]

TASK [Do not accept locale environment variables passed over SSH.] *************
changed: [clientsite]

TASK [Check if local known_hosts file is present.] *****************************
ok: [clientsite]

TASK [Copy known_hosts file from host into Drupal VM.] *************************
changed: [clientsite]

TASK [Set SSH home directory.] *************************************************
skipping: [clientsite]

TASK [Install extra apt packages (if any are configured).] *********************

TASK [Install extra yum packages (if any are configured).] *********************

TASK [Ensure necessary groups exist.] ******************************************
changed: [clientsite] => (item=admin)
ok: [clientsite] => (item=dialout)

TASK [Ensure vagrant user is in admin group.] **********************************
changed: [clientsite]

TASK [Ensure www-data user is in dialout group (Debian).] **********************
changed: [clientsite]

TASK [Set nicer permissions on Apache log directory.] **************************
skipping: [clientsite]

TASK [Copy Nginx vhosts into place.] *******************************************
changed: [clientsite] => (item={u'is_php': True, u'root': u'/var/www/clientsite/htdocs', u'server_name': u'clientsite.dev www.clientsite.dev'})
changed: [clientsite] => (item={u'is_php': True, u'root': u'/var/www/clientsite/htdocs', u'server_name': u'clientsite-ch.dev'})
changed: [clientsite] => (item={u'is_php': True, u'root': u'/var/www/clientsite/htdocs', u'server_name': u'clientsite-dk.dev'})
changed: [clientsite] => (item={u'is_php': True, u'root': u'/var/www/clientsite/htdocs', u'server_name': u'clientsite-co.dev'})
changed: [clientsite] => (item={u'is_php': True, u'root': u'/var/www/clientsite/htdocs', u'server_name': u'clientsite-br.dev'})
changed: [clientsite] => (item={u'is_php': True, u'root': u'/var/www/clientsite/htdocs', u'server_name': u'clientsite-fr.dev'})
changed: [clientsite] => (item={u'is_php': True, u'root': u'/var/www/clientsite/htdocs', u'server_name': u'clientsite-es.dev'})
changed: [clientsite] => (item={u'is_php': True, u'root': u'/usr/share/php/xhprof_html', u'server_name': u'xhprof.clientsite.dev'})
changed: [clientsite] => (item={u'root': u'/var/www/dashboard', u'server_name': u'192.168.88.2 dashboard.clientsite.dev'})

TASK [Detect if AppArmor is working.] ******************************************
ok: [clientsite]
 [WARNING]: Consider using service module rather than running service

TASK [Ensure MySQL AppArmor profile is disabled (for slow query log).] *********
changed: [clientsite]

TASK [Restart the AppArmor if necessary.] **************************************
changed: [clientsite]

TASK [Copy drush makefile into place.] *****************************************
skipping: [clientsite]

TASK [Ensure drupal_core_path directory exists.] *******************************
skipping: [clientsite]

TASK [Generate Drupal site with drush makefile.] *******************************
skipping: [clientsite]

TASK [Check if a composer.json file is present.] *******************************
skipping: [clientsite]

TASK [Run composer install if composer.json is present.] ***********************
skipping: [clientsite]

TASK [Ensure drupal_composer_install_dir directory exists.] ********************
skipping: [clientsite]

TASK [Copy composer.json into temporary location.] *****************************
skipping: [clientsite]

TASK [Move composer.json into place.] ******************************************
skipping: [clientsite]

TASK [Run composer install.] ***************************************************
skipping: [clientsite]

TASK [Install dependencies with composer require.] *****************************
skipping: [clientsite] => (item=drupal/devel:1.x-dev) 

TASK [Ensure drupal_composer_install_dir directory has proper permissions.] ****
skipping: [clientsite]

TASK [Generate Drupal project with composer package.] **************************
skipping: [clientsite]

TASK [Install dependencies with composer require.] *****************************
skipping: [clientsite] => (item=drupal/devel:1.x-dev) 

TASK [Check if a project specific Drush binary exists.] ************************
ok: [clientsite]

TASK [Use project specific Drush if available.] ********************************
skipping: [clientsite]

TASK [Check if site is already installed.] *************************************
skipping: [clientsite]

TASK [Configure database correctly if using PostgreSQL.] ***********************
skipping: [clientsite]

TASK [Install Drupal with drush.] **********************************************
skipping: [clientsite]

TASK [Install configured modules with drush.] **********************************
skipping: [clientsite]

TASK [Shim for legacy configure_local_drush_aliases variable.] *****************
skipping: [clientsite]

TASK [Check if local Drush configuration folder exists.] ***********************
ok: [clientsite -> 127.0.0.1]

TASK [Create Drush configuration folder if it doesn't exist.] ******************
skipping: [clientsite]

TASK [Configure host machine drush aliases.] ***********************************
ok: [clientsite -> 127.0.0.1]

TASK [Ensure drush directory exists for vagrant user inside VM.] ***************
changed: [clientsite]

TASK [Configure drush aliases for vagrant user inside VM.] *********************
changed: [clientsite]

TASK [Ensure drush directory exists for root user inside VM.] ******************
changed: [clientsite]

TASK [Configure drush aliases for root user inside VM.] ************************
changed: [clientsite]

TASK [Ensure configured cron jobs exist in user account's crontab.] ************

TASK [Ensure the dashboard directory exists.] **********************************
ok: [clientsite]

TASK [Copy dashboard page into place.] *****************************************
changed: [clientsite]

TASK [Copy phpinfo file into place.] *******************************************
ok: [clientsite]

TASK [Run configured post-provision shell scripts.] ****************************
changed: [clientsite] => (item=../examples/scripts/configure-solr.sh)

TASK [Run configured post-provision ansible task files.] ***********************

RUNNING HANDLER [geerlingguy.firewall : restart firewall] **********************
changed: [clientsite]

RUNNING HANDLER [geerlingguy.nginx : restart nginx] ****************************
changed: [clientsite]

RUNNING HANDLER [geerlingguy.nginx : reload nginx] *****************************
changed: [clientsite]

RUNNING HANDLER [geerlingguy.php : restart webserver] **************************
changed: [clientsite]

RUNNING HANDLER [geerlingguy.php : restart php-fpm] ****************************
changed: [clientsite]

RUNNING HANDLER [geerlingguy.mysql : restart mysql] ****************************
 [WARNING]: Ignoring "sleep" as it is not used in "systemd"

changed: [clientsite]

RUNNING HANDLER [geerlingguy.memcached : restart memcached] ********************
skipping: [clientsite]

RUNNING HANDLER [geerlingguy.solr : restart solr] ******************************
 [WARNING]: Ignoring "sleep" as it is not used in "systemd"

changed: [clientsite]

PLAY RECAP *********************************************************************
clientsite                       : ok=192  changed=101  unreachable=0    failed=0   

vagrant@clientsite:/$ ls -l /
total 85
drwxr-xr-x   2 root root   4096 Feb 21 15:55 bin
drwxr-xr-x   4 root root   1024 Feb 17 20:16 boot
drwxr-xr-x  19 root root   4200 Feb 21 15:40 dev
drwxr-xr-x 102 root root   4096 Feb 21 15:56 etc
drwxr-xr-x   4 root root   4096 Feb 21 15:51 home
lrwxrwxrwx   1 root root     32 Feb 17 20:13 initrd.img -> boot/initrd.img-4.4.0-62-generic
drwxr-xr-x  20 root root   4096 Feb 21 15:42 lib
drwxr-xr-x   2 root root   4096 Feb 17 20:12 lib64
drwx------   2 root root  16384 Feb 17 20:11 lost+found
drwxr-xr-x   3 root root   4096 Feb 17 20:12 media
drwxr-xr-x   2 root root   4096 Feb 15 20:19 mnt
drwxr-xr-x   4 root root   4096 Feb 21 15:55 opt
dr-xr-xr-x 148 root root      0 Feb 21 15:40 proc
drwx------   5 root root   4096 Feb 21 15:55 root
drwxr-xr-x  25 root root    920 Feb 21 16:15 run
drwxr-xr-x   2 root root  12288 Feb 17 20:18 sbin
drwxr-xr-x   2 root root   4096 Feb 15 20:19 srv
dr-xr-xr-x  13 root root      0 Feb 21 15:40 sys
drwxrwxrwx  12 root root   4096 Feb 21 16:32 tmp
drwxr-xr-x  10 root root   4096 Feb 17 20:12 usr
drwxr-xr-x   9 solr users  4096 Feb 21 11:57 vagrant
drwxr-xr-x  13 root root   4096 Feb 21 15:55 var
lrwxrwxrwx   1 root root     29 Feb 17 20:13 vmlinuz -> boot/vmlinuz-4.4.0-62-generic
oxyc commented 7 years ago

@johangant what's the uid of your host user (echo $UID). Can you compare that to the uid of the solr user on the guest vm (id -u solr)

johangant commented 7 years ago

@oxyc both 1000. I'm not sure if that's expected or not?

I'm going to try provisioning without Solr and then step through the script to see if I can spot anything obvious.

oxyc commented 7 years ago

It's actually expected yes.

http://docs.drupalvm.com/en/latest/getting-started/syncing-folders/#using-vagrant-bindfs-to-work-around-permissions-related-errors

oxyc commented 7 years ago

Normally this just resolves to a nonexistent user (501:dialout on default osx systems), but I guess in some cases it resolves to solr. It's an NFS issue you can fix by using the vagrant-bindfs plugin.